{"_id":"@abapify/adt-plugin-gcts","_rev":"6-0d50e07e4270359b925a36130c33feb3","name":"@abapify/adt-plugin-gcts","dist-tags":{"latest":"0.4.3"},"versions":{"0.0.0":{"name":"@abapify/adt-plugin-gcts","version":"0.0.0","_id":"@abapify/adt-plugin-gcts@0.0.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"dist":{"shasum":"1c9159948dc0c0bc9a1e13ef4f030015d1dc7dd8","tarball":"https://registry.npmjs.org/@abapify/adt-plugin-gcts/-/adt-plugin-gcts-0.0.0.tgz","fileCount":2,"integrity":"sha512-ZRX9BugIIEjH7XAU54NdtaJYTdVSeknr8G9bORR2swtlyG7YGaiXH8od/BC2+67LTFVNwanGhtCOvZzadjUxXA==","signatures":[{"sig":"MEQCIDYQYkHrqCOmPnqXiwlaEEMuPZ0wyGN/5eKh9eYP4gCtAiBb0UrVMGADegNnHrDFDZLGjHoz06Td95d6zBrynnwhuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238},"_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-plugin-gcts_0.0.0_1776719557976_0.32313971034849787","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@abapify/adt-plugin-gcts","version":"0.3.5","license":"MIT","_id":"@abapify/adt-plugin-gcts@0.3.5","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-plugin-gcts#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"nx":{"name":"adt-plugin-gcts"},"dist":{"shasum":"47ffbc7599c246c374f0f0c9c853f1fc0ca64796","tarball":"https://registry.npmjs.org/@abapify/adt-plugin-gcts/-/adt-plugin-gcts-0.3.5.tgz","fileCount":2,"integrity":"sha512-PcFTrjnD5mbZpBT51sbnL1njUbtITBnsv/0mQQrfYZVkwPtq8oLpVAQM/Tc85HJvp9ZwuMH4KgrfzSFscKsy6g==","signatures":[{"sig":"MEQCID5Eq4AHhj/8eRyxYrypuXDHVCj+in5f5jTYOALRM/1jAiBO+fzoyriggSf0icZAq62grVhstuSn11Ig8k6KrfXD6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-plugin-gcts@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3710},"type":"module","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"gitHead":"185666fe6ccb304e7b08529eb376ec2493131a7a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60a3d38d-f4f8-48cf-be50-21489a13e4d9"}},"repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-plugin-gcts"},"_npmVersion":"11.12.1","description":"**Status:** v0.1 (E06 — SAP → disk direction)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@abapify/adk":"0.3.5","@abapify/adt-plugin":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adt-plugin-gcts_0.3.5_1776723674801_0.8989753979504909","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@abapify/adt-plugin-gcts","version":"0.3.6","license":"MIT","_id":"@abapify/adt-plugin-gcts@0.3.6","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-plugin-gcts#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"nx":{"name":"adt-plugin-gcts"},"dist":{"shasum":"ec670793425bf71354d09ba7a8e247975bd3362a","tarball":"https://registry.npmjs.org/@abapify/adt-plugin-gcts/-/adt-plugin-gcts-0.3.6.tgz","fileCount":2,"integrity":"sha512-sb03D4fc+5HncMGG/D+EOKwkhnxjKZ+wQEibxXNw7CacZnCi3Pu3LumJdJo0lL9bJoA3UG87oLMZ83/IpaiEFA==","signatures":[{"sig":"MEUCIQDHffP4ce8UrzBKWw471ppSlZLC+MO50u8PzWwAYeuRmQIgBl9W8sDVlDYyldR/aSLr3JFkjkd7yugxWO6d+z70A/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-plugin-gcts@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3829},"type":"module","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"gitHead":"489b2b4ad7c2ea972f323d4c356997ac5962ba9e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60a3d38d-f4f8-48cf-be50-21489a13e4d9"}},"repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-plugin-gcts"},"_npmVersion":"11.11.0","description":"gCTS (git-enabled CTS) plugin for adt-cli — repository, commit, pull/push operations on SAP gCTS","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@abapify/adk":"0.3.6","@abapify/adt-plugin":"0.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adt-plugin-gcts_0.3.6_1776744820134_0.3326309188633021","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@abapify/adt-plugin-gcts","version":"0.4.0","license":"MIT","_id":"@abapify/adt-plugin-gcts@0.4.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-plugin-gcts#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"nx":{"name":"adt-plugin-gcts"},"dist":{"shasum":"e5fe4a125b30794adb69782b701f35cde1a14770","tarball":"https://registry.npmjs.org/@abapify/adt-plugin-gcts/-/adt-plugin-gcts-0.4.0.tgz","fileCount":2,"integrity":"sha512-zfXS4RZrTTb7LA28aA8qXdZhJ3W33XKUVPQql/VY5c2U3NXXXExS7GcKglHAAKS6fEh80Bd0tPzsOQK+58VC+Q==","signatures":[{"sig":"MEYCIQDKAkcwljEbEQAz7BChuk1ZB+CaIAgLPmvjkBAzISYijgIhALPBC8jgdqvinrMrsGhNS3iI36wWJ/W9NX0M+iiVyHBn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-plugin-gcts@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3829},"type":"module","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"gitHead":"81dc9eea47fe419e41d246f0ec212fa78570a489","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60a3d38d-f4f8-48cf-be50-21489a13e4d9"}},"repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-plugin-gcts"},"_npmVersion":"11.13.0","description":"gCTS (git-enabled CTS) plugin for adt-cli — repository, commit, pull/push operations on SAP gCTS","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@abapify/adk":"0.4.0","@abapify/adt-plugin":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adt-plugin-gcts_0.4.0_1780072661318_0.47548547293763055","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@abapify/adt-plugin-gcts","version":"0.4.1","license":"MIT","_id":"@abapify/adt-plugin-gcts@0.4.1","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-plugin-gcts#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"nx":{"name":"adt-plugin-gcts"},"dist":{"shasum":"0cfd0850f83863af9bd69b7f1387a6d801347313","tarball":"https://registry.npmjs.org/@abapify/adt-plugin-gcts/-/adt-plugin-gcts-0.4.1.tgz","fileCount":6,"integrity":"sha512-YMXikf3AavvqvR94fnebVPtiva7e5lCmgTn8aH+hXlO97eE762zdlx3pBM+CblIT9lFllAGEMdiSHYZW7YA0cw==","signatures":[{"sig":"MEYCIQCE4YC6i7JxM7bB60vAvC16JoJm9K4mumSh1CwWycWIegIhAPDEotZBPj7dU+XW1doq/vZyZSrqfcpoL+He3YuriEL9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-plugin-gcts@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86798},"type":"module","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"gitHead":"9d3b996a5c760a8db67e28c4df3c30098bd29e4a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60a3d38d-f4f8-48cf-be50-21489a13e4d9"}},"repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-plugin-gcts"},"_npmVersion":"11.13.0","description":"gCTS (git-enabled CTS) plugin for adt-cli — repository, commit, pull/push operations on SAP gCTS","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@abapify/adk":"0.4.1","@abapify/adt-plugin":"0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adt-plugin-gcts_0.4.1_1780074950307_0.22891326682837532","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"nx":{"name":"adt-plugin-gcts"},"_id":"@abapify/adt-plugin-gcts@0.4.3","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"dist":{"shasum":"ab242a708467232bcb1770ef1e72ad68d58f9904","tarball":"https://registry.npmjs.org/@abapify/adt-plugin-gcts/-/adt-plugin-gcts-0.4.3.tgz","fileCount":6,"integrity":"sha512-W5c0C98Ba4RfIiKvIe2n3pj1m+WU3EeNb/56RR7d1jxf9JEX4IryfdUpb5xWLWcN3MBvinVPvfzTErvOxER93Q==","signatures":[{"sig":"MEYCIQCbTa0KW+cI5Ooi5RefpF2kFoSKKAGaW1CwKOMYDayO0AIhAJFGmRynbJe1O1zIKZA/zzdem5DMp4rC82Q+NESYr9Ae","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCC+fQpdQ3SqAVtk8KX80QaKlTIdu8ARS6RXBnDQkb26AIhAM/OAFzLZ6GeUqpJOg13S7KK5UjMeQ/Cyf2qKmSiPfFs"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-plugin-gcts@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":138119},"name":"@abapify/adt-plugin-gcts","type":"module","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"gitHead":"11810846b793c200bb71aab0746cb172aec3a306","license":"MIT","version":"0.4.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:60a3d38d-f4f8-48cf-be50-21489a13e4d9"}},"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-plugin-gcts#readme","repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-plugin-gcts"},"_npmVersion":"11.19.0","description":"gCTS (git-enabled CTS) plugin for adt-cli — repository, commit, pull/push operations on SAP gCTS","directories":{},"maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"@abapify/adk":"0.4.3","@abapify/adt-plugin":"0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"json-schema-to-typescript":"15.0.4"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adt-plugin-gcts_0.4.3_1789559473509_0.7404463953595355"}}},"time":{"created":"2026-04-20T21:12:37.848Z","modified":"2026-09-16T11:51:14.052Z","0.0.0":"2026-04-20T21:12:38.121Z","0.3.5":"2026-04-20T22:21:14.921Z","0.3.6":"2026-04-21T04:13:40.268Z","0.4.0":"2026-05-29T16:37:41.450Z","0.4.1":"2026-05-29T17:15:50.469Z","0.4.3":"2026-09-16T11:51:13.666Z"},"bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"license":"MIT","homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-plugin-gcts#readme","repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-plugin-gcts"},"description":"gCTS (git-enabled CTS) plugin for adt-cli — repository, commit, pull/push operations on SAP gCTS","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"readme":"# @abapify/adt-plugin-gcts\n\n**Status:** v0.1 (E06 — SAP → disk direction)\n\nSerializes ABAP objects to **gCTS / AFF** layout (`SAP/abap-file-formats`):\nJSON metadata files (`<name>.<type>.json`) alongside source files\n(`<name>.<type>.abap`, `.asddls`, `.asdcls`).\n\n## Why a single plugin for both gCTS and AFF?\n\ngCTS (git-enabled CTS) and AFF (`SAP/abap-file-formats`) use the same\non-disk layout: JSON metadata, AFF-specific extensions, `(ns)` bracket\nnamespace folders. A single `--format gcts` (alias: `--format aff`) serves\nboth communities. The open question on naming is tracked in\n`docs/roadmap/epics/e06-gcts-format-plugin.md`.\n\n## Filename conventions\n\n| Object | Metadata            | Source                                                            |\n| ------ | ------------------- | ----------------------------------------------------------------- |\n| CLAS   | `<name>.clas.json`  | `<name>.clas.abap` (+ `.locals_def.abap`, `.testclasses.abap`, …) |\n| INTF   | `<name>.intf.json`  | `<name>.intf.abap`                                                |\n| PROG   | `<name>.prog.json`  | `<name>.prog.abap`                                                |\n| FUGR   | `<name>.fugr.json`  | — (FM files handled separately)                                   |\n| DOMA   | `<name>.doma.json`  | —                                                                 |\n| DTEL   | `<name>.dtel.json`  | —                                                                 |\n| TABL   | `<name>.tabl.json`  | —                                                                 |\n| TTYP   | `<name>.ttyp.json`  | —                                                                 |\n| DEVC   | `package.devc.json` | —                                                                 |\n| DDLS   | `<name>.ddls.json`  | `<name>.ddls.asddls`                                              |\n| DCLS   | `<name>.dcls.json`  | `<name>.dcls.asdcls`                                              |\n\nvs abapGit: metadata is **JSON** (not XML) and CDS uses **`.asddls` /\n`.asdcls`** (not `.acds`).\n\n## Usage\n\nInstall and import — the plugin self-registers:\n\n```ts\nimport '@abapify/adt-plugin-gcts';\nimport { getFormatPlugin } from '@abapify/adt-plugin';\n\nconst gcts = getFormatPlugin('gcts')!;\n```\n\nVia the CLI (after E06 wiring):\n\n```bash\nbunx adt import package --format gcts ZMYPKG ./out\n```\n\nThe SAP → disk direction is fully supported in v0.1. disk → SAP (adt-cli's\n`export` command) is deferred — see the epic's \"Open questions\".\n\n## Architecture\n\nThis plugin is a peer of `@abapify/adt-plugin-abapgit`:\n\n- `FormatPlugin` (declarative contract) is in `src/lib/format/gcts-format.ts`\n- `AdtPlugin` (higher-level import behaviour) is in `src/lib/gcts-plugin.ts`\n- Per-object-type handlers live in `src/lib/handlers/objects/` and\n  auto-register through the `createHandler` factory in `handlers/base.ts`\n\nSee [`AGENTS.md`](./AGENTS.md) for internal conventions.\n","readmeFilename":"README.md"}