# @abapify/adt-atc 中文文档

规范地址：https://npmcn.com/package/%40abapify/adt-atc/

版本：0\.4\.34
npm 元数据更新时间：2026-11-02T23:19:50.937Z
中文译文更新时间：2026-11-06T11:21:00.482Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40abapify/adt-atc
原文对照：https://npmcn.com/package/%40abapify/adt-atc/?lang=original
项目主页：https://github.com/abapify/adt-cli/tree/main/packages/adt-atc#readme
源码仓库：https://github.com/abapify/adt-cli

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

- 包体积（解压后）：136 kB，13 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-04-20T21:11:34.189Z
- 最新版本发布：2026-11-02T23:19:50.626Z
- 近 30 天下载量：3399（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：31（近 12 个月 31 个）

## 中文简介

ABAP 测试套接字( ATC) CLI 插件用于 adt- cli

## 安装

```sh
npm install @abapify/adt-atc
```

也可以使用：`pnpm add @abapify/adt-atc`、`yarn add @abapify/adt-atc`、`bun add @abapify/adt-atc`

## README

# @abapify/adt-atc (中文(简体) )

[![version](https://img.shields.io/github/package-json/v/abapify/adt-cli?filename=packages/adt-atc/package.json)](https://github.com/abapify/adt-cli/pkgs/npm/%40abapify%2Fadt-atc)

ABAP 测试锁舱( ATC) CLI 插件 `@abapify/adt-cli`。 。 。 .

## 安装

```bash
npm install @abapify/adt-atc
```

## 使用量

### 作为 CLI 插件

添加到您的 `adt.config.ts`数字 :

```typescript
export default {
  commands: ['@abapify/adt-atc/commands/atc'],
};
```

然后使用命令 :

```bash
# Run ATC on a transport
adt atc -t TRLK942970

# Run ATC on a package
adt atc -p ZMY_PACKAGE

# Run ATC on a specific object
adt atc -o /sap/bc/adt/oo/classes/zcl_my_class

# Output as SARIF (for GitHub Code Scanning)
adt atc -t TRLK942970 --format sarif --output atc-results.sarif

# Output as GitLab Code Quality
adt atc -t TRLK942970 --format gitlab --output gl-code-quality.json
```

### 选项

| 选项 | 说明 |
| --- | --- |
| `-p, --package <package>` | 在软件包上运行 ATC |
| `-o, --object <uri>` | 在特定对象上运行 ATC |
| `-t, --transport <transport>` | 根据运输请求运行 ATC |
| `--variant <variant>` | ATC 检查变体( 默认: 从系统自定义) |
| `--max-results <number>` | 最大结果数( 默认: 100) |
| `--format <format>` | 输出格式:控制台、json、gitlab、sarif |
| `--output <file>` | 输出文件( gitlab/ sarif 格式需要) |
| `--resolver <name>` | 解析报告路径( 内置 : `abapgit`(中文(简体) ) |

### 程序用途

```typescript
import {
  atcCommand,
  outputSarifReport,
  outputGitLabCodeQuality,
} from '@abapify/adt-atc';
import type { AtcResult, AtcFinding } from '@abapify/adt-atc';

// Use the formatters directly
const result: AtcResult = {
  checkVariant: 'DEFAULT',
  totalFindings: 1,
  errorCount: 0,
  warningCount: 1,
  infoCount: 0,
  findings: [
    {
      checkId: 'CL_CI_TEST_SELECT',
      checkTitle: 'Analysis of WHERE Condition for SELECT',
      messageId: '001',
      priority: 2,
      messageText: 'Table SFLIGHT: No WHERE condition',
      objectUri: '/sap/bc/adt/oo/classes/zcl_my_class',
      objectType: 'CLAS',
      objectName: 'ZCL_MY_CLASS',
      location: '/sap/bc/adt/oo/classes/zcl_my_class/source/main#start=10,0',
      // Optional: resolved by the atc command from the run's check variant
      // form template (check categories are best-effort enrichment)
      checkCategory: 'CI_PERFORMANCE',
    },
  ],
};

await outputSarifReport(result, 'atc-results.sarif');
await outputGitLabCodeQuality(result, 'gl-code-quality.json');
```

## 检查类别

每一个发现可以携带一个 `checkCategory` (例如, `CI_PERFORMANCE`, (中文(简体) ), `CI_SECURITY`: ATC 检查类别的名称 : 改为: 这个 `atc` 命令从运行的检查中自动解决 变体形式模板( e)`GET /sap/bc/adt/atc/checkvariants/formtemplate`(中文(简体) ) 解决每个结果的文档页到其执行类 (工作清单) `checkId` 是一个 GUID,然后将该类映射到一个类别. 这个 `enrichResultWithCategories` 帮助者只做直接 `checkId` 查询; 命令使用文档桥进行正常的工作列表结果. 这是最佳效果: 缺少模板、 无法读取的页面或未编目 检查让分类未设置而不失败运行 。 类别是: 从变体的目录中解析出 运行后获取,所以 反映当时有效的变式配置(包括任何 编辑在同时完成).

浓缩辅助剂出口再利用:

```typescript
import {
  parseCheckCategoryIndex,
  fetchCheckCategoryIndex,
  enrichResultWithCategories,
} from '@abapify/adt-atc';

// Build the implementing class -> category name index from a parsed form template
const index = parseCheckCategoryIndex(formTemplateDocument);

// Or fetch it through an ADT client (never throws)
const fetched = await fetchCheckCategoryIndex(client, 'DEFAULT');

// Enrich a result in place (direct lookup: only resolves findings whose
// checkId is already the implementing class name; normal worklist findings
// are enriched by the command via the documentation bridge)
enrichResultWithCategories(result, index);
```

GitLab 编码中物质质量的分类为 `check_category` 每个发现; SARIF 用于标出每个规则的内容 `properties.category`。 。 。 .

## 输出格式

### 控制台( 默认)

带有emoji指标和可点击的ADT链接(支持的终端)的可人读输出.

### 贾森

ATC结果的Raw JSON输出供进一步处理.

### 沙特阿拉伯

[沙特阿拉伯](https://sarifweb.azurewebsites.net/) gitHub 代码扫描集成格式.

### GitLab 代码质量

[GitLab 代码质量](https://docs.gitlab.com/ee/ci/testing/code_quality.html) gitLab CI/CD 集成格式.

AbapGit 存储器,添加 `--resolver abapgit`。解析器使用 将函数模块等复合对象映射到全ATC位置 URI ,然后扫描配置的源树,这样既可以 PRIFIX和FUL文件夹逻辑指向实际的Git路径. 当多个 文件共享同一个基名( 如多个) `package.devc.xml` 文件在 不同软件包目录,解析器拒绝模糊的匹配 而不是猜测.

## 许可证

麻省理工学院

## 常见问题

### @abapify/adt-atc 是什么？

ABAP 测试套接字\( ATC\) CLI 插件用于 adt- cli

### 如何安装 @abapify/adt-atc？

在项目目录运行 npm install @abapify/adt-atc，或使用 pnpm add / yarn add / bun add。

### @abapify/adt-atc 支持 TypeScript 吗？

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

### @abapify/adt-atc 支持 ESM 还是 CommonJS？

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

### @abapify/adt-atc 可以商用吗？

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

### @abapify/adt-atc 的下载量有多少？

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

### @abapify/adt-atc 还在维护吗？

最新版本 0\.4\.34 发布于 2026/11/03（4 天前）；至今共发布 31 个版本，其中过去 12 个月发布了 31 个；首次发布于 2026/04/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

