我试图在我的React项目中运行ESLint,只是为了检查一个特定的(例如:max-len(规则,如下所示:
eslint . --ext .js,.jsx,.ts,.tsx --rule "{'max-len': ['error', { code: 120, ignoreComments: true, ignoreTrailingComments: true, ignoreUrls: true, ignoreStrings: true, ignoreTemplateLiterals: true, }]}"
但结果也显示了其他类型错误的错误。
这是我的.eslintrc.js文件:
module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
'react-app',
'airbnb',
'plugin:react/recommended',
'plugin:import/errors',
'plugin:import/warnings',
'plugin:import/typescript',
'plugin:jsx-a11y/recommended',
],
plugins: [
'react',
'jsx-a11y',
'@typescript-eslint',
],
// parser: 'babel-eslint',
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 2017,
sourceType: 'module',
},
settings: {
'import/resolver': {
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
},
rules: {
'max-len': ['error', {
code: 120,
ignoreComments: true,
ignoreTrailingComments: true,
ignoreUrls: true,
ignoreStrings: true,
ignoreTemplateLiterals: true,
}],
},
};
我还尝试过使用--no-eslintrc
运行忽略文件.eslintrc.js,如下所示:
eslint . --ext .js,.jsx,.ts,.tsx --no-eslintrc --rule ....same-rule-above
这一次我只得到一个max-len错误,其余的都是解析import关键字的错误:
/Users/olcayertas/10n/src/util/helpers.ts
1:1 error Parsing error: The keyword 'import' is reserved
/Users/olcayertas/10n/src/util/routes.ts
1:1 error Parsing error: The keyword 'export' is reserved
/Users/olcayertas/10n/src/util/ui-helpers.ts
1:1 error Parsing error: The keyword 'import' is reserved
✖ 196 problems (196 errors, 0 warnings)
如何使用一个规则对象仅为一个规则运行ESLint?
我找到了问题,下面是答案。因为我们的项目使用的是TypeScript,所以我们需要对eslintrc.js
文件进行配置,所以使用--no-eslintrc
是不起作用的。相反,我们禁用了扩展规则(而不是插件(:
module.exports = {
...
extends: [
'plugin:import/errors',
'plugin:import/warnings',
'plugin:import/typescript',
//'plugin:react/recommended',
//'arbnb',
],
rules: {
'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx', '.ts', '.tsx'] }],
'import/prefer-default-export': 'off',
'import/no-unresolved': ['error', { ignore: [ '.svg' ] } ],
'import/extensions': [
'error',
'ignorePackages',
{
js: 'never',
jsx: 'never',
ts: 'never',
tsx: 'never',
},
],
},
}
由于我想查看导入的错误,我为导入启用了插件和规则。禁用扩展规则后,我运行以下命令:
eslint . --ext .js,.jsx,.ts,.tsx
而且效果非常好!这样我们就可以一步一步地添加规则。
如果您想使用.eslintrc文件来保留您的配置(解析器、插件设置等(,您可以使用带有--rule=max-len
标志的eslint-蚕食。这将尊重您的正常配置,但只显示该规则中的错误,并在规则可自动修复的情况下提供修复错误的选项。
免责声明:我是eslint蚕食的创造者。