# @aarongoldenthal/eslint-config-standard 中文文档

规范地址：https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/

版本：50\.0\.2
npm 元数据更新时间：2026-10-27T02:26:57.083Z
中文译文更新时间：2026-11-06T06:58:56.765Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aarongoldenthal/eslint-config-standard
原文对照：https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/?lang=original
项目主页：https://gitlab.com/gitlab-ci-utils/eslint-config-standard
源码仓库：https://gitlab.com/gitlab-ci-utils/eslint-config-standard

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：95.8 kB，18 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：^22\.11\.0 \|\| ^24\.11\.0 \|\| \>=26
- 运行依赖：10 个
- peer 依赖：eslint ^10\.0\.0，typescript ^6\.0\.0
- 首次发布：2019-10-26T19:14:38.005Z
- 最新版本发布：2026-10-27T02:26:56.762Z
- 近 30 天下载量：4247（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：100（近 12 个月 20 个）

## 中文简介

标准 ESLint 配置设置

## 安装

```sh
npm install @aarongoldenthal/eslint-config-standard
```

也可以使用：`pnpm add @aarongoldenthal/eslint-config-standard`、`yarn add @aarongoldenthal/eslint-config-standard`、`bun add @aarongoldenthal/eslint-config-standard`

## README

# @aaarongoldenthal/eslint-config-标准

## 内容提要

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

| 插件名称 | 配置名称 | 规则前缀 |
| --- | --- | --- |
| `eslint` | [`base-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/base-config.js) | 无, `core` |
| `@eslint-community/eslint-plugin-eslint-comments` | [`eslint-comments-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/eslint-comments-config.js) | `comments` |
| `eslint-plugin-jest` | [`jest-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/jest-config.js) | `jest` |
| `eslint-plugin-jsdoc` | [`jsdoc-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/jsdoc-config.js) | `jsdoc` |
| `eslint-plugin-n` | [`node-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/node-config.js) | `node` |
| `eslint-plugin-playwright` | [`playwright-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/playwright-config.js) | `playwright` |
| `eslint-plugin-unicorn` | [`unicorn-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/unicorn-config.js), (中文(简体) ), [`esm-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/esm-config.js) | `unicorn` |
| `eslint-plugin-vitest` | [`vitest-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/vitest-config.js) | `vitest` |
| `typescript-eslint` | [`typescript-eslint-config`](https://npmcn.com/package/%40aarongoldenthal/eslint-config-standard/typescript-eslint-config.js) | `@typescript-eslint` |

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

这个 `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` 配置

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

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

```js
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-ts` 配置与 `recommended-esm` 配置, 但也包括 `typescript-eslint-config`,因此要求 TypeScript( 可选的对等依赖) 和 a `tsconfig.json` 文档。 它会 配置为:

```js
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 是什么？

标准 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 和提交记录判断。

