eslint-config-airbnb-base 是一个全面的 ESLint 配置包,它实现了 Airbnb 的 JavaScript 风格指南规则。该包提供了基础的 JavaScript 检查规则,不包含 React 特定的配置。如需 React 特定的 ESLint 配置,请参阅 eslint-config-airbnb。
该包作为一套可共享、标准化的 ESLint 规则,用于强制执行一致的代码风格,并帮助防止 JavaScript 应用程序中的常见错误。它旨在与现代 JavaScript(最高支持 ECMAScript 2018)配合使用,并为不同的用例提供专门的配置。
来源: packages/eslint-config-airbnb-base/package.json1-92 packages/eslint-config-airbnb-base/index.js1-17
eslint-config-airbnb-base 被组织成一组规则集,这些规则集被组合成不同的配置配置文件。主配置扩展了多个专门的规则文件,每个文件都侧重于 JavaScript 开发的特定方面。
该包公开了三个主要的配置入口点
每个专门的规则文件都封装了一类特定的规则,使整个配置具有模块化和可维护性。
来源: packages/eslint-config-airbnb-base/index.js1-17 packages/eslint-config-airbnb-base/package.json6-18
该配置组织为以下规则类别
| 规则类别 | 目的 | 文件路径 |
|---|---|---|
| 最佳实践 | 强制执行编程最佳实践,以避免错误并保持代码质量 | ./rules/best-practices.js |
| 错误(Errors) | 捕获常见错误和潜在问题 | ./rules/errors.js |
| Node.js | Node.js 开发特有规则 | ./rules/node.js |
| 风格 | 代码格式和风格约定 | ./rules/style.js |
| 变量 | 变量声明和使用模式 | ./rules/variables.js |
| ES6 | ECMAScript 2015+ 功能规则 | ./rules/es6.js |
| 导入 | 模块导入/导出约定 (使用 eslint-plugin-import) | ./rules/imports.js |
| Strict | JavaScript strict 模式使用 | ./rules/strict.js |
主配置 (index.js) 扩展了所有这些规则类别,以创建全面的 linting 规则集。
来源: packages/eslint-config-airbnb-base/index.js2-10 packages/eslint-config-airbnb-base/package.json10-17
主配置以现代 JavaScript 开发为目标,并设置了以下解析器选项
此配置支持 ES2018 语法,并将文件视为 ES 模块。
来源: packages/eslint-config-airbnb-base/index.js12-15
该包提供三种不同的配置
来源: packages/eslint-config-airbnb-base/package.json6-18 packages/eslint-config-airbnb-base/CHANGELOG.md42-44
Airbnb 的 JavaScript 风格指南旨在促进一致、可读和可维护的代码。此包中的 ESLint 规则反映了这一理念,遵循以下普遍原则
规则集的一个关键方面是其严格性——正如原始系统架构图中所示的规则严重性分布一样,绝大多数规则都设置为“error”级别,这表明 Airbnb 注重严格的代码质量执行。
来源: packages/eslint-config-airbnb-base/CHANGELOG.md1-375
要在您的项目中使用 eslint-config-airbnb-base,您需要与它的对等依赖项一起安装该包
安装后,您可以在 ESLint 配置文件中扩展此配置
对于主配置
对于遗留配置
对于仅限间距的配置
来源: packages/eslint-config-airbnb-base/package.json82-85 packages/eslint-config-airbnb-base/CHANGELOG.md112-113
虽然 Airbnb 配置旨在全面,但项目可能需要自定义某些规则。推荐的方法是扩展基础配置并根据需要覆盖特定规则
该包本身就采用了这种模式,正如其自身的 .eslintrc 文件所示,其中它为自己的代码库禁用了 comma-dangle 规则和 max-len 规则。
来源: packages/eslint-config-airbnb-base/.eslintrc1-10
eslint-config-airbnb-base 是 Airbnb 提供的 ESLint 配置系列的一部分
这种分离允许项目选择适当的 linting 级别。纯 JavaScript 项目可以使用 eslint-config-airbnb-base,而 React 项目通常会使用 eslint-config-airbnb。
来源: packages/eslint-config-airbnb-base/package.json1-92
当前版本 (15.0.0) 支持
主要更新通常包括可能需要代码修改的规则更改,例如启用新规则或更改规则选项。变更日志详细记录了这些更改。
来源: packages/eslint-config-airbnb-base/package.json3 packages/eslint-config-airbnb-base/package.json86-88 packages/eslint-config-airbnb-base/CHANGELOG.md1-47
eslint-config-airbnb-base 提供了一套基于 Airbnb JavaScript 风格指南的全面 ESLint 规则。它为 JavaScript 项目提供了保持代码风格一致和防止错误的坚实基础。凭借其模块化结构和不同的配置选项,它可以适应各种项目需求,从现代 ES6+ 应用程序到遗留 ES5 代码库。