# @abapify/adk 中文文档

规范地址：https://npmcn.com/package/%40abapify/adk/

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

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

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

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

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

## 中文简介

ABAP Development Kit – 为 ABAP Repository 对象(类,界面,程序,表格,.)所打出的对象模型,有 ADT XML 序列化

## 安装

```sh
npm install @abapify/adk
```

也可以使用：`pnpm add @abapify/adk`、`yarn add @abapify/adk`、`bun add @abapify/adk`

## README

# @abapify/adk (英语)

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

ABAP Development Kit——由计划驱动的ABAP对象的构造和序列化.

## 概览

ADK提供由ADT XML响应所构建的ABAP对象(类,界面,软件包等)的打字表示. 它处理解析,构造,懒惰地加载源包括——ADK本身内部没有HTTP呼叫.

密钥属性 :

-   **司马一等**: 来源于 `@abapify/adt-schemas` (XSD 生成)
-   **纯建筑**: 没有网络呼叫, 没有副作用
-   **懒惰源装入**:包括通过注入取取器按需取取取
-   **不可改变的快照**: 对象代表时点状态

## 安装

```bash
npm install @abapify/adk
```

## 使用量

```typescript
import { AdkFactory } from '@abapify/adk';

const factory = new AdkFactory();

// Parse ADT XML response into a typed object
const classObj = factory.fromAdtXml('CLAS/OC', xmlString);

console.log(classObj.kind); // 'CLAS/OC'
console.log(classObj.name); // 'ZCL_MY_CLASS'

// Lazy-load source (requires a fetcher injected via the CLI or client)
const source = await classObj.getSource();
const includes = await classObj.getIncludes();
```

## 建筑

```
adt-schemas  (XSD-derived TypeScript types)
      ↓
adk  (parse ADT XML → domain objects)   ← this package
      ↓
adt-cli  (orchestrate: fetch → parse → serialize)
```

ADK 位于 HTTP 层之间(`adt-client`)和序列层(`adt-plugin-*`) (中文(简体) ). CLI将原始的ADT XML传递到ADK,接收被打出的对象,并交给了格式插件.

## 支持对象类型

| ABAP 类型 | 说明 |
| --- | --- |
| `CLAS/OC` | ABAP 类 |
| `INTF/OI` | ABAP 接口 |
| `DEVC/K` | 软件包 |

## 桥梁模式( CLI 整合)

CLI 使用 ADK 适配器登记对象处理器 :

```typescript
this.handlers.set(
  'CLAS',
  (client) =>
    new AdkObjectHandler(
      client,
      (xml) => ClassAdtAdapter.fromAdtXML(xml),
      (name) => `/sap/bc/adt/oo/classes/${name.toLowerCase()}`,
    ),
);
```

## 许可证

麻省理工学院

## 常见问题

### @abapify/adk 是什么？

ABAP Development Kit – 为 ABAP Repository 对象\(类,界面,程序,表格,\.\)所打出的对象模型,有 ADT XML 序列化

### 如何安装 @abapify/adk？

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

### @abapify/adk 支持 TypeScript 吗？

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

### @abapify/adk 支持 ESM 还是 CommonJS？

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

### @abapify/adk 可以商用吗？

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

### @abapify/adk 的下载量有多少？

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

### @abapify/adk 还在维护吗？

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

