@salesforce/source-deploy-retrieve 5.0.0-orb.2 → 5.0.2
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 +186 -101
- package/LICENSE.txt +12 -0
- package/README.md +2 -2
- package/lib/src/client/deployStrategies/auraDeploy.d.ts +2 -2
- package/lib/src/client/deployStrategies/auraDeploy.js +99 -109
- package/lib/src/client/deployStrategies/auraDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/baseDeploy.d.ts +1 -1
- package/lib/src/client/deployStrategies/baseDeploy.js +37 -38
- package/lib/src/client/deployStrategies/baseDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/containerDeploy.d.ts +2 -2
- package/lib/src/client/deployStrategies/containerDeploy.js +58 -73
- package/lib/src/client/deployStrategies/containerDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/index.js +4 -3
- package/lib/src/client/deployStrategies/index.js.map +1 -1
- package/lib/src/client/deployStrategies/lwcDeploy.d.ts +2 -2
- package/lib/src/client/deployStrategies/lwcDeploy.js +98 -109
- package/lib/src/client/deployStrategies/lwcDeploy.js.map +1 -1
- package/lib/src/client/diagnosticUtil.d.ts +1 -1
- package/lib/src/client/diagnosticUtil.js +11 -11
- package/lib/src/client/diagnosticUtil.js.map +1 -1
- package/lib/src/client/index.d.ts +1 -1
- package/lib/src/client/index.js +1 -1
- package/lib/src/client/index.js.map +1 -1
- package/lib/src/client/metadataApiDeploy.d.ts +4 -4
- package/lib/src/client/metadataApiDeploy.js +57 -73
- package/lib/src/client/metadataApiDeploy.js.map +1 -1
- package/lib/src/client/metadataApiRetrieve.d.ts +10 -3
- package/lib/src/client/metadataApiRetrieve.js +102 -111
- package/lib/src/client/metadataApiRetrieve.js.map +1 -1
- package/lib/src/client/metadataTransfer.d.ts +2 -2
- package/lib/src/client/metadataTransfer.js +102 -118
- package/lib/src/client/metadataTransfer.js.map +1 -1
- package/lib/src/client/retrieveUtil.d.ts +1 -1
- package/lib/src/client/retrieveUtil.js +17 -17
- package/lib/src/client/retrieveUtil.js.map +1 -1
- package/lib/src/client/toolingApi.d.ts +2 -2
- package/lib/src/client/toolingApi.js +71 -94
- package/lib/src/client/toolingApi.js.map +1 -1
- package/lib/src/client/types.js +1 -14
- package/lib/src/client/types.js.map +1 -1
- package/lib/src/collections/componentSet.d.ts +16 -10
- package/lib/src/collections/componentSet.js +160 -114
- package/lib/src/collections/componentSet.js.map +1 -1
- package/lib/src/collections/index.js +1 -0
- package/lib/src/collections/index.js.map +1 -1
- package/lib/src/collections/lazyCollection.js +5 -1
- package/lib/src/collections/lazyCollection.js.map +1 -1
- package/lib/src/collections/types.d.ts +8 -0
- package/lib/src/common/constants.js +1 -1
- package/lib/src/common/constants.js.map +1 -1
- package/lib/src/common/index.d.ts +1 -1
- package/lib/src/common/index.js +1 -0
- package/lib/src/common/index.js.map +1 -1
- package/lib/src/convert/convertContext.d.ts +9 -10
- package/lib/src/convert/convertContext.js +165 -173
- package/lib/src/convert/convertContext.js.map +1 -1
- package/lib/src/convert/index.js +1 -0
- package/lib/src/convert/index.js.map +1 -1
- package/lib/src/convert/metadataConverter.d.ts +3 -18
- package/lib/src/convert/metadataConverter.js +112 -110
- package/lib/src/convert/metadataConverter.js.map +1 -1
- package/lib/src/convert/streams.d.ts +4 -4
- package/lib/src/convert/streams.js +111 -147
- package/lib/src/convert/streams.js.map +1 -1
- package/lib/src/convert/transformers/baseMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/decomposedMetadataTransformer.d.ts +2 -2
- package/lib/src/convert/transformers/decomposedMetadataTransformer.js +124 -149
- package/lib/src/convert/transformers/decomposedMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/defaultMetadataTransformer.d.ts +1 -1
- package/lib/src/convert/transformers/defaultMetadataTransformer.js +11 -23
- package/lib/src/convert/transformers/defaultMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/index.js +1 -0
- package/lib/src/convert/transformers/index.js.map +1 -1
- package/lib/src/convert/transformers/metadataTransformerFactory.js +1 -1
- package/lib/src/convert/transformers/metadataTransformerFactory.js.map +1 -1
- package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.d.ts +1 -1
- package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.js +18 -29
- package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.d.ts +1 -1
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js +78 -135
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js.map +1 -1
- package/lib/src/convert/types.d.ts +1 -1
- package/lib/src/errors/index.js.map +1 -1
- package/lib/src/i18n/i18n.js +3 -2
- package/lib/src/i18n/i18n.js.map +1 -1
- package/lib/src/i18n/index.js +3 -4
- package/lib/src/i18n/index.js.map +1 -1
- package/lib/src/i18n/localization.js +4 -4
- package/lib/src/i18n/localization.js.map +1 -1
- package/lib/src/index.js +1 -4
- package/lib/src/index.js.map +1 -1
- package/lib/src/registry/index.js +1 -4
- package/lib/src/registry/index.js.map +1 -1
- package/lib/src/registry/{registry.json → metadataRegistry.json} +376 -20
- package/lib/src/registry/nonSupportedTypes.d.ts +11 -0
- package/lib/src/registry/nonSupportedTypes.js +53 -0
- package/lib/src/registry/nonSupportedTypes.js.map +1 -0
- package/lib/src/registry/registry.d.ts +357 -1
- package/lib/src/registry/registry.js +2 -2
- package/lib/src/registry/registry.js.map +1 -1
- package/lib/src/registry/registryAccess.d.ts +12 -0
- package/lib/src/registry/registryAccess.js +25 -2
- package/lib/src/registry/registryAccess.js.map +1 -1
- package/lib/src/registry/types.d.ts +47 -0
- package/lib/src/registry/types.js +0 -35
- package/lib/src/registry/types.js.map +1 -1
- package/lib/src/resolve/adapters/baseSourceAdapter.d.ts +3 -2
- package/lib/src/resolve/adapters/baseSourceAdapter.js +55 -19
- package/lib/src/resolve/adapters/baseSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/bundleSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/bundleSourceAdapter.js +0 -6
- package/lib/src/resolve/adapters/bundleSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/decomposedSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/decomposedSourceAdapter.js +8 -14
- package/lib/src/resolve/adapters/decomposedSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/defaultSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/defaultSourceAdapter.js +0 -6
- package/lib/src/resolve/adapters/defaultSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/index.js +1 -0
- package/lib/src/resolve/adapters/index.js.map +1 -1
- package/lib/src/resolve/adapters/matchingContentSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/matchingContentSourceAdapter.js +2 -2
- package/lib/src/resolve/adapters/matchingContentSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/mixedContentSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/mixedContentSourceAdapter.js +6 -6
- package/lib/src/resolve/adapters/mixedContentSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/sourceAdapterFactory.js +2 -2
- package/lib/src/resolve/adapters/sourceAdapterFactory.js.map +1 -1
- package/lib/src/resolve/forceIgnore.d.ts +0 -5
- package/lib/src/resolve/forceIgnore.js +14 -100
- package/lib/src/resolve/forceIgnore.js.map +1 -1
- package/lib/src/resolve/index.d.ts +1 -1
- package/lib/src/resolve/index.js +1 -0
- package/lib/src/resolve/index.js.map +1 -1
- package/lib/src/resolve/manifestResolver.d.ts +1 -0
- package/lib/src/resolve/manifestResolver.js +42 -31
- package/lib/src/resolve/manifestResolver.js.map +1 -1
- package/lib/src/resolve/metadataResolver.d.ts +12 -7
- package/lib/src/resolve/metadataResolver.js +39 -19
- package/lib/src/resolve/metadataResolver.js.map +1 -1
- package/lib/src/resolve/sourceComponent.d.ts +46 -7
- package/lib/src/resolve/sourceComponent.js +126 -65
- package/lib/src/resolve/sourceComponent.js.map +1 -1
- package/lib/src/resolve/treeContainers.d.ts +1 -1
- package/lib/src/resolve/treeContainers.js +21 -32
- package/lib/src/resolve/treeContainers.js.map +1 -1
- package/lib/src/resolve/types.d.ts +2 -2
- package/lib/src/utils/collections.js +1 -1
- package/lib/src/utils/collections.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 +2 -0
- package/lib/src/utils/index.js.map +1 -1
- package/lib/src/utils/metadata.js +1 -3
- package/lib/src/utils/metadata.js.map +1 -1
- package/lib/src/utils/path.d.ts +26 -1
- package/lib/src/utils/path.js +40 -5
- package/lib/src/utils/path.js.map +1 -1
- package/package.json +44 -35
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.AuraDeploy = void 0;
|
|
13
4
|
/*
|
|
@@ -16,114 +7,115 @@ exports.AuraDeploy = void 0;
|
|
|
16
7
|
* Licensed under the BSD 3-Clause license.
|
|
17
8
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
18
9
|
*/
|
|
19
|
-
const
|
|
10
|
+
const graceful_fs_1 = require("graceful-fs");
|
|
20
11
|
const utils_1 = require("../../utils");
|
|
21
12
|
const types_1 = require("../types");
|
|
22
13
|
const toolingApi_1 = require("../toolingApi");
|
|
23
|
-
const baseDeploy_1 = require("./baseDeploy");
|
|
24
14
|
const diagnosticUtil_1 = require("../diagnosticUtil");
|
|
15
|
+
const baseDeploy_1 = require("./baseDeploy");
|
|
25
16
|
class AuraDeploy extends baseDeploy_1.BaseDeploy {
|
|
26
|
-
deploy(component, namespace) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
status
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
17
|
+
async deploy(component, namespace) {
|
|
18
|
+
this.component = component;
|
|
19
|
+
this.namespace = namespace;
|
|
20
|
+
const auraDefinitions = await this.buildDefList();
|
|
21
|
+
const componentDeployment = await this.upsert(auraDefinitions);
|
|
22
|
+
let status = "Completed" /* Completed */;
|
|
23
|
+
if (componentDeployment.diagnostics.length > 0) {
|
|
24
|
+
status =
|
|
25
|
+
componentDeployment.status !== types_1.ComponentStatus.Failed
|
|
26
|
+
? "CompletedPartial" /* CompletedPartial */
|
|
27
|
+
: "Failed" /* Failed */;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
id: undefined,
|
|
31
|
+
status,
|
|
32
|
+
success: status === "Completed" /* Completed */,
|
|
33
|
+
components: [componentDeployment],
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async buildDefList() {
|
|
37
|
+
const sourceFiles = this.component.walkContent();
|
|
38
|
+
const auraDefinitions = [];
|
|
39
|
+
const existingDefinitions = await this.findAuraDefinitions();
|
|
40
|
+
const auraBundle = existingDefinitions[0]
|
|
41
|
+
? await this.upsertBundle(existingDefinitions[0].AuraDefinitionBundleId)
|
|
42
|
+
: await this.upsertBundle();
|
|
43
|
+
const bundleId = auraBundle.id;
|
|
44
|
+
sourceFiles.forEach((sourceFile) => {
|
|
45
|
+
const source = (0, graceful_fs_1.readFileSync)(sourceFile, 'utf8');
|
|
46
|
+
const suffix = (0, utils_1.extName)(sourceFile);
|
|
47
|
+
const defType = this.getAuraDefType(sourceFile, suffix);
|
|
48
|
+
const format = this.getAuraFormat(suffix);
|
|
49
|
+
let match;
|
|
50
|
+
if (existingDefinitions.length > 0) {
|
|
51
|
+
match = existingDefinitions.find((definition) => definition.DefType === defType);
|
|
38
52
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
53
|
+
// If definition exists in org, assign the matching Id
|
|
54
|
+
// else, assign the id of the bundle it's associated with
|
|
55
|
+
const auraDef = {
|
|
56
|
+
FilePath: sourceFile,
|
|
57
|
+
DefType: defType,
|
|
58
|
+
Source: source,
|
|
59
|
+
Format: format,
|
|
60
|
+
...(match ? { Id: match.Id } : { AuraDefinitionBundleId: bundleId }),
|
|
44
61
|
};
|
|
62
|
+
// This is to ensure we return the correct project path when reporting errors
|
|
63
|
+
// must be the file associated with the specified aura type
|
|
64
|
+
// eslint-disable-next-line no-unused-expressions
|
|
65
|
+
AuraDeploy.AURA_DEF_TYPES.includes(auraDef.DefType)
|
|
66
|
+
? auraDefinitions.unshift(auraDef)
|
|
67
|
+
: auraDefinitions.push(auraDef);
|
|
45
68
|
});
|
|
69
|
+
return auraDefinitions;
|
|
46
70
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
async upsert(auraDefinitions) {
|
|
72
|
+
const type = this.component.type.name;
|
|
73
|
+
const diagnosticUtil = new diagnosticUtil_1.DiagnosticUtil('tooling');
|
|
74
|
+
const deployment = {
|
|
75
|
+
status: types_1.ComponentStatus.Unchanged,
|
|
76
|
+
component: this.component,
|
|
77
|
+
diagnostics: [],
|
|
78
|
+
};
|
|
79
|
+
let partialSuccess = false;
|
|
80
|
+
let allCreate = true;
|
|
81
|
+
const deployPromises = auraDefinitions.map(async (definition) => {
|
|
82
|
+
try {
|
|
83
|
+
if (definition.Id) {
|
|
84
|
+
const formattedDef = {
|
|
85
|
+
Source: definition.Source,
|
|
86
|
+
Id: definition.Id,
|
|
87
|
+
};
|
|
88
|
+
await this.connection.tooling.update(toolingApi_1.deployTypes.get(type), formattedDef);
|
|
89
|
+
allCreate = false;
|
|
90
|
+
partialSuccess = true;
|
|
64
91
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return auraDefinitions;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
upsert(auraDefinitions) {
|
|
78
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
const type = this.component.type.name;
|
|
80
|
-
const diagnosticUtil = new diagnosticUtil_1.DiagnosticUtil('tooling');
|
|
81
|
-
const deployment = {
|
|
82
|
-
status: types_1.ComponentStatus.Unchanged,
|
|
83
|
-
component: this.component,
|
|
84
|
-
diagnostics: [],
|
|
85
|
-
};
|
|
86
|
-
let partialSuccess = false;
|
|
87
|
-
let allCreate = true;
|
|
88
|
-
const deployPromises = auraDefinitions.map((definition) => __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
try {
|
|
90
|
-
if (definition.Id) {
|
|
91
|
-
const formattedDef = {
|
|
92
|
-
Source: definition.Source,
|
|
93
|
-
Id: definition.Id,
|
|
94
|
-
};
|
|
95
|
-
yield this.connection.tooling.update(toolingApi_1.deployTypes.get(type), formattedDef);
|
|
96
|
-
allCreate = false;
|
|
97
|
-
partialSuccess = true;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
const formattedDef = {
|
|
101
|
-
AuraDefinitionBundleId: definition.AuraDefinitionBundleId,
|
|
102
|
-
DefType: definition.DefType,
|
|
103
|
-
Format: definition.Format,
|
|
104
|
-
Source: definition.Source,
|
|
105
|
-
};
|
|
106
|
-
yield this.toolingCreate(toolingApi_1.deployTypes.get(type), formattedDef);
|
|
107
|
-
partialSuccess = true;
|
|
108
|
-
}
|
|
92
|
+
else {
|
|
93
|
+
const formattedDef = {
|
|
94
|
+
AuraDefinitionBundleId: definition.AuraDefinitionBundleId,
|
|
95
|
+
DefType: definition.DefType,
|
|
96
|
+
Format: definition.Format,
|
|
97
|
+
Source: definition.Source,
|
|
98
|
+
};
|
|
99
|
+
await this.toolingCreate(toolingApi_1.deployTypes.get(type), formattedDef);
|
|
100
|
+
partialSuccess = true;
|
|
109
101
|
}
|
|
110
|
-
catch (e) {
|
|
111
|
-
const diagnostic = diagnosticUtil.parseDeployDiagnostic(this.component, e.message);
|
|
112
|
-
deployment.diagnostics.push(diagnostic);
|
|
113
|
-
}
|
|
114
|
-
}));
|
|
115
|
-
yield Promise.all(deployPromises);
|
|
116
|
-
if (deployment.diagnostics.length > 0) {
|
|
117
|
-
deployment.status = partialSuccess ? types_1.ComponentStatus.Changed : types_1.ComponentStatus.Failed;
|
|
118
|
-
}
|
|
119
|
-
else if (allCreate) {
|
|
120
|
-
deployment.status = types_1.ComponentStatus.Created;
|
|
121
102
|
}
|
|
122
|
-
|
|
123
|
-
|
|
103
|
+
catch (e) {
|
|
104
|
+
const diagnostic = diagnosticUtil.parseDeployDiagnostic(this.component, e.message);
|
|
105
|
+
deployment.diagnostics.push(diagnostic);
|
|
124
106
|
}
|
|
125
|
-
return deployment;
|
|
126
107
|
});
|
|
108
|
+
await Promise.all(deployPromises);
|
|
109
|
+
if (deployment.diagnostics.length > 0) {
|
|
110
|
+
deployment.status = partialSuccess ? types_1.ComponentStatus.Changed : types_1.ComponentStatus.Failed;
|
|
111
|
+
}
|
|
112
|
+
else if (allCreate) {
|
|
113
|
+
deployment.status = types_1.ComponentStatus.Created;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
deployment.status = types_1.ComponentStatus.Changed;
|
|
117
|
+
}
|
|
118
|
+
return deployment;
|
|
127
119
|
}
|
|
128
120
|
getAuraFormat(suffix) {
|
|
129
121
|
switch (suffix) {
|
|
@@ -138,7 +130,7 @@ class AuraDeploy extends baseDeploy_1.BaseDeploy {
|
|
|
138
130
|
}
|
|
139
131
|
}
|
|
140
132
|
getAuraDefType(sourcePath, suffix) {
|
|
141
|
-
const fileName = utils_1.baseName(sourcePath);
|
|
133
|
+
const fileName = (0, utils_1.baseName)(sourcePath);
|
|
142
134
|
switch (suffix) {
|
|
143
135
|
case 'app':
|
|
144
136
|
return 'APPLICATION';
|
|
@@ -173,11 +165,9 @@ class AuraDeploy extends baseDeploy_1.BaseDeploy {
|
|
|
173
165
|
return '';
|
|
174
166
|
}
|
|
175
167
|
}
|
|
176
|
-
findAuraDefinitions() {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
return auraDefResult.records;
|
|
180
|
-
});
|
|
168
|
+
async findAuraDefinitions() {
|
|
169
|
+
const auraDefResult = await this.connection.tooling.query(`Select AuraDefinitionBundleId, Id, Format, Source, DefType from AuraDefinition where AuraDefinitionBundle.DeveloperName = '${this.component.fullName}' and AuraDefinitionBundle.NamespacePrefix = '${this.namespace}'`);
|
|
170
|
+
return auraDefResult.records;
|
|
181
171
|
}
|
|
182
172
|
}
|
|
183
173
|
exports.AuraDeploy = AuraDeploy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auraDeploy.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/auraDeploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auraDeploy.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/auraDeploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export declare abstract class BaseDeploy {
|
|
|
14
14
|
apiVersion: string;
|
|
15
15
|
};
|
|
16
16
|
upsertBundle(Id?: string): Promise<ToolingCreateResult>;
|
|
17
|
-
protected toolingCreate(type: string, record:
|
|
17
|
+
protected toolingCreate(type: string, record: Record<string, unknown>): Promise<ToolingCreateResult>;
|
|
18
18
|
protected getFormattedPaths(filepath: string): string[];
|
|
19
19
|
abstract deploy(component: SourceComponent, namespace: string): Promise<SourceDeployResult>;
|
|
20
20
|
}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.BaseDeploy = void 0;
|
|
13
|
-
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
/* eslint @typescript-eslint/no-unsafe-assignment:0, @typescript-eslint/no-unsafe-call:0, @typescript-eslint/no-unsafe-member-access:0 */
|
|
14
11
|
const path_1 = require("path");
|
|
12
|
+
const graceful_fs_1 = require("graceful-fs");
|
|
15
13
|
const errors_1 = require("../../errors");
|
|
16
|
-
//
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-var-requires,@typescript-eslint/no-unsafe-assignment
|
|
17
15
|
const DOMParser = require('xmldom-sfdx-encoding').DOMParser;
|
|
18
16
|
class BaseDeploy {
|
|
19
17
|
constructor(connection) {
|
|
@@ -28,8 +26,13 @@ class BaseDeploy {
|
|
|
28
26
|
const packageNode = document.getElementsByTagName('packageVersions')[0];
|
|
29
27
|
const descriptionNode = document.getElementsByTagName('description')[0];
|
|
30
28
|
const labelNode = document.getElementsByTagName('label')[0];
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
return {
|
|
30
|
+
apiVersion,
|
|
31
|
+
...(statusNode ? { status: statusNode.textContent } : {}),
|
|
32
|
+
...(packageNode ? { packageVersions: packageNode.textContent } : {}),
|
|
33
|
+
...(descriptionNode ? { description: descriptionNode.textContent } : {}),
|
|
34
|
+
...(labelNode ? { label: labelNode.textContent } : {}),
|
|
35
|
+
};
|
|
33
36
|
}
|
|
34
37
|
catch (e) {
|
|
35
38
|
throw new errors_1.DeployError('error_parsing_metadata_file');
|
|
@@ -37,32 +40,28 @@ class BaseDeploy {
|
|
|
37
40
|
}
|
|
38
41
|
// If bundle already exists then use Id and update existing
|
|
39
42
|
// else, create a new bundle
|
|
40
|
-
upsertBundle(Id) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return bundleResult;
|
|
60
|
-
});
|
|
43
|
+
async upsertBundle(Id) {
|
|
44
|
+
const metadataContent = (0, graceful_fs_1.readFileSync)(this.component.xml, 'utf8');
|
|
45
|
+
const metadataField = this.buildMetadataField(metadataContent);
|
|
46
|
+
let bundleResult;
|
|
47
|
+
if (Id) {
|
|
48
|
+
const bundleObject = { Id, Metadata: metadataField };
|
|
49
|
+
bundleResult = (await this.connection.tooling.update(this.component.type.name, bundleObject));
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const bundleObject = {
|
|
53
|
+
FullName: this.component.fullName,
|
|
54
|
+
Metadata: metadataField,
|
|
55
|
+
};
|
|
56
|
+
bundleResult = await this.toolingCreate(this.component.type.name, bundleObject);
|
|
57
|
+
}
|
|
58
|
+
if (!bundleResult.success) {
|
|
59
|
+
throw new errors_1.DeployError('error_creating_metadata_type', this.component.type.name);
|
|
60
|
+
}
|
|
61
|
+
return bundleResult;
|
|
61
62
|
}
|
|
62
|
-
toolingCreate(type, record) {
|
|
63
|
-
return
|
|
64
|
-
return (yield this.connection.tooling.create(type, record));
|
|
65
|
-
});
|
|
63
|
+
async toolingCreate(type, record) {
|
|
64
|
+
return (await this.connection.tooling.create(type, record));
|
|
66
65
|
}
|
|
67
66
|
getFormattedPaths(filepath) {
|
|
68
67
|
const pathParts = filepath.split(path_1.sep);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseDeploy.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/baseDeploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"baseDeploy.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/baseDeploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BaseDeploy } from './baseDeploy';
|
|
1
|
+
import { ContainerAsyncRequest, RecordId, SourceDeployResult, ToolingCreateResult } from '../types';
|
|
3
2
|
import { SourceComponent } from '../../resolve';
|
|
3
|
+
import { BaseDeploy } from './baseDeploy';
|
|
4
4
|
export declare class ContainerDeploy extends BaseDeploy {
|
|
5
5
|
private static readonly CONTAINER_ASYNC_REQUEST;
|
|
6
6
|
private static readonly METADATA_CONTAINER;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ContainerDeploy = void 0;
|
|
13
4
|
/*
|
|
@@ -16,83 +7,77 @@ exports.ContainerDeploy = void 0;
|
|
|
16
7
|
* Licensed under the BSD 3-Clause license.
|
|
17
8
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
18
9
|
*/
|
|
19
|
-
const
|
|
10
|
+
const graceful_fs_1 = require("graceful-fs");
|
|
20
11
|
const toolingApi_1 = require("../toolingApi");
|
|
21
12
|
const errors_1 = require("../../errors");
|
|
22
13
|
const types_1 = require("../types");
|
|
23
14
|
const path_1 = require("../../utils/path");
|
|
24
15
|
const baseDeploy_1 = require("./baseDeploy");
|
|
25
16
|
class ContainerDeploy extends baseDeploy_1.BaseDeploy {
|
|
26
|
-
deploy(component, namespace) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return this.buildSourceDeployResult(containerRequestStatus);
|
|
37
|
-
});
|
|
17
|
+
async deploy(component, namespace) {
|
|
18
|
+
this.component = component;
|
|
19
|
+
this.namespace = namespace;
|
|
20
|
+
const sourcePath = component.content;
|
|
21
|
+
const metadataPath = component.xml;
|
|
22
|
+
const container = await this.createMetadataContainer();
|
|
23
|
+
await this.createContainerMember([sourcePath, metadataPath], container);
|
|
24
|
+
const asyncRequest = await this.createContainerAsyncRequest(container);
|
|
25
|
+
const containerRequestStatus = await this.pollContainerStatus(asyncRequest.id);
|
|
26
|
+
return this.buildSourceDeployResult(containerRequestStatus);
|
|
38
27
|
}
|
|
39
|
-
createMetadataContainer() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Name: `Deploy_MDC_${Date.now()}`,
|
|
43
|
-
});
|
|
44
|
-
if (!metadataContainer.success) {
|
|
45
|
-
throw new errors_1.DeployError('beta_tapi_mdcontainer_error');
|
|
46
|
-
}
|
|
47
|
-
return metadataContainer;
|
|
28
|
+
async createMetadataContainer() {
|
|
29
|
+
const metadataContainer = await this.toolingCreate(ContainerDeploy.METADATA_CONTAINER, {
|
|
30
|
+
Name: `Deploy_MDC_${Date.now()}`,
|
|
48
31
|
});
|
|
32
|
+
if (!metadataContainer.success) {
|
|
33
|
+
throw new errors_1.DeployError('beta_tapi_mdcontainer_error');
|
|
34
|
+
}
|
|
35
|
+
return metadataContainer;
|
|
49
36
|
}
|
|
50
|
-
createContainerMember(outboundFiles, container) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
37
|
+
async createContainerMember(outboundFiles, container) {
|
|
38
|
+
const id = container.id;
|
|
39
|
+
const metadataContent = (0, graceful_fs_1.readFileSync)(outboundFiles[1], 'utf8');
|
|
40
|
+
const metadataField = this.buildMetadataField(metadataContent);
|
|
41
|
+
const body = (0, graceful_fs_1.readFileSync)(outboundFiles[0], 'utf8');
|
|
42
|
+
const fileName = (0, path_1.baseName)(outboundFiles[0]);
|
|
43
|
+
const entityId = await this.getContentEntity(this.component.type.name, fileName, this.namespace);
|
|
44
|
+
const containerMemberObject = {
|
|
45
|
+
MetadataContainerId: id,
|
|
46
|
+
FullName: fileName,
|
|
47
|
+
Body: body,
|
|
48
|
+
Metadata: metadataField,
|
|
49
|
+
...(entityId ? { contentEntityId: entityId } : {}),
|
|
50
|
+
};
|
|
51
|
+
const containerMember = await this.toolingCreate(toolingApi_1.deployTypes.get(this.component.type.name), containerMemberObject);
|
|
52
|
+
if (!containerMember.success) {
|
|
53
|
+
throw new errors_1.DeployError('beta_tapi_membertype_error', this.component.type.name);
|
|
54
|
+
}
|
|
55
|
+
return containerMember;
|
|
65
56
|
}
|
|
66
|
-
getContentEntity(metadataType, fileName, namespace) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return queryResult && queryResult.records.length === 1 ? queryResult.records[0].Id : undefined;
|
|
70
|
-
});
|
|
57
|
+
async getContentEntity(metadataType, fileName, namespace) {
|
|
58
|
+
const queryResult = (await this.connection.tooling.query(`Select Id from ${metadataType} where Name = '${fileName}' and NamespacePrefix = '${namespace}'`));
|
|
59
|
+
return queryResult && queryResult.records.length === 1 ? queryResult.records[0].Id : undefined;
|
|
71
60
|
}
|
|
72
|
-
createContainerAsyncRequest(container) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
MetadataContainerId: container.id,
|
|
76
|
-
});
|
|
77
|
-
if (!contAsyncRequest.success) {
|
|
78
|
-
throw new errors_1.DeployError('beta_tapi_car_error');
|
|
79
|
-
}
|
|
80
|
-
return contAsyncRequest;
|
|
61
|
+
async createContainerAsyncRequest(container) {
|
|
62
|
+
const contAsyncRequest = await this.toolingCreate(ContainerDeploy.CONTAINER_ASYNC_REQUEST, {
|
|
63
|
+
MetadataContainerId: container.id,
|
|
81
64
|
});
|
|
65
|
+
if (!contAsyncRequest.success) {
|
|
66
|
+
throw new errors_1.DeployError('beta_tapi_car_error');
|
|
67
|
+
}
|
|
68
|
+
return contAsyncRequest;
|
|
82
69
|
}
|
|
83
|
-
pollContainerStatus(containerId) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return containerStatus;
|
|
95
|
-
});
|
|
70
|
+
async pollContainerStatus(containerId) {
|
|
71
|
+
let count = 0;
|
|
72
|
+
let containerStatus;
|
|
73
|
+
do {
|
|
74
|
+
if (count > 0) {
|
|
75
|
+
await this.sleep(100);
|
|
76
|
+
}
|
|
77
|
+
containerStatus = (await this.connection.tooling.retrieve(ContainerDeploy.CONTAINER_ASYNC_REQUEST, containerId));
|
|
78
|
+
count++;
|
|
79
|
+
} while (containerStatus.State === "Queued" /* Queued */ && count <= 30);
|
|
80
|
+
return containerStatus;
|
|
96
81
|
}
|
|
97
82
|
sleep(ms) {
|
|
98
83
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerDeploy.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/containerDeploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"containerDeploy.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/containerDeploy.ts"],"names":[],"mappings":"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"}
|