{"_id":"@abapify/adt-diff","_rev":"5-13ad415aa1710465f8d871176f88f323","name":"@abapify/adt-diff","dist-tags":{"latest":"0.4.1"},"versions":{"0.0.0":{"name":"@abapify/adt-diff","version":"0.0.0","_id":"@abapify/adt-diff@0.0.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"dist":{"shasum":"b4d39af74bf844477bf78ce3e29da4333dcf6886","tarball":"https://registry.npmjs.org/@abapify/adt-diff/-/adt-diff-0.0.0.tgz","fileCount":2,"integrity":"sha512-1+yuDwjU+He3S67Nfl28jPFNffMkZviLExpAhc9SYOTlhnFdnAWZpjZ0semWb3I05JY1BiSlc2+Aic/4ZArozw==","signatures":[{"sig":"MEUCIQDQdlPioWcPvT1Jxh6NE/CxTkmJfYsc4MquFkaAyH79jgIgUr4l/9ecCyq6zsDWHnhJto/M32BugUJBoWoHyOUzlD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224},"_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"_npmVersion":"11.12.1","description":"Placeholder — real package is published via CI/CD (trusted publishing).","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adt-diff_0.0.0_1776719523700_0.35061493867860927","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@abapify/adt-diff","version":"0.3.5","keywords":["sap","adt","abap","diff","compare","abapgit"],"license":"MIT","_id":"@abapify/adt-diff@0.3.5","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-diff#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"dist":{"shasum":"c61f4552a3ea2ee30e9d2c77b71457b3cc645c66","tarball":"https://registry.npmjs.org/@abapify/adt-diff/-/adt-diff-0.3.5.tgz","fileCount":1,"integrity":"sha512-Y/MR3+C7Z/RJpLElQZZFdq43ifZeslo+Z1w3TD20w+wDAmlmKue1PenLA/pQ/Erx7ibiUorBGh7cH809k3yVVw==","signatures":[{"sig":"MEQCIEFTs2R5yWpe7wNPBr39XPjMECLg6mUIVZYo3IgOsRnyAiBwIYOWYtNl0/Vd3eFa3k4ZrFxZp38VvUpsnU9+L5Z2vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-diff@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1238},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./package.json":"./package.json","./commands/diff":"./dist/commands/diff.mjs"},"gitHead":"185666fe6ccb304e7b08529eb376ec2493131a7a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:84049125-0617-495e-ae9a-5bee7037b527"}},"repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-diff"},"_npmVersion":"11.12.1","description":"Diff CLI plugin for adt-cli - compare local serialized files against SAP remote source","directories":{},"_nodeVersion":"24.14.1","dependencies":{"diff":"^8.0.3","chalk":"^5.6.2","@abapify/adk":"0.3.5","fast-xml-parser":"^5.5.5","@abapify/adt-plugin":"0.3.5","@abapify/adt-contracts":"0.3.5","@abapify/adt-plugin-abapgit":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@abapify/adt-fixtures":"0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/adt-diff_0.3.5_1776723684350_0.6818713429649903","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@abapify/adt-diff","version":"0.3.6","keywords":["sap","adt","abap","diff","compare","abapgit"],"license":"MIT","_id":"@abapify/adt-diff@0.3.6","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-diff#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"dist":{"shasum":"ba63f8fe300f4d44889ba3c7b2fab2129429a382","tarball":"https://registry.npmjs.org/@abapify/adt-diff/-/adt-diff-0.3.6.tgz","fileCount":2,"integrity":"sha512-eIaZyJTgjWi+KCS1hC2AQAUXJ5OJv0EmrtqSRuSaAJiMygUrpGZr/yIlvxj2NS297ri/6gdG50g9ImMZDvtJrQ==","signatures":[{"sig":"MEUCIACGueuIyBEFmO+mpWj9lJ6bWIdTlJW/bM7YX0XJ3zH7AiEA4AGBeQ/9iPyEd4DzbIguOVhz9/8+CmWZCNkQiJG/l/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-diff@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3074},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./package.json":"./package.json","./commands/diff":"./dist/commands/diff.mjs"},"gitHead":"489b2b4ad7c2ea972f323d4c356997ac5962ba9e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:84049125-0617-495e-ae9a-5bee7037b527"}},"repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-diff"},"_npmVersion":"11.11.0","description":"Diff CLI plugin for adt-cli - compare local serialized files against SAP remote source","directories":{},"_nodeVersion":"24.14.1","dependencies":{"diff":"^8.0.3","chalk":"^5.6.2","@abapify/adk":"0.3.6","fast-xml-parser":"^5.5.5","@abapify/adt-plugin":"0.3.6","@abapify/adt-contracts":"0.3.6","@abapify/adt-plugin-abapgit":"0.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@abapify/adt-fixtures":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/adt-diff_0.3.6_1776744829789_0.1712944428998049","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@abapify/adt-diff","version":"0.4.0","keywords":["sap","adt","abap","diff","compare","abapgit"],"license":"MIT","_id":"@abapify/adt-diff@0.4.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-diff#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"dist":{"shasum":"b5882724520648e0b88d7df1b3281207f648bbc0","tarball":"https://registry.npmjs.org/@abapify/adt-diff/-/adt-diff-0.4.0.tgz","fileCount":2,"integrity":"sha512-KLpx7cT4QcyyePWz/l6K72dtHAVwzcUo7jk8R+M2pmnAk0V6xA9dqwnGNk3TPWbcOjCzbg3KMEFGPAJZunsJOA==","signatures":[{"sig":"MEQCIAVPv3AzF8Dq88Hb5YSF+5TIyd9D24F4E2Zs5oh2BmY1AiAq8i0xEajhfoQAs49NtwWSj+KjdDLiRIOI4Ob63WU3oQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-diff@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3074},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./package.json":"./package.json","./commands/diff":"./dist/commands/diff.mjs"},"gitHead":"81dc9eea47fe419e41d246f0ec212fa78570a489","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:84049125-0617-495e-ae9a-5bee7037b527"}},"repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-diff"},"_npmVersion":"11.13.0","description":"Diff CLI plugin for adt-cli - compare local serialized files against SAP remote source","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"^8.0.3","chalk":"^5.6.2","@abapify/adk":"0.4.0","fast-xml-parser":"^5.5.5","@abapify/adt-plugin":"0.4.0","@abapify/adt-contracts":"0.4.0","@abapify/adt-plugin-abapgit":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@abapify/adt-fixtures":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/adt-diff_0.4.0_1780072671666_0.9317347877052589","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@abapify/adt-diff","version":"0.4.1","description":"Diff CLI plugin for adt-cli - compare local serialized files against SAP remote source","license":"MIT","publishConfig":{"access":"public"},"type":"module","main":"./dist/index.mjs","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./commands/diff":"./dist/commands/diff.mjs","./package.json":"./package.json"},"keywords":["sap","adt","abap","diff","compare","abapgit"],"dependencies":{"@abapify/adk":"0.4.1","@abapify/adt-contracts":"0.4.1","@abapify/adt-plugin":"0.4.1","@abapify/adt-plugin-abapgit":"0.4.1","chalk":"^5.6.2","diff":"^8.0.3","fast-xml-parser":"^5.5.5"},"module":"./dist/index.mjs","devDependencies":{"@abapify/adt-fixtures":"0.4.1"},"repository":{"type":"git","url":"git+https://github.com/abapify/adt-cli.git","directory":"packages/adt-diff"},"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-diff#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"gitHead":"9d3b996a5c760a8db67e28c4df3c30098bd29e4a","_id":"@abapify/adt-diff@0.4.1","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-Q919asCwbQ6GU3HD1cQwfZBgZ1Ar8ru0ks8+7KnTirDUnZSYBCCwOaJ8QSq5/FxytZ21N9KXJJ6QRC1gYZf8Cw==","shasum":"258c19a4c7efc35fde22bd5d53ebe958e9da4363","tarball":"https://registry.npmjs.org/@abapify/adt-diff/-/adt-diff-0.4.1.tgz","fileCount":10,"unpackedSize":97873,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-diff@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDPdp7jm9/EQB1Y0z5gf0ey2vExmmLSUJe+foKy+Xe7UAIhAMtklpC93R0ULSbjS3CwzH8x93ZMpz12ZwmSWvvdoLiF"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:84049125-0617-495e-ae9a-5bee7037b527"}},"directories":{},"maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adt-diff_0.4.1_1780074957941_0.9378664095062512"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-20T21:12:03.592Z","modified":"2026-05-29T17:15:58.404Z","0.0.0":"2026-04-20T21:12:03.852Z","0.3.5":"2026-04-20T22:21:24.492Z","0.3.6":"2026-04-21T04:13:49.923Z","0.4.0":"2026-05-29T16:37:51.831Z","0.4.1":"2026-05-29T17:15:58.089Z"},"bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"license":"MIT","homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-diff#readme","keywords":["sap","adt","abap","diff","compare","abapgit"],"repository":{"type":"git","url":"git+https://github.com/abapify/adt-cli.git","directory":"packages/adt-diff"},"description":"Diff CLI plugin for adt-cli - compare local serialized files against SAP remote source","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"readme":"# @abapify/adt-diff\n\nDiff CLI plugin for [`adt-cli`](https://github.com/abapify/adt-cli). Compares\nlocal abapGit-serialised files (`*.clas.xml`, `*.tabl.xml`, …) against the\ncurrent source in a connected SAP system and prints a coloured unified diff.\nAny object type supported by `@abapify/adt-plugin-abapgit` can be compared.\n\n[![npm](https://img.shields.io/npm/v/%40abapify%2Fadt-diff.svg)](https://www.npmjs.com/package/@abapify/adt-diff)\n\n## Install\n\n```bash\nnpm i @abapify/adt-diff\n# or\nbun add @abapify/adt-diff\n```\n\n## Usage\n\nRegister the command in `adt.config.ts`:\n\n```ts\n// adt.config.ts\nexport default {\n  commands: ['@abapify/adt-diff/commands/diff'],\n};\n```\n\nThen diff one or more files, or scan the whole abapGit repo in the working\ndirectory:\n\n```bash\n# Diff specific files\nadt diff zcl_myclass.clas.xml ztab.tabl.xml\n\n# Glob patterns\nadt diff \"*.tabl.xml\" --context 5\n\n# Scan the whole repo, ignoring unchanged objects\nadt diff --package ZMY_PACKAGE\n\n# Compare ADK-rendered source instead of raw XML (TABL only)\nadt diff zmy_table.tabl.xml --source\n```\n\nThe package also exposes a small TABL-to-CDS DDL utility that is independent\nof the diff command:\n\n```ts\nimport { tablXmlToCdsDdl, buildCdsDdl } from '@abapify/adt-diff';\n\nconst ddl = tablXmlToCdsDdl(xmlString);\n```\n\n## Role in the monorepo\n\n- CLI plugin loaded by `@abapify/adt-cli`; it owns the `diff` command only.\n- Uses `@abapify/adk` to render local XML back to source and\n  `@abapify/adt-plugin-abapgit` to resolve filenames to ADT object URIs.\n- Read-only: it never locks, writes, or imports objects. For round-tripping\n  objects into and out of the system, see `@abapify/adt-export` and the\n  relevant ADK save flow.\n\n## Related\n\n- [abapify/adt-cli monorepo](https://github.com/abapify/adt-cli)\n- [Full docs](https://adt-cli.netlify.app)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}