# @encoura/eslint-config 中文文档

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

版本：4\.0\.3
npm 元数据更新时间：2026-11-03T16:34:58.540Z
中文译文更新时间：2026-11-13T16:39:47.653Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40encoura/eslint-config
原文对照：https://npmcn.com/package/%40encoura/eslint-config/?lang=original
项目主页：https://github.com/nrccua/eslint-config#readme
源码仓库：https://github.com/nrccua/eslint-config

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

- 包体积（解压后）：15.6 MB，5782 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：31 个
- peer 依赖：eslint ^10\.0\.0
- 首次发布：2023-09-15T16:13:45.415Z
- 最新版本发布：2026-11-03T16:34:57.759Z
- 近 30 天下载量：4877（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：21（近 12 个月 5 个）

## 中文简介

Encoura为TypeScript,Prettier,ESLint,CommLint和MarkdownLint的首选配置.

## 安装

```sh
npm install @encoura/eslint-config
```

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

## README

# ESLint 配置

Encoura 的首选配置用于 TypeScript, Prettier, ESLint, CotentLint 和 马克德林特.

## 开始

安装此软件包, [ESLint 语录](https://eslint.org/), (中文(简体) ), [嘘](https://github.com/typicode/husky),以及 [阶段](https://github.com/okonet/lint-staged) 作为非依赖性 :

```shell
npm install --save-dev @encoura/eslint-config eslint@^10 husky lint-staged
```

将以下内容添加到您的区域 `package.json` 文件 :

```json
...
"scripts": {
  ...
  "prepare": "husky",
  ...
},
...
```

## 配置提交图

要配置 [提交](https://github.com/marionebl/commitlint)创建一个 `commitlint.config.js` 包含 如下:

```js
module.exports = require('@encoura/eslint-config/commitlint.config');
```

这将允许 ContLint 发现此寄存器的配置 从您内部提供 `node_modules` 文件夹.

默认情况下, Encoura 承诺林特 期望以下列格式发送一个承诺消息 :

`[XXX-###]: Subject` 其中XXX-QQ是一个工作项目 ID,例如, `WEB-1`

承诺信息也可能是git的标准合并承诺格式.

## 配置 ESLint 软件

要配置 [ESLint 语录](https://eslint.org/)中,将以下内容添加到 `eslint.config.js` 财务报告和审定财务报表 `package.json` 文档。 此软件包支持 ESLint 10's 平面配置系统。 这个寄存器开发并验证了节点24上的配置.

5个上游软件包仍然声明排除ESLint 10的对等范围: Airbnb, Airbnb Base, Introduction, React, 和JSX的可访问性. 他们的原作 保留执行和规则名称。 堆放这些包 及其生产依赖性 出版的文物。 它只扩展他们的 ESLint 端元数据以包含 v10 和 Airbnb 的 React Hooks 对等元数据包含 v7.

这些是软件包本地兼容补丁,而不是上游声明 支助。 现有 `@eslint/compat` 适配器处理遗留规则 API. 消费者不需要对等重置或 `--legacy-peer-deps`。测试安装 与严格的同行进行包装的文物,比较完整的规则清单,以及 验证捆绑的执行文件是否匹配已安装的正本 .

捆绑的依赖性由这个包的锁文件所固定. 他们的更新要求 新建软件包并发布。 使用 `npm ci` 在释放之前。 删除每个 当其上游包支持这些对等版本时,兼容补丁.

```js
const createConfig = require('@encoura/eslint-config');

module.exports = createConfig({
  nextRootDir: __dirname,
  resolverProject: ['tsconfig.json'],
  tsconfigRootDir: __dirname,
});
```

对于后端(Nest.js)项目:

```js
const createConfig = require('@encoura/eslint-config/nest');

module.exports = createConfig({
  resolverProject: ['tsconfig.json'],
  tsconfigRootDir: __dirname,
});
```

```json
...
"lint-staged": {
  ...
  "*.{js,jsx,ts,tsx}": "eslint",
  ...
},
...
```

### 中断更改 在4号

-   ESLint配置消费者必须使用ESLint 10平方配置. 遗产 `.eslintrc` `extends: ['@encoura/eslint-config']` 财务报告和审定财务报表 `extends: ['@encoura/eslint-config/nest']` 不再支持使用. 创建一个 `eslint.config.js` 文件,并给导出配置厂打电话.
-   安装 `eslint@^10` 直接消耗项目。 此软件包声明 ESLint 10 作为对等点,所以项目级别 `eslint` CLI 对预期 主要版本.
-   发表 `jest.config.js` 与出口和杰斯特相关的依赖关系 已删除。 进口项目 `@encoura/eslint-config/jest.config` 应该拥有他们的杰斯特或维特配置 当地.
-   这个共享的ESLint配置不再启用Jest特有测试林定. 测试文件仍然收到共享的 TypeScript/ React 覆盖, 但 Vitest 项目不再继承 Jest 规则.
-   `eslint-plugin-disable` 不再捆绑。 共享配置无法启用 任意 `disable/*` 规则; 过渡性使用该软件包的项目应添加 他们自己的依赖.

## 配置马克下图

要配置 [马克下图](https://github.com/DavidAnson/markdownlint)中,添加 跟着你 `package.json` 文档。 这将让 MarkdownLint 发现 此寄存器提供的配置 `node_modules` 文件夹,并检查您的 `*.md` 每次创建违规文件 一项新的承诺:

```json
...
"lint-staged": {
  ...
  "*.{md}": "markdownlint --config node_modules/@encoura/eslint-config/markdownlint.config.json",
  ...
},
...
```

## 配置预览器

要配置 [更美丽](https://prettier.io/)创建一个 `.prettierrc.js` 包含以下内容的文件:

```js
module.exports = require('@encoura/eslint-config/prettier.config');
```

这将允许 Pretier 发现此寄存器的配置 从您内部提供 `node_modules` 文件夹.

接下来,在您的 `package.json` 文件, 这样更美的会检查 每次您创建新任务时您的违法文件 :

```json
...
"lint-staged": {
  ...
  "*.{js,jsx,json,md,ts,tsx}": [
    "prettier --write",
    "git add"
  ]
  ...
},
...
```

## 配置类型脚本

要配置 [类型脚本](https://www.typescriptlang.org/),添加以下内容: 给您的 `tsconfig.json` 文档。 这将允许 TypeScript 发现 从您内部配置此寄存器 `node_modules` 文件夹 :

```json
...
"extends": "node_modules/@encoura/eslint-config/tsconfig.json",
...
```

## 依赖性升级说明

见 [更新编号.md](https://npmcn.com/package/%40encoura/eslint-config/UPGRADE-NOTES.md) 安全修复、工具兼容性 变化、消费者迁移步骤和验证命令.

## 地方发展

### npm 脚本

本地开发期间有多个 npm 脚本可供您使用 . 这里有一些更重要的:

| 脚本 | 说明 |
| :-- | :-- |
| npm 测试 | 运行所有验证检查 . |
| npm 运行测试:lint:js | Lint JavaScript文件与共享的ESLint配置. |
| npm 运行测试: lint: ts | Lint TypeScript文件与共享的ESLint配置. |
| npm 运行测试: lint: md | Lint Markdown文件与共享的MarkdownLint配置. |
| npm 运行测试: prettier | 使用 Pretier 检查格式 . |
| npm 运行测试: tsconfig | 验证共享类型脚本配置 . |
| npm 运行测试: 单位 | 运行单位测试 出口的配置工厂. |

### 释放进程

当你的代码更改准备好时,是时候发布一个新的补丁,小的,或者 主要释放。 维护者在合并时通常会挤压拉动请求,所以 PR 标题成为壁球承诺标题并成为补丁的真相来源 和小的释放检测.

1.  制作公关(或标出您的公关草案可供审查).
    
2.  选择一个公共安全公关标题,让语义释放知道是否应该 生成新补丁、 小补丁或主要释放:
    
    -   如果你期望你的公关合并 导致一个新的 _补丁_ 释放, 启动您的 PR 标题 `fix:`。 。 。 .
    -   如果你期望你的公关合并 导致一个新的 _小声_ 释放, 启动您的 PR 标题 `feat:`。 。 。 .
    -   如果你期望你的公关合并 导致一个新的 _主要_ 释放, 详情见下文3.
    -   如果你期望你的公关合并 来跳过创建新的发布, 您可以启动您的 PR 标题 `build:` (用于建设变化), `chore:` (用于基本维修), `docs:` (供文件更新), 或者干脆不使用上述任何关键词前缀.
3.  如果拉动请求创建新的主要版本发布, 字符串 `BREAKING CHANGE:` 必须在至少一个承诺信息中包含 **页脚** (单位:千美元)[见文件](https://semantic-release.gitbook.io/semantic-release#commit-message-format)(中文(简体) ) - 语义释放的 承诺分析器做 **没有** 使用 PR 标题 确定主要释放.
    
    您可以手动添加 `BREAKING CHANGE:` 输入执行页脚 在您按下“ Morge Pult Request” /“ Squash and Merge” 后, 请在您的 PR (在 "可选扩展描述"字段. 或者,如果你正在合并 通过创建新的合并承诺,确保至少一个源 承诺的信息有 `BREAKING CHANGE:` 在它的脚下。 请注意: 完成这个任务,你可能需要与 `--no-verify` 要绕行的旗帜 承诺.
    
4.  一旦你的公关合并了 语义释放会把它捡起来启动 自动发布程序。 如果发现它应该创建释放 (基于以上),它会。 否则,它不会!

## 常见问题

### @encoura/eslint-config 是什么？

Encoura为TypeScript,Prettier,ESLint,CommLint和MarkdownLint的首选配置\.

### 如何安装 @encoura/eslint-config？

在项目目录运行 npm install @encoura/eslint-config，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：eslint（^10\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @encoura/eslint-config 支持 TypeScript 吗？

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

### @encoura/eslint-config 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @encoura/eslint-config 可以商用吗？

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

### @encoura/eslint-config 的下载量有多少？

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

### @encoura/eslint-config 还在维护吗？

最新版本 4\.0\.3 发布于 2026/11/04（10 天前）；至今共发布 21 个版本，其中过去 12 个月发布了 5 个；首次发布于 2023/09/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

