Skip to content

[no-unused-vars] does not count JSX as usage #111

Closed
@vbrvk

Description

@vbrvk

Repro

{
  "extends": ["plugin:@typescript-eslint/recommended"],
  "plugins": ["@typescript-eslint/eslint-plugin"],
  "rules": {
    "react/jsx-filename-extension": [1, {
      "extensions": [".ts", ".tsx", ".js", ".jsx"]
    }],
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 2018,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true
    }
  },
}
import React from 'react'; // 'React' is defined but never used. [@typescript-eslint/no-unused-vars]
import Document from 'next/document';
import {
  ServerStyleSheet
} from 'styled-components';

export default class MyDocument extends Document {
  public static async getInitialProps(ctx): DefaultDocumentIProps {
    const sheet = new ServerStyleSheet();

    const originalRenderPage = ctx.renderPage;
    ctx.renderPage = () => originalRenderPage({
      enhanceApp: App => props => sheet.collectStyles(<App {...props} />) // 'App' is defined but never used. [@typescript-eslint/no-unused-vars]
    });

    const initialProps = await Document.getInitialProps(ctx);
    return {
      ...initialProps,
      styles: [...initialProps.styles, ...sheet.getStyleElement()]
    };
  }
}

Expected Result
Rule not trigger if a variable used as jsx
Actual Result
Rule trigger if a variable used as jsx
Additional Info

Versions

package version
@typescript-eslint/eslint-plugin 1.0.0
@typescript-eslint/parser 1.0.0
TypeScript ^3.2.4
ESLint ^5.12.1
node v10.11.0
npm 6.4.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpackage: eslint-pluginIssues related to @typescript-eslint/eslint-pluginwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions