Defense Unicorn 建议的线性配置
此寄存器确保组织代码质量,并配有一套标准linter规则用于Typescript & Javascript 代码. 目前,本寄存器所定义的规则的使用没有被授权.
使用量
将此软件包添加到您的项目中, 作为 devDependent:
npm install @defenseunicorns/eslint-config --save-dev
提供了两个框架不可知规则: recommended 财务报告和审定财务报表 strict。 。 。 .
这些规则与任意的TypeScript或JavaScript项目(React,Vue,Node.js,Express等)一起工作.
recommended 规则
这个 recommended 规则提供了一套适用于整个组织大多数项目的平衡的折叠规则.
常规 TypeScript/ JavaScript 项目使用此规则集 .
现在,这个规则只是警告 eqeqeq 规则.
配置您的 eslint.config.mjs 像这样:
import { recommended } from '@defenseunicorns/eslint-config';
export default [...recommended];
strict 规则
这个 strict 规则et执行更严格的代码质量标准,对于要求更高一致性和更少例外的项目来说是理想的.
现在,这个规则只是错误在 eqeqeq 规则.
配置您的 eslint.config.mjs 像这样:
import { strict } from '@defenseunicorns/eslint-config';
export default [...strict];
超越规则
[叹息] 凌驾于本套件中的规则会挫败该套件确保Org宽码质量的目的. 不过,如果你 必须 超越一条规则,这就是:
在这个例子中, eqeqeq 定义在 recommended 规则.
任何一种可使用类似图案 eslint 配置选项。 。 。 .
import { recommended } from '@defenseunicorns/eslint-config';
export default [
...recommended,
{
rules: {
eqeqeq: 'off',
},
},
];
在全部还原中采用ESlint
对 N repos 应用 linter 配置
要对 repos 列表应用标准配置设置, 请使用 migrate-eslint.ts。 。 。 .
譬如说, npx ts-node -P draft/tsconfig.json migration/migrate-eslint.ts 执行迁移程序.
你用得着 pepr-excellent-examples 作为进行大宗移民的参照点.
如果林丁之前没有配置,则会以一个空规则来初始化,待后再填入.
如果早于9.X的版本存在闪烁规则,那么 @eslint/migrate-config 将迁移配置.
如果在9.X的版本上存在一出林下规则,那么eslint就会被叫来.
成果 eslint 命令存储在每个寄存器中 /eslint-migration.log。 。 。 .
常见错误和警告
(node:59582) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///[...]/eslint.config.js?mtime=1740695085181 is not specified and it doesn't parse as CommonJS.
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
To eliminate this warning, add "type": "module" to /[...]/package.json.
决议页:1 "type": "module" 改为 package.json。 。 。 .
0:0 error Parsing error: /[...]/*.js was not found by the project service. Consider either including it in the tsconfig.json or including it in allowDefaultProject
决议页:1 "**/*.js" 改为 include 内 tsconfig.json 添加 "allowJs": true 改为 compilerOptions 内 tsconfig.json。 。 。 .
0:0 error Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): *.[js|mjs]
决议: 将这些文件路径添加到 ignores 块 eslint.config.mjs 文档.
9:34 error Parsing error: Unexpected token :
决议:确保 tsParser 从 @typescript-eslint/parser 正在使用中。 见样本 languageOptions数字 :
import tsParser from '@typescript-eslint/parser'
[...]
{
languageOptions: {
parser: tsParser,
}
},
[...]
已知问题
多个配置的项目( 不常见)