@abapify/adt-diff

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

Diff CLI plugin for adt-cli - compare local serialized files against SAP remote source

原始使用文档
文档目录5 节
  1. Install
  2. Usage
  3. Role in the monorepo
  4. Related
  5. License

@abapify/adt-diff

Diff CLI plugin for adt-cli. Compares local abapGit-serialised files (*.clas.xml, *.tabl.xml, …) against the current source in a connected SAP system and prints a coloured unified diff. Any object type supported by @abapify/adt-plugin-abapgit can be compared.

npm

Install

npm i @abapify/adt-diff
# or
bun add @abapify/adt-diff

Usage

Register the command in adt.config.ts:

// adt.config.ts
export default {
  commands: ['@abapify/adt-diff/commands/diff'],
};

Then diff one or more files, or scan the whole abapGit repo in the working directory:

# Diff specific files
adt diff zcl_myclass.clas.xml ztab.tabl.xml

# Glob patterns
adt diff "*.tabl.xml" --context 5

# Scan the whole repo, ignoring unchanged objects
adt diff --package ZMY_PACKAGE

# Compare ADK-rendered source instead of raw XML (TABL only)
adt diff zmy_table.tabl.xml --source

The package also exposes a small TABL-to-CDS DDL utility that is independent of the diff command:

import { tablXmlToCdsDdl, buildCdsDdl } from '@abapify/adt-diff';

const ddl = tablXmlToCdsDdl(xmlString);

Role in the monorepo

  • CLI plugin loaded by @abapify/adt-cli; it owns the diff command only.
  • Uses @abapify/adk to render local XML back to source and @abapify/adt-plugin-abapgit to resolve filenames to ADT object URIs.
  • Read-only: it never locks, writes, or imports objects. For round-tripping objects into and out of the system, see @abapify/adt-export and the relevant ADK save flow.

License

MIT

版本与发布记录

@abapify/adt-diff 共发布 29 个版本,首次发布于 2026/04/21;过去 12 个月发布了 29 个版本。最新版本附带 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/adt-diff 的常见问题

@abapify/adt-diff 是什么?

Diff CLI plugin for adt-cli - compare local serialized files against SAP remote source

如何安装 @abapify/adt-diff?

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

@abapify/adt-diff 支持 TypeScript 吗?

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

@abapify/adt-diff 支持 ESM 还是 CommonJS?

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

@abapify/adt-diff 可以商用吗?

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

@abapify/adt-diff 的下载量有多少?

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

@abapify/adt-diff 还在维护吗?

最新版本 0.4.34 发布于 2026/11/03(4 天前);至今共发布 29 个版本,其中过去 12 个月发布了 29 个;首次发布于 2026/04/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。