# @codacy/tools-eslint-9 中文文档

规范地址：https://npmcn.com/package/%40codacy/tools-eslint-9/

版本：0\.28\.0
npm 元数据更新时间：2026-11-09T13:47:07.160Z
中文译文更新时间：2026-11-10T05:42:11.714Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40codacy/tools-eslint-9
原文对照：https://npmcn.com/package/%40codacy/tools-eslint-9/?lang=original
项目主页：https://github.com/codacy/analysis-cli
源码仓库：https://github.com/codacy/analysis-cli

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

- 包体积（解压后）：1.5 MB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：1 个
- 首次发布：2026-03-24T13:15:55.256Z
- 最新版本发布：2026-11-09T13:47:06.997Z
- 近 30 天下载量：11836（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：36（近 12 个月 36 个）

## 中文简介

ESLint 9 适配器 — Library-mode JavaScript/ TypeScript linter

## 安装

```sh
npm install @codacy/tools-eslint-9
```

也可以使用：`pnpm add @codacy/tools-eslint-9`、`yarn add @codacy/tools-eslint-9`、`bun add @codacy/tools-eslint-9`

## README

# @codacy/tools-slint-9 (英语)

## 目录

-   [概览](https://npmcn.com/package/%40codacy/tools-eslint-9/#readme-overview)
-   [更新图案](https://npmcn.com/package/%40codacy/tools-eslint-9/#readme-updating-patterns)
-   [更新 ESLint 版本](https://npmcn.com/package/%40codacy/tools-eslint-9/#readme-updating-the-eslint-version)
-   [发展](https://npmcn.com/package/%40codacy/tools-eslint-9/#readme-development)
-   [维护者的注释](https://npmcn.com/package/%40codacy/tools-eslint-9/#readme-notes-for-maintainers)

* * *

## 概览

使用 JavaScript/ TypeScript 接口 [ESLint 9 (英语)](https://eslint.org/) 带有平面配置格式。 使用库执行策略——直接调用ESLint API,而不是产入子进程.

| 财产 | 数值 |
| --- | --- |
| 工具标识 | `ESLint9` |
| 编码 UUID | `2a30ab97-477f-4769-8b88-af596ce7a94c` |
| 战略 | 图书馆 |
| 语文 | Java脚本, 类型脚本 |
| 依赖性 | `eslint` npm 包 (v9. x) + 68 个插件包 |
| 模式 | 3259 (292个核心+2967个插件) |
| 文件图案 | `**/*.js`, (中文(简体) ), `**/*.jsx`, (中文(简体) ), `**/*.ts`, (中文(简体) ), `**/*.tsx` |

## 更新图案

```bash
# Re-fetch pattern metadata from the Codacy API
pnpm prefetch

# Commit the result
git add src/patterns.json
```

模式ID使用codacy-eslint9编码: `_` → `__`, (中文(简体) ), `/` → `_`实例:

-   `ESLint9_no-unused-vars` (核心规则)
-   `ESLint9_@typescript-eslint_no-unused-vars` (扫描插件)
-   `ESLint9_react_jsx-no-target-blank` (非范围插件)

## 更新 ESLint 版本

1.  更新 `eslint` 和相关软件包 `devDependencies` 联 合 国 `package.json`,以及 `preferredVersion` 内 `src/metadata.ts`
2.  运行 `pnpm install`
3.  运行 `pnpm generate-payloads eslint-9` 从重播根到重播 `payload/package.json` 并重生其锁文件
4.  运行 `pnpm prefetch` 以检查新的/撤消的规则
5.  运行 `pnpm test` 以验证兼容性
6.  如果主要版本更改,请创建新的适配软件包(`eslint-10/`(中文(简体) )

## 发展

```bash
pnpm build    # Build with tsup
pnpm test     # Run tests
```

## 维护者的注释

-   **预设绘图`src/pattern-mappings.json`(中文(简体) )**:只有前缀. 声纳JS的四项反应规则 财务报告和审定财务报表 `@stylistic`JSX的规矩是 `ESLint9_sonarjs_` 编号 : `ESLint9_@stylistic_` 旁边 这些插件的框架不可知规则,所以 `react` 明确键名 (单位:千美元)`ESLint9_@stylistic_jsx-` 加上四个声纳JS的ID。 装饰标记他们 `reactjs`不过 标记上的指向在这里是错误的:同样的标记坐落在不是反应规则的规则上,和 因为 `filterAutoPatterns` 匹配密钥的 ORs , 标记也会拖动规则前缀中由 其他密钥全数( e)`i18next/no-literal-string`, (中文(简体) ), `perfectionist/sort-jsx-props` - 那个 后一复制 `@stylistic/jsx-sort-props`) (中文(简体) ). 在普通的React登录表上测量, 从项目规则中得出了15个结论,没有理由允许。 一样 vue SFC 自定义块规则的推理 `jsonc`编号 :`yml`。 。 。 .
    
    有一个 **没有 `webdriverio` 键**虽然 `plugin-registry.ts` 仍在装入 `eslint-plugin-wdio` 和ESLint 8的地图 仍然在大门上 `ESLint8_wdio_`科达西放弃了 来自ESLint 9的目录的 wdio ruleset,所以 `ESLint9_wdio_` 匹配任何上游和密钥 已经无法选择的图案. `mapping-drift.test.ts` 只会抓住这个 一次 `pnpm prefetch` 刷新点 `patterns.json` - 承诺的镜子仍然列出三个 规则。 不先检查工具的活模式列表, 不要重新添加密钥 .
    
-   ESLint 9号机使用了 **平面配置** 仅限格式。 适配器在从Codacy模式构建时生成平面配置阵列.
    
-   模式ID使用与codacy-eslint9包装器相同的编码: `_` → `__` 接下来 `/` → `_` (encode),为解码的倒转. 这意味着 `_` 在规则名称中作为 `__`。 。 。 .
    
-   这个 `blacklist.ts` 文件包含30+规则已知可崩溃ESLint或产生严重假阳性,来源于codacy-eslint9包装. 这个 `isBlacklisted()` 函数还检查 regex 模式(例如:. `unused-imports/*-ts`) (中文(简体) ).
    
-   这个 `plugin-registry.ts` 处理所有68个 ESLint 插件包的懒惰装入。 插件只有在来自该插件的规则处于活动模式选择时才会被加载 .
    
-   这个 `config-builder.ts` 从 Codacy 模式生成平面配置对象,通过插件组合规则并设置适当的解析器. 类型脚本文件获得 `@typescript-eslint/parser`; Vue/Svelte/JSONC/YML文件获得适当的文件 globs.
    
-   当未提供配置或图案时,适配器会回到 `@eslint/js` 建议配置.
    
-   `checkAvailability` 导入 ESLint 类别并返回 `ESLint.version`。 。 。 .
    
-   工具为 npm _有效载数_,而不是依赖性:在运行时解决(Codacy管理安装) `~/.codacy/tools/<id>/`页:1 `CODACY_TOOL_ROOT_<ID>` root, 或此软件包本身 `node_modules` (在单体)和 `install` 运行 `npm ci` 对所犯 `payload/package-lock.json`。见 `src/payload.ts`。 。 。 .
    
-   尚未为 ESLint 9 更新插件的对等依赖性警告, 并匹配 codacy- eslint9 包装行为 .

## 常见问题

### @codacy/tools-eslint-9 是什么？

ESLint 9 适配器 — Library-mode JavaScript/ TypeScript linter

### 如何安装 @codacy/tools-eslint-9？

在项目目录运行 npm install @codacy/tools-eslint-9，或使用 pnpm add / yarn add / bun add。

### @codacy/tools-eslint-9 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @codacy/tools-eslint-9 支持 ESM 还是 CommonJS？

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

### @codacy/tools-eslint-9 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @codacy/tools-eslint-9 可以商用吗？

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

### @codacy/tools-eslint-9 的下载量有多少？

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

### @codacy/tools-eslint-9 还在维护吗？

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

