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

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

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

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

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

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

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

## 中文简介

ESLint 8 适配器 — 库- mode JavaScript/ TypeScript linter( legacy config)

## 安装

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

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

## README

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

## 目录

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

* * *

## 概览

使用 JavaScript/ TypeScript 接口 [ESLint 8 (英语)](https://eslint.org/) 带有遗留配置格式( e)`.eslintrc`) (中文(简体) ). 使用库执行策略——直接调用ESLint API,而不是产入子进程.

| 财产 | 数值 |
| --- | --- |
| 工具标识 | `ESLint8` |
| 编码 UUID | `f8b29663-2cb2-498d-b923-a10c6a8c05cd` |
| 战略 | 图书馆 |
| 语文 | Java脚本, 类型脚本 |
| 依赖性 | `eslint` npm 包 (v8. x) + 90+ 插件包 |
| 模式 | 2816 (285个核心+2531个插件) |
| 文件图案 | `**/*.js`, (中文(简体) ), `**/*.jsx`, (中文(简体) ), `**/*.ts`, (中文(简体) ), `**/*.tsx` |

## 与ESLint 9的共存

此适配器安全地共存 `@codacy/tools-eslint-9` 在同一单体中 和相同的节点.js进程. 关键设计决定:

-   **pnpm 隔离**:每个适配器有自己的 `node_modules/eslint` 符号链接指向 到 pnpm 商店中不同的版本. `import("eslint")` 从每个适配器 构建输出解析到正确的版本.
-   **内行类型**: ESLint API 类型定义内置(不是从 `eslint` 软件包)来避免类型脚本声明冲突.
-   **单独的插件注册**: ESLint 8 vs 9 需要不同版本的插件 (例如:. `@typescript-eslint`, (中文(简体) ), `react-hooks`)安装在正确的版本中 每个适配器自己的依赖.
-   **林特脚本**: 将根的 ESLint 9 用于 Linting 源代码 (单位:千美元)`node ../../../node_modules/eslint/bin/eslint.js`避免当地ESLint 8 二进制与根平面配置相冲突.

## 更新图案

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

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

图案ID使用codacy-eslint编码: `_` → `__`, (中文(简体) ), `/` → `_`实例:

-   `ESLint8_no-unused-vars` (核心规则)
-   `ESLint8_@typescript-eslint_no-unused-vars` (扫描插件)
-   `ESLint8_react_jsx-no-target-blank` (非范围插件)

## 更新 ESLint 版本

ESLint 8为报废(2024年10月). 预计不会更新版本 . 这个适配器的目标是最终的8.57.x发布. 对于更新的ESLint,请使用 `eslint-9` 适配器.

## 发展

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

## 维护者的注释

-   **预设绘图`src/pattern-mappings.json`(中文(简体) )**:只有前缀. `@stylistic`JSX规则 住在楼下 `ESLint8_@stylistic_` 除了插件的框架不可知规则,所以 `react` 密钥名称 `ESLint8_@stylistic_jsx-` 明确的子前缀。 装饰标记这些 规则 `reactjs`,但标记上的指向在这里是错误的: 相同的标记坐在这里 `ESLint8_functional_no-classes` ("任何地方没有ES6课"), `css-modules_no-undef-class` 财务报告和审定财务报表 `test-selectors_onChange`,这些都不是反应规则——和因为 `filterAutoPatterns` 匹配密钥的 ORs, 标记也会被其他密钥所拥有规则前缀拖动 完全没有。 在普通的React登录表上测量,标签Gating得出了来自 规则项目没有理由允许。 Vue SFC 自定义块的相同推理 规则,命名为 `ESLint8_jsonc_vue-custom-block` 编号 : `ESLint8_yml_vue-custom-block`。 。 。 .
-   ESLint 8 使用该程序 **遗留配置** 格式 (单位:千美元)`.eslintrc.*`) (中文(简体) ). 适配器生成 常规对象配置 `plugins` 作为字符串名称, `parser` 作为一个绝对的道路, 财务报告和审定财务报表 `overrides` 用于 TypeScript 特定配置.
-   **没有可执行配置文件**数字 : `.eslintrc.js`, (中文(简体) ), `.eslintrc.cjs`,无扩展 `.eslintrc` 不包括在本地配置检测中,因为这些格式可以 直接执行repo控制代码. 只有静态格式( E)`.eslintrc.yaml`, (中文(简体) ), `.eslintrc.yml`, (中文(简体) ), `.eslintrc.json`)被检测出。 注:这不能完全消除 启用本地配置时执行代码 —— ESLint 遗留配置字段类似 `extends` 财务报告和审定财务报表 `parser` 仍然可以决心重新控制模块.
-   **插件分辨率**数字 : `resolvePluginsRelativeTo` 在这个适配器的 ESLint 点数 软件包根,所以它可以在我们中找到插件 `node_modules` 而不是用户的回购.
-   **总是在 TS 解析器上覆盖**页:1 `.ts/.tsx` 覆盖到 `@typescript-eslint/parser` 当任何规则被启用时总是创建的,而不只是当 `@typescript-eslint` 规则 在场。 这确保所有插件( 例如) . `jsdoc`)可以分析 TypeScript 文件 和核心规则一样 `no-redeclare` 财务报告和审定财务报表 `no-undef` 无条件 为 TS 文件禁用(TypeScript 的编译器以本地方式处理它们).
-   **没有 `project: true`**: TS 解析器覆盖不使用 `project: true` 因为 没有时失败 `tsconfig.json` 覆盖目标文件。 多数 `@typescript-eslint` 规则工作没有类型信息; 类型意识规则优雅地降解.
-   图案 ID使用与codacy-slint包装器相同的编码: `_` → `__` 接下来 `/` → `_` (encode),为解码的倒转.
-   这个 `blacklist.ts` 包含已知的崩溃 ESLint 或产生严重虚假的规则 阳性,与ESLint 9适配器黑名单共享.
-   `checkAvailability` 验证装入的 ESLint 版本的起始 `8.` 改为 防止意外使用ESLint 9.
-   工具为 npm _有效载数_,而不是依赖性:在运行时解决(Codacy管理安装) `~/.codacy/tools/<id>/`页:1 `CODACY_TOOL_ROOT_<ID>` root, 或此软件包本身 `node_modules` (在单体)和 `install` 运行 `npm ci` 对所犯 `payload/package-lock.json`。见 `src/payload.ts`。 。 。 .

## 常见问题

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

ESLint 8 适配器 — 库- mode JavaScript/ TypeScript linter\( legacy config\)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

