ESLint 配置
@aleph-alpha/eslint-config-frontend 页面存档备份,存于互联网档案馆
Aleph Alph Alpha前端工程的共享,可混合的ESLint平面配置. 要求数 ESLint 10+ (英语)。 。 。 .
安装
pnpm add -D @aleph-alpha/eslint-config-frontend eslint
快速启动
创建一个 eslint.config.mjs 在您的项目中 :
import { base } from '@aleph-alpha/eslint-config-frontend';
export default [...base];
就是这样。 这取代了整个 创造-Vue锅炉板 给你 @eslint/js 建议 + eslint-plugin-vue 建议 + 类型脚本解析 + org 标准 威仪规则.
可编译配置
软件包输出四个配置,它们可以一起组成:
| 导出 | 上面写的 |
|---|---|
base | @eslint/js 建议, eslint-plugin-vue 建议, TS 解析器, Vue 样式规则, 全局 |
tsRecommended | @typescript-eslint 插件 + typescript-eslint 建议的规则 + org 标准重度调整 |
strict | eslint-plugin-sonarjs 建议的规则 |
a11y | eslint-plugin-vuejs-accessibility 建议的无障碍规则 |
用法实例
Vue + TS 项目(最常见的):
import { base } from '@aleph-alpha/eslint-config-frontend';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
export default [...base, skipFormatting];
使用类型脚本规则 :
import { base, tsRecommended } from '@aleph-alpha/eslint-config-frontend';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
export default [...base, ...tsRecommended, skipFormatting];
上面有代码质量规则( sonarjs) :
import { base, tsRecommended, strict } from '@aleph-alpha/eslint-config-frontend';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
export default [...base, ...tsRecommended, ...strict, skipFormatting];
全面设置可访问性 :
import { base, tsRecommended, strict, a11y } from '@aleph-alpha/eslint-config-frontend';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
export default [...base, ...tsRecommended, ...strict, ...a11y, skipFormatting];
在 Nx 工作空间 (减少) nx.configs['flat/typescript'] 财务报告和审定财务报表 nx.configs['flat/javascript'] —— 说 tsRecommended 拥有 @typescript-eslint 登记和规则的制定:
import nx from '@nx/eslint-plugin';
import { base, tsRecommended, strict, a11y } from '@aleph-alpha/eslint-config-frontend';
export default [
...nx.configs['flat/base'],
...tsRecommended,
...base,
...strict,
...a11y,
// ...workspace-specific blocks
];
有特定项目覆盖:
import { base, tsRecommended, strict } from '@aleph-alpha/eslint-config-frontend';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
export default [
...base,
...tsRecommended,
...strict,
{
rules: {
'no-console': 'warn',
'vue/block-order': ['error', { order: ['i18n', 'script', 'template', 'style'] }],
},
},
skipFormatting,
];
有vitest和剧作家(常见模式):
import { base } from '@aleph-alpha/eslint-config-frontend';
import pluginVitest from '@vitest/eslint-plugin';
import pluginPlaywright from 'eslint-plugin-playwright';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
export default [
...base,
{
...pluginVitest.configs.recommended,
files: ['src/**/__tests__/*'],
},
{
...pluginPlaywright.configs['flat/recommended'],
files: ['e2e/**/*.{test,spec}.{js,ts,jsx,tsx}'],
},
skipFormatting,
];
包含什么
base
@eslint/js建议的规则eslint-plugin-vueflat/recommended规则vue-eslint-parser与@typescript-eslint/parser- 浏览器和 Node.js 全球
- 奥尔格标准 Vue 规则: PascalCase 组件、 短手指令、 范围样式、 块排序
tsRecommended
- 范围
**/*.{ts,tsx,cts,mts,vue}(命令独立——安全扩散前后)base(中文(简体) ) typescript-eslintrecommended配置@typescript-eslint插件注册- Org 标准重度调试 :
no-require-imports关;no-empty-function, (中文(简体) ),no-inferrable-types, (中文(简体) ),no-empty-object-type, (中文(简体) ),no-unused-expressions, (中文(简体) ),no-non-null-asserted-optional-chain, (中文(简体) ),prefer-const, (中文(简体) ),no-non-null-assertion, (中文(简体) ),no-explicit-any, (中文(简体) ),no-unused-vars设置为warn优雅的收养 @typescript-eslint/prefer-as-const数字 :error
strict
eslint-plugin-sonarjs建议的规则
a11y
自定义
每个配置都是由ESLint平面配置对象组成的阵列. 通过在共享配置后添加配置对象来覆盖任意规则 。 关于现有规则的详细情况,见: