基于 @antfu/eslint-config 的 eslint 配置预设, 所有预设都遵循我的个人喜好: rules.
这将会使项目仅使用eslint的格式化能力, 而无需安装和配置 Prettier
💡 eslint v9.5.0+
-
将以下设置添加到您的
.vscode/settings.json
:
{
// Disable the default formatter, use eslint instead
"prettier.enable": false,
"editor.formatOnSave": false,
// Auto fix
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "never"
},
// Silent the stylistic rules in you IDE, but still auto fix them
"eslint.rules.customizations": [
{ "rule": "style/*", "severity": "off", "fixable": true },
{ "rule": "format/*", "severity": "off", "fixable": true },
{ "rule": "*-indent", "severity": "off", "fixable": true },
{ "rule": "*-spacing", "severity": "off", "fixable": true },
{ "rule": "*-spaces", "severity": "off", "fixable": true },
{ "rule": "*-order", "severity": "off", "fixable": true },
{ "rule": "*-dangle", "severity": "off", "fixable": true },
{ "rule": "*-newline", "severity": "off", "fixable": true },
{ "rule": "*quotes", "severity": "off", "fixable": true },
{ "rule": "*semi", "severity": "off", "fixable": true }
],
// Enable eslint for all supported languages
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html",
"markdown",
"json",
"jsonc",
"yaml",
"toml",
"xml",
"gql",
"graphql",
"astro",
"svelte",
"css",
"less",
"scss",
"pcss",
"postcss"
]
}
在项目中安装:
npm install @hacxy/eslint-config -D
项目根目录下创建 eslint.config.js
或者 eslint.config.mjs
:
import linter from '@hacxy/eslint-config';
export default linter({
// ... your eslint config
});
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
}
}
从 @hacxy/eslint-config
中默认导出的方法为公共规则, 它不会开启任何框架的eslint规则, 在 rules/common.ts 中可以查看这些规则.
[!TIP] > 需要注意的是, 所有的预设都默认使用typescript规则校验, 如果你不使用typescript, 请覆盖默认配置:
import linter from '@hacxy/eslint-config'; export default linter({ typescript: false // ... your eslint config });
在vue项目中使用:
import linter from '@hacxy/eslint-config/vue';
export default linter({
// ... your eslint config
});
该规则在公共配置的基础上进行扩展, 你可以在 rules/vue.ts 中可以查看这些规则.
在 Nodejs
项目中使用:
import linter from '@hacxy/eslint-config/nodejs';
export default linter({
// ... your eslint config
});
该规则在公共配置的基础上进行扩展, 你可以在 rules/nodejs.ts 中可以查看这些规则.