@salesforce/source-deploy-retrieve 13.12.0-compute.6 → 13.12.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.
Files changed (58) hide show
  1. package/lib/src/client/index.d.ts +0 -1
  2. package/lib/src/client/index.js.map +1 -1
  3. package/lib/src/client/metadataApiDeploy.d.ts +0 -7
  4. package/lib/src/client/metadataApiDeploy.js +7 -24
  5. package/lib/src/client/metadataApiDeploy.js.map +1 -1
  6. package/lib/src/client/metadataApiRetrieve.d.ts +0 -7
  7. package/lib/src/client/metadataApiRetrieve.js +6 -23
  8. package/lib/src/client/metadataApiRetrieve.js.map +1 -1
  9. package/lib/src/client/metadataTransfer.d.ts +0 -3
  10. package/lib/src/client/metadataTransfer.js +1 -11
  11. package/lib/src/client/metadataTransfer.js.map +1 -1
  12. package/lib/src/client/types.d.ts +0 -8
  13. package/lib/src/collections/componentSet.d.ts +0 -9
  14. package/lib/src/collections/componentSet.js +1 -130
  15. package/lib/src/collections/componentSet.js.map +1 -1
  16. package/lib/src/convert/convertContext/convertContext.js.map +1 -1
  17. package/lib/src/convert/transformers/metadataTransformerFactory.js +0 -3
  18. package/lib/src/convert/transformers/metadataTransformerFactory.js.map +1 -1
  19. package/lib/src/index.d.ts +1 -1
  20. package/lib/src/index.js.map +1 -1
  21. package/lib/src/registry/metadataRegistry.json +0 -15
  22. package/lib/src/registry/types.d.ts +2 -5
  23. package/lib/src/registry/types.js +0 -2
  24. package/lib/src/registry/types.js.map +1 -1
  25. package/lib/src/resolve/adapters/index.d.ts +0 -1
  26. package/lib/src/resolve/adapters/index.js +1 -3
  27. package/lib/src/resolve/adapters/index.js.map +1 -1
  28. package/lib/src/resolve/adapters/sourceAdapterFactory.js +0 -3
  29. package/lib/src/resolve/adapters/sourceAdapterFactory.js.map +1 -1
  30. package/lib/src/resolve/metadataResolver.js +1 -1
  31. package/lib/src/resolve/metadataResolver.js.map +1 -1
  32. package/lib/src/utils/filePathGenerator.js +5 -4
  33. package/lib/src/utils/filePathGenerator.js.map +1 -1
  34. package/package.json +1 -4
  35. package/lib/src/client/transports/computeAppTransport.d.ts +0 -12
  36. package/lib/src/client/transports/computeAppTransport.js +0 -185
  37. package/lib/src/client/transports/computeAppTransport.js.map +0 -1
  38. package/lib/src/client/transports/computeSourceBundle.d.ts +0 -10
  39. package/lib/src/client/transports/computeSourceBundle.js +0 -293
  40. package/lib/src/client/transports/computeSourceBundle.js.map +0 -1
  41. package/lib/src/client/transports/index.d.ts +0 -2
  42. package/lib/src/client/transports/index.js +0 -18
  43. package/lib/src/client/transports/index.js.map +0 -1
  44. package/lib/src/client/transports/transportCoordinator.d.ts +0 -20
  45. package/lib/src/client/transports/transportCoordinator.js +0 -82
  46. package/lib/src/client/transports/transportCoordinator.js.map +0 -1
  47. package/lib/src/client/transports/transportPipeline.d.ts +0 -55
  48. package/lib/src/client/transports/transportPipeline.js +0 -189
  49. package/lib/src/client/transports/transportPipeline.js.map +0 -1
  50. package/lib/src/client/transports/types.d.ts +0 -45
  51. package/lib/src/client/transports/types.js +0 -18
  52. package/lib/src/client/transports/types.js.map +0 -1
  53. package/lib/src/convert/transformers/computeAppMetadataTransformer.d.ts +0 -18
  54. package/lib/src/convert/transformers/computeAppMetadataTransformer.js +0 -67
  55. package/lib/src/convert/transformers/computeAppMetadataTransformer.js.map +0 -1
  56. package/lib/src/resolve/adapters/computeAppSourceAdapter.d.ts +0 -28
  57. package/lib/src/resolve/adapters/computeAppSourceAdapter.js +0 -75
  58. package/lib/src/resolve/adapters/computeAppSourceAdapter.js.map +0 -1
@@ -1,18 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2026, Salesforce, Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/transports/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
@@ -1,20 +0,0 @@
1
- import { RequestStatus } from '../types';
2
- import { DeployResult } from '../metadataApiDeploy';
3
- import { RetrieveResult } from '../metadataApiRetrieve';
4
- import { TransportContext } from './types';
5
- import { TransportGroup, TransportPipeline } from './transportPipeline';
6
- type TransportOperation = 'deploy' | 'retrieve';
7
- type TransportResult = DeployResult | RetrieveResult;
8
- export declare class TransportCoordinator {
9
- private readonly pipeline;
10
- private readonly groups;
11
- private readonly context;
12
- private readonly operation;
13
- private beforeMetadataResults;
14
- private readonly beforeAdded;
15
- private readonly afterStarted;
16
- constructor(pipeline: TransportPipeline, groups: TransportGroup[], context: TransportContext, operation: TransportOperation);
17
- runBeforeMetadata(): Promise<void>;
18
- processResult(result: TransportResult, status: RequestStatus): Promise<void>;
19
- }
20
- export {};
@@ -1,82 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2026, Salesforce, Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TransportCoordinator = void 0;
19
- const componentSet_1 = require("../../collections/componentSet");
20
- const types_1 = require("../types");
21
- const metadataApiRetrieve_1 = require("../metadataApiRetrieve");
22
- class TransportCoordinator {
23
- pipeline;
24
- groups;
25
- context;
26
- operation;
27
- beforeMetadataResults = {
28
- fileResponses: [],
29
- asyncHandles: [],
30
- operationResults: [],
31
- };
32
- beforeAdded = new WeakSet();
33
- afterStarted = new WeakSet();
34
- constructor(pipeline, groups, context, operation) {
35
- this.pipeline = pipeline;
36
- this.groups = groups;
37
- this.context = context;
38
- this.operation = operation;
39
- }
40
- async runBeforeMetadata() {
41
- const result = await this.pipeline.runBeforeMetadata(this.context, this.groups, this.operation);
42
- this.beforeMetadataResults = result;
43
- }
44
- async processResult(result, status) {
45
- if (!this.beforeAdded.has(result)) {
46
- this.beforeAdded.add(result);
47
- result.addTransportResults(this.beforeMetadataResults.fileResponses, this.beforeMetadataResults.asyncHandles, this.beforeMetadataResults.operationResults);
48
- }
49
- if (status !== types_1.RequestStatus.Succeeded)
50
- return;
51
- if (this.afterStarted.has(result))
52
- return;
53
- this.afterStarted.add(result);
54
- if (this.operation === 'retrieve' && result instanceof metadataApiRetrieve_1.RetrieveResult) {
55
- const extracted = result.components.getSourceComponents().toArray();
56
- const extractedByKey = new Map(extracted.map((component) => [`${component.type.name}#${component.fullName}`, component]));
57
- for (const group of this.groups) {
58
- const named = new Set(group.components
59
- .filter((component) => component.fullName !== componentSet_1.ComponentSet.WILDCARD)
60
- .map((component) => `${component.type.name}#${component.fullName}`));
61
- // a wildcard member (`Type:*`) resolves to every component of that type the org returned
62
- group.components = group.components.flatMap((component) => {
63
- const key = `${component.type.name}#${component.fullName}`;
64
- if (component.fullName !== componentSet_1.ComponentSet.WILDCARD)
65
- return [extractedByKey.get(key) ?? component];
66
- return extracted.filter((candidate) => {
67
- const candidateKey = `${candidate.type.name}#${candidate.fullName}`;
68
- if (candidate.type.name !== component.type.name || named.has(candidateKey))
69
- return false;
70
- named.add(candidateKey);
71
- return true;
72
- });
73
- });
74
- }
75
- }
76
- const groups = this.groups.filter((group) => group.components.length > 0);
77
- const afterMetadataResults = await this.pipeline.runAfterMetadata(this.context, groups, this.operation);
78
- result.addTransportResults(afterMetadataResults.fileResponses, afterMetadataResults.asyncHandles, afterMetadataResults.operationResults);
79
- }
80
- }
81
- exports.TransportCoordinator = TransportCoordinator;
82
- //# sourceMappingURL=transportCoordinator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transportCoordinator.js","sourceRoot":"","sources":["../../../../src/client/transports/transportCoordinator.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import type { DestructiveChangesType } from '../../collections/types';
2
- import { TransportName } from '../../registry/types';
3
- import { SourceComponent } from '../../resolve/sourceComponent';
4
- import { FileResponse } from '../types';
5
- import { AsyncTransportHandle, TransportContext, TransportOperationResult, TransportProvider } from './types';
6
- export type TransportGroup = {
7
- transport: TransportProvider;
8
- components: SourceComponent[];
9
- };
10
- export type GroupedComponents = {
11
- metadataApi: SourceComponent[];
12
- transports: TransportGroup[];
13
- };
14
- export type TransportPlan = {
15
- phases: TransportPlanPhase[];
16
- };
17
- export type TransportPlanPhase = {
18
- phase: 'before-metadata' | 'metadata-api' | 'after-metadata';
19
- label: string;
20
- endpoint: string;
21
- components: TransportPlanComponent[];
22
- };
23
- export type TransportPlanComponent = {
24
- fullName: string;
25
- type: string;
26
- /** Set when the component is deleted by the metadata API instead of deployed. */
27
- destructiveChangesType?: DestructiveChangesType;
28
- };
29
- export type TransportPipelineResult = {
30
- fileResponses: FileResponse[];
31
- asyncHandles: AsyncTransportHandle[];
32
- operationResults: TransportOperationResult[];
33
- };
34
- export type TransportStageEvent = {
35
- transportName: TransportName;
36
- label: string;
37
- operation: 'deploy' | 'retrieve';
38
- stage: 'start' | 'complete' | 'error';
39
- componentCount: number;
40
- componentNames: string[];
41
- errorMessage?: string;
42
- };
43
- export declare class TransportPipeline {
44
- private readonly transports;
45
- private readonly logger;
46
- constructor(transports?: TransportProvider[]);
47
- static withBuiltinTransports(): TransportPipeline;
48
- groupByTransport(components: SourceComponent[]): GroupedComponents;
49
- explain(components: SourceComponent[], operation?: 'deploy' | 'retrieve'): TransportPlan;
50
- runBeforeMetadata(context: TransportContext, groups: TransportGroup[], operation?: 'deploy' | 'retrieve'): Promise<TransportPipelineResult>;
51
- runAfterMetadata(context: TransportContext, groups: TransportGroup[], operation?: 'deploy' | 'retrieve'): Promise<TransportPipelineResult>;
52
- hasTransports(components: SourceComponent[]): boolean;
53
- private findTransportFor;
54
- private runTransportGroups;
55
- }
@@ -1,189 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2026, Salesforce, Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TransportPipeline = void 0;
19
- const core_1 = require("@salesforce/core");
20
- const computeAppTransport_1 = require("./computeAppTransport");
21
- class TransportPipeline {
22
- transports = [];
23
- logger;
24
- constructor(transports) {
25
- this.logger = core_1.Logger.childFromRoot('TransportPipeline');
26
- if (transports) {
27
- this.transports.push(...transports);
28
- }
29
- }
30
- static withBuiltinTransports() {
31
- return new TransportPipeline([new computeAppTransport_1.ComputeAppTransport()]);
32
- }
33
- groupByTransport(components) {
34
- const metadataApi = [];
35
- const transportMap = new Map();
36
- for (const component of components) {
37
- // deletions only go through MDAPI destructive changes; transports never see them
38
- const transport = component.isMarkedForDelete() ? undefined : this.findTransportFor(component);
39
- if (transport) {
40
- let group = transportMap.get(transport.name);
41
- if (!group) {
42
- group = { transport, components: [] };
43
- transportMap.set(transport.name, group);
44
- }
45
- group.components.push(component);
46
- }
47
- // all components go through metadata api — transport components
48
- // also have metadata portions (.computeApp-meta.xml) that need MDAPI
49
- metadataApi.push(component);
50
- }
51
- return {
52
- metadataApi,
53
- transports: [...transportMap.values()],
54
- };
55
- }
56
- explain(components, operation = 'deploy') {
57
- const { metadataApi, transports } = this.groupByTransport(components);
58
- const phases = [];
59
- const beforeMetadata = transports.filter((group) => getStep(group.transport, operation, 'before') !== undefined);
60
- const afterMetadata = transports.filter((group) => getStep(group.transport, operation, 'after') !== undefined);
61
- for (const group of beforeMetadata) {
62
- const desc = group.transport.describe();
63
- phases.push({
64
- phase: 'before-metadata',
65
- label: desc.label,
66
- endpoint: desc.endpoint,
67
- components: group.components.map(toPlanComponent),
68
- });
69
- }
70
- phases.push({
71
- phase: 'metadata-api',
72
- label: 'Metadata API',
73
- endpoint: 'SOAP/REST',
74
- components: metadataApi.map(toPlanComponent),
75
- });
76
- for (const group of afterMetadata) {
77
- const desc = group.transport.describe();
78
- phases.push({
79
- phase: 'after-metadata',
80
- label: desc.label,
81
- endpoint: desc.endpoint,
82
- components: group.components.map(toPlanComponent),
83
- });
84
- }
85
- return { phases };
86
- }
87
- async runBeforeMetadata(context, groups, operation = 'deploy') {
88
- return this.runTransportGroups(groups, context, operation, 'before');
89
- }
90
- async runAfterMetadata(context, groups, operation = 'deploy') {
91
- return this.runTransportGroups(groups, context, operation, 'after');
92
- }
93
- hasTransports(components) {
94
- return components.some((component) => !component.isMarkedForDelete() && this.findTransportFor(component) !== undefined);
95
- }
96
- findTransportFor(component) {
97
- const transportName = component.type.strategies?.transport;
98
- if (!transportName)
99
- return undefined;
100
- const transport = this.transports.find((candidate) => candidate.name === transportName);
101
- if (!transport) {
102
- throw new core_1.SfError(`No transport provider is registered for '${transportName}' required by ${component.type.name}.`, 'MissingTransportProvider');
103
- }
104
- return transport;
105
- }
106
- async runTransportGroups(groups, context, operation, timing) {
107
- const allFileResponses = [];
108
- const allAsyncHandles = [];
109
- const allOperationResults = [];
110
- const lifecycle = core_1.Lifecycle.getInstance();
111
- for (const group of groups) {
112
- const step = getStep(group.transport, operation, timing);
113
- if (!step)
114
- continue;
115
- this.logger.debug(`Running transport '${group.transport.name}' (${operation}) for ${group.components.length} component(s)`);
116
- const desc = group.transport.describe();
117
- const componentNames = group.components.map((c) => c.fullName);
118
- const eventBase = {
119
- transportName: group.transport.name,
120
- label: desc.label,
121
- operation,
122
- componentCount: group.components.length,
123
- componentNames,
124
- };
125
- // eslint-disable-next-line no-await-in-loop
126
- await lifecycle.emit('transportStage', { ...eventBase, stage: 'start' });
127
- const transportContext = {
128
- ...context,
129
- components: group.components,
130
- };
131
- try {
132
- // eslint-disable-next-line no-await-in-loop
133
- const result = await step(transportContext);
134
- allFileResponses.push(...result.fileResponses);
135
- if (result.asyncResult) {
136
- allAsyncHandles.push(result.asyncResult);
137
- }
138
- allOperationResults.push(...(result.operationResults ?? []));
139
- // eslint-disable-next-line no-await-in-loop
140
- await lifecycle.emit('transportStage', { ...eventBase, stage: 'complete' });
141
- }
142
- catch (err) {
143
- try {
144
- // eslint-disable-next-line no-await-in-loop
145
- await lifecycle.emit('transportStage', {
146
- ...eventBase,
147
- stage: 'error',
148
- errorMessage: err.message,
149
- });
150
- }
151
- catch {
152
- /* don't mask the transport error */
153
- }
154
- throw err;
155
- }
156
- }
157
- return { fileResponses: allFileResponses, asyncHandles: allAsyncHandles, operationResults: allOperationResults };
158
- }
159
- }
160
- exports.TransportPipeline = TransportPipeline;
161
- function toPlanComponent(component) {
162
- const destructiveChangesType = component.getDestructiveChangesType();
163
- return {
164
- fullName: component.fullName,
165
- type: component.type.name,
166
- ...(component.isMarkedForDelete() && destructiveChangesType ? { destructiveChangesType } : {}),
167
- };
168
- }
169
- function getStep(transport, operation, timing) {
170
- if (operation === 'deploy' && timing === 'before') {
171
- return transport.beforeDeploy
172
- ? async (context) => transport.beforeDeploy(context)
173
- : undefined;
174
- }
175
- if (operation === 'deploy') {
176
- return transport.afterDeploy
177
- ? async (context) => transport.afterDeploy(context)
178
- : undefined;
179
- }
180
- if (timing === 'before') {
181
- return transport.beforeRetrieve
182
- ? async (context) => transport.beforeRetrieve(context)
183
- : undefined;
184
- }
185
- return transport.afterRetrieve
186
- ? async (context) => transport.afterRetrieve(context)
187
- : undefined;
188
- }
189
- //# sourceMappingURL=transportPipeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transportPipeline.js","sourceRoot":"","sources":["../../../../src/client/transports/transportPipeline.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- import { Connection, SfProject } from '@salesforce/core';
2
- import { TransportName } from '../../registry/types';
3
- import { SourceComponent } from '../../resolve/sourceComponent';
4
- import { FileResponse, PackageOptions } from '../types';
5
- export type TransportStatus = 'Pending' | 'InProgress' | 'Succeeded' | 'Failed' | 'Unknown';
6
- export type TransportDescription = {
7
- label: string;
8
- endpoint: string;
9
- };
10
- export type TransportContext = {
11
- components: SourceComponent[];
12
- connection: Connection;
13
- project: SfProject;
14
- orgId: string;
15
- output?: string;
16
- packageOptions?: PackageOptions;
17
- /** Package name for each manifest-only transport member (`type#fullName`). */
18
- transportPackageNames?: Record<string, string>;
19
- };
20
- export type TransportResult = {
21
- fileResponses: FileResponse[];
22
- asyncResult?: AsyncTransportHandle;
23
- operationResults?: TransportOperationResult[];
24
- };
25
- export type TransportOperationResult = {
26
- transportLabel: string;
27
- operation: string;
28
- status: TransportStatus;
29
- message?: string;
30
- };
31
- export type AsyncTransportHandle = {
32
- transportName: TransportName;
33
- status: TransportStatus;
34
- message?: string;
35
- checkStatus(): Promise<AsyncTransportHandle>;
36
- };
37
- export type TransportProvider = {
38
- readonly name: TransportName;
39
- describe(): TransportDescription;
40
- handles(component: SourceComponent): boolean;
41
- beforeDeploy?(context: TransportContext): Promise<TransportResult>;
42
- afterDeploy?(context: TransportContext): Promise<TransportResult>;
43
- beforeRetrieve?(context: TransportContext): Promise<TransportResult>;
44
- afterRetrieve?(context: TransportContext): Promise<TransportResult>;
45
- };
@@ -1,18 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2026, Salesforce, Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/client/transports/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
@@ -1,18 +0,0 @@
1
- import { SourceComponent } from '../../resolve/sourceComponent';
2
- import { WriteInfo } from '../types';
3
- import { BaseMetadataTransformer } from './baseMetadataTransformer';
4
- /**
5
- * Transformer for ComputeApp components.
6
- *
7
- * Only the root xml goes through the Metadata API; the app source is uploaded and
8
- * downloaded by the Elastic Compute transport. So:
9
- * - to metadata: `computeApps/<name>/<name>.computeApp-meta.xml` => `computeApps/<name>.computeApp`
10
- * - to source: `computeApps/<name>.computeApp` => `main/default/computeApps/<name>/<name>.computeApp-meta.xml`
11
- */
12
- export declare class ComputeAppMetadataTransformer extends BaseMetadataTransformer {
13
- toMetadataFormat(component: SourceComponent): Promise<WriteInfo[]>;
14
- toSourceFormat({ component, mergeWith, }: {
15
- component: SourceComponent;
16
- mergeWith?: SourceComponent;
17
- }): Promise<WriteInfo[]>;
18
- }
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ComputeAppMetadataTransformer = void 0;
4
- /*
5
- * Copyright 2026, Salesforce, Inc.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- const node_path_1 = require("node:path");
20
- const messages_1 = require("@salesforce/core/messages");
21
- const constants_1 = require("../../common/constants");
22
- const replacements_1 = require("../replacements");
23
- const baseMetadataTransformer_1 = require("./baseMetadataTransformer");
24
- ;
25
- const messages = new messages_1.Messages('@salesforce/source-deploy-retrieve', 'sdr', new Map([["md_request_fail", "Metadata API request failed: %s"], ["error_retry_limit_exceeded", "Exceeded maximum of %s consecutive retryable errors. Last error: %s"], ["error_could_not_infer_type", "%s: Could not infer a metadata type"], ["error_unexpected_child_type", "Unexpected child metadata [%s] found for parent type [%s]"], ["noParent", "Could not find parent type for %s (%s)"], ["error_expected_source_files", "%s: Expected source files for type '%s'"], ["error_failed_convert", "Component conversion failed: %s"], ["error_profile_singleton_conflict", "Profile %s has conflicting values for singleton tag %s in source paths %s and %s."], ["error_invalid_test_level", "TestLevel cannot be '%s' unless API version is %s or later"], ["error_merge_metadata_target_unsupported", "Merge convert for metadata target format currently unsupported"], ["error_missing_adapter", "Missing adapter '%s' for metadata type '%s'"], ["error_missing_transformer", "Missing transformer '%s' for metadata type '%s'"], ["error_missing_type_definition", "Missing metadata type definition in registry for id '%s'."], ["error_missing_child_type_definition", "Type %s does not have a child type definition %s."], ["noChildTypes", "No child types found in registry for %s (reading %s at %s)"], ["error_no_metadata_xml_ignore", "Metadata xml file %s is forceignored but is required for %s."], ["noSourceIgnore", "%s metadata types require source files, but %s is forceignored."], ["noSourceIgnore.actions", "- Metadata types with content are composed of two files: a content file (ie MyApexClass.cls) and a -meta.xml file (i.e MyApexClass.cls-meta.xml). You must include both files in your .forceignore file. Or try appending \u201C\\*\u201D to your existing .forceignore entry.\n\nSee <https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm> for examples"], ["error_path_not_found", "%s: File or folder not found"], ["noContentFound", "SourceComponent %s (metadata type = %s) is missing its content file."], ["noContentFound.actions", ["Ensure the content file exists in the expected location.", "If the content file is in your .forceignore file, ensure the meta-xml file is also ignored to completely exclude it."]], ["error_parsing_xml", "SourceComponent %s (metadata type = %s) does not have an associated metadata xml to parse"], ["error_expected_file_path", "%s: path is to a directory, expected a file"], ["error_expected_directory_path", "%s: path is to a file, expected a directory"], ["error_directory_not_found_or_not_directory", "%s: path is not a directory"], ["error_no_directory_stream", "%s doesn't support readable streams on directories."], ["error_no_source_to_deploy", "No source-backed components present in the package."], ["error_no_components_to_retrieve", "No components in the package to retrieve."], ["error_static_resource_attempting_zip_slip", "Entry '%s' in static resource '%s' resolves to a location outside the extraction directory ('%s')."], ["error_static_resource_symlink", "Entry '%s' in static resource '%s' would be written through a symbolic link ('%s'). Writing through symbolic links is not allowed because it can place files outside the extraction directory ('%s')."], ["error_retrieve_symlink", "File '%s' would be written through a symbolic link ('%s'). Writing through symbolic links is not allowed during retrieve because it can place files outside the project directory ('%s')."], ["error_static_resource_expected_archive_type", "A StaticResource directory must have a content type of application/zip or application/jar - found %s for %s."], ["error_static_resource_missing_resource_file", "A StaticResource must have an associated .resource file, missing %s.resource-meta.xml"], ["error_no_job_id", "The %s operation is missing a job ID. Initialize an operation with an ID, or start a new job."], ["missingApiVersion", "Could not determine an API version to use for the generated manifest. Tried looking for sourceApiVersion in sfdx-project.json, apiVersion from config vars, and the highest apiVersion from the APEX REST endpoint. Using API version 58.0 as a last resort."], ["invalid_xml_parsing", "error parsing %s due to:\\n message: %s\\n line: %s\\n code: %s"], ["zipBufferError", "Zip buffer was not created during conversion"], ["undefinedComponentSet", "Unable to construct a componentSet. Check the logs for more information."], ["replacementsFileNotRead", "The file \"%s\" specified in the \"replacements\" property of sfdx-project.json could not be read."], ["unsupportedBundleType", "Unsupported Bundle Type: %s"], ["filePathGeneratorNoTypeSupport", "Type not supported for filepath generation: %s"], ["missingFolderType", "The registry has %s as is inFolder but it does not have a folderType"], ["tooManyFiles", "Multiple files found for path: %s."], ["cantGetName", "Unable to calculate fullName from path: %s (%s)"], ["missingMetaFileSuffix", "The metadata registry is configured incorrectly for %s. Expected a metaFileSuffix."], ["uniqueIdElementNotInRegistry", "No uniqueIdElement found in registry for %s (reading %s at %s)."], ["uniqueIdElementNotInChild", "The uniqueIdElement %s was not found the child (reading %s at %s)."], ["suggest_type_header", "A metadata type lookup for \"%s\" found the following close matches:"], ["suggest_type_did_you_mean", "-- Did you mean \".%s%s\" instead for the \"%s\" metadata type?"], ["suggest_type_more_suggestions", "Additional suggestions:\nConfirm the file name, extension, and directory names are correct. Validate against the registry at:\n<https://github.com/forcedotcom/source-deploy-retrieve/blob/main/src/registry/metadataRegistry.json>\n\nIf the type is not listed in the registry, check that it has Metadata API support via the Metadata Coverage Report:\n<https://developer.salesforce.com/docs/metadata-coverage>\n\nIf the type is available via Metadata API but not in the registry\n\n- Open an issue <https://github.com/forcedotcom/cli/issues>\n- Add the type via PR. Instructions: <https://github.com/forcedotcom/source-deploy-retrieve/blob/main/contributing/metadata.md>"], ["error_directory_name_path_traversal", "The directoryName '%s' for metadata type '%s' contains path segments that resolve outside the project root. Verify your registryCustomizations in sfdx-project.json do not contain directory traversal sequences."], ["error_write_path_outside_root", "The write path '%s' resolves outside the root destination '%s'. This may indicate a path traversal attempt via registryCustomizations."], ["warning_jwt_api_version", "This org uses JWT-based access tokens, which require API version 68.0 or later for SOAP metadata operations. The current API version is %s, so metadata listing may return empty or incomplete results. To resolve, update sourceApiVersion in sfdx-project.json to 68.0 or higher."], ["type_name_suggestions", "Confirm the metadata type name is correct. Validate against the registry at:\n<https://github.com/forcedotcom/source-deploy-retrieve/blob/main/src/registry/metadataRegistry.json>\n\nIf the type is not listed in the registry, check that it has Metadata API support via the Metadata Coverage Report:\n<https://developer.salesforce.com/docs/metadata-coverage>\n\nIf the type is available via Metadata API but not in the registry\n\n- Open an issue <https://github.com/forcedotcom/cli/issues>\n- Add the type via PR. Instructions: <https://github.com/forcedotcom/source-deploy-retrieve/blob/main/contributing/metadata.md>"]]));
26
- /**
27
- * Transformer for ComputeApp components.
28
- *
29
- * Only the root xml goes through the Metadata API; the app source is uploaded and
30
- * downloaded by the Elastic Compute transport. So:
31
- * - to metadata: `computeApps/<name>/<name>.computeApp-meta.xml` => `computeApps/<name>.computeApp`
32
- * - to source: `computeApps/<name>.computeApp` => `main/default/computeApps/<name>/<name>.computeApp-meta.xml`
33
- */
34
- class ComputeAppMetadataTransformer extends baseMetadataTransformer_1.BaseMetadataTransformer {
35
- // eslint-disable-next-line @typescript-eslint/require-await, class-methods-use-this
36
- async toMetadataFormat(component) {
37
- if (!component.xml) {
38
- throw messages.createError('error_parsing_xml', [component.fullName, component.type.name]);
39
- }
40
- const { directoryName, suffix } = component.type;
41
- return [
42
- {
43
- source: (0, replacements_1.getReplacementStreamForReadable)(component, component.xml),
44
- output: (0, node_path_1.join)(directoryName, `${component.fullName}.${suffix ?? ''}`),
45
- },
46
- ];
47
- }
48
- // eslint-disable-next-line @typescript-eslint/require-await, class-methods-use-this
49
- async toSourceFormat({ component, mergeWith, }) {
50
- if (!component.xml)
51
- return [];
52
- const { directoryName, suffix } = component.type;
53
- const xmlName = `${component.fullName}.${suffix ?? ''}${constants_1.META_XML_SUFFIX}`;
54
- return [
55
- {
56
- source: (0, replacements_1.getReplacementStreamForReadable)(component, component.xml),
57
- // a local app folder may exist without its meta file; keep the app in one place
58
- output: mergeWith?.xml ??
59
- (mergeWith?.content
60
- ? (0, node_path_1.join)(mergeWith.content, xmlName)
61
- : (0, node_path_1.join)(constants_1.DEFAULT_PACKAGE_ROOT_SFDX, directoryName, component.fullName, xmlName)),
62
- },
63
- ];
64
- }
65
- }
66
- exports.ComputeAppMetadataTransformer = ComputeAppMetadataTransformer;
67
- //# sourceMappingURL=computeAppMetadataTransformer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computeAppMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/convert/transformers/computeAppMetadataTransformer.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAiC;AACjC,wDAAqD;AACrD,sDAAoF;AAGpF,kDAAkE;AAClE,uEAAoE;;AAGpE,MAAM,QAAQ,OAAG,mBAAQ,CAAc,oCAAoC,EAAE,KAAK,w1OAAC,CAAC;AAEpF;;;;;;;GAOG;AACH,MAAa,6BAA8B,SAAQ,iDAAuB;IACxE,oFAAoF;IAC7E,KAAK,CAAC,gBAAgB,CAAC,SAA0B;QACtD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACnB,MAAM,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC;QACjD,OAAO;YACL;gBACE,MAAM,EAAE,IAAA,8CAA+B,EAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;gBACjE,MAAM,EAAE,IAAA,gBAAI,EAAC,aAAa,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;aACrE;SACF,CAAC;IACJ,CAAC;IAED,oFAAoF;IAC7E,KAAK,CAAC,cAAc,CAAC,EAC1B,SAAS,EACT,SAAS,GAIV;QACC,IAAI,CAAC,SAAS,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC;QACjD,MAAM,OAAO,GAAG,GAAG,SAAS,CAAC,QAAQ,IAAI,MAAM,IAAI,EAAE,GAAG,2BAAe,EAAE,CAAC;QAC1E,OAAO;YACL;gBACE,MAAM,EAAE,IAAA,8CAA+B,EAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;gBACjE,gFAAgF;gBAChF,MAAM,EACJ,SAAS,EAAE,GAAG;oBACd,CAAC,SAAS,EAAE,OAAO;wBACjB,CAAC,CAAC,IAAA,gBAAI,EAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;wBAClC,CAAC,CAAC,IAAA,gBAAI,EAAC,qCAAyB,EAAE,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aACnF;SACF,CAAC;IACJ,CAAC;CACF;AAtCD,sEAsCC"}
@@ -1,28 +0,0 @@
1
- import { SourcePath } from '../../common/types';
2
- import { SourceComponent } from '../sourceComponent';
3
- import { BundleSourceAdapter } from './bundleSourceAdapter';
4
- /**
5
- * Handles ComputeApp. Source format is a bundle folder; metadata format (what the org
6
- * returns) is a single flat xml file with no folder, because the app source travels
7
- * through the Elastic Compute transport rather than the Metadata API.
8
- *
9
- * __Source Structure__:
10
- * ```text
11
- * computeApps/
12
- * ├── myApp/
13
- * | ├── myApp.computeApp-meta.xml
14
- * | ├── package.json
15
- * | ├── src/...
16
- * ```
17
- *
18
- * __Metadata Structure__:
19
- * ```text
20
- * computeApps/
21
- * ├── myApp.computeApp
22
- * ```
23
- */
24
- export declare class ComputeAppSourceAdapter extends BundleSourceAdapter {
25
- protected metadataWithContent: boolean;
26
- getComponent(path: SourcePath, isResolvingSource?: boolean): SourceComponent | undefined;
27
- private findEnclosingBundle;
28
- }