# @barney-media/crap-typescript-vitest 中文文档

规范地址：https://npmcn.com/package/%40barney-media/crap-typescript-vitest/

版本：2\.0\.0
npm 元数据更新时间：2026-10-18T18:35:58.625Z
中文译文更新时间：2026-11-07T17:09:15.657Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40barney-media/crap-typescript-vitest
原文对照：https://npmcn.com/package/%40barney-media/crap-typescript-vitest/?lang=original
项目主页：https://github.com/fabian-barney/crap-typescript
源码仓库：https://github.com/fabian-barney/crap-typescript

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

- 包体积（解压后）：34.8 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.13\.0
- 运行依赖：1 个
- peer 依赖：vitest ^4\.0\.0 \|\| ^5\.0\.0
- 首次发布：2026-04-08T14:07:37.652Z
- 最新版本发布：2026-10-18T18:35:58.250Z
- 近 30 天下载量：15081（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 14 个）

## 中文简介

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

## 安装

```sh
npm install @barney-media/crap-typescript-vitest
```

也可以使用：`pnpm add @barney-media/crap-typescript-vitest`、`yarn add @barney-media/crap-typescript-vitest`、`bun add @barney-media/crap-typescript-vitest`

## README

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

测试适配器 [废字型标注](https://github.com/fabian-barney/crap-typescript)启用伊斯坦布尔JSON的覆盖输出,并在测试后报告CRAP的分数.

## 安装

```bash
npm install --save-dev @barney-media/crap-typescript-vitest vitest@5.0.5 @vitest/coverage-v8@5.0.5 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上得到充分的支持;使用当前安全补丁.

## 设置

```js
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`。 。 。 .

见 [主要文件](https://github.com/fabian-barney/crap-typescript) 详细情况.

## 许可证

[阿帕奇 - 2.0](https://github.com/fabian-barney/crap-typescript/blob/main/LICENSE)

## 常见问题

### @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 和提交记录判断。

