@mcp-abap-adt/adt-backup 1.1.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.
Files changed (45) hide show
  1. package/README.md +6 -0
  2. package/dist/lib/backup/readBasicMetadata.d.ts.map +1 -1
  3. package/dist/lib/backup/readBasicMetadata.js +7 -0
  4. package/dist/lib/backup/readMetadataXmlForType.d.ts.map +1 -1
  5. package/dist/lib/backup/readMetadataXmlForType.js +37 -17
  6. package/dist/lib/backup/readSourceText.d.ts.map +1 -1
  7. package/dist/lib/backup/readSourceText.js +6 -0
  8. package/dist/lib/constants/typeOrder.d.ts.map +1 -1
  9. package/dist/lib/constants/typeOrder.js +1 -0
  10. package/dist/lib/dependencies/collectTreeDependencies.d.ts.map +1 -1
  11. package/dist/lib/dependencies/collectTreeDependencies.js +1 -0
  12. package/dist/lib/restore/analyzeDependencies.d.ts +6 -0
  13. package/dist/lib/restore/analyzeDependencies.d.ts.map +1 -1
  14. package/dist/lib/restore/analyzeDependencies.js +127 -28
  15. package/dist/lib/restore/restoreObject.d.ts.map +1 -1
  16. package/dist/lib/restore/restoreObject.js +20 -0
  17. package/dist/lib/restore/restoreObjects.d.ts.map +1 -1
  18. package/dist/lib/restore/restoreObjects.js +1 -0
  19. package/dist/lib/restore/restoreTreeBackup.d.ts +2 -2
  20. package/dist/lib/restore/restoreTreeBackup.d.ts.map +1 -1
  21. package/dist/lib/restore/restoreTreeBackup.js +229 -97
  22. package/dist/lib/restore/restoreTreeNode.d.ts.map +1 -1
  23. package/dist/lib/restore/restoreTreeNode.js +17 -0
  24. package/dist/lib/run.d.ts.map +1 -1
  25. package/dist/lib/run.js +103 -44
  26. package/dist/lib/tree/isRestoreImplemented.d.ts.map +1 -1
  27. package/dist/lib/tree/isRestoreImplemented.js +1 -0
  28. package/dist/lib/tree/mapAdtTypeToSupported.d.ts.map +1 -1
  29. package/dist/lib/tree/mapAdtTypeToSupported.js +4 -0
  30. package/dist/lib/tree/readPayloadForType.d.ts.map +1 -1
  31. package/dist/lib/tree/readPayloadForType.js +1 -0
  32. package/dist/lib/types.d.ts +1 -1
  33. package/dist/lib/types.d.ts.map +1 -1
  34. package/dist/lib/utils/applyConfigName.d.ts.map +1 -1
  35. package/dist/lib/utils/applyConfigName.js +3 -0
  36. package/dist/lib/utils/detectTransformationType.d.ts +3 -0
  37. package/dist/lib/utils/detectTransformationType.d.ts.map +1 -0
  38. package/dist/lib/utils/detectTransformationType.js +9 -0
  39. package/dist/lib/utils/normalizeType.d.ts.map +1 -1
  40. package/dist/lib/utils/normalizeType.js +4 -0
  41. package/dist/lib/verify/findOtherType.d.ts.map +1 -1
  42. package/dist/lib/verify/findOtherType.js +1 -0
  43. package/dist/lib/xml/parseServiceBindingConfig.d.ts.map +1 -1
  44. package/dist/lib/xml/parseServiceBindingConfig.js +24 -5
  45. package/package.json +10 -10
@@ -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,CAyBlE"}
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"}
@@ -15,6 +15,7 @@ function isRestoreImplemented(type) {
15
15
  case 'interface':
16
16
  case 'class':
17
17
  case 'program':
18
+ case 'transformation':
18
19
  case 'serviceDefinition':
19
20
  case 'serviceBinding':
20
21
  case 'metadataExtension':
@@ -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,CAgE3B"}
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,CAuCtE"}
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"}
@@ -8,6 +8,7 @@ async function readPayloadForType(client, type, name, functionGroupName) {
8
8
  case 'class':
9
9
  case 'interface':
10
10
  case 'program':
11
+ case 'transformation':
11
12
  case 'view':
12
13
  case 'structure':
13
14
  case 'table':
@@ -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 {
@@ -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,CAqEd"}
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,3 @@
1
+ import type { ITransformationConfig } from '@mcp-abap-adt/adt-clients';
2
+ export declare function detectTransformationType(source?: string): ITransformationConfig['transformationType'];
3
+ //# sourceMappingURL=detectTransformationType.d.ts.map
@@ -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,CAyC5D"}
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;AAwB9C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,aAAa,EAC3B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAepC"}
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"}
@@ -13,6 +13,7 @@ const supportedTypes = [
13
13
  'class',
14
14
  'interface',
15
15
  'program',
16
+ 'transformation',
16
17
  'functionGroup',
17
18
  'serviceDefinition',
18
19
  'serviceBinding',
@@ -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,CAsFhC"}
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
- // Keep publication state unchanged by default during restore updates.
46
- const desiredPublicationState = 'unchanged';
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
- bindingType: normalizedBindingType,
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.1.0",
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": ">=18.0.0"
48
+ "node": ">=20.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@mcp-abap-adt/adt-clients": "^2.2.0",
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.2",
55
- "@mcp-abap-adt/connection": "^1.1.0",
56
- "fast-xml-parser": "^5.4.1",
57
- "yaml": "^2.8.2"
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.4",
61
- "@types/node": "^25.3.1",
62
- "typescript": "^5.9.2"
60
+ "@biomejs/biome": "^2.4.12",
61
+ "@types/node": "^25.6.0",
62
+ "typescript": "^6.0.3"
63
63
  }
64
64
  }