ESLint 配置
ESLint 语录 javaScript, TypeScript 和/或反应项目的配置. 这个项目被设想为替代 AirBnB ESLint 配置 (单位:千美元)eslint - 配置 - 空降)),由AirBnB不再维护. 我们的目标是:
-
类似于 AirBnB 配置的代码样式和规则 + 上面有些进步.
-
及时支持最新的ESLint和插件发布.
内容
开始
-
以开发依赖方式安装此软件包 :
npm install --save-dev @dr.pogodin/eslint-configs -
我们使用的一些插件规则( R) 宝贝。如果你没有明确拥有它 在您的工程中安装和配置
requireConfigFile选项false, (中文(简体) ), 譬如说.数字 :// eslint.config.mjs import { defineConfig } from 'eslint/config'; import eslintConfigs from '@dr.pogodin/eslint-configs'; export default defineConfig([ { languageOptions: { parserOptions: { requireConfigFile: false, }, }, }, eslintConfigs.config.javascript, ]); -
在您的平面 ESLint 配置文件中添加必要的配置, 例如 (另见 提供配置 详细情况如下:
// eslint.config.mjs /* eslint-disable import/no-extraneous-dependencies */ // defineConfig() is an optional helper provided by ESLint import { defineConfig } from 'eslint/config'; import eslintConfigs from '@dr.pogodin/react-utils'; export default defineConfig([ { // Global ignore rules: an array of path patterns to be ignored by ESLint // for all other objects included into this configuration, in addition to // "**/node_modules/" and ".git/" paths which are always ignored; see: // https://eslint.org/docs/latest/use/configure/configuration-files#globally-ignoring-files-with-ignores ignores: ['build/'], }, // Apply JavaScript, TypeScript, and React configs to all files matched by // those configs by default. eslintConfigs.configs.javascript, eslintConfigs.configs.typescript, eslintConfigs.configs.react, { // Additionally apply Jest config to the folder with Jest-based unit // tests. extends: [eslintConfigs.configs.jest], files: ['__tests__/**'], }, ]); -
完美主义者 规则包含在默认 JavaScript 和 TypeScript 中 配置会让起伏速度明显缓慢( 而不是没有起伏的起伏) (规则)。 考虑使用 -- 缓存 选项 .
提供配置
此软件包提供以下基础配置,即: 根据东道项目的需要,将项目合并和扩展.
configs.javascript
用于 JavaScript 代码, 它适用于文件 ESLint 语录 视为
默认 JavaScript : **/*.js, (中文(简体) ), **/*.cjs, (中文(简体) ), **/*.mjs,以及任何
与配置中的其他配置对象相匹配的其他文件(即说. 没有
包含 files 键,参见 用于相关配置细节的 ESLint 文件(三);
并且适用于下列规则:
-
ESLint核心规则 —— 说 页:1
recommended规则设定, 附带次要规则和许多附加规则 启用 . -
@babel/eslint-plugin (英语) —— 说 所有规则都启用,但默认设置有小处被取消.
-
@stylistic/slint-plugin (英语) —— 说 页:1
recommended规则设定, 附带次要规则和许多附加规则 启用 . -
埃斯林特-插头-进口 —— 说 页:1
recommended规则设定, 附带次要规则和许多附加规则 启用 . -
完美主义者 ——建议的规则集,有小的上下划线, 例如将大写字符放在小写前的自定义字母表 ,并允许使用空行将实体分割成不同的 排序组.
configs.javascriptNoPerf
一样 configs.javascript 以上,但没有 完美主义者 规则.
基本上,这相当于 configs.javascript 从此库前
联合国 页:1 释放.
configs.jest
用于 欢乐-基于单位测试代码,适用于所有 文件(假设消费者自己将配置正确的路径来应用) 它适用于它们,并适用下列规则:
- 埃斯林特- 插座- 捷运 —— 说
页:1
recommended财务报告和审定财务报表style规则集,还有一堆附加规则 启用 .
configs.react
用于反应代码,适用于 **/*.jsx 财务报告和审定财务报表 **/*.tsx 文档;
并且适用于下列规则:
-
埃斯林特-插头-jsx-a11y —— 说 页:1
recommended规则设置,并启用一些附加规则. -
eslint- 插件反应 —— 说 页:1
recommended规则设定, 附带次要规则和许多附加规则 启用 .
此外,它适用于所有其他文件 ESLint 语录 配置对象; 并适用于下列规则集:
-
eslint-plugin- react-hooks (英语) ——推荐的规则集(它必须适用于所有文件,如同钩子一样) 不必在JSX或TSX文件内独活.
-
该规则禁止在与扩展词不同的文件中使用JSX语法
.jsx或者说.tsx。 。 。 .
configs.typescript
用于类型脚本代码,适用于 **/*.ts 财务报告和审定财务报表 **/*.tsx 文档;
并且适用于下列规则:
-
我们的一切
configs.javascript,带有次要的必要重置. -
类型标记- slint —— 说 页:1
strictTypeChecked财务报告和审定财务报表stylisticTypeChecked规则集, 次要 覆盖, 并启用了许多附加规则 .
configs.typescriptNoPerf
一样 configs.typescript 以上,但没有 完美主义者 规则.
基本上,这相当于 configs.typescript 从此库前
联合国 页:1 释放.