@salesforce/source-deploy-retrieve 5.0.1 → 5.1.1
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 +52 -46
- 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 +98 -108
- 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 +57 -72
- 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 +2 -2
- package/lib/src/client/metadataApiRetrieve.js +86 -106
- package/lib/src/client/metadataApiRetrieve.js.map +1 -1
- package/lib/src/client/metadataTransfer.d.ts +2 -2
- package/lib/src/client/metadataTransfer.js +101 -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 +5 -2
- package/lib/src/collections/componentSet.js +77 -91
- 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/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 +8 -10
- package/lib/src/convert/convertContext.js +162 -197
- 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 +2 -17
- package/lib/src/convert/metadataConverter.js +106 -111
- 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 -1
- package/lib/src/convert/transformers/decomposedMetadataTransformer.js +125 -133
- 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 -132
- 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} +0 -0
- package/lib/src/registry/nonSupportedTypes.js +5 -7
- package/lib/src/registry/nonSupportedTypes.js.map +1 -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 +2 -0
- package/lib/src/registry/registryAccess.js +3 -1
- package/lib/src/registry/registryAccess.js.map +1 -1
- 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 +2 -2
- package/lib/src/resolve/adapters/baseSourceAdapter.js +20 -16
- 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 +23 -27
- 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.js +9 -14
- 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.js +25 -36
- package/lib/src/resolve/manifestResolver.js.map +1 -1
- package/lib/src/resolve/metadataResolver.d.ts +6 -5
- package/lib/src/resolve/metadataResolver.js +18 -23
- package/lib/src/resolve/metadataResolver.js.map +1 -1
- package/lib/src/resolve/sourceComponent.d.ts +4 -4
- package/lib/src/resolve/sourceComponent.js +32 -44
- package/lib/src/resolve/sourceComponent.js.map +1 -1
- package/lib/src/resolve/treeContainers.d.ts +9 -1
- package/lib/src/resolve/treeContainers.js +46 -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 +1 -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 +5 -1
- package/lib/src/utils/path.js +8 -4
- package/lib/src/utils/path.js.map +1 -1
- package/package.json +40 -38
|
@@ -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
|
/*
|
|
@@ -23,76 +14,70 @@ 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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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDeployStrategy = void 0;
|
|
3
|
+
exports.getDeployStrategy = exports.LwcDeploy = exports.AuraDeploy = exports.ContainerDeploy = void 0;
|
|
4
|
+
const registry_1 = require("../../registry");
|
|
4
5
|
const containerDeploy_1 = require("./containerDeploy");
|
|
5
6
|
const auraDeploy_1 = require("./auraDeploy");
|
|
6
7
|
const lwcDeploy_1 = require("./lwcDeploy");
|
|
7
|
-
const registry_1 = require("../../registry");
|
|
8
8
|
var containerDeploy_2 = require("./containerDeploy");
|
|
9
9
|
Object.defineProperty(exports, "ContainerDeploy", { enumerable: true, get: function () { return containerDeploy_2.ContainerDeploy; } });
|
|
10
10
|
var auraDeploy_2 = require("./auraDeploy");
|
|
11
11
|
Object.defineProperty(exports, "AuraDeploy", { enumerable: true, get: function () { return auraDeploy_2.AuraDeploy; } });
|
|
12
12
|
var lwcDeploy_2 = require("./lwcDeploy");
|
|
13
13
|
Object.defineProperty(exports, "LwcDeploy", { enumerable: true, get: function () { return lwcDeploy_2.LwcDeploy; } });
|
|
14
|
-
|
|
14
|
+
const getDeployStrategy = (type, connection) => {
|
|
15
15
|
switch (type) {
|
|
16
16
|
case registry_1.registry.types.auradefinitionbundle.name:
|
|
17
17
|
return new auraDeploy_1.AuraDeploy(connection);
|
|
@@ -21,4 +21,5 @@ exports.getDeployStrategy = (type, connection) => {
|
|
|
21
21
|
return new containerDeploy_1.ContainerDeploy(connection);
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
|
+
exports.getDeployStrategy = getDeployStrategy;
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/index.ts"],"names":[],"mappings":";;;AAOA,6CAA0C;AAE1C,uDAAoD;AACpD,6CAA0C;AAC1C,2CAAwC;AAExC,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAEX,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,UAAsB,EAAc,EAAE;IACpF,QAAQ,IAAI,EAAE;QACZ,KAAK,mBAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI;YAC3C,OAAO,IAAI,uBAAU,CAAC,UAAU,CAAC,CAAC;QACpC,KAAK,mBAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI;YAC/C,OAAO,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QACnC;YACE,OAAO,IAAI,iCAAe,CAAC,UAAU,CAAC,CAAC;KAC1C;AACH,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseDeploy } from './baseDeploy';
|
|
2
1
|
import { SourceComponent } from '../..';
|
|
3
|
-
import {
|
|
2
|
+
import { ComponentDeployment, LightningComponentResource, SourceDeployResult } from '../types';
|
|
3
|
+
import { BaseDeploy } from './baseDeploy';
|
|
4
4
|
export declare class LwcDeploy extends BaseDeploy {
|
|
5
5
|
deploy(component: SourceComponent, namespace: string): Promise<SourceDeployResult>;
|
|
6
6
|
buildResourceList(): Promise<LightningComponentResource[]>;
|
|
@@ -5,131 +5,120 @@
|
|
|
5
5
|
* Licensed under the BSD 3-Clause license.
|
|
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
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.LwcDeploy = void 0;
|
|
19
|
-
const
|
|
20
|
-
const types_1 = require("../types");
|
|
10
|
+
const path_1 = require("path");
|
|
21
11
|
const graceful_fs_1 = require("graceful-fs");
|
|
12
|
+
const types_1 = require("../types");
|
|
22
13
|
const utils_1 = require("../../utils");
|
|
23
|
-
const path_1 = require("path");
|
|
24
14
|
const toolingApi_1 = require("../toolingApi");
|
|
25
15
|
const diagnosticUtil_1 = require("../diagnosticUtil");
|
|
16
|
+
const baseDeploy_1 = require("./baseDeploy");
|
|
26
17
|
class LwcDeploy extends baseDeploy_1.BaseDeploy {
|
|
27
|
-
deploy(component, namespace) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
status
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
18
|
+
async deploy(component, namespace) {
|
|
19
|
+
this.component = component;
|
|
20
|
+
this.namespace = namespace;
|
|
21
|
+
const lwcResources = await this.buildResourceList();
|
|
22
|
+
const componentDeployment = await this.upsert(lwcResources);
|
|
23
|
+
let status = "Completed" /* Completed */;
|
|
24
|
+
if (componentDeployment.diagnostics.length > 0) {
|
|
25
|
+
status =
|
|
26
|
+
componentDeployment.status !== types_1.ComponentStatus.Failed
|
|
27
|
+
? "CompletedPartial" /* CompletedPartial */
|
|
28
|
+
: "Failed" /* Failed */;
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
id: undefined,
|
|
32
|
+
status,
|
|
33
|
+
success: status === "Completed" /* Completed */,
|
|
34
|
+
components: [componentDeployment],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
async buildResourceList() {
|
|
38
|
+
const sourceFiles = this.component.walkContent();
|
|
39
|
+
sourceFiles.push(this.component.xml);
|
|
40
|
+
const lightningResources = [];
|
|
41
|
+
const existingResources = await this.findLightningResources();
|
|
42
|
+
const lightningBundle = existingResources[0]
|
|
43
|
+
? await this.upsertBundle(existingResources[0].LightningComponentBundleId)
|
|
44
|
+
: await this.upsertBundle();
|
|
45
|
+
const bundleId = lightningBundle.id;
|
|
46
|
+
sourceFiles.forEach((sourceFile) => {
|
|
47
|
+
const source = (0, graceful_fs_1.readFileSync)(sourceFile, 'utf8');
|
|
48
|
+
const isMetaSource = sourceFile === this.component.xml;
|
|
49
|
+
const format = isMetaSource ? 'js' : (0, utils_1.extName)(sourceFile);
|
|
50
|
+
let match;
|
|
51
|
+
if (existingResources.length > 0) {
|
|
52
|
+
match = existingResources.find((resource) => sourceFile.endsWith((0, path_1.normalize)(resource.FilePath)));
|
|
39
53
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
54
|
+
// If resource exists in org, assign the matching Id
|
|
55
|
+
// else, assign the id of the bundle it's associated with
|
|
56
|
+
const lightningResource = {
|
|
57
|
+
FilePath: sourceFile,
|
|
58
|
+
Source: source,
|
|
59
|
+
Format: format,
|
|
60
|
+
...(match ? { Id: match.Id } : { LightningComponentBundleId: bundleId }),
|
|
45
61
|
};
|
|
62
|
+
// This is to ensure that the base file is deployed first for lwc
|
|
63
|
+
// otherwise there is a `no base file found` error
|
|
64
|
+
// eslint-disable-next-line no-unused-expressions
|
|
65
|
+
lightningResource.Format === 'js' && !isMetaSource
|
|
66
|
+
? lightningResources.unshift(lightningResource)
|
|
67
|
+
: lightningResources.push(lightningResource);
|
|
46
68
|
});
|
|
69
|
+
return lightningResources;
|
|
47
70
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
async upsert(lightningResources) {
|
|
72
|
+
const type = this.component.type.name;
|
|
73
|
+
const deployment = {
|
|
74
|
+
status: types_1.ComponentStatus.Unchanged,
|
|
75
|
+
component: this.component,
|
|
76
|
+
diagnostics: [],
|
|
77
|
+
};
|
|
78
|
+
const diagnosticUtil = new diagnosticUtil_1.DiagnosticUtil('tooling');
|
|
79
|
+
let partialSuccess = false;
|
|
80
|
+
let allCreate = true;
|
|
81
|
+
// first resource needs to be created first, so force sync
|
|
82
|
+
for (const resource of lightningResources) {
|
|
83
|
+
try {
|
|
84
|
+
if (resource.Id) {
|
|
85
|
+
const formattedDef = {
|
|
86
|
+
Source: resource.Source,
|
|
87
|
+
Id: resource.Id,
|
|
88
|
+
};
|
|
89
|
+
await this.connection.tooling.update(toolingApi_1.deployTypes.get(type), formattedDef);
|
|
90
|
+
allCreate = false;
|
|
91
|
+
partialSuccess = true;
|
|
65
92
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}));
|
|
75
|
-
return lightningResources;
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
upsert(lightningResources) {
|
|
79
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
-
const type = this.component.type.name;
|
|
81
|
-
const deployment = {
|
|
82
|
-
status: types_1.ComponentStatus.Unchanged,
|
|
83
|
-
component: this.component,
|
|
84
|
-
diagnostics: [],
|
|
85
|
-
};
|
|
86
|
-
const diagnosticUtil = new diagnosticUtil_1.DiagnosticUtil('tooling');
|
|
87
|
-
let partialSuccess = false;
|
|
88
|
-
let allCreate = true;
|
|
89
|
-
// first resource needs to be created first, so force sync
|
|
90
|
-
for (const resource of lightningResources) {
|
|
91
|
-
try {
|
|
92
|
-
if (resource.Id) {
|
|
93
|
-
const formattedDef = {
|
|
94
|
-
Source: resource.Source,
|
|
95
|
-
Id: resource.Id,
|
|
96
|
-
};
|
|
97
|
-
yield this.connection.tooling.update(toolingApi_1.deployTypes.get(type), formattedDef);
|
|
98
|
-
allCreate = false;
|
|
99
|
-
partialSuccess = true;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
const formattedDef = {
|
|
103
|
-
LightningComponentBundleId: resource.LightningComponentBundleId,
|
|
104
|
-
Format: resource.Format,
|
|
105
|
-
Source: resource.Source,
|
|
106
|
-
FilePath: this.getFormattedPaths(resource.FilePath)[0],
|
|
107
|
-
};
|
|
108
|
-
yield this.toolingCreate(toolingApi_1.deployTypes.get(type), formattedDef);
|
|
109
|
-
}
|
|
93
|
+
else {
|
|
94
|
+
const formattedDef = {
|
|
95
|
+
LightningComponentBundleId: resource.LightningComponentBundleId,
|
|
96
|
+
Format: resource.Format,
|
|
97
|
+
Source: resource.Source,
|
|
98
|
+
FilePath: this.getFormattedPaths(resource.FilePath)[0],
|
|
99
|
+
};
|
|
100
|
+
await this.toolingCreate(toolingApi_1.deployTypes.get(type), formattedDef);
|
|
110
101
|
}
|
|
111
|
-
catch (e) {
|
|
112
|
-
const diagnostic = diagnosticUtil.parseDeployDiagnostic(this.component, e.message);
|
|
113
|
-
deployment.diagnostics.push(diagnostic);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
if (deployment.diagnostics.length > 0) {
|
|
117
|
-
deployment.status = partialSuccess ? types_1.ComponentStatus.Changed : types_1.ComponentStatus.Failed;
|
|
118
102
|
}
|
|
119
|
-
|
|
120
|
-
|
|
103
|
+
catch (e) {
|
|
104
|
+
const diagnostic = diagnosticUtil.parseDeployDiagnostic(this.component, e.message);
|
|
105
|
+
deployment.diagnostics.push(diagnostic);
|
|
121
106
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
107
|
+
}
|
|
108
|
+
if (deployment.diagnostics.length > 0) {
|
|
109
|
+
deployment.status = partialSuccess ? types_1.ComponentStatus.Changed : types_1.ComponentStatus.Failed;
|
|
110
|
+
}
|
|
111
|
+
else if (allCreate) {
|
|
112
|
+
deployment.status = types_1.ComponentStatus.Created;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
deployment.status = types_1.ComponentStatus.Changed;
|
|
116
|
+
}
|
|
117
|
+
return deployment;
|
|
127
118
|
}
|
|
128
|
-
findLightningResources() {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return lightningResourceResult.records;
|
|
132
|
-
});
|
|
119
|
+
async findLightningResources() {
|
|
120
|
+
const lightningResourceResult = await this.connection.tooling.query(`Select LightningComponentBundleId, Id, Format, Source, FilePath from LightningComponentResource where LightningComponentBundle.DeveloperName = '${this.component.fullName}' and LightningComponentBundle.NamespacePrefix = '${this.namespace}'`);
|
|
121
|
+
return lightningResourceResult.records;
|
|
133
122
|
}
|
|
134
123
|
}
|
|
135
124
|
exports.LwcDeploy = LwcDeploy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lwcDeploy.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/lwcDeploy.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"lwcDeploy.js","sourceRoot":"","sources":["../../../../src/client/deployStrategies/lwcDeploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SourceComponent } from '../resolve';
|
|
2
|
-
import {
|
|
2
|
+
import { ComponentDiagnostic, DeployMessage } from './types';
|
|
3
3
|
export declare class DiagnosticUtil {
|
|
4
4
|
private api;
|
|
5
5
|
constructor(api: 'metadata' | 'tooling');
|