@codacy/tools-eslint-8

中文文档
0.28.0发布于 2026/11/09MITTypeScriptCommonJS近 30 天下载 1.2万

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

中文使用文档
文档目录7 节
  1. 目录
  2. 概览
  3. 与ESLint 9的共存
  4. 更新图案
  5. 更新 ESLint 版本
  6. 发展
  7. 维护者的注释

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

目录


概览

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

财产数值
工具标识ESLint8
编码 UUIDf8b29663-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 二进制与根平面配置相冲突.

更新图案

# 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 适配器.

发展

pnpm build    # Build with tsup
pnpm test     # Run tests

维护者的注释

  • 预设绘图src/pattern-mappings.json(中文(简体) ):只有前缀. @stylisticJSX规则 住在楼下 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 共发布 29 个版本,首次发布于 2026/04/17;过去 12 个月发布了 29 个版本。

版本发布日期距今
0.28.0latest2026/11/09今天
0.27.12026/11/054 天前
0.27.02026/11/036 天前
0.26.02026/10/3010 天前
0.25.02026/10/1921 天前
0.24.02026/09/251 个月前

关于 @codacy/tools-eslint-8 的常见问题

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