我使用 ESLint 来检查 TypeScript。我想配置 ESLint,以便它强制导入全部在单独的行上或全部在单行上。
不好:
import {
a, b,
c,
d
} from "letters";
好的:
import { a, b, c, d } from "letters";
好的:
import {
a,
b,
c,
d
} from "letters";
这可能吗?如果可以,如何实现?
我昨天花了 4-5 个小时在这个话题上。
请使用 https://github.com/SeinopSys/eslint-plugin-import-newlines(eslint 插件)。
只需几步即可满足您的要求:
npm install eslint-plugin-import-newlines --save-dev
import-newlines
添加到 .eslintrc
配置文件的插件部分,如下所示。{
plugins: ['import-newlines'],
}
import-newlines/enforce
添加到 .eslintrc
配置文件的规则部分,如下所示(默认规则)。{
rules: {
'import-newlines/enforce': 'error',
}
}
或者(我的规则)
{
rules: {
'import-newlines/enforce': ['error', { items: 40, 'max-len': 120 }],
}
}
我的规则如下所述:
import
,一行长度不超过120个字符(内部计算),将强制导入一行。import
,一行长度超过120个字符(内部计算),将强制多行导入(每个导入的项目将在单独的行上)在
rules
中添加这一行,以便在一行上导入属性并在单独的行中导出:
'object-curly-newline': ['error', {
ImportDeclaration: 'never',
ExportDeclaration: 'always'
}],
根据您的喜好交换
never
和always
。