@qiaer/eslint-config
v0.1.3
Published
JavaScript Standard Style - ESLint Shareable Config
Readme
@qiaer/eslint-config
ESLint 可共享配置,基于 JavaScript Standard Style,提供统一的 JavaScript/JSX 代码风格检查规则。
特性
- 基于 eslint-config-standard 17.x,兼容 ESLint 8.x
- 支持 ES2022 语法与 JSX
- 内置 import、Node(n)、Promise 相关规则
- 针对团队习惯的规则微调:函数括号前无空格、多行尾逗号、camelcase 等
- 支持浏览器与 Node 环境全局变量
安装
npm
npm install @qiaer/eslint-config --save-devyarn
yarn add @qiaer/eslint-config --devpnpm
pnpm add @qiaer/eslint-config --save-dev使用
在项目根目录的 .eslintrc、.eslintrc.json 或 eslint.config.js(需兼容层)中扩展本配置。
方式一:.eslintrc / .eslintrc.json
{
"extends": "@qiaer/eslint-config"
}方式二:.eslintrc.js
module.exports = {
extends: ['@qiaer/eslint-config']
}覆盖或追加规则
{
"extends": "@qiaer/eslint-config",
"rules": {
"no-console": "warn"
}
}主要规则说明
| 规则 | 说明 |
|------|------|
| space-before-function-paren | 函数括号前不加空格(function foo()) |
| comma-dangle | 多行时尾逗号:数组不加,对象/import/export/函数多行加 |
| camelcase | 变量名驼峰,属性名不强制,解构与 import 忽略 |
| import/no-absolute-path | 禁止 import 绝对路径(CommonJS 允许) |
| no-new | 允许 new Constructor() 不赋值 |
环境与解析
- parserOptions.ecmaVersion: 2022
- parserOptions.ecmaFeatures.jsx: true
- env:
es2022、node - globals:
document、navigator、window(readonly)
命令行使用
# 检查当前目录
npx eslint .
# 指定扩展名
npx eslint --ext .js,.jsx .
# 自动修复
npx eslint . --fixIDE 集成
VS Code
安装扩展 dbaeumer.vscode-eslint,在 settings.json 中可开启保存时修复:
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}WebStorm / IntelliJ IDEA
在 Settings → Languages & Frameworks → JavaScript → Code Quality Tools → ESLint 中启用 ESLint 并选择配置文件。
常见问题
与 Prettier 一起用会冲突吗?
部分规则(如缩进、引号)可能与 Prettier 冲突。建议使用 eslint-config-prettier 关闭与格式相关的 ESLint 规则,由 Prettier 负责格式:
npm install eslint-config-prettier --save-dev{
"extends": ["@qiaer/eslint-config", "prettier"]
}如何忽略某些文件?
在项目根目录创建 .eslintignore:
node_modules/
dist/
build/
*.min.js只对部分目录启用?
在 overrides 中按目录或文件扩展名指定配置:
{
"extends": "@qiaer/eslint-config",
"overrides": [
{
"files": ["tests/**/*.js"],
"env": { "mocha": true }
}
]
}更新日志
v1.0.0-beta.0
- 升级 ESLint 至 ^8.57.0,eslint-config-standard 至 ^17.1.0
- 使用 eslint-plugin-n 替代已废弃的 eslint-plugin-node
- 移除 eslint-plugin-standard(standard 17 已不再依赖)
- 移除 eslint-define-config(当前未使用)
- parserOptions.ecmaVersion 调整为 2022,env 使用 es2022
- 增加 package.json 的
exports与files,便于 npm/yarn/pnpm 正确解析 - 完善 README:安装(npm/yarn/pnpm)、使用、规则说明、IDE、常见问题
v0.1.8
- 此前版本(ESLint 7 + standard 16)
贡献
欢迎提交 Issue 和 Pull Request。
许可证
MIT
