使 ESLint 仅将规则应用于某些文件名模式
Make ESLint apply rules to only certain file name patterns
是否可以将 ESLint 配置为仅将规则应用于名称与特定模式匹配的文件?我知道目录中可以有单独的规则表,但如果结构如下:
app
|
|- module1
| |- module1.js
| |- module1.spec.js
|
|- module2
| |- module2.js
| |- module2.spec.js
我想要一个仅适用于 *.spec.js 文件的项目范围规则。
我希望有一个像
这样的设置
"include-pattern": "*.spec.js"
在 .eslintrc 或任何其他类似的方式中指定特定规则应考虑哪些文件名。
更新的答案:
是的,现在有可能了。在您的示例中,它可能看起来像
{
"rules": {
"quotes": [ 2, "double" ]
},
"overrides": [
{
"files": [ "app/module1/*.js" ],
"excludedFiles": "*.spec.js",
"rules": {
"quotes": [ 2, "single" ]
}
}
]
}
您可以在 eslint doc page 阅读更多内容。
旧答案:
目前不支持。但是对于 2.0.0
版本,我们正在积极开发此功能。
临时解决方法是使用 .eslintignore
文件,其中包含如下内容:
*.js
!*.spec.js
只需在您的 package.json 中制作一个“lint”脚本并附加您想要的任何模式:
"lint": "npx eslint src/**/*.ts test/**/*.ts",
然后npm run lint
。
我也做了一个 bash 别名 alias n='npm run'
,所以 n lint
对我有用..
是否可以将 ESLint 配置为仅将规则应用于名称与特定模式匹配的文件?我知道目录中可以有单独的规则表,但如果结构如下:
app
|
|- module1
| |- module1.js
| |- module1.spec.js
|
|- module2
| |- module2.js
| |- module2.spec.js
我想要一个仅适用于 *.spec.js 文件的项目范围规则。 我希望有一个像
这样的设置"include-pattern": "*.spec.js"
在 .eslintrc 或任何其他类似的方式中指定特定规则应考虑哪些文件名。
更新的答案:
是的,现在有可能了。在您的示例中,它可能看起来像
{
"rules": {
"quotes": [ 2, "double" ]
},
"overrides": [
{
"files": [ "app/module1/*.js" ],
"excludedFiles": "*.spec.js",
"rules": {
"quotes": [ 2, "single" ]
}
}
]
}
您可以在 eslint doc page 阅读更多内容。
旧答案:
目前不支持。但是对于 2.0.0
版本,我们正在积极开发此功能。
临时解决方法是使用 .eslintignore
文件,其中包含如下内容:
*.js
!*.spec.js
只需在您的 package.json 中制作一个“lint”脚本并附加您想要的任何模式:
"lint": "npx eslint src/**/*.ts test/**/*.ts",
然后npm run lint
。
我也做了一个 bash 别名 alias n='npm run'
,所以 n lint
对我有用..