@mcp-abap-adt/adt-backup 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/lib/backup/readBasicMetadata.d.ts.map +1 -1
- package/dist/lib/backup/readBasicMetadata.js +7 -0
- package/dist/lib/backup/readSourceText.d.ts.map +1 -1
- package/dist/lib/backup/readSourceText.js +6 -0
- package/dist/lib/constants/typeOrder.d.ts.map +1 -1
- package/dist/lib/constants/typeOrder.js +1 -0
- package/dist/lib/dependencies/collectTreeDependencies.d.ts.map +1 -1
- package/dist/lib/dependencies/collectTreeDependencies.js +1 -0
- package/dist/lib/restore/analyzeDependencies.d.ts.map +1 -1
- package/dist/lib/restore/analyzeDependencies.js +1 -0
- package/dist/lib/restore/restoreObject.d.ts.map +1 -1
- package/dist/lib/restore/restoreObject.js +20 -0
- package/dist/lib/restore/restoreObjects.d.ts.map +1 -1
- package/dist/lib/restore/restoreObjects.js +1 -0
- package/dist/lib/restore/restoreTreeBackup.d.ts.map +1 -1
- package/dist/lib/restore/restoreTreeBackup.js +5 -0
- package/dist/lib/restore/restoreTreeNode.d.ts.map +1 -1
- package/dist/lib/restore/restoreTreeNode.js +17 -0
- package/dist/lib/tree/isRestoreImplemented.d.ts.map +1 -1
- package/dist/lib/tree/isRestoreImplemented.js +1 -0
- package/dist/lib/tree/mapAdtTypeToSupported.d.ts.map +1 -1
- package/dist/lib/tree/mapAdtTypeToSupported.js +4 -0
- package/dist/lib/tree/readPayloadForType.d.ts.map +1 -1
- package/dist/lib/tree/readPayloadForType.js +1 -0
- package/dist/lib/types.d.ts +1 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/utils/applyConfigName.d.ts.map +1 -1
- package/dist/lib/utils/applyConfigName.js +3 -0
- package/dist/lib/utils/detectTransformationType.d.ts +3 -0
- package/dist/lib/utils/detectTransformationType.d.ts.map +1 -0
- package/dist/lib/utils/detectTransformationType.js +9 -0
- package/dist/lib/utils/normalizeType.d.ts.map +1 -1
- package/dist/lib/utils/normalizeType.js +4 -0
- package/dist/lib/verify/findOtherType.d.ts.map +1 -1
- package/dist/lib/verify/findOtherType.js +1 -0
- package/dist/lib/xml/parseServiceBindingConfig.d.ts.map +1 -1
- package/dist/lib/xml/parseServiceBindingConfig.js +24 -5
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# @mcp-abap-adt/adt-backup
|
|
2
|
+
[](https://stand-with-ukraine.pp.ua)
|
|
2
3
|
|
|
3
4
|
CLI for recursive ADT backups and restores using `@mcp-abap-adt/adt-clients`.
|
|
4
5
|
|
|
@@ -78,6 +79,7 @@ See `docs/roadmap.yaml` for per-object backup/restore status and the plan for re
|
|
|
78
79
|
| `interface` | implemented | implemented | source |
|
|
79
80
|
| `class` | implemented | implemented | source |
|
|
80
81
|
| `program` | implemented | implemented | source |
|
|
82
|
+
| `transformation` | implemented | implemented | source |
|
|
81
83
|
| `serviceDefinition` | implemented | implemented | source |
|
|
82
84
|
| `serviceBinding` | implemented | implemented | metadata-xml |
|
|
83
85
|
| `metadataExtension` | implemented | implemented | source |
|
|
@@ -89,6 +91,10 @@ See `docs/roadmap.yaml` for per-object backup/restore status and the plan for re
|
|
|
89
91
|
|
|
90
92
|
> **Note**: Unit tests are stored as classes in backups. When restoring, they are created as test classes in the system.
|
|
91
93
|
|
|
94
|
+
> **Note**: For `transformation`, the subtype (`SimpleTransformation` for `XSLT/VT` vs `XSLTProgram` for `XSLT/ST`) is detected from the source header (`<?sap.transform simple?>`).
|
|
95
|
+
|
|
96
|
+
> **Note**: For `serviceBinding`, the publication state (`srvb:published`) is preserved in the backup and re-applied during restore — published bindings are re-published, unpublished bindings are unpublished.
|
|
97
|
+
|
|
92
98
|
## Smoke Checklist
|
|
93
99
|
|
|
94
100
|
When your landscape is ready, use `docs/SMOKE_CHECKLIST.md` for a focused backup/restore/verify checklist.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readBasicMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/readBasicMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"readBasicMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/readBasicMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiEzD"}
|
|
@@ -26,6 +26,13 @@ async function readBasicMetadata(client, spec) {
|
|
|
26
26
|
const xml = (0, responseToText_1.responseToText)(state.metadataResult);
|
|
27
27
|
return xml ? (0, extractMetadata_1.extractMetadata)(xml) : {};
|
|
28
28
|
}
|
|
29
|
+
case 'transformation': {
|
|
30
|
+
const state = await client
|
|
31
|
+
.getTransformation()
|
|
32
|
+
.readMetadata({ transformationName: spec.name });
|
|
33
|
+
const xml = (0, responseToText_1.responseToText)(state.metadataResult);
|
|
34
|
+
return xml ? (0, extractMetadata_1.extractMetadata)(xml) : {};
|
|
35
|
+
}
|
|
29
36
|
case 'structure': {
|
|
30
37
|
const state = await client
|
|
31
38
|
.getStructure()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readSourceText.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/readSourceText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,QAAQ,GAAG,UAAqB,GACxC,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"readSourceText.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/readSourceText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,QAAQ,GAAG,UAAqB,GACxC,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CA8GpC"}
|
|
@@ -23,6 +23,12 @@ async function readSourceText(client, spec, version = 'active') {
|
|
|
23
23
|
.read({ programName: spec.name }, version);
|
|
24
24
|
return (0, responseToText_1.responseToText)(state?.readResult);
|
|
25
25
|
}
|
|
26
|
+
case 'transformation': {
|
|
27
|
+
const state = await client
|
|
28
|
+
.getTransformation()
|
|
29
|
+
.read({ transformationName: spec.name }, version);
|
|
30
|
+
return (0, responseToText_1.responseToText)(state?.readResult);
|
|
31
|
+
}
|
|
26
32
|
case 'view': {
|
|
27
33
|
const state = await client
|
|
28
34
|
.getView()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeOrder.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/typeOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"typeOrder.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/typeOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,EAAE,aAAa,EAoBpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectTreeDependencies.d.ts","sourceRoot":"","sources":["../../../src/lib/dependencies/collectTreeDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,cAAc,EAA6B,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"collectTreeDependencies.d.ts","sourceRoot":"","sources":["../../../src/lib/dependencies/collectTreeDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,cAAc,EAA6B,MAAM,UAAU,CAAC;AAoC1E,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA+Ff"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeDependencies.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/analyzeDependencies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AA+MD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CA2B3E;
|
|
1
|
+
{"version":3,"file":"analyzeDependencies.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/analyzeDependencies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AA+MD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CA2B3E;AA4BD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EAAE,GACtB,YAAY,EAAE,CA8DhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreObject.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"restoreObject.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAoBV,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAO1D,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Tf"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.restoreObject = restoreObject;
|
|
4
4
|
const applyConfigName_1 = require("../utils/applyConfigName");
|
|
5
5
|
const asConfig_1 = require("../utils/asConfig");
|
|
6
|
+
const detectTransformationType_1 = require("../utils/detectTransformationType");
|
|
6
7
|
const ensureDescription_1 = require("../utils/ensureDescription");
|
|
7
8
|
const applyTransportRequest_1 = require("./applyTransportRequest");
|
|
8
9
|
async function restoreObject(client, obj, mode, activate, transportRequest) {
|
|
@@ -128,6 +129,25 @@ async function restoreObject(client, obj, mode, activate, transportRequest) {
|
|
|
128
129
|
}
|
|
129
130
|
return;
|
|
130
131
|
}
|
|
132
|
+
case 'transformation': {
|
|
133
|
+
const transformationType = (0, detectTransformationType_1.detectTransformationType)(obj.source);
|
|
134
|
+
const baseTxConfig = {
|
|
135
|
+
...config,
|
|
136
|
+
transformationType,
|
|
137
|
+
};
|
|
138
|
+
if (mode !== 'update') {
|
|
139
|
+
await client
|
|
140
|
+
.getTransformation()
|
|
141
|
+
.create((0, asConfig_1.asConfig)(baseTxConfig), options);
|
|
142
|
+
}
|
|
143
|
+
if (obj.source) {
|
|
144
|
+
await client.getTransformation().update((0, asConfig_1.asConfig)({
|
|
145
|
+
...baseTxConfig,
|
|
146
|
+
sourceCode: obj.source,
|
|
147
|
+
}), options);
|
|
148
|
+
}
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
131
151
|
case 'functionGroup': {
|
|
132
152
|
if (mode !== 'update') {
|
|
133
153
|
await client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreObjects.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreObjects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"restoreObjects.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreObjects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA4B1D,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,EAAE,EACvB,IAAI,EAAE,WAAW,EACjB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,gBAAgB,UAAO,GACtB,OAAO,CAAC,IAAI,CAAC,CA+Df"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreTreeBackup.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreTreeBackup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAK5E,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAEjB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"restoreTreeBackup.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreTreeBackup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAK5E,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AAmElB,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,EACzB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAC/B,gBAAgB,UAAO,EACvB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,oBAAoB,CAAC,EAAE,MAAM,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAiZf"}
|
|
@@ -27,6 +27,11 @@ const RESTORE_PHASES = [
|
|
|
27
27
|
{ name: 'Classes', types: ['class'], activation: 'individual' },
|
|
28
28
|
{ name: 'Interfaces', types: ['interface'], activation: 'individual' },
|
|
29
29
|
{ name: 'Programs', types: ['program'], activation: 'individual' },
|
|
30
|
+
{
|
|
31
|
+
name: 'Transformations',
|
|
32
|
+
types: ['transformation'],
|
|
33
|
+
activation: 'individual',
|
|
34
|
+
},
|
|
30
35
|
{
|
|
31
36
|
name: 'Function Groups',
|
|
32
37
|
types: ['functionGroup'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreTreeNode.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreTreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"restoreTreeNode.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreTreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAqBV,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAQ5D,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,EACzB,yBAAyB,CAAC,EAAE,MAAM,EAClC,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,oBAAoB,CAAC,EAAE,MAAM,EAC7B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,IAAI,CAAC,CAibf"}
|
|
@@ -4,6 +4,7 @@ exports.restoreTreeNode = restoreTreeNode;
|
|
|
4
4
|
const logVerbose_1 = require("../cli/logVerbose");
|
|
5
5
|
const decodeBase64_1 = require("../crypto/decodeBase64");
|
|
6
6
|
const asConfig_1 = require("../utils/asConfig");
|
|
7
|
+
const detectTransformationType_1 = require("../utils/detectTransformationType");
|
|
7
8
|
const ensureDescription_1 = require("../utils/ensureDescription");
|
|
8
9
|
const parseBdefSource_1 = require("../utils/parseBdefSource");
|
|
9
10
|
const parsePackageConfig_1 = require("../xml/parsePackageConfig");
|
|
@@ -190,6 +191,22 @@ async function restoreTreeNode(client, node, mode, activate, transportRequest, s
|
|
|
190
191
|
}
|
|
191
192
|
return;
|
|
192
193
|
}
|
|
194
|
+
case 'transformation': {
|
|
195
|
+
const transformationType = (0, detectTransformationType_1.detectTransformationType)(payload);
|
|
196
|
+
const baseTxConfig = { ...config, transformationType };
|
|
197
|
+
if (mode !== 'update') {
|
|
198
|
+
await client
|
|
199
|
+
.getTransformation()
|
|
200
|
+
.create((0, asConfig_1.asConfig)(baseTxConfig), options);
|
|
201
|
+
}
|
|
202
|
+
if (payload) {
|
|
203
|
+
await client.getTransformation().update((0, asConfig_1.asConfig)({
|
|
204
|
+
...baseTxConfig,
|
|
205
|
+
sourceCode: payload,
|
|
206
|
+
}), options);
|
|
207
|
+
}
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
193
210
|
case 'functionGroup': {
|
|
194
211
|
if (mode !== 'update') {
|
|
195
212
|
await client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isRestoreImplemented.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/isRestoreImplemented.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"isRestoreImplemented.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/isRestoreImplemented.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CA0BlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapAdtTypeToSupported.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/mapAdtTypeToSupported.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"mapAdtTypeToSupported.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/mapAdtTypeToSupported.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,GAAG,SAAS,CAmE3B"}
|
|
@@ -23,6 +23,8 @@ function mapAdtTypeToSupported(adtType) {
|
|
|
23
23
|
'INTF/IF': 'interface',
|
|
24
24
|
'INTF/OI': 'interface',
|
|
25
25
|
'PROG/P': 'program',
|
|
26
|
+
'XSLT/VT': 'transformation',
|
|
27
|
+
'XSLT/ST': 'transformation',
|
|
26
28
|
'FUGR/FF': 'functionModule',
|
|
27
29
|
'FUGR/F': 'functionGroup',
|
|
28
30
|
FUGR: 'functionGroup',
|
|
@@ -45,6 +47,8 @@ function mapAdtTypeToSupported(adtType) {
|
|
|
45
47
|
return 'interface';
|
|
46
48
|
if (normalized.startsWith('PROG/'))
|
|
47
49
|
return 'program';
|
|
50
|
+
if (normalized.startsWith('XSLT/'))
|
|
51
|
+
return 'transformation';
|
|
48
52
|
if (normalized.startsWith('DDLS/'))
|
|
49
53
|
return 'view';
|
|
50
54
|
if (normalized.startsWith('DDLX/'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readPayloadForType.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/readPayloadForType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"readPayloadForType.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/readPayloadForType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAAE,CAAC,CAwCtE"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type SupportedType = 'package' | 'domain' | 'dataElement' | 'structure' | 'table' | 'tableType' | 'view' | 'class' | 'interface' | 'program' | 'functionGroup' | 'functionModule' | 'serviceDefinition' | 'serviceBinding' | 'metadataExtension' | 'behaviorDefinition' | 'behaviorImplementation' | 'enhancement' | 'accessControl' | 'unitTest' | 'cdsUnitTest';
|
|
1
|
+
export type SupportedType = 'package' | 'domain' | 'dataElement' | 'structure' | 'table' | 'tableType' | 'view' | 'class' | 'interface' | 'program' | 'transformation' | 'functionGroup' | 'functionModule' | 'serviceDefinition' | 'serviceBinding' | 'metadataExtension' | 'behaviorDefinition' | 'behaviorImplementation' | 'enhancement' | 'accessControl' | 'unitTest' | 'cdsUnitTest';
|
|
2
2
|
export type RestoreMode = 'create' | 'update' | 'upsert' | 'skip';
|
|
3
3
|
export type BackupConfig = Record<string, unknown>;
|
|
4
4
|
export interface ObjectSpec {
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyConfigName.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/applyConfigName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,EAC1B,MAAM,CAAC,EAAE,YAAY,GACpB,YAAY,
|
|
1
|
+
{"version":3,"file":"applyConfigName.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/applyConfigName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,EAC1B,MAAM,CAAC,EAAE,YAAY,GACpB,YAAY,CAwEd"}
|
|
@@ -34,6 +34,9 @@ function applyConfigName(type, name, functionGroupName, config) {
|
|
|
34
34
|
case 'program':
|
|
35
35
|
finalConfig.programName = name;
|
|
36
36
|
break;
|
|
37
|
+
case 'transformation':
|
|
38
|
+
finalConfig.transformationName = name;
|
|
39
|
+
break;
|
|
37
40
|
case 'functionGroup':
|
|
38
41
|
finalConfig.functionGroupName = name;
|
|
39
42
|
break;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectTransformationType.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/detectTransformationType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,wBAAgB,wBAAwB,CACtC,MAAM,CAAC,EAAE,MAAM,GACd,qBAAqB,CAAC,oBAAoB,CAAC,CAK7C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectTransformationType = detectTransformationType;
|
|
4
|
+
function detectTransformationType(source) {
|
|
5
|
+
if (source && /<\?sap\.transform\s+simple\s*\?>/i.test(source)) {
|
|
6
|
+
return 'SimpleTransformation';
|
|
7
|
+
}
|
|
8
|
+
return 'XSLTProgram';
|
|
9
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeType.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/normalizeType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"normalizeType.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/normalizeType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CA6C5D"}
|
|
@@ -17,6 +17,10 @@ function normalizeType(rawType) {
|
|
|
17
17
|
class: 'class',
|
|
18
18
|
interface: 'interface',
|
|
19
19
|
program: 'program',
|
|
20
|
+
transformation: 'transformation',
|
|
21
|
+
xslt: 'transformation',
|
|
22
|
+
simpletransformation: 'transformation',
|
|
23
|
+
simple_transformation: 'transformation',
|
|
20
24
|
functiongroup: 'functionGroup',
|
|
21
25
|
function_group: 'functionGroup',
|
|
22
26
|
functionmodule: 'functionModule',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findOtherType.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/findOtherType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"findOtherType.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/findOtherType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAyB9C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,aAAa,EAC3B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAepC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseServiceBindingConfig.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/parseServiceBindingConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAOvE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"parseServiceBindingConfig.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/parseServiceBindingConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAOvE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,qBAAqB,CAAC,CA2GhC"}
|
|
@@ -42,8 +42,20 @@ function parseServiceBindingConfig(xml) {
|
|
|
42
42
|
(0, findAttribute_1.findAttribute)(binding, 'srvb:version');
|
|
43
43
|
const bindingCategory = (0, getNodeAttribute_1.getNodeAttribute)(binding, 'srvb:category') ||
|
|
44
44
|
(0, findAttribute_1.findAttribute)(binding, 'srvb:category');
|
|
45
|
-
//
|
|
46
|
-
|
|
45
|
+
// Reflect the published state from ADT so restore re-publishes/unpublishes
|
|
46
|
+
// the binding to match the source system. Attribute: srvb:published="true|false".
|
|
47
|
+
const publishedAttr = (0, getNodeAttribute_1.getNodeAttribute)(root, 'srvb:published') ||
|
|
48
|
+
(0, findAttribute_1.findAttribute)(root, 'srvb:published');
|
|
49
|
+
let desiredPublicationState = 'unchanged';
|
|
50
|
+
if (publishedAttr !== undefined && publishedAttr !== null) {
|
|
51
|
+
const normalized = String(publishedAttr).toLowerCase();
|
|
52
|
+
if (normalized === 'true') {
|
|
53
|
+
desiredPublicationState = 'published';
|
|
54
|
+
}
|
|
55
|
+
else if (normalized === 'false') {
|
|
56
|
+
desiredPublicationState = 'unpublished';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
47
59
|
const normalizedBindingType = bindingType?.toUpperCase();
|
|
48
60
|
const normalizedBindingVersion = bindingVersion?.toUpperCase();
|
|
49
61
|
const serviceType = normalizedBindingType === 'ODATA'
|
|
@@ -51,6 +63,15 @@ function parseServiceBindingConfig(xml) {
|
|
|
51
63
|
? 'odatav2'
|
|
52
64
|
: 'odatav4'
|
|
53
65
|
: undefined;
|
|
66
|
+
const bindingVariant = normalizedBindingType === 'ODATA'
|
|
67
|
+
? normalizedBindingVersion === 'V2'
|
|
68
|
+
? bindingCategory === '1'
|
|
69
|
+
? 'ODATA_V2_WEB_API'
|
|
70
|
+
: 'ODATA_V2_UI'
|
|
71
|
+
: bindingCategory === '1'
|
|
72
|
+
? 'ODATA_V4_WEB_API'
|
|
73
|
+
: 'ODATA_V4_UI'
|
|
74
|
+
: undefined;
|
|
54
75
|
return {
|
|
55
76
|
bindingName,
|
|
56
77
|
packageName,
|
|
@@ -58,9 +79,7 @@ function parseServiceBindingConfig(xml) {
|
|
|
58
79
|
serviceDefinitionName,
|
|
59
80
|
serviceName,
|
|
60
81
|
serviceVersion,
|
|
61
|
-
|
|
62
|
-
bindingVersion,
|
|
63
|
-
bindingCategory,
|
|
82
|
+
bindingVariant,
|
|
64
83
|
masterLanguage,
|
|
65
84
|
masterSystem,
|
|
66
85
|
responsible,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/adt-backup",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "ADT backup CLI for SAP ABAP objects (recursive package backups and restores)",
|
|
5
5
|
"main": "dist/bin/adt-backup.js",
|
|
6
6
|
"types": "dist/bin/adt-backup.d.ts",
|
|
@@ -45,20 +45,20 @@
|
|
|
45
45
|
"debug:deps": "npx ts-node scripts/debug-where-used-list.ts"
|
|
46
46
|
},
|
|
47
47
|
"engines": {
|
|
48
|
-
"node": ">=
|
|
48
|
+
"node": ">=20.0.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@mcp-abap-adt/adt-clients": "^
|
|
51
|
+
"@mcp-abap-adt/adt-clients": "^5.4.1",
|
|
52
52
|
"@mcp-abap-adt/auth-broker": "^1.0.5",
|
|
53
53
|
"@mcp-abap-adt/auth-providers": "^1.0.5",
|
|
54
|
-
"@mcp-abap-adt/auth-stores": "^1.0.
|
|
55
|
-
"@mcp-abap-adt/connection": "^1.
|
|
56
|
-
"fast-xml-parser": "^5.
|
|
57
|
-
"yaml": "^2.8.
|
|
54
|
+
"@mcp-abap-adt/auth-stores": "^1.0.4",
|
|
55
|
+
"@mcp-abap-adt/connection": "^1.8.0",
|
|
56
|
+
"fast-xml-parser": "^5.7.1",
|
|
57
|
+
"yaml": "^2.8.3"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@biomejs/biome": "^2.4.
|
|
61
|
-
"@types/node": "^25.
|
|
62
|
-
"typescript": "^
|
|
60
|
+
"@biomejs/biome": "^2.4.12",
|
|
61
|
+
"@types/node": "^25.6.0",
|
|
62
|
+
"typescript": "^6.0.3"
|
|
63
63
|
}
|
|
64
64
|
}
|