@barney-media/crap-typescript-core

中文文档
2.0.0发布于 2026/10/19Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 4.6万

TypeScript项目的核心CRAP度量分析器.

中文使用文档
文档目录4 节
  1. 安装
  2. API 密码
  3. 公式
  4. 许可证

@barney-media/crap-typescript-核心

计算 CRAP(Change Risk Anti-Patern)的核心分析引擎在TypeScript项目上得分. 将环形复杂性与功能级的伊斯坦布尔覆盖数据相融合.

安装

npm install @barney-media/crap-typescript-core

API 密码

import { analyzeProject, formatAnalysisReport } from "@barney-media/crap-typescript-core";

const result = await analyzeProject({ projectRoot: "." });
const report = formatAnalysisReport(result.metrics, { format: "toon" });
console.log(report);

主要出口: analyzeProject, (中文(简体) ), calculateCrapScore, (中文(简体) ), formatAnalysisReport, (中文(简体) ), formatReport, (中文(简体) ), parseCoverageReport, (中文(简体) ), parseFileMethods。 。 。 .

analyzeProject 接受 threshold 超过默认 CRAP 阈值 6.0。以下数值 4.0 发出警告, 因为它们可能太吵; 上面的值 8.0 发出警告,因为他们太宽大了,即使城门太硬了.

由默认命令执行器运行的命令,包括覆盖命令和更改文件发现,300秒后超时. 设定 CRAP_TYPESCRIPT_COMMAND_TIMEOUT_MS 改为非负毫秒值,以覆盖这一默认值; 0 禁用超时。 被捕捉到的出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出 用户阵容命令失败可能包括截断输出,而需要完整输出的内部命令,例如 git status --porcelain -z,如果超过上限则失败.

analyzeProject 还接受 excludes, (中文(简体) ), excludePathRegexes, (中文(简体) ), excludeGeneratedMarkers,以及 useDefaultExclusions。这些过滤器运行于 explicitPaths 或者说 changedOnly 在解析、覆盖归属、报告和门槛评价之前选择候选文件。 基线可分析性排除在声明、测试/样本文件方面始终有效, __tests__/, (中文(简体) ), dist/, (中文(简体) ), coverage/,以及 node_modules/· ; useDefaultExclusions: false 只禁用生成代码默认值.

生成代码默认排除包含的目录段 generated,目录部分完全命名 gen后缀,例如 *.generated.ts, (中文(简体) ), *.gen.ts, (中文(简体) ), *Generated.ts原生的出产物 和Angular产生的出产的出产物 铅生成头标记仅在第一个非注释符号前的注释中相配.

formatAnalysisReport 支持 toon, (中文(简体) ), json, (中文(简体) ), text, (中文(简体) ), junit,以及 none初级报告披露运行级别 status 财务报告和审定财务报表 threshold; 方法级条目使用 status, (中文(简体) ), crap, (中文(简体) ), cc, (中文(简体) ), cov, (中文(简体) ), covKind, (中文(简体) ), method, (中文(简体) ), src, (中文(简体) ), lineStart,以及 lineEnd,与 src 设置到项目相对源文件路径. format: "none" 返回空主内容。 过 failuresOnly: true 仅包含失败的方法条目。 过 omitRedundancy: true 删除方法级别 status ,同时保留运行级元数据 format: "junit",此选项省略自定义测试框 status 属性,同时保留 JUnit 失败和跳出元素。 JUnit 输出为 GitLab 导向: 它使用 a <testsuites> 包装, classname编号 :file 源路径测试案例属性,带有度量测试案例名称, time="0"级别 system-out 加上带有CRAP分数、阈值、覆盖类型、源路径和行距的失败/滑动正文。 JUnit 仍然为兼容性写自定义属性 。 J股的报告应通过格式化整个衡量标准而产生 format: "junit" 且无 failuresOnly, (中文(简体) ), omitRedundancy,或 agent。 。 。 .

过 sourceExclusionAudit: result.sourceExclusionAudit 改为 formatAnalysisReport 报告应披露排除来源的计数。 完整报告和JUnit旁车包括不包括档案的审计。 从默认代理模式优化主报告默认省略.

agent: true 是初级报告的综合快捷方式。 默认 format 改为 toon cLI 和适配器,以及默认值 failuresOnly 财务报告和审定财务报表 omitRedundancy 改为 true 在核心格式中。 明确 format, (中文(简体) ), failuresOnly: false,或 omitRedundancy: false 选项可以覆盖呼叫站点的默认值.

公式

CRAP = CC^2 * (1 - coverage)^3 + CC

见 主要文件 详细情况.

许可证

阿帕奇 - 2.0

版本与发布记录

@barney-media/crap-typescript-core 共发布 14 个版本,首次发布于 2026/04/08;过去 12 个月发布了 14 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.0.0latest2026/10/1920 天前
1.0.02026/09/281 个月前
0.5.32026/09/261 个月前
0.5.22026/09/052 个月前
0.5.12026/08/302 个月前
0.5.02026/08/092 个月前

关于 @barney-media/crap-typescript-core 的常见问题

@barney-media/crap-typescript-core 是什么?

TypeScript项目的核心CRAP度量分析器.

如何安装 @barney-media/crap-typescript-core?

在项目目录运行 npm install @barney-media/crap-typescript-core,或使用 pnpm add / yarn add / bun add。

@barney-media/crap-typescript-core 支持 TypeScript 吗?

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

@barney-media/crap-typescript-core 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@barney-media/crap-typescript-core 需要什么版本的 Node.js?

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

@barney-media/crap-typescript-core 可以商用吗?

@barney-media/crap-typescript-core 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@barney-media/crap-typescript-core 的下载量有多少?

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

@barney-media/crap-typescript-core 还在维护吗?

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