@crap4ts/crap4ts

中文文档
1.2.0发布于 2026/10/26MIT零依赖构建来源已验证近 30 天下载 2023

使用复杂度和测试覆盖范围为TypeScript和TSX提供的CRAP计量质量门

中文使用文档
文档目录3 节
  1. 快开始
  2. 在代理工作流程中使用 crap4ts 键
  3. 分红和CI

废话4t

受到罗伯特·C·马丁(Bob叔叔)的启发 废话4java 财务报告和审定财务报表 废话4clj,为TypeScript和TSX所改编. 他后来 废话 解决方案计算 CRAP对包括TypeScript在内的几种语言的分数.

查找复杂且测试不足的 TypeScript 函数, 当 CI 存在风险时失败 超过你的极限。 crap4ts 结合了百科全书的复杂性和测试覆盖范围 进入每个功能的 CRAP(变化风险反跳板)分数.

它分析TypeScript/TSX与伊斯坦布尔JSON或LCOV的覆盖范围并生产 文本或 JSON 报告。 支持每个文件的阈值, 独立的单列波 软件包组、可选分支评分、快递路由标签和 Git 更改选择.

快开始

需要节点.js >=20.19.0 <25。软件包为 Linux (glibc 2.35+) 和 macOS 捆绑二进制 在x64/arm64上,加上Windows x64.

npm install --save-dev @crap4ts/crap4ts
# Generate coverage with your test runner first, then:
npx crap4ts --coverage coverage/coverage-final.json src

对于LCOV或JSON输出:

npx crap4ts --coverage coverage/lcov.info --coverage-format lcov src
npx crap4ts --coverage coverage/coverage-final.json src --format json --threshold 12
npx crap4ts --coverage coverage/coverage-final.json src --coverage-metric branch
npx crap4ts --coverage coverage/coverage-final.json src --changed-since main

运行覆盖一次 维特/最佳食谱。 。 。 . 生成的命令可配置 5分钟超时。 。 。 .

在代理工作流程中使用 crap4ts 键

就复杂、测试不足的函数提供编码剂具体反馈: 生成覆盖、运行 crap4ts、检查标记函数、改进测试或 简化代码,然后重新运行大门. JSON报告支持自动反馈; 相同的阈值可以在CI中运行.

见 代理工作流程配方 用于配置和可重复使用的代理指令.

分红和CI

CRAP = complexity² × (1 − coverage)³ + complexity,则涵盖 分数从0到1 分数更低.

默认阈值是 第8条。退出代码 : 0 个 通过, 2个 表示分数 超过它的阈值, 1个 表示输入或分析失败无效. 缺漏或模糊的保险默认失效; --report-only 保留未知 计分可以显示,同时仍在测量分数上执行阈值.

测试、声明和生成的输出被默认排除在外。 Java 脚本 源和原始 V8 覆盖范围没有支持.

使用和配置 • 妇女 如何制造 • 妇女 麻省理工学院许可证

版本与发布记录

@crap4ts/crap4ts 共发布 8 个版本,首次发布于 2026/08/26;过去 12 个月发布了 8 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.2.0latest2026/10/2619 天前
1.1.02026/10/041 个月前
1.0.52026/10/031 个月前
1.0.42026/10/031 个月前
1.0.32026/10/021 个月前
1.0.22026/09/112 个月前

关于 @crap4ts/crap4ts 的常见问题

@crap4ts/crap4ts 是什么?

使用复杂度和测试覆盖范围为TypeScript和TSX提供的CRAP计量质量门

如何安装 @crap4ts/crap4ts?

在项目目录运行 npm install @crap4ts/crap4ts,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 crap4ts,可以用 npx crap4ts 直接运行。

@crap4ts/crap4ts 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/crap4ts__crap4ts 是否存在。

@crap4ts/crap4ts 需要什么版本的 Node.js?

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

@crap4ts/crap4ts 可以商用吗?

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

@crap4ts/crap4ts 的下载量有多少?

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

@crap4ts/crap4ts 还在维护吗?

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