@abapify/adk

中文文档
0.4.34发布于 2026/11/03MITTypeScriptES Module构建来源已验证近 30 天下载 3955

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

中文使用文档
文档目录7 节
  1. 概览
  2. 安装
  3. 使用量
  4. 建筑
  5. 支持对象类型
  6. 桥梁模式( CLI 整合)
  7. 许可证

@abapify/adk (英语)

version

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

概览

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

密钥属性 :

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

安装

npm install @abapify/adk

使用量

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/OCABAP 类
INTF/OIABAP 接口
DEVC/K软件包

桥梁模式( CLI 整合)

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

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

许可证

麻省理工学院

版本与发布记录

@abapify/adk 共发布 31 个版本,首次发布于 2026/04/21;过去 12 个月发布了 31 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.4.34latest2026/11/034 天前
0.4.332026/11/025 天前
0.4.322026/11/025 天前
0.4.312026/11/016 天前
0.4.292026/10/308 天前
0.4.282026/10/308 天前

关于 @abapify/adk 的常见问题

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