@encoura/eslint-config

中文文档
4.0.3发布于 2026/11/04MITCommonJS近 30 天下载 4877

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

中文使用文档
文档目录11 节
  1. 开始
  2. 配置提交图
  3. 配置 ESLint 软件
  4. 中断更改 在4号
  5. 配置马克下图
  6. 配置预览器
  7. 配置类型脚本
  8. 依赖性升级说明
  9. 地方发展
  10. npm 脚本
  11. 释放进程

ESLint 配置

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

开始

安装此软件包, ESLint 语录, (中文(简体) ), 嘘,以及 阶段 作为非依赖性 :

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

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

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

配置提交图

要配置 提交创建一个 commitlint.config.js 包含 如下:

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

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

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

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

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

配置 ESLint 软件

要配置 ESLint 语录中,将以下内容添加到 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 在释放之前。 删除每个 当其上游包支持这些对等版本时,兼容补丁.

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

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

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

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

module.exports = createConfig({
  resolverProject: ['tsconfig.json'],
  tsconfigRootDir: __dirname,
});
...
"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/* 规则; 过渡性使用该软件包的项目应添加 他们自己的依赖.

配置马克下图

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

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

配置预览器

要配置 更美丽创建一个 .prettierrc.js 包含以下内容的文件:

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

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

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

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

配置类型脚本

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

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

依赖性升级说明

见 更新编号.md 安全修复、工具兼容性 变化、消费者迁移步骤和验证命令.

地方发展

npm 脚本

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

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

释放进程

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

  1. 制作公关(或标出您的公关草案可供审查).

  2. 选择一个公共安全公关标题,让语义释放知道是否应该 生成新补丁、 小补丁或主要释放:

    • 如果你期望你的公关合并 导致一个新的 补丁 释放, 启动您的 PR 标题 fix:。 。 。 .
    • 如果你期望你的公关合并 导致一个新的 小声 释放, 启动您的 PR 标题 feat:。 。 。 .
    • 如果你期望你的公关合并 导致一个新的 主要 释放, 详情见下文3.
    • 如果你期望你的公关合并 来跳过创建新的发布, 您可以启动您的 PR 标题 build: (用于建设变化), chore: (用于基本维修), docs: (供文件更新), 或者干脆不使用上述任何关键词前缀.
  3. 如果拉动请求创建新的主要版本发布, 字符串 BREAKING CHANGE: 必须在至少一个承诺信息中包含 页脚 (单位:千美元)见文件(中文(简体) ) - 语义释放的 承诺分析器做 没有 使用 PR 标题 确定主要释放.

    您可以手动添加 BREAKING CHANGE: 输入执行页脚 在您按下“ Morge Pult Request” /“ Squash and Merge” 后, 请在您的 PR (在 "可选扩展描述"字段. 或者,如果你正在合并 通过创建新的合并承诺,确保至少一个源 承诺的信息有 BREAKING CHANGE: 在它的脚下。 请注意: 完成这个任务,你可能需要与 --no-verify 要绕行的旗帜 承诺.

  4. 一旦你的公关合并了 语义释放会把它捡起来启动 自动发布程序。 如果发现它应该创建释放 (基于以上),它会。 否则,它不会!

版本与发布记录

@encoura/eslint-config 共发布 21 个版本,首次发布于 2023/09/16;过去 12 个月发布了 5 个版本。

版本发布日期距今
4.0.3latest2026/11/0410 天前
4.0.22026/09/241 个月前
4.0.12026/06/115 个月前
4.0.02026/06/105 个月前
3.0.12026/01/139 个月前
3.0.02025/07/011.4 年前

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

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