@codacy/analysis-runner

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

Codacy 分析核心管弦引擎

中文使用文档
文档目录9 节
  1. 目录
  2. 概览
  3. 快开始
  4. 创建配置
  5. 自定义日志和取消
  6. API 密码
  7. 管道步骤
  8. 输出格式
  9. 执行模式

@codacy/analysis-runner (英语)

目录


概览

Codacy Analysis CLI的核心管弦引擎. 发现工具、检查能力、呼叫 analyze() ,并转换输出。 CLI和IDE的整合方案都可用.

快开始

工具适配器生活在一个伴机预设包中, @codacy/analysis-adaptersA级 消费者安装并登记内置适配器 一次 运行前 任何与工具相关的工具 —— 运行器的适配器注册开始为空而无 自动人口.

import { registerBuiltinAdapters } from "@codacy/analysis-adapters";
import { analyze, createNullLogger } from "@codacy/analysis-runner";

// Register all built-in tools + cloud-only descriptors (call once at startup).
registerBuiltinAdapters();

// Run analysis. `repositoryRoot` must be a git work tree.
const result = await analyze({
  repositoryRoot: "/abs/path/to/repo",
  // files: ["src/index.ts"],   // optional: scope to specific files
  logger: createNullLogger(), // or bring your own Logger (see below)
});

// Issue paths are repo-relative; line/column are 1-based.
for (const issue of result.issues) {
  console.log(
    `${issue.filePath}:${issue.line}:${issue.column}  ${issue.patternId}  ${issue.message}`,
  );
}

只注册一个工具子集,导入 builtinAdapterEntries 从预设和 调用 registerLazyAdapter(descriptor, load) 为了你想要的那些.

创建配置

analyze() 读取 .codacy/codacy.config.json在方案上产生一个 init* 家庭——他们建立 CodacyConfig 从登记的适配器; writeCodacyConfig 坚持:

import {
  getRegisteredAdapters,
  initLocalConfig, // local-config detection only (offline)
  // initDefaultConfig / initAutoConfig / initRemoteConfig also available
  writeCodacyConfig,
} from "@codacy/analysis-runner";

const adapters = await getRegisteredAdapters();
const { config } = await initLocalConfig(repositoryRoot, adapters);
await writeCodacyConfig(repositoryRoot, config);

initAutoConfig 此外,还采用已登记的描述符(getRegisteredDescriptors()(中文(简体) ) 和预设 loadUnsupportedPatterns 切入门堆栈专用图案; initRemoteConfig 从 Codacy Cloud 取出配置( 通过 API 令牌 —— 参见下面的证书助手) .

自定义日志和取消

  • 自己传 Logger (单位:千美元) @codacy/tooling 合同: debug 编号 : info 编号 : warn 编号 : error(中文(简体) ) 以路径进度进入您的用户界面,或 createNullLogger() 为了沉默。 执行 没有 使用情况 createLogger() 在嵌入器中——它写到文件/sderr. 驱动进度 UI 从 onToolStart 编号 : onToolComplete 编号 : onToolProgress 调用 AnalyzeOptions。 。 。 .
  • 过 signal: AbortSignal 打开 AnalyzeOptions 取消飞行中运行; 信号荣誉 适配器返回部分结果,剩余工具被标记被取消.

API 密码

导出目的
analyze(options)主要切入点——运行全分析管. 选项包括 repositoryRoot, (中文(简体) ), tools, (中文(简体) ), files, (中文(简体) ), logger, (中文(简体) ), signal,以及 onTool* 进度回调
registerAdapter(adapter) 编号 : registerLazyAdapter(descriptor, load)注册工具适配器( eager/ 懒惰)
clearAdapters()重置适配器登记册(供测试)
getRegisteredAdapters() 编号 : getRegisteredDescriptors()列出已注册适配器/描述符
initLocalConfig() 编号 : initDefaultConfig() 编号 : initAutoConfig() 编号 : initRemoteConfig()构建一个 CodacyConfig (本地,默认,堆积意识,或云源)
readCodacyConfig() 编号 : writeCodacyConfig()读取/写作 .codacy/codacy.config.json
buildToolConfig()从 CodacyConfig + 本地配置集合 Codacy ToolFig
discover(path)扫描回波并报告语言、框架、库和显著文件
formatOutput(result, format)将分析结果转换为格式化的字符串
createLogger() 编号 : createNullLogger()文件/stderr记录器(CLI) / no-op记录器(嵌入器)
saveCredentials() 编号 : loadCredentials() 编号 : deleteCredentials() 编号 : resolveApiToken()机器存储的 API- token 存储在 ~/.codacy/credentials
validateApiToken() 编号 : configureApiToken() 编号 : listIgnoredFiles()Codacy Cloud API 帮助者

适配器 登记 住在伴侣的预设中 @codacy/analysis-adapters (单位:千美元)registerBuiltinAdapters, (中文(简体) ), builtinAdapterEntries),不在这里——跑者留下 工具不可识别.

管道步骤

  1. 发现注册的适配器(由 options.tools 如果设置)
  2. 检查可用性 • 构建能力报告
  3. 应用执行模式规则(标准/严格/自动安装/检查)
  4. 通过 git 发现文件, 应用排除层, 路径到工具
  5. 检查本地配置 + 构建 CodacyToolConfig 每个工具
  6. 执行 adapter.analyze() 带有超时和货币控制
  7. 分析结果汇总
  8. 格式输出

输出格式

格式说明
json漂亮打印的分析结果( 默认)
sarifSARIF v2.1.0 文档
container每行1个JSON对象(Codacy Docker跑车)
text有颜色和分组的可读终端摘要

执行模式

模式行为
standard跳过无法使用的工具, 报告它们( 默认)
strict无法使用任何配置的工具时失败
auto-install试图在分析前安装缺失的工具
inspect干跑:报告能力不运行分析

版本与发布记录

@codacy/analysis-runner 共发布 36 个版本,首次发布于 2026/03/24;过去 12 个月发布了 36 个版本。

版本发布日期距今
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/analysis-runner 的常见问题

@codacy/analysis-runner 是什么?

Codacy 分析核心管弦引擎

如何安装 @codacy/analysis-runner?

在项目目录运行 npm install @codacy/analysis-runner,或使用 pnpm add / yarn add / bun add。

@codacy/analysis-runner 支持 TypeScript 吗?

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

@codacy/analysis-runner 支持 ESM 还是 CommonJS?

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

@codacy/analysis-runner 需要什么版本的 Node.js?

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

@codacy/analysis-runner 可以商用吗?

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

@codacy/analysis-runner 的下载量有多少?

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

@codacy/analysis-runner 还在维护吗?

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