web-dev-qa-db-ja.com

VSCodeの同じプロジェクト内の.jsファイルにTyptionScript-Eslintを実行する方法

私はJavaScriptとTypeScriptファイルを含む混在コードベースを持っています。 vscode内の.tsファイルを.tsファイルでeSlintを実行したいと思います。

TyptionScript-Eslintを実行するように.tsファイルを実行するようにmyslintrc.jsonファイルを設定することができました。問題は、普通の古いESLINTの代わりに、.jsファイルでTypeScript-eslintを実行することも終了することです。

これはそれがシンプルでかなり一般的であるべきですが、私はインターネット全体を検索しても解決策を見つけることができませんでした。

11
Ben

に設定を上書きする必要があります(= /// =)JSとTSファイルに別々のパーサを使用します。以下のように.eslintrc.jsを設定できます

module.exports = {
    root: true,    
    extends: [
      'eslint:recommended'
    ],
    "overrides": [
      {
        "files": ["**/*.ts", "**/*.tsx"],
        "env": { "browser": true, "es6": true, "node": true },
        "extends": [
          "eslint:recommended",
          "plugin:@TypeScript-eslint/eslint-recommended",
          "plugin:@TypeScript-eslint/recommended"
        ],
        "globals": { "Atomics": "readonly", "SharedArrayBuffer": "readonly" },
        "parser": "@TypeScript-eslint/parser",
        "parserOptions": {
          "ecmaFeatures": { "jsx": true },
          "ecmaVersion": 2018,
          "sourceType": "module",
          "project": "./tsconfig.json"
        },
        "plugins": ["@TypeScript-eslint"],
        "rules": {
          "indent": ["error", 2, { "SwitchCase": 1 }],
          "linebreak-style": ["error", "unix"],
          "quotes": ["error", "single"],
          "comma-dangle": ["error", "always-multiline"],
          "@TypeScript-eslint/no-explicit-any": 0
        }
      }
    ]
  };
 _

サンプルプロジェクトは ここ