@salesforce/source-deploy-retrieve 5.0.0-orb.5 → 5.0.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 +190 -99
- package/README.md +1 -1
- package/lib/src/client/deployStrategies/auraDeploy.js +2 -2
- package/lib/src/client/deployStrategies/auraDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/baseDeploy.js +2 -2
- package/lib/src/client/deployStrategies/baseDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/containerDeploy.js +3 -3
- package/lib/src/client/deployStrategies/containerDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/lwcDeploy.js +2 -2
- package/lib/src/client/deployStrategies/lwcDeploy.js.map +1 -1
- package/lib/src/client/metadataApiRetrieve.d.ts +8 -1
- package/lib/src/client/metadataApiRetrieve.js +20 -9
- package/lib/src/client/metadataApiRetrieve.js.map +1 -1
- package/lib/src/client/metadataTransfer.js +2 -1
- package/lib/src/client/metadataTransfer.js.map +1 -1
- package/lib/src/collections/componentSet.d.ts +14 -10
- package/lib/src/collections/componentSet.js +113 -49
- package/lib/src/collections/componentSet.js.map +1 -1
- package/lib/src/collections/types.d.ts +8 -0
- package/lib/src/convert/convertContext.d.ts +1 -0
- package/lib/src/convert/convertContext.js +33 -6
- package/lib/src/convert/convertContext.js.map +1 -1
- package/lib/src/convert/metadataConverter.d.ts +2 -2
- package/lib/src/convert/metadataConverter.js +29 -22
- package/lib/src/convert/metadataConverter.js.map +1 -1
- package/lib/src/convert/streams.js +4 -4
- package/lib/src/convert/streams.js.map +1 -1
- package/lib/src/convert/transformers/decomposedMetadataTransformer.d.ts +0 -1
- package/lib/src/convert/transformers/decomposedMetadataTransformer.js +7 -24
- package/lib/src/convert/transformers/decomposedMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js +6 -9
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js.map +1 -1
- package/lib/src/registry/nonSupportedTypes.d.ts +11 -0
- package/lib/src/registry/nonSupportedTypes.js +55 -0
- package/lib/src/registry/nonSupportedTypes.js.map +1 -0
- package/lib/src/registry/registry.d.ts +324 -1
- package/lib/src/registry/registry.json +342 -19
- package/lib/src/registry/registryAccess.d.ts +10 -0
- package/lib/src/registry/registryAccess.js +22 -1
- package/lib/src/registry/registryAccess.js.map +1 -1
- package/lib/src/registry/types.d.ts +47 -0
- package/lib/src/registry/types.js.map +1 -1
- package/lib/src/resolve/adapters/baseSourceAdapter.d.ts +1 -0
- package/lib/src/resolve/adapters/baseSourceAdapter.js +47 -15
- package/lib/src/resolve/adapters/baseSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/decomposedSourceAdapter.js +2 -1
- package/lib/src/resolve/adapters/decomposedSourceAdapter.js.map +1 -1
- package/lib/src/resolve/forceIgnore.d.ts +0 -5
- package/lib/src/resolve/forceIgnore.js +10 -91
- package/lib/src/resolve/forceIgnore.js.map +1 -1
- package/lib/src/resolve/manifestResolver.d.ts +1 -0
- package/lib/src/resolve/manifestResolver.js +28 -6
- package/lib/src/resolve/manifestResolver.js.map +1 -1
- package/lib/src/resolve/metadataResolver.d.ts +7 -3
- package/lib/src/resolve/metadataResolver.js +28 -3
- package/lib/src/resolve/metadataResolver.js.map +1 -1
- package/lib/src/resolve/sourceComponent.d.ts +42 -3
- package/lib/src/resolve/sourceComponent.js +106 -33
- package/lib/src/resolve/sourceComponent.js.map +1 -1
- package/lib/src/resolve/treeContainers.js +7 -7
- package/lib/src/resolve/treeContainers.js.map +1 -1
- package/lib/src/utils/fileSystemHandler.js +1 -1
- package/lib/src/utils/fileSystemHandler.js.map +1 -1
- package/lib/src/utils/index.d.ts +1 -1
- package/lib/src/utils/index.js +1 -0
- package/lib/src/utils/index.js.map +1 -1
- package/lib/src/utils/path.d.ts +22 -1
- package/lib/src/utils/path.js +32 -1
- package/lib/src/utils/path.js.map +1 -1
- package/package.json +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataResolver.js","sourceRoot":"","sources":["../../../src/resolve/metadataResolver.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+BAAoD;AACpD,sCAA+C;AAC/C,oCAAiE;AACjE,0EAAuE;AACvE,+CAA4C;AAE5C,qDAAsE;AACtE,+DAA4D;AAI5D;;;GAGG;AACH,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"metadataResolver.js","sourceRoot":"","sources":["../../../src/resolve/metadataResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,14 @@ import { MetadataComponent, VirtualDirectory } from './types';
|
|
|
4
4
|
import { JsonMap } from '@salesforce/ts-types';
|
|
5
5
|
import { SfdxFileFormat } from '../convert';
|
|
6
6
|
import { MetadataType } from '../registry';
|
|
7
|
+
import { DestructiveChangesType } from '../collections';
|
|
7
8
|
export declare type ComponentProperties = {
|
|
8
9
|
name: string;
|
|
9
10
|
type: MetadataType;
|
|
10
11
|
xml?: string;
|
|
11
12
|
content?: string;
|
|
12
13
|
parent?: SourceComponent;
|
|
14
|
+
parentType?: MetadataType;
|
|
13
15
|
};
|
|
14
16
|
/**
|
|
15
17
|
* Representation of a MetadataComponent in a file tree.
|
|
@@ -19,26 +21,63 @@ export declare class SourceComponent implements MetadataComponent {
|
|
|
19
21
|
readonly type: MetadataType;
|
|
20
22
|
readonly xml?: string;
|
|
21
23
|
readonly parent?: SourceComponent;
|
|
24
|
+
parentType?: MetadataType;
|
|
22
25
|
content?: string;
|
|
23
26
|
private _tree;
|
|
24
27
|
private forceIgnore;
|
|
25
28
|
private markedForDelete;
|
|
29
|
+
private destructiveChangesType;
|
|
26
30
|
constructor(props: ComponentProperties, tree?: TreeContainer, forceIgnore?: ForceIgnore);
|
|
27
31
|
static createVirtualComponent(props: ComponentProperties, fs: VirtualDirectory[], forceIgnore?: ForceIgnore): SourceComponent;
|
|
28
32
|
walkContent(): string[];
|
|
33
|
+
/**
|
|
34
|
+
* returns the children of a parent SourceComponent
|
|
35
|
+
*
|
|
36
|
+
* Ensures that the children of SourceComponent are valid child types.
|
|
37
|
+
* Invalid child types can occur when projects are structured in an atypical way such as having
|
|
38
|
+
* ApexClasses or Layouts within a CustomObject folder.
|
|
39
|
+
*
|
|
40
|
+
* @return SourceComponent[] containing valid children
|
|
41
|
+
*/
|
|
29
42
|
getChildren(): SourceComponent[];
|
|
30
|
-
parseXml<T = JsonMap>(): Promise<T>;
|
|
31
|
-
parseXmlSync<T = JsonMap>(): T;
|
|
43
|
+
parseXml<T = JsonMap>(xmlFilePath?: string): Promise<T>;
|
|
44
|
+
parseXmlSync<T = JsonMap>(xmlFilePath?: string): T;
|
|
45
|
+
/**
|
|
46
|
+
* As a performance enhancement, use the already parsed parent xml source
|
|
47
|
+
* to return the child section of xml source. This is useful for non-decomposed
|
|
48
|
+
* transformers where all child source components reference the parent's
|
|
49
|
+
* xml file to prevent re-reading the same file multiple times.
|
|
50
|
+
*
|
|
51
|
+
* @param parentXml parsed parent XMl source as an object
|
|
52
|
+
* @returns child section of the parent's xml
|
|
53
|
+
*/
|
|
54
|
+
parseFromParentXml<T = JsonMap>(parentXml: T): T;
|
|
32
55
|
getPackageRelativePath(fsPath: string, format: SfdxFileFormat): string;
|
|
33
56
|
/**
|
|
34
57
|
* @returns whether this component should be part of destructive changes.
|
|
35
58
|
*/
|
|
36
59
|
isMarkedForDelete(): boolean;
|
|
37
|
-
|
|
60
|
+
getDestructiveChangesType(): DestructiveChangesType;
|
|
61
|
+
setMarkedForDelete(destructiveChangeType?: DestructiveChangesType | boolean): void;
|
|
62
|
+
private calculateRelativePath;
|
|
38
63
|
private parse;
|
|
39
64
|
private getDecomposedChildren;
|
|
40
65
|
private getNonDecomposedChildren;
|
|
41
66
|
private walk;
|
|
42
67
|
get fullName(): string;
|
|
43
68
|
get tree(): TreeContainer;
|
|
69
|
+
/**
|
|
70
|
+
* Returns whether this component type is supported by the Metadata API
|
|
71
|
+
* and therefore should have an entry added to the manifest.
|
|
72
|
+
*
|
|
73
|
+
* This is defined on the type in the registry. The type is required to
|
|
74
|
+
* be in the registry for proper classification and for possible use in
|
|
75
|
+
* decomposition/recomposition.
|
|
76
|
+
*
|
|
77
|
+
* Default value is true, so the only way to return false is to explicitly
|
|
78
|
+
* set it in the registry as false.
|
|
79
|
+
*
|
|
80
|
+
* E.g., CustomFieldTranslation.
|
|
81
|
+
*/
|
|
82
|
+
get isAddressable(): boolean;
|
|
44
83
|
}
|
|
@@ -23,7 +23,8 @@ const treeContainers_1 = require("./treeContainers");
|
|
|
23
23
|
const utils_1 = require("../utils");
|
|
24
24
|
const common_1 = require("../common");
|
|
25
25
|
const ts_types_1 = require("@salesforce/ts-types");
|
|
26
|
-
const
|
|
26
|
+
const errors_1 = require("../errors");
|
|
27
|
+
const collections_1 = require("../collections");
|
|
27
28
|
/**
|
|
28
29
|
* Representation of a MetadataComponent in a file tree.
|
|
29
30
|
*/
|
|
@@ -35,6 +36,7 @@ class SourceComponent {
|
|
|
35
36
|
this.xml = props.xml;
|
|
36
37
|
this.parent = props.parent;
|
|
37
38
|
this.content = props.content;
|
|
39
|
+
this.parentType = props.parentType;
|
|
38
40
|
this._tree = tree;
|
|
39
41
|
this.forceIgnore = forceIgnore;
|
|
40
42
|
}
|
|
@@ -53,50 +55,71 @@ class SourceComponent {
|
|
|
53
55
|
}
|
|
54
56
|
return sources;
|
|
55
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* returns the children of a parent SourceComponent
|
|
60
|
+
*
|
|
61
|
+
* Ensures that the children of SourceComponent are valid child types.
|
|
62
|
+
* Invalid child types can occur when projects are structured in an atypical way such as having
|
|
63
|
+
* ApexClasses or Layouts within a CustomObject folder.
|
|
64
|
+
*
|
|
65
|
+
* @return SourceComponent[] containing valid children
|
|
66
|
+
*/
|
|
56
67
|
getChildren() {
|
|
68
|
+
var _a, _b, _c, _d;
|
|
57
69
|
if (!this.parent && this.type.children) {
|
|
58
|
-
|
|
70
|
+
const children = this.content
|
|
59
71
|
? this.getDecomposedChildren(this.content)
|
|
60
72
|
: this.getNonDecomposedChildren();
|
|
73
|
+
const validChildTypes = ((_a = this.type) === null || _a === void 0 ? void 0 : _a.children) ? Object.keys((_c = (_b = this.type) === null || _b === void 0 ? void 0 : _b.children) === null || _c === void 0 ? void 0 : _c.types) : [];
|
|
74
|
+
for (const child of children) {
|
|
75
|
+
// Ensure only valid child types are included with the parent.
|
|
76
|
+
if (!validChildTypes.includes((_d = child.type) === null || _d === void 0 ? void 0 : _d.id)) {
|
|
77
|
+
const filePath = child.xml || child.content;
|
|
78
|
+
throw new errors_1.TypeInferenceError('error_unexpected_child_type', [filePath, this.type.name]);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return children;
|
|
61
82
|
}
|
|
62
83
|
return [];
|
|
63
84
|
}
|
|
64
|
-
parseXml() {
|
|
85
|
+
parseXml(xmlFilePath) {
|
|
65
86
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
|
|
67
|
-
|
|
87
|
+
const xml = xmlFilePath !== null && xmlFilePath !== void 0 ? xmlFilePath : this.xml;
|
|
88
|
+
if (xml) {
|
|
89
|
+
const contents = yield this.tree.readFile(xml);
|
|
68
90
|
return this.parse(contents.toString());
|
|
69
91
|
}
|
|
70
92
|
return {};
|
|
71
93
|
});
|
|
72
94
|
}
|
|
73
|
-
parseXmlSync() {
|
|
74
|
-
|
|
75
|
-
|
|
95
|
+
parseXmlSync(xmlFilePath) {
|
|
96
|
+
const xml = xmlFilePath !== null && xmlFilePath !== void 0 ? xmlFilePath : this.xml;
|
|
97
|
+
if (xml) {
|
|
98
|
+
const contents = this.tree.readFileSync(xml);
|
|
76
99
|
return this.parse(contents.toString());
|
|
77
100
|
}
|
|
78
101
|
return {};
|
|
79
102
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
relativePath = path_1.join(directoryName, path_1.basename(fsPath));
|
|
95
|
-
}
|
|
96
|
-
if (format === 'source') {
|
|
97
|
-
return path_1.join(common_1.DEFAULT_PACKAGE_ROOT_SFDX, relativePath);
|
|
103
|
+
/**
|
|
104
|
+
* As a performance enhancement, use the already parsed parent xml source
|
|
105
|
+
* to return the child section of xml source. This is useful for non-decomposed
|
|
106
|
+
* transformers where all child source components reference the parent's
|
|
107
|
+
* xml file to prevent re-reading the same file multiple times.
|
|
108
|
+
*
|
|
109
|
+
* @param parentXml parsed parent XMl source as an object
|
|
110
|
+
* @returns child section of the parent's xml
|
|
111
|
+
*/
|
|
112
|
+
parseFromParentXml(parentXml) {
|
|
113
|
+
if (!this.parent) {
|
|
114
|
+
return parentXml;
|
|
98
115
|
}
|
|
99
|
-
|
|
116
|
+
const children = utils_1.normalizeToArray(ts_types_1.get(parentXml, `${this.parent.type.name}.${this.type.xmlElementName || this.type.directoryName}`));
|
|
117
|
+
return children.find((c) => ts_types_1.getString(c, this.type.uniqueIdElement) === this.name);
|
|
118
|
+
}
|
|
119
|
+
getPackageRelativePath(fsPath, format) {
|
|
120
|
+
return format === 'source'
|
|
121
|
+
? path_1.join(common_1.DEFAULT_PACKAGE_ROOT_SFDX, this.calculateRelativePath(fsPath))
|
|
122
|
+
: this.calculateRelativePath(fsPath);
|
|
100
123
|
}
|
|
101
124
|
/**
|
|
102
125
|
* @returns whether this component should be part of destructive changes.
|
|
@@ -104,8 +127,41 @@ class SourceComponent {
|
|
|
104
127
|
isMarkedForDelete() {
|
|
105
128
|
return this.markedForDelete;
|
|
106
129
|
}
|
|
107
|
-
|
|
108
|
-
this.
|
|
130
|
+
getDestructiveChangesType() {
|
|
131
|
+
return this.destructiveChangesType;
|
|
132
|
+
}
|
|
133
|
+
setMarkedForDelete(destructiveChangeType) {
|
|
134
|
+
if (destructiveChangeType === false) {
|
|
135
|
+
this.markedForDelete = false;
|
|
136
|
+
// unset destructiveChangesType if it was already set
|
|
137
|
+
delete this.destructiveChangesType;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
this.markedForDelete = true;
|
|
141
|
+
destructiveChangeType === collections_1.DestructiveChangesType.PRE
|
|
142
|
+
? (this.destructiveChangesType = collections_1.DestructiveChangesType.PRE)
|
|
143
|
+
: (this.destructiveChangesType = collections_1.DestructiveChangesType.POST);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
calculateRelativePath(fsPath) {
|
|
147
|
+
var _a, _b;
|
|
148
|
+
const { directoryName, suffix, inFolder, folderType, folderContentType } = this.type;
|
|
149
|
+
// if there isn't a suffix, assume this is a mixed content component that must
|
|
150
|
+
// reside in the directoryName of its type. trimUntil maintains the folder structure
|
|
151
|
+
// the file resides in for the new destination. This also applies to inFolder types:
|
|
152
|
+
// (report, dashboard, emailTemplate, document) and their folder container types:
|
|
153
|
+
// (reportFolder, dashboardFolder, emailFolder, documentFolder)
|
|
154
|
+
if (!suffix || inFolder || folderContentType) {
|
|
155
|
+
return utils_1.trimUntil(fsPath, directoryName);
|
|
156
|
+
}
|
|
157
|
+
if (folderType) {
|
|
158
|
+
// types like Territory2Model have child types inside them. We have to preserve those folder structures
|
|
159
|
+
if (((_a = this.parentType) === null || _a === void 0 ? void 0 : _a.folderType) && ((_b = this.parentType) === null || _b === void 0 ? void 0 : _b.folderType) !== this.type.id) {
|
|
160
|
+
return utils_1.trimUntil(fsPath, this.parentType.directoryName);
|
|
161
|
+
}
|
|
162
|
+
return path_1.join(directoryName, this.fullName.split('/')[0], path_1.basename(fsPath));
|
|
163
|
+
}
|
|
164
|
+
return path_1.join(directoryName, path_1.basename(fsPath));
|
|
109
165
|
}
|
|
110
166
|
parse(contents) {
|
|
111
167
|
// include tag attributes and don't parse text node as number
|
|
@@ -118,8 +174,7 @@ class SourceComponent {
|
|
|
118
174
|
return parsed;
|
|
119
175
|
}
|
|
120
176
|
else if (this.parent) {
|
|
121
|
-
|
|
122
|
-
return children.find((c) => ts_types_1.getString(c, this.type.uniqueIdElement) === this.name);
|
|
177
|
+
return this.parseFromParentXml(parsed);
|
|
123
178
|
}
|
|
124
179
|
else {
|
|
125
180
|
return parsed;
|
|
@@ -144,15 +199,17 @@ class SourceComponent {
|
|
|
144
199
|
}
|
|
145
200
|
return children;
|
|
146
201
|
}
|
|
202
|
+
// Get the children for non-decomposed types that have an xmlElementName
|
|
203
|
+
// and uniqueIdElement defined in the registry.
|
|
204
|
+
// E.g., CustomLabels, Workflows, SharingRules, AssignmentRules.
|
|
147
205
|
getNonDecomposedChildren() {
|
|
148
|
-
// this method only applies to customlabels type
|
|
149
206
|
const parsed = this.parseXmlSync();
|
|
150
|
-
const xmlPathToChildren = `${this.type.name}.${this.type.directoryName}`;
|
|
151
207
|
const children = [];
|
|
152
208
|
for (const childTypeId of Object.keys(this.type.children.types)) {
|
|
153
209
|
const childType = this.type.children.types[childTypeId];
|
|
154
210
|
const uniqueIdElement = childType.uniqueIdElement;
|
|
155
211
|
if (uniqueIdElement) {
|
|
212
|
+
const xmlPathToChildren = `${this.type.name}.${childType.xmlElementName}`;
|
|
156
213
|
const elements = utils_1.normalizeToArray(ts_types_1.get(parsed, xmlPathToChildren, []));
|
|
157
214
|
const childComponents = elements.map((element) => {
|
|
158
215
|
return new SourceComponent({
|
|
@@ -200,6 +257,22 @@ class SourceComponent {
|
|
|
200
257
|
get tree() {
|
|
201
258
|
return this._tree;
|
|
202
259
|
}
|
|
260
|
+
/**
|
|
261
|
+
* Returns whether this component type is supported by the Metadata API
|
|
262
|
+
* and therefore should have an entry added to the manifest.
|
|
263
|
+
*
|
|
264
|
+
* This is defined on the type in the registry. The type is required to
|
|
265
|
+
* be in the registry for proper classification and for possible use in
|
|
266
|
+
* decomposition/recomposition.
|
|
267
|
+
*
|
|
268
|
+
* Default value is true, so the only way to return false is to explicitly
|
|
269
|
+
* set it in the registry as false.
|
|
270
|
+
*
|
|
271
|
+
* E.g., CustomFieldTranslation.
|
|
272
|
+
*/
|
|
273
|
+
get isAddressable() {
|
|
274
|
+
return this.type.isAddressable !== false;
|
|
275
|
+
}
|
|
203
276
|
}
|
|
204
277
|
exports.SourceComponent = SourceComponent;
|
|
205
278
|
//# sourceMappingURL=sourceComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceComponent.js","sourceRoot":"","sources":["../../../src/resolve/sourceComponent.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;GAKG;AACH,+BAAsC;AACtC,qDAAwC;AACxC,+CAA4C;AAC5C,qDAA4F;AAE5F,
|
|
1
|
+
{"version":3,"file":"sourceComponent.js","sourceRoot":"","sources":["../../../src/resolve/sourceComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ exports.VirtualTreeContainer = exports.ZipTreeContainer = exports.NodeFSTreeCont
|
|
|
18
18
|
*/
|
|
19
19
|
const path_1 = require("path");
|
|
20
20
|
const utils_1 = require("../utils");
|
|
21
|
-
const
|
|
21
|
+
const graceful_fs_1 = require("graceful-fs");
|
|
22
22
|
const errors_1 = require("../errors");
|
|
23
23
|
const unzipper = require("unzipper");
|
|
24
24
|
/**
|
|
@@ -53,23 +53,23 @@ exports.TreeContainer = TreeContainer;
|
|
|
53
53
|
*/
|
|
54
54
|
class NodeFSTreeContainer extends TreeContainer {
|
|
55
55
|
isDirectory(fsPath) {
|
|
56
|
-
return
|
|
56
|
+
return graceful_fs_1.lstatSync(fsPath).isDirectory();
|
|
57
57
|
}
|
|
58
58
|
exists(fsPath) {
|
|
59
|
-
return
|
|
59
|
+
return graceful_fs_1.existsSync(fsPath);
|
|
60
60
|
}
|
|
61
61
|
readDirectory(fsPath) {
|
|
62
|
-
return
|
|
62
|
+
return graceful_fs_1.readdirSync(fsPath);
|
|
63
63
|
}
|
|
64
64
|
readFile(fsPath) {
|
|
65
65
|
// significant enough performance increase using sync instead of fs.promise version
|
|
66
|
-
return Promise.resolve(
|
|
66
|
+
return Promise.resolve(graceful_fs_1.readFileSync(fsPath));
|
|
67
67
|
}
|
|
68
68
|
readFileSync(fsPath) {
|
|
69
|
-
return
|
|
69
|
+
return graceful_fs_1.readFileSync(fsPath);
|
|
70
70
|
}
|
|
71
71
|
stream(fsPath) {
|
|
72
|
-
return
|
|
72
|
+
return graceful_fs_1.createReadStream(fsPath);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
exports.NodeFSTreeContainer = NodeFSTreeContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeContainers.js","sourceRoot":"","sources":["../../../src/resolve/treeContainers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;GAKG;AACH,+BAA0D;AAC1D,oCAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"treeContainers.js","sourceRoot":"","sources":["../../../src/resolve/treeContainers.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.searchUp = exports.createFiles = exports.ensureFileExists = exports.ensureDirectoryExists = void 0;
|
|
10
|
-
const fs = require("fs");
|
|
10
|
+
const fs = require("graceful-fs");
|
|
11
11
|
const path = require("path");
|
|
12
12
|
function ensureDirectoryExists(filePath) {
|
|
13
13
|
if (fs.existsSync(filePath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSystemHandler.js","sourceRoot":"","sources":["../../../src/utils/fileSystemHandler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"fileSystemHandler.js","sourceRoot":"","sources":["../../../src/utils/fileSystemHandler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,kCAAkC;AAClC,6BAA6B;AAG7B,SAAgB,qBAAqB,CAAC,QAAgB;IACpD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO;KACR;IACD,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAND,sDAMC;AAED,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAHD,4CAGC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,OAA4B;IACtD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;QACrC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE3B,MAAM,WAAW,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnD,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,WAAW,CAAC,GAAG,EAAE,CAAC;KACnB;AACH,CAAC;AARD,kCAQC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,KAAiB,EAAE,QAAgB;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,QAAQ,CAAC;KACjB;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO;KACR;IACD,OAAO,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC;AAVD,4BAUC"}
|
package/lib/src/utils/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createFiles } from './fileSystemHandler';
|
|
2
2
|
export { generateMetaXML, generateMetaXMLPath, trimMetaXmlSuffix } from './metadata';
|
|
3
|
-
export { extName, baseName, parseMetadataXml, parentName, trimUntil } from './path';
|
|
3
|
+
export { extName, baseName, parseMetadataXml, parentName, trimUntil, parseNestedFullName, } from './path';
|
|
4
4
|
export { normalizeToArray, deepFreeze } from './collections';
|
package/lib/src/utils/index.js
CHANGED
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "baseName", { enumerable: true, get: function ()
|
|
|
18
18
|
Object.defineProperty(exports, "parseMetadataXml", { enumerable: true, get: function () { return path_1.parseMetadataXml; } });
|
|
19
19
|
Object.defineProperty(exports, "parentName", { enumerable: true, get: function () { return path_1.parentName; } });
|
|
20
20
|
Object.defineProperty(exports, "trimUntil", { enumerable: true, get: function () { return path_1.trimUntil; } });
|
|
21
|
+
Object.defineProperty(exports, "parseNestedFullName", { enumerable: true, get: function () { return path_1.parseNestedFullName; } });
|
|
21
22
|
var collections_1 = require("./collections");
|
|
22
23
|
Object.defineProperty(exports, "normalizeToArray", { enumerable: true, get: function () { return collections_1.normalizeToArray; } });
|
|
23
24
|
Object.defineProperty(exports, "deepFreeze", { enumerable: true, get: function () { return collections_1.deepFreeze; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yDAAkD;AAAzC,gHAAA,WAAW,OAAA;AACpB,uCAAqF;AAA5E,2GAAA,eAAe,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAChE,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yDAAkD;AAAzC,gHAAA,WAAW,OAAA;AACpB,uCAAqF;AAA5E,2GAAA,eAAe,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAChE,+BAOgB;AANd,+FAAA,OAAO,OAAA;AACP,gGAAA,QAAQ,OAAA;AACR,wGAAA,gBAAgB,OAAA;AAChB,kGAAA,UAAU,OAAA;AACV,iGAAA,SAAS,OAAA;AACT,2GAAA,mBAAmB,OAAA;AAErB,6CAA6D;AAApD,+GAAA,gBAAgB,OAAA;AAAE,yGAAA,UAAU,OAAA"}
|
package/lib/src/utils/path.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SourcePath } from '../common';
|
|
2
2
|
import { MetadataXml } from '../resolve';
|
|
3
|
+
import { Optional } from '@salesforce/ts-types';
|
|
3
4
|
/**
|
|
4
5
|
* Get the file or directory name at the end of a path. Different from `path.basename`
|
|
5
6
|
* in that it strips anything after the first '.' in the name.
|
|
@@ -32,4 +33,24 @@ export declare function trimUntil(fsPath: SourcePath, part: string): string;
|
|
|
32
33
|
* @param fsPath - File path to parse
|
|
33
34
|
* @returns MetadataXml info or undefined
|
|
34
35
|
*/
|
|
35
|
-
export declare function parseMetadataXml(fsPath: string): MetadataXml
|
|
36
|
+
export declare function parseMetadataXml(fsPath: string): Optional<MetadataXml>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the fullName for a nested metadata source file. This is for metadata
|
|
39
|
+
* types that can be nested more than 1 level such as report and reportFolder,
|
|
40
|
+
* dashboard and dashboardFolder, etc. It uses the directory name for the metadata type
|
|
41
|
+
* as the starting point (non-inclusively) to parse the fullName.
|
|
42
|
+
*
|
|
43
|
+
* Examples:
|
|
44
|
+
* (source format path)
|
|
45
|
+
* fsPath: force-app/main/default/reports/foo/bar/My_Report.report-meta.xml
|
|
46
|
+
* returns: foo/bar/My_Report
|
|
47
|
+
*
|
|
48
|
+
* (mdapi format path)
|
|
49
|
+
* fsPath: unpackaged/reports/foo/bar-meta.xml
|
|
50
|
+
* returns: foo/bar
|
|
51
|
+
*
|
|
52
|
+
* @param fsPath - File path to parse
|
|
53
|
+
* @param directoryName - name of directory to use as a parsing index
|
|
54
|
+
* @returns the FullName
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseNestedFullName(fsPath: string, directoryName: string): Optional<string>;
|
package/lib/src/utils/path.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.parseMetadataXml = exports.trimUntil = exports.parentName = exports.extName = exports.baseName = void 0;
|
|
9
|
+
exports.parseNestedFullName = exports.parseMetadataXml = exports.trimUntil = exports.parentName = exports.extName = exports.baseName = void 0;
|
|
10
10
|
const path_1 = require("path");
|
|
11
11
|
/**
|
|
12
12
|
* Get the file or directory name at the end of a path. Different from `path.basename`
|
|
@@ -65,4 +65,35 @@ function parseMetadataXml(fsPath) {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
exports.parseMetadataXml = parseMetadataXml;
|
|
68
|
+
/**
|
|
69
|
+
* Returns the fullName for a nested metadata source file. This is for metadata
|
|
70
|
+
* types that can be nested more than 1 level such as report and reportFolder,
|
|
71
|
+
* dashboard and dashboardFolder, etc. It uses the directory name for the metadata type
|
|
72
|
+
* as the starting point (non-inclusively) to parse the fullName.
|
|
73
|
+
*
|
|
74
|
+
* Examples:
|
|
75
|
+
* (source format path)
|
|
76
|
+
* fsPath: force-app/main/default/reports/foo/bar/My_Report.report-meta.xml
|
|
77
|
+
* returns: foo/bar/My_Report
|
|
78
|
+
*
|
|
79
|
+
* (mdapi format path)
|
|
80
|
+
* fsPath: unpackaged/reports/foo/bar-meta.xml
|
|
81
|
+
* returns: foo/bar
|
|
82
|
+
*
|
|
83
|
+
* @param fsPath - File path to parse
|
|
84
|
+
* @param directoryName - name of directory to use as a parsing index
|
|
85
|
+
* @returns the FullName
|
|
86
|
+
*/
|
|
87
|
+
function parseNestedFullName(fsPath, directoryName) {
|
|
88
|
+
const pathSplits = fsPath.split(path_1.sep);
|
|
89
|
+
// Exit if the directoryName is not included in the file path.
|
|
90
|
+
if (!pathSplits.includes(directoryName)) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const pathPrefix = pathSplits.slice(pathSplits.lastIndexOf(directoryName) + 1);
|
|
94
|
+
const fileName = pathSplits.pop().replace('-meta.xml', '').split('.')[0];
|
|
95
|
+
pathPrefix[pathPrefix.length - 1] = fileName;
|
|
96
|
+
return pathPrefix.join('/');
|
|
97
|
+
}
|
|
98
|
+
exports.parseNestedFullName = parseNestedFullName;
|
|
68
99
|
//# sourceMappingURL=path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src/utils/path.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+BAAuD;
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src/utils/path.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+BAAuD;AAKvD;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,MAAkB;IACzC,OAAO,eAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAFD,4BAEC;AAED;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,MAAkB;IACxC,MAAM,KAAK,GAAG,cAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAHD,0BAGC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,MAAkB;IAC3C,OAAO,eAAQ,CAAC,cAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC;AAFD,gCAEC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,MAAkB,EAAE,IAAY;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IACrD,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;QACpB,OAAO,MAAM,CAAC;KACf;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAG,CAAC,CAAC;AAC1C,CAAC;AAPD,8BAOC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAG,eAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC7D,IAAI,KAAK,EAAE;QACT,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC/D;AACH,CAAC;AALD,4CAKC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,mBAAmB,CAAC,MAAc,EAAE,aAAqB;IACvE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC;IACrC,8DAA8D;IAC9D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvC,OAAO;KACR;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IAC7C,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAVD,kDAUC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/source-deploy-retrieve",
|
|
3
|
-
"version": "5.0.0
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "JavaScript library to run Salesforce metadata deploys and retrieves",
|
|
5
5
|
"main": "lib/src/index.js",
|
|
6
6
|
"author": "Salesforce",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"node": ">=12.11.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@salesforce/core": "2.
|
|
30
|
+
"@salesforce/core": "2.28.0",
|
|
31
31
|
"@salesforce/kit": "^1.5.0",
|
|
32
32
|
"@salesforce/ts-types": "^1.4.2",
|
|
33
33
|
"archiver": "^5.3.0",
|
|
34
34
|
"fast-xml-parser": "^3.17.4",
|
|
35
|
-
"
|
|
35
|
+
"graceful-fs": "^4.2.8",
|
|
36
36
|
"ignore": "^5.1.8",
|
|
37
37
|
"mime": "2.4.6",
|
|
38
38
|
"unzipper": "0.10.11",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"@types/mkdirp": "0.5.2",
|
|
51
51
|
"@types/mocha": "^5",
|
|
52
52
|
"@types/node": "^12.11.0",
|
|
53
|
+
"@types/shelljs": "^0.8.9",
|
|
53
54
|
"@types/sinon": "^7.5.2",
|
|
54
55
|
"@types/unzipper": "^0.10.3",
|
|
55
56
|
"@typescript-eslint/eslint-plugin": "^2.22.0",
|
|
@@ -64,6 +65,7 @@
|
|
|
64
65
|
"eslint-plugin-header": "^3.0.0",
|
|
65
66
|
"eslint-plugin-jsdoc": "^19.1.0",
|
|
66
67
|
"eslint-plugin-prettier": "^3.1.4",
|
|
68
|
+
"got": "^11.8.2",
|
|
67
69
|
"husky": "^4.2.5",
|
|
68
70
|
"lint-staged": "^10.2.11",
|
|
69
71
|
"mocha": "^5",
|
|
@@ -74,6 +76,7 @@
|
|
|
74
76
|
"shx": "^0.3.2",
|
|
75
77
|
"sinon": "^7.3.1",
|
|
76
78
|
"source-map-support": "^0.5.16",
|
|
79
|
+
"ts-node": "^10.2.1",
|
|
77
80
|
"typedoc": "^0.20.33",
|
|
78
81
|
"typescript": "3.9.7"
|
|
79
82
|
},
|
|
@@ -89,9 +92,10 @@
|
|
|
89
92
|
"local:link": "./scripts/localInstall.js link",
|
|
90
93
|
"local:unlink": "./scripts/localInstall.js unlink",
|
|
91
94
|
"repl": "node --inspect ./scripts/repl.js",
|
|
92
|
-
"test": "
|
|
95
|
+
"test": "nyc mocha \"lib/test/**/*.js\"",
|
|
96
|
+
"test:registry": "mocha ./lib/test/registry/registryCompleteness.test.js",
|
|
93
97
|
"coverage": "nyc report --reporter=lcov",
|
|
94
|
-
"update-registry": "node
|
|
98
|
+
"update-registry": "npx ts-node scripts/update-registry/update2.ts"
|
|
95
99
|
},
|
|
96
100
|
"husky": {
|
|
97
101
|
"hooks": {
|