sf-decomposer 7.1.0 → 7.2.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/CHANGELOG.md +14 -0
- package/README.md +149 -87
- package/lib/core/decomposeMetadataTypes.js +1 -1
- package/lib/core/decomposeMetadataTypes.js.map +1 -1
- package/lib/helpers/types.d.ts +9 -2
- package/lib/metadata/getRegistryValuesBySuffix.d.ts +1 -1
- package/lib/metadata/getRegistryValuesBySuffix.js +10 -3
- package/lib/metadata/getRegistryValuesBySuffix.js.map +1 -1
- package/lib/metadata/parseManifest.js +28 -12
- package/lib/metadata/parseManifest.js.map +1 -1
- package/lib/metadata/registry/manifestXml.d.ts +13 -0
- package/lib/metadata/registry/manifestXml.js +74 -0
- package/lib/metadata/registry/manifestXml.js.map +1 -0
- package/lib/metadata/registry/metadataRegistry.json +5417 -0
- package/lib/metadata/registry/registryAccess.d.ts +14 -0
- package/lib/metadata/registry/registryAccess.js +52 -0
- package/lib/metadata/registry/registryAccess.js.map +1 -0
- package/lib/metadata/registry/resolveManifestComponents.d.ts +13 -0
- package/lib/metadata/registry/resolveManifestComponents.js +60 -0
- package/lib/metadata/registry/resolveManifestComponents.js.map +1 -0
- package/lib/metadata/registry/types.d.ts +23 -0
- package/lib/metadata/registry/types.js +3 -0
- package/lib/metadata/registry/types.js.map +1 -0
- package/lib/metadata/registry/xmlParser.d.ts +5 -0
- package/lib/metadata/registry/xmlParser.js +177 -0
- package/lib/metadata/registry/xmlParser.js.map +1 -0
- package/lib/service/decompose/decomposeFileHandler.d.ts +1 -1
- package/lib/service/decompose/decomposeFileHandler.js +17 -18
- package/lib/service/decompose/decomposeFileHandler.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +70 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseManifest.js","sourceRoot":"","sources":["../../src/metadata/parseManifest.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"parseManifest.js","sourceRoot":"","sources":["../../src/metadata/parseManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type ParsedManifestType = {
|
|
2
|
+
name: string;
|
|
3
|
+
members: string[];
|
|
4
|
+
};
|
|
5
|
+
export type ParsedManifest = {
|
|
6
|
+
types: ParsedManifestType[];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Parses a package.xml manifest's raw text into its declared types/members. Validates only that
|
|
10
|
+
* the document follows the Metadata API manifest structure (a single <Package> root containing
|
|
11
|
+
* <types>/<version> elements) -- metadata type names are not checked against the registry here.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseManifestXml(xml: string): ParsedManifest;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
// The syntactic layer that turns package.xml text into { name, members } pairs.
|
|
3
|
+
// Registry-aware resolution (parent/child/folder types) is layered on top in
|
|
4
|
+
// resolveManifestComponents.ts, mirroring how SDR's ManifestResolver separates
|
|
5
|
+
// manifest parsing from registry lookups.
|
|
6
|
+
import { parseXml } from './xmlParser.js';
|
|
7
|
+
function isElement(node) {
|
|
8
|
+
return typeof node !== 'string';
|
|
9
|
+
}
|
|
10
|
+
function getText(node) {
|
|
11
|
+
return node.children
|
|
12
|
+
.filter((child) => typeof child === 'string')
|
|
13
|
+
.join('')
|
|
14
|
+
.trim();
|
|
15
|
+
}
|
|
16
|
+
function parseTypesElement(typesEl) {
|
|
17
|
+
const children = typesEl.children.filter(isElement);
|
|
18
|
+
const nameEls = children.filter((el) => el.tagName === 'name');
|
|
19
|
+
const memberEls = children.filter((el) => el.tagName === 'members');
|
|
20
|
+
const otherEl = children.find((el) => el.tagName !== 'name' && el.tagName !== 'members');
|
|
21
|
+
if (otherEl) {
|
|
22
|
+
throw new Error(`unexpected element <${otherEl.tagName}> inside <types>`);
|
|
23
|
+
}
|
|
24
|
+
if (nameEls.length !== 1) {
|
|
25
|
+
throw new Error(`<types> must contain exactly one <name> element, found ${nameEls.length}`);
|
|
26
|
+
}
|
|
27
|
+
const name = getText(nameEls[0]);
|
|
28
|
+
if (!name) {
|
|
29
|
+
throw new Error('<types><name> element must not be empty');
|
|
30
|
+
}
|
|
31
|
+
if (memberEls.length === 0) {
|
|
32
|
+
throw new Error(`<types> for "${name}" must contain at least one <members> element`);
|
|
33
|
+
}
|
|
34
|
+
const members = memberEls.map((memberEl) => {
|
|
35
|
+
const member = getText(memberEl);
|
|
36
|
+
if (!member) {
|
|
37
|
+
throw new Error(`<types> for "${name}" contains an empty <members> element`);
|
|
38
|
+
}
|
|
39
|
+
return member;
|
|
40
|
+
});
|
|
41
|
+
return { name, members };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Parses a package.xml manifest's raw text into its declared types/members. Validates only that
|
|
45
|
+
* the document follows the Metadata API manifest structure (a single <Package> root containing
|
|
46
|
+
* <types>/<version> elements) -- metadata type names are not checked against the registry here.
|
|
47
|
+
*/
|
|
48
|
+
export function parseManifestXml(xml) {
|
|
49
|
+
const roots = parseXml(xml);
|
|
50
|
+
if (roots.length !== 1 || roots[0].tagName !== 'Package') {
|
|
51
|
+
throw new Error('manifest must have a single <Package> root element');
|
|
52
|
+
}
|
|
53
|
+
const types = [];
|
|
54
|
+
let versionSeen = false;
|
|
55
|
+
for (const child of roots[0].children.filter(isElement)) {
|
|
56
|
+
if (child.tagName === 'types') {
|
|
57
|
+
types.push(parseTypesElement(child));
|
|
58
|
+
}
|
|
59
|
+
else if (child.tagName === 'version') {
|
|
60
|
+
if (versionSeen) {
|
|
61
|
+
throw new Error('<Package> must not contain more than one <version> element');
|
|
62
|
+
}
|
|
63
|
+
versionSeen = true;
|
|
64
|
+
if (!getText(child)) {
|
|
65
|
+
throw new Error('<Package><version> element must not be empty');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw new Error(`unexpected element <${child.tagName}> inside <Package>`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return { types };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=manifestXml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifestXml.js","sourceRoot":"","sources":["../../../src/metadata/registry/manifestXml.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,0CAA0C;AAE1C,OAAO,EAAE,QAAQ,EAAW,MAAM,gBAAgB,CAAC;AAWnD,SAAS,SAAS,CAAC,IAAsB;IACvC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC;AAED,SAAS,OAAO,CAAC,IAAa;IAC5B,OAAO,IAAI,CAAC,QAAQ;SACjB,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SAC7D,IAAI,CAAC,EAAE,CAAC;SACR,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAEzF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0DAA0D,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,+CAA+C,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,uCAAuC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAChF,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
|