# @abapify/adt-flow 中文文档

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

版本：0\.4\.34
npm 元数据更新时间：2026-11-02T23:20:14.121Z
中文译文更新时间：2026-11-06T16:26:06.161Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：246 kB，13 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：5 个
- 首次发布：2026-09-17T20:35:20.086Z
- 最新版本发布：2026-11-02T23:20:13.815Z
- 近 30 天下载量：2743（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 27 个）

## 中文简介

ADT的递增运输源树实现

## 安装

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

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

## README

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

增加运输源 -- -- 树木实现ADT。 服务检查 位于运输范围前的确切源边界,或 最新准确的来源.

注册命令并配置活动格式 `adt.config.ts`数字 :

```typescript
import { defineConfig } from '@abapify/adt-config';

export default defineConfig({
  commands: ['@abapify/adt-flow/commands/flow'],
  flow: {
    format: { id: 'abapgit', options: { folderLogic: 'prefix' } },
    include: { objectTypes: ['CLAS', 'INTF'] },
    concurrency: { metadata: 4, sources: 4 },
  },
});
```

然后将当前目录对齐到运输边界的任意一边:

```text
adt flow checkout tr DEVK900001 --base
adt flow checkout tr DEVK900001
adt flow checkout tr DEVK900001,DEVK900002 --base
```

自动化可要求提供结构化的库存/物质化证据 模式 :

```text
adt flow checkout tr DEVK900001 --report .adt/checkout-coverage.json
adt flow checkout tr DEVK900001 --base --report .adt/checkout-coverage.json
```

报告`schemaVersion: 1`, (中文(简体) ), `coverageVersion: 1`记录模式/范围,正本 CTS库存,每个库存项目都有一份分辨率结果。 决议 识别寄存器对象,包括被折叠的叶; 非源 CTS 物项,例如 `R3TR SUSK` 携带 `outcome: "non-source"` 且不主张 仓库所有者。 报告还记录对象描述路径, 添加 对象在生成的基础工作空间、跳过和仅索引状态中缺失. 消费者可以先验证自有的散列和选定的源组件 发布快照. 要求报告重算清单而不是 使用精确的头条运输-索引快捷键。 现有部分报告保留 他们的原始格式。 默认 CLI 跳过策略不变; 消费者必须 执行它们想要的完整政策.

带有 ADT 子类型的类组件 `CLAS/OC`, (中文(简体) ), `CLAS/OSU`, (中文(简体) ), `CLAS/OM` 决 议 他们的全 `R3TR CLAS` 拥有者并使用普通的类源/bapGit实现.

仅坚持运输库存和未解决的边界说明 `.adt`在不读取或实现源文件的情况下,使用明确 仅索引命令 :

```text
adt flow index tr DEVK900001,DEVK900002
```

`checkout` 仍然严格:如果任何版本组件没有确切的来源 边界,在不改变工作空间的情况下失败. `checkout --partial` 是一个 仅实现精确对象. `index` 永远 实现来源;它保留完整的运输库存和记录 每个未解决组件作为 `omitted` 后一重试的描述符.

为以后的再试必须保存不准确运输的自动化可以选择 输入 `adt flow checkout tr <transport> --index-on-inexact`。仅输入 `manifest_inexact` 结果回到无源索引 检查出错仍未关闭 .

```typescript
import {
  createAdtFlowService,
  createAdtFlowDependencies,
} from '@abapify/adt-flow';
import { getFormatPlugin } from '@abapify/adt-plugin';

// Use the format plugin already registered by @abapify/adt-plugin-abapgit
const registeredFormatPlugin = getFormatPlugin('abapgit');
if (!registeredFormatPlugin) {
  throw new Error('abapGit format plugin is not registered.');
}

const flow = createAdtFlowService(
  createAdtFlowDependencies(client, registeredFormatPlugin),
);

await flow.checkout({
  root: process.cwd(),
  transports: ['DEVK900001'],
  mode: 'base',
  config: {
    format: { id: 'abapgit', options: { folderLogic: 'prefix' } },
    include: { objectTypes: ['CLAS', 'INTF'] },
  },
});

await flow.index({
  root: process.cwd(),
  transports: ['DEVK900001'],
  config: {
    format: { id: 'abapgit', options: { folderLogic: 'prefix' } },
    include: { objectTypes: ['CLAS', 'INTF'] },
  },
});
```

服务未引用 Git 命令 。 它调和格式自备文件 说明 `.adt`,拒绝未自主碰撞或修改 在突变前已索引文件, 并滚动失败的多文件应用 . 分会、承诺、路线和合并请求仍然是打电话者的关切.

`.adt/tr/<transport>.json` 为在 头检出. 每个运输描述符保留完整的 CTS 对象 库存,包括不支持或目前过滤过的类型。 对象描述符 下级 `.adt/objects/` 写在底部和头部 对象 说明使用 `.adt/objects/<TYPE>/<unique-name>.<type>.adt.json`索引 存储散列和不可改变的版本身份,从源体到源体 证书。 在明确的部分校验中,一个不能是 仍然收到 `omitted` 其特征和特征 组件诊断,但没有自有文件或源选择。 删除 `.adt` 只删除优化; 源选择继续来自 提供SAP 清单操作.

精确性适用于已版本的源组件. 元数据文件描述 复选时可用的对象元数据; 流量不重建历史 元数据或复制存储器历史.

## 常见问题

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

ADT的递增运输源树实现

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

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

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

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

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

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

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

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

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

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

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

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

