@barney-media/crap-typescript-vitest

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

垃圾类型描述的虚拟集成.

中文使用文档
文档目录3 节
  1. 安装
  2. 设置
  3. 许可证

@barney-media/crap-typescript-vitest (英语)

测试适配器 废字型标注启用伊斯坦布尔JSON的覆盖输出,并在测试后报告CRAP的分数.

安装

npm install --save-dev @barney-media/crap-typescript-vitest [email protected] @vitest/[email protected] vite@^8.3.4

维特4和5得到支持. 安装同一版本的 vitest 财务报告和审定财务报表 @vitest/coverage-v8清洁的消费者 4.1.12和5.0.5. 对于Vitest 4, 替换两者 5.0.5 以上版本为 4.1.12。 。 。 . 明确安装Vite,特别是和Yarn一起安装,因为Vitest 5宣布它为所需的对等方. Node.js 22/24/26在Windows,macOS,和Linux上得到充分的支持;使用当前安全补丁.

设置

import { withCrapTypescriptVitest } from "@barney-media/crap-typescript-vitest";

export default withCrapTypescriptVitest({
  test: {
    include: ["test/**/*.test.ts"]
  }
});

withCrapTypescriptVitest 覆盖您的 Vitest 配置以启用覆盖收集并注册 CRAP 报告器 。 当任何函数超过 CRAP 阈值时, 测试会失败 .

若为 test.coverage.enabled 明确 false,帮助者保留了该值,而不注册 CRAP 报告者。 覆盖提供者、记者和目录设置仍然恢复正常,但只有在覆盖再次启用时才恢复阈值执行.

何时 test.reporters ,帮助者保留 default 记者,并加入CRAP记者. 明确 记录器值或数组替换默认值; 帮助者保存已配置的条目, 只添加 CRAP 记者 何时 coverage.reporter ,默认为 json 财务报告和审定财务报表 text。明确的报道值是: 仅按规定保留和扩充 json 记者在需要时。 将两个报告选项设置为空数组 仅保留CRAP和JSON的记者,并压制Vitest的测试和报道终端报告.

记者默认主机 format 改为 none因此,除非配置,否则它不会发出主 stdout 报告。 它能够 junit 默认并写入 CI 测试报告 UI 的完整侧车 。 默认覆盖报告路径为 coverage/crap-typescript-junit.xml;自定义覆盖路径获得匹配的侧车路径. 过 format, (中文(简体) ), agent, (中文(简体) ), failuresOnly, (中文(简体) ), omitRedundancy, (中文(简体) ), output, (中文(简体) ), junit, (中文(简体) ), junitReport, (中文(简体) ), threshold, (中文(简体) ), excludes, (中文(简体) ), excludePathRegexes, (中文(简体) ), excludeGeneratedMarkers,或 useDefaultExclusions 在可自定义分析和报告的适配器选项中。 设定 junit: false 以禁用 JUnit 文物.

agent: true 默认主输出为 format: "toon", (中文(简体) ), failuresOnly: true,以及 omitRedundancy: true明确 format, (中文(简体) ), failuresOnly: false,或 omitRedundancy: false 选项可以覆盖这些默认值。 JUnit侧车为完整报告,不受 agent, (中文(简体) ), failuresOnly,或 omitRedundancy。 。 。 .

基线可分析性排除总是跳过声明,测试/样本文件, __tests__/, (中文(简体) ), dist/, (中文(简体) ), coverage/,以及 node_modules/。生成代码默认排除生成的目录片段,精确 gen 目录片段,常见生成的文件名后缀,原生出产物,Angular生成的文物,以及领先生成-头标记. 除非 useDefaultExclusions: false;完整报告和JUnit侧车中包括排除审计的计数,而文件被排除在外.

默认阈值是 6.0; 数值下方 4.0 或以上 8.0 打印与 CLI 相同的阈值引导警告.

退出代码 2 意味着CRAP门槛被突破. 报告错误, 如选项无效, 覆盖缺失, 或报告写入失败 1。 。 。 .

见 主要文件 详细情况.

许可证

阿帕奇 - 2.0

版本与发布记录

@barney-media/crap-typescript-vitest 共发布 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-vitest 的常见问题

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

垃圾类型描述的虚拟集成.

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

在项目目录运行 npm install @barney-media/crap-typescript-vitest,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vitest(^4.0.0 || ^5.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

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

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

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

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

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

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

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

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

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

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

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

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