# @codacy/tools-unsupported-tools 中文文档

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

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

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

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

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

- 包体积（解压后）：996 kB，18 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：1 个
- 首次发布：2026-06-23T08:11:56.043Z
- 最新版本发布：2026-11-09T13:48:54.629Z
- 近 30 天下载量：11795（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

生成没有本地分析器的 Codacy Cloud 工具的显示 (描述符 + 模式)

## 安装

```sh
npm install @codacy/tools-unsupported-tools
```

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

## README

# @codacy/tools- 不支持的工具

## 目录

-   [概览](https://npmcn.com/package/%40codacy/tools-unsupported-tools/#readme-overview)
-   ["不支持"意味着什么](https://npmcn.com/package/%40codacy/tools-unsupported-tools/#readme-what-unsupported-means)
-   [目录](https://npmcn.com/package/%40codacy/tools-unsupported-tools/#readme-contents)
-   [框架制图](https://npmcn.com/package/%40codacy/tools-unsupported-tools/#readme-framework-mappings)
-   [重现清单](https://npmcn.com/package/%40codacy/tools-unsupported-tools/#readme-regenerating-the-manifest)
-   [如何消耗](https://npmcn.com/package/%40codacy/tools-unsupported-tools/#readme-how-its-consumed)
-   [发展](https://npmcn.com/package/%40codacy/tools-unsupported-tools/#readme-development)
-   [维护者的注释](https://npmcn.com/package/%40codacy/tools-unsupported-tools/#readme-notes-for-maintainers)

## 概览

此软件包持有 **已产生,已承诺的表** 包含每个 Codacy 云工具 没错 **没有** 在此 CLI 中有一个本地分析器适配器—— “ 不支持 ” (只有云)工具。 它使CLI将这些工具作为头等公民对待 配置和结构 `info` 编号 : `analyze` 编号 : `init` 流动,尽管它们 从未在当地执行.

## "不支持"意味着什么

当一个工具出现在Codacy目录中时,将在此跟踪(`/api/v3/tools`),已经 **没有 本地适配器** (其UUID没有被任何兄弟姐妹工具包所引用) `prefetch` 脚本),并且是 **可跟踪** ——即不腐烂和不腐烂 客户端/只独立(仅在客户环境中运行).

说明携带 `unsupported: true`剩下的CLI就是这么告诉他们的 除了真正的适配器.

## 目录

-   `src/descriptors.json` 一个 `AdapterDescriptor` 每个工具`unsupported: true`, (中文(简体) ), `uuid` 设定, `supportedRunners: ["container"]`) (中文(简体) ).
-   `src/patterns/<toolId>.json` ——该工具的全图案集(外形与a 支持的适配器 `patterns.json`) (中文(简体) ). 没有图案的工具没有文件 .
-   `src/index.ts` 出口 `unsupportedDescriptors` (耳,微小)和 `loadUnsupportedPatterns(toolId)` (懒盘读取,缓存.
-   `src/framework-mappings.json` ——手工操作的框架匹配规则(见下文).

## 框架制图

几种只使用云的工具的船舶框架特定模式(PHPCS → CakePHP/WordPress/Drupal/Magento/) 共通体; 达塔纳利策 → Fluter/Angular; SonarCSharp → ASP.NET Core/实体框架/xUnit/; CodeNarc – 圣杯/ Spock/.; Codacy ScalaMeta Pro – 游戏框架. `src/framework-mappings.json` 地图 **工具标识 – `FrameworkMappings`** 这样 `init --auto` 只有在实际检测到框架时(并排除 与被支持的工具完全一样.

-   没错 **手淫和犯罪** - 不一样 `descriptors.json`编号 :`patterns/`,这是 **没有** 触动 以 `generate`所以它能活下来. `index.ts` 将其合并到每个描述符的 `frameworkMappings` 在负载时间.
-   从图案形状中选择每个工具的机制 : `prefixes` 当图案ID被命名为 框架(例如:. `PHPCS_CakePHP_`, (中文(简体) ), `tags` 其他(如:. `flutter`, (中文(简体) ), `aspnetcore`, (中文(简体) ), `grails`) (中文(简体) ).
-   每个 **密钥必须是 `DEPENDENCY_ENTITIES` 键** (单位:千美元)`packages/tooling/src/dependency-entities.ts`(b) —— 马桶,而不是显示名称,因为那是自动点火匹配的。 标签是 复制并重新措辞(`angular` 为角 2+, `angular-dart` 是AngularDart,所以关键是 保存一个 Dart 工具的图案, 避免在 npm 依赖上显示 。 如果发现无法检测到框架 然而,请在适当的生态系统模块中添加一个插图 `packages/runner/src/discover/ecosystems/`。 。 。 .
-   `test/framework-mappings.test.ts` 强制执行,每个关键地图 到一个真正的工具, 合并应用, 并且每个前缀/后缀仍然与所承诺的模式相匹配(防止再生后漂移).
-   **科达西·斯卡拉梅塔 Pro**6个 `Custom_Scala_Play*` 模式都是默认的,读取 Play 的 请求/标题 API,所以在被映射前,他们发射 在每一个斯卡拉雷波. `play-framework` 实值 从 `sbt-plugin` 坐标 `addSbtPlugin` 宣布并自 `conf/routes` 版式 - 游戏被宣布为 sbt _插件_,这就是为什么 告诉密钥打开 `group:artifact`。 。 。 . 它的其他80种模式 根本没有标记 并且是真正的通用的斯卡拉规则,所以它们留下来 普遍适用.

## 重现清单

从回波根:

```bash
pnpm generate-unsupported
```

或来自此包 :

```bash
pnpm generate
```

剧本( E)`scripts/generate.mjs`获取目录, 减去本地 所支持的工具( 由 UUID 从兄弟姐妹处读取) `prefetch` 脚本——没有要保存的列表 ),过滤出已贬值/客户端工具,并重写 `descriptors.json` + 键 `patterns/`提交结果。 在网络故障时它会警告 并退出 0,使已承诺的文件不受影响.

每当 Codacy 添加/ 移动工具或执行新的本地适配器时运行此功能 (然后在下一次再生时从这份清单中消失).

## 如何消耗

-   `packages/cli/src/index.ts` 通过 `registerUnsupportedTool()` 所以他们出现在 `getRegisteredDescriptors()`。 。 。 .
-   `init --auto` 电话 `loadUnsupportedPatterns()` 来填补离线的仅云工具.
-   `init --remote` 编号 : `--default` 运行时从 API 获取图案, 因此 不读取此软件包的图案文件——只读其描述符/注册.

## 发展

```bash
pnpm build   # tsup bundle + copy src/patterns → dist/patterns
pnpm test    # manifest shape + drift invariants
pnpm lint
```

`loadUnsupportedPatterns` 读取 `dist/patterns/<toolId>.json` 运行时间 (单位:千美元)`__dirname`\- 相对的)和 `src/patterns/` 在测试期间.

## 维护者的注释

-   图案目录是 **已重建** 每页 `generate` 运行如此删除的工具 别把烂文件留下.
-   软件包与 `@codacy/tools-` 目的前缀: CLI 保存 那些外部的包,所以 `__dirname` 解决此软件包自己的问题 `dist/` 并找到图案文件.
-   `filePatterns` 实值 `["*"]` 对所有条目——不支持的工具从不路径文件 所以价值是化妆品.

## 常见问题

### @codacy/tools-unsupported-tools 是什么？

生成没有本地分析器的 Codacy Cloud 工具的显示 \(描述符 \+ 模式\)

### 如何安装 @codacy/tools-unsupported-tools？

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

### @codacy/tools-unsupported-tools 支持 TypeScript 吗？

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

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

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

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

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

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

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

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

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

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

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

