@aarongoldenthal/eslint-config-standard

中文文档
50.0.2发布于 2026/10/27MITES Module构建来源已验证近 30 天下载 4247

标准 ESLint 配置设置

中文使用文档
文档目录3 节
  1. 内容提要
  2. 使用量
  3. 使用单个配置

@aaarongoldenthal/eslint-config-标准

内容提要

自定义所有项目的 ESLint 配置 。 包括平面配置格式 以下配置与 ESLint v9+ 兼容 :

插件名称配置名称规则前缀
eslintbase-config无, core
@eslint-community/eslint-plugin-eslint-commentseslint-comments-configcomments
eslint-plugin-jestjest-configjest
eslint-plugin-jsdocjsdoc-configjsdoc
eslint-plugin-nnode-confignode
eslint-plugin-playwrightplaywright-configplaywright
eslint-plugin-unicornunicorn-config, (中文(简体) ), esm-configunicorn
eslint-plugin-vitestvitest-configvitest
typescript-eslinttypescript-eslint-config@typescript-eslint

作为平面配置,软件包定义所有所需的插件/配置为 dependencies由于平面配置允许规则前缀的灵活性(即 即,它们不必与插件名称相匹配,规则前缀被修改 在某些情况下,更直观或可读。 配置可能为单一 配置或组合的数组,酌情使用 eSLint 工具函数 defineConfig(), (中文(简体) ), 两者兼具.

这个 core 前缀只有一个规则, core/complexity,这有一个更高的门槛. 这为低阈值的个案提供了二级检查 complexity 规则被关闭,否则将产生无限的复杂性。 自重新使用核心以来 规则是一种实验能力,必须使用环境变量 ENABLE_ESLINT_CORE_RULE_DUPLICATES=true。 。 。 .

大多数规则配置适用于所有 JavaScript 和 TypeScript 文件 (比对) '**/*.{js,mjs,cjs,ts,mts,cts}') (中文(简体) ). 以下配置为 例外情况,适用于以下文件:

  • base-config 套装 sourceType 改为 commonjs 页:1 *.{js,cjs,ts,cts} 文档和 module 页:1 *.{mjs,mts} 文档.
  • base-config 包含一个可禁用一些测试文件规则的配置 匹配以下任何测试模式(例如) max-lines, (中文(简体) ), max-lines-per-function) (中文(简体) ).
  • jest-config 对匹配的文件应用规则 '**/__tests__/**/*.{js,mjs,cjs,ts,mts,cts}' 或者说 '**/?(*.)+(spec|test).{js,mjs,cjs,ts,mts,cts}'。 。 。 .
  • vitest-config 对匹配的无害环境管理文件适用规则 '**/__tests__/**/*.{js,mjs,ts,mts}' 或者说 '**/?(*.)+(spec|test).{js,mjs,ts,mts}'。 。 。 .
  • playwright-config: 对匹配的文件应用规则 '**/*.pwtest.{js,mjs,cjs,ts,mts,cts}',从而区别于 Jest/Vites测试文件.
  • unicorn-config 包含一个可禁用一些测试文件规则的配置 (匹配以下任何一种测试模式),并采用某些针对无害环境管理的测试模式 仅适用于下列情形的规则: *.{mjs,mts} 文档.
  • typescript-eslint-config 应用 typescript-eslint 规则到 JavaScript 和所有类型脚本文件。 其中一些规则扩展了ESLint的核心规则, 因此这些核心ESLint规则在这个配置中被关闭以避免冲突. 它还只对TypeScript文件适用TypeScript特定规则,以及 配置 @typescript-eslint/parser 设置以使用最接近 tsconfig.json 文档。 对于具体针对无害环境管理/CJS的规则,它假定: *.{js,ts} 文件为无害环境管理,不同于 base-config。确保 此配置应在 base-config 财务报告和审定财务报表 esm-config。 。 。 .

随着ESLint v9,格式化规则大多被贬值并删除 base-config不过 eslint-config-prettier 软件包已包含并可以包含 如果 prettier 也正在使用它来确保优先 用于格式化,尽管最后应当包括.

还有一个 esm-config 包括使用ES模块的项目 普通JS模块. 此配置设置 sourceType 改为 module 页:1 *.{js,ts} 文档和包含 unicorn-config 专门针对无害环境管理的规则.

使用量

这个模块现在已是纯粹的无害环境管理,因此必须从无害环境管理文件中调用 eslint.config.js (如果项目是无害环境管理)或 eslint.config.mjs (如果 项目为CJS).

有三个版本 recommended 配置 涵盖通用JS、无害环境管理和TypeScript,以及单个配置可以 手动配置.

这个 recommended 配置用于所有插件配置的普通JS 启用但 vitest-config (确实包括: jest-config和 typescript-eslint-config它的确对下列各方适用了针对无害环境管理的具体规则: *.{mjs,mts} 文档。 规则适用于所有 JavaScript 和 TypeScript 文件,但不需要 TypeScript(没有有类型的规则)。 要配置 eslint.config.mjs 使用此配置 :

import { defineConfig, globalIgnores } from 'eslint/config';
import recommendedConfig from '@aarongoldenthal/eslint-config-standard/recommended';

export default defineConfig([
  recommendedConfig,
  globalIgnores(['node_modules/**', 'coverage/**'])
]);

注意可选 globalIgnores 最后一个可以添加的配置以忽略某些 目录.

这个 recommended-esm 配置与 recommended 配置, 但是为了无害环境管理。 它包括 vitest-config 代替 jest-config,还有 esm-config (适用于 *.{js,ts} 文档 , 但不包括 typescript-eslint-config这些规则也适用 切入所有 JavaScript 和 TypeScript 文件, 但不需要 TypeScript (没有规则) 包括类型). 它可以配置为:

import { defineConfig, globalIgnores } from 'eslint/config';
import recommendedConfig from '@aarongoldenthal/eslint-config-standard/recommended-esm';

export default defineConfig([
  recommendedConfig,
  globalIgnores(['node_modules/**', 'coverage/**'])
]);

这个 recommended-ts 配置与 recommended-esm 配置, 但也包括 typescript-eslint-config,因此要求 TypeScript( 可选的对等依赖) 和 a tsconfig.json 文档。 它会 配置为:

import { defineConfig, globalIgnores } from 'eslint/config';
import recommendedConfig from '@aarongoldenthal/eslint-config-standard/recommended-ts';

export default defineConfig([
  recommendedConfig,
  globalIgnores(['node_modules/**', 'coverage/**'])
]);

使用单个配置

要配置 eslint.config.js 带有单个插件,请参见 recommended* 配置为例.

注释:

  • 如果使用,则 base-config 应在其他配置之后列入, 除外 esm-config, (中文(简体) ), typescript-eslint-config,以及 prettier 所以这些 设置优先.
  • 这个 jest-config 财务报告和审定财务报表 vitest-config 同样的文件适用性,所以 只能使用一个.
  • 如果使用,则 esm-config 在所有功能后应配置 JavaScript 规则,以确保被推翻的设置优先.
  • 如果使用,则 typescript-eslint-config 毕竟应该配置 其他确保被推翻的设置的规则优先.
  • 如果使用,则 prettier 配置应最后列入,以便在 取消所有其他配置的适用规则.

版本与发布记录

@aarongoldenthal/eslint-config-standard 共发布 100 个版本,首次发布于 2019/10/27;过去 12 个月发布了 20 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
50.0.2latest2026/10/2711 天前
50.0.12026/10/011 个月前
50.0.02026/09/111 个月前
49.0.02026/08/242 个月前
48.0.12026/08/033 个月前
48.0.02026/07/203 个月前

关于 @aarongoldenthal/eslint-config-standard 的常见问题

@aarongoldenthal/eslint-config-standard 是什么?

标准 ESLint 配置设置

如何安装 @aarongoldenthal/eslint-config-standard?

在项目目录运行 npm install @aarongoldenthal/eslint-config-standard,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:eslint(^10.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aarongoldenthal/eslint-config-standard 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/aarongoldenthal__eslint-config-standard 是否存在。

@aarongoldenthal/eslint-config-standard 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aarongoldenthal/eslint-config-standard 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^22.11.0 || ^24.11.0 || >=26。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aarongoldenthal/eslint-config-standard 可以商用吗?

@aarongoldenthal/eslint-config-standard 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aarongoldenthal/eslint-config-standard 的下载量有多少?

根据 npm 官方下载统计,@aarongoldenthal/eslint-config-standard 在 2026/10/05 – 2026/11/03 这 30 天内被下载 4,247 次,日均约 142 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aarongoldenthal/eslint-config-standard 还在维护吗?

最新版本 50.0.2 发布于 2026/10/27(11 天前);至今共发布 100 个版本,其中过去 12 个月发布了 20 个;首次发布于 2019/10/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。