1.0.5 • Published 8 months ago
@jsxiaosi/eslint-config v1.0.5
@jsxiaosi/eslint-config
基于@antfu/eslint-config修改的个人配置
- 可选React、Vue配置
- 可选的Prettier风格化配置
安装
pnpm add -D @jsxiaosi/eslint-config eslint
配置eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi();
添加命令
{
"lint:eslint": "eslint . --fix",
"tsc": "tsc --noEmit --skipLibCheck",
}
VS Code 自动修复
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
定制
配置集成
// eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi({
// 项目类型。'lib' 表示库,默认为 'app'
type: 'lib',
// TypeScript 是自动检测的,你也可以明确启用它们:
typescript: true,
// 禁用 jsonc 和 yaml 支持
jsonc: false,
// Flat 配置不再支持 `.eslintignore`,请改用 `ignores`
ignores: [
'**/fixtures',
// ...globs
],
});
// eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi(
{
// jsxiaosi config 配置
},
// 从第二个参数开始,它们是 ESLint Flat Configs
// 你可以有多个配置
{
files: ['**/*.ts'],
rules: {},
},
{
rules: {},
},
);
插件重命名
New Prefix | Original Prefix | Source Plugin |
---|---|---|
ts/* | @typescript-eslint/* | @typescript-eslint/eslint-plugin |
自定义前缀
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi().renamePlugins({
/**
* {
* oldPrefix: newPrefix
* }
*/
ts: '@typescript-eslint',
// ...
});
覆盖规则
某些规则仅在特定文件中启用,例如,ts/规则仅在文件中启用.ts,vue/规则仅在文件中启用.vue。如果要覆盖规则,则需要指定文件扩展名:
// eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi(
{
vue: true,
typescript: true,
},
{
// 请记住在此处指定文件 glob,否则可能会导致 vue 插件处理非 vue 文件
files: ['**/*.vue'],
rules: {
'vue/operator-linebreak': ['error', 'before'],
},
},
{
// 不带“文件”的规则是所有文件的通用规则
rules: {
'style/semi': ['error', 'never'],
},
},
);
每个配置中集成了overrides
方便覆盖规则
// eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi({
vue: {
overrides: {
'vue/operator-linebreak': ['error', 'before'],
},
},
typescript: {
overrides: {
'ts/consistent-type-definitions': ['error', 'interface'],
},
},
yaml: {
overrides: {
// ...
},
},
});
配置
Vue
启动Vue
配置
// eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi({
vue: true,
});
Vue2
vueVersion
默认Vue3版本,手动更改成Vue2版本
// eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi({
vue: {
vueVersion: 2,
},
});
运行 npm run lint:eslint
会提示你安装对应的插件,你也可以手动安装
pnpm -D eslint-plugin-vue vue-eslint-parser
React
// eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi({
react: true,
});
运行 npm run lint:eslint
会提示你安装对应的插件,你也可以手动安装
pnpm i -D @eslint-react/eslint-plugin eslint-plugin-react-hooks eslint-plugin-react-refresh
Prettier
// eslint.config.js
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi({
prettier: true,
});
运行 npm run lint:eslint
会提示你安装对应的插件,你也可以手动安装
pnpm i -D eslint-plugin-prettier prettier
使用外部Prettier
配置文件
import jsxiaosi from '@jsxiaosi/eslint-config';
export default jsxiaosi({
prettier:{
usePrettierrc: true
}
});
同时也提供了Prettier
外部文件的配置 @jsxiaosi/eslint-config-prettier
1.0.5
8 months ago
1.0.4
8 months ago
1.0.3
8 months ago
1.0.2
9 months ago
1.0.1
9 months ago
1.0.0
9 months ago
0.1.0
12 months ago
0.0.21
2 years ago
0.0.20
2 years ago
0.0.15
2 years ago
0.0.16
2 years ago
0.0.17
2 years ago
0.0.18
2 years ago
0.0.19
2 years ago
0.0.10
3 years ago
0.0.11
3 years ago
0.0.12
3 years ago
0.0.13
3 years ago
0.0.14
3 years ago
0.0.9
3 years ago
0.0.8
3 years ago
0.0.7
3 years ago
0.0.6
3 years ago
0.0.5
3 years ago
0.0.3
3 years ago
0.0.2
3 years ago