@baiducloud/eslint-config-typescript
Console 控制台前端业务使用的 ESlint 配置,基于v8.21.0引入的新版配置实现,后续的 v9 版本中.eslintrc*
将不再支持。
✔ 基于@ecomfe/eslint-config/typescript扩展
开发
添加 Plugin
如果需要添加一个插件,那么这个插件应该被指定为 peerDependency
,这是因为插件将在最终用户的项目中被加载,所以最终用户需要自己安装他们需要的插件。之后,在项目的rules
目录下创建demo-rule.js
规则文件,将需要实现的规则加入到文件中,例如:
export default {
quotes: [2, 'double']
};
然后在index.js
中扩展:
import DemoPlugin from 'eslint-plugin-demo';
import DemoRule from './rules/demo-rule';
{
plugins: {
"demo-plugin": DemoPlugin
}
rules: {
...DemoRule
}
}
添加 Shared Config
如果需要添加一个外部的可共享配置,则需要在package.json
中将这些包指定为依赖项,然后在index.js
的数组中添加一个FlatConfig
调试
在当前项目中执行npm link
,然后在目标项目中执行npm link @baiducloud/eslint-config-typescript
,这样就可以在目标项目中调试当前项目。
安装
npm i -D @baiducloud/eslint-config-typescript
如果使用的 npm 版本小于 7.0,需要手动安装 peerDependencynpm i -D eslint
使用
建议使用新版的 flat config system,即:eslint.config.js
是唯一的配置文件名称,.eslintrc*
等格式的名称,以及 json、yaml 格式的配置文件都将不再支持。
在ESLint 配置扩展:
export default [
{
rules: {
'semi': 'error',
'prefer-const': 'error'
}
}
];
TypeScript
如果项目中使用 TypeScript,需要安装 TypeScript 相关的依赖:
npm i -D @typescript-eslint/parser @typescript-eslint/eslint-plugin
如果使用 TypeScript 配置文件(tsconfig.json
),需要指定配置的路径
import path from 'path';
import {fileURLToPath} from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
export default [
{
languageOptions: {
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
ecmaFeatures: {
jsx: true
}
},
ecmaVersion: 'latest'
}
}
];