@salesforce/source-deploy-retrieve 12.13.0 → 12.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/lib/src/convert/convertContext/convertContext.d.ts +2 -0
  2. package/lib/src/convert/convertContext/convertContext.js +2 -0
  3. package/lib/src/convert/convertContext/convertContext.js.map +1 -1
  4. package/lib/src/convert/convertContext/decomposedExternalServiceRegistrationFinalizer.d.ts +15 -0
  5. package/lib/src/convert/convertContext/decomposedExternalServiceRegistrationFinalizer.js +41 -0
  6. package/lib/src/convert/convertContext/decomposedExternalServiceRegistrationFinalizer.js.map +1 -0
  7. package/lib/src/convert/transformers/baseMetadataTransformer.d.ts +2 -2
  8. package/lib/src/convert/transformers/baseMetadataTransformer.js +2 -2
  9. package/lib/src/convert/transformers/baseMetadataTransformer.js.map +1 -1
  10. package/lib/src/convert/transformers/decomposeExternalServiceRegistrationTransformer.d.ts +12 -0
  11. package/lib/src/convert/transformers/decomposeExternalServiceRegistrationTransformer.js +118 -0
  12. package/lib/src/convert/transformers/decomposeExternalServiceRegistrationTransformer.js.map +1 -0
  13. package/lib/src/convert/transformers/decomposedPermissionSetTransformer.d.ts +1 -1
  14. package/lib/src/convert/transformers/decomposedPermissionSetTransformer.js +1 -1
  15. package/lib/src/convert/transformers/metadataTransformerFactory.d.ts +4 -4
  16. package/lib/src/convert/transformers/metadataTransformerFactory.js +5 -0
  17. package/lib/src/convert/transformers/metadataTransformerFactory.js.map +1 -1
  18. package/lib/src/registry/presets/decomposeExternalServiceRegistrationBeta.json +43 -0
  19. package/lib/src/registry/presets/presetMap.js +2 -0
  20. package/lib/src/registry/presets/presetMap.js.map +1 -1
  21. package/lib/src/registry/types.d.ts +2 -2
  22. package/lib/src/resolve/adapters/partialDecomposedAdapter.d.ts +22 -0
  23. package/lib/src/resolve/adapters/partialDecomposedAdapter.js +64 -0
  24. package/lib/src/resolve/adapters/partialDecomposedAdapter.js.map +1 -0
  25. package/lib/src/resolve/adapters/sourceAdapterFactory.js +3 -0
  26. package/lib/src/resolve/adapters/sourceAdapterFactory.js.map +1 -1
  27. package/package.json +5 -4
@@ -4,6 +4,7 @@ import { NonDecompositionFinalizer } from './nonDecompositionFinalizer';
4
4
  import { DecompositionFinalizer } from './decompositionFinalizer';
5
5
  import { DecomposedLabelsFinalizer } from './decomposedLabelsFinalizer';
6
6
  import { DecomposedPermissionSetFinalizer } from './decomposedPermissionSetFinalizer';
7
+ import { DecomposedExternalServiceRegistrationFinalizer } from './decomposedExternalServiceRegistrationFinalizer';
7
8
  /**
8
9
  * A state manager over the course of a single metadata conversion call.
9
10
  */
@@ -13,5 +14,6 @@ export declare class ConvertContext {
13
14
  readonly nonDecomposition: NonDecompositionFinalizer;
14
15
  readonly decomposedLabels: DecomposedLabelsFinalizer;
15
16
  readonly decomposedPermissionSet: DecomposedPermissionSetFinalizer;
17
+ readonly decomposedExternalServiceRegistration: DecomposedExternalServiceRegistrationFinalizer;
16
18
  executeFinalizers(defaultDirectory?: string): AsyncIterable<WriterFormat[]>;
17
19
  }
@@ -7,6 +7,7 @@ const decompositionFinalizer_1 = require("./decompositionFinalizer");
7
7
  const transactionFinalizer_1 = require("./transactionFinalizer");
8
8
  const decomposedLabelsFinalizer_1 = require("./decomposedLabelsFinalizer");
9
9
  const decomposedPermissionSetFinalizer_1 = require("./decomposedPermissionSetFinalizer");
10
+ const decomposedExternalServiceRegistrationFinalizer_1 = require("./decomposedExternalServiceRegistrationFinalizer");
10
11
  /**
11
12
  * A state manager over the course of a single metadata conversion call.
12
13
  */
@@ -16,6 +17,7 @@ class ConvertContext {
16
17
  nonDecomposition = new nonDecompositionFinalizer_1.NonDecompositionFinalizer();
17
18
  decomposedLabels = new decomposedLabelsFinalizer_1.DecomposedLabelsFinalizer();
18
19
  decomposedPermissionSet = new decomposedPermissionSetFinalizer_1.DecomposedPermissionSetFinalizer();
20
+ decomposedExternalServiceRegistration = new decomposedExternalServiceRegistrationFinalizer_1.DecomposedExternalServiceRegistrationFinalizer();
19
21
  // eslint-disable-next-line @typescript-eslint/require-await
20
22
  async *executeFinalizers(defaultDirectory) {
21
23
  for (const member of Object.values(this)) {
@@ -1 +1 @@
1
- {"version":3,"file":"convertContext.js","sourceRoot":"","sources":["../../../../src/convert/convertContext/convertContext.ts"],"names":[],"mappings":";;;AAOA,qEAAkE;AAClE,2EAAwE;AACxE,qEAAkE;AAClE,iEAAqE;AACrE,2EAAwE;AACxE,yFAAsF;AACtF;;GAEG;AACH,MAAa,cAAc;IACT,aAAa,GAAG,IAAI,+CAAsB,EAAE,CAAC;IAC7C,aAAa,GAAG,IAAI,+CAAsB,EAAE,CAAC;IAC7C,gBAAgB,GAAG,IAAI,qDAAyB,EAAE,CAAC;IACnD,gBAAgB,GAAG,IAAI,qDAAyB,EAAE,CAAC;IACnD,uBAAuB,GAAG,IAAI,mEAAgC,EAAE,CAAC;IAEjF,4DAA4D;IACrD,KAAK,CAAC,CAAC,iBAAiB,CAAC,gBAAyB;QACvD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,MAAM,YAAY,kDAA2B,EAAE,CAAC;gBAClD,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAfD,wCAeC"}
1
+ {"version":3,"file":"convertContext.js","sourceRoot":"","sources":["../../../../src/convert/convertContext/convertContext.ts"],"names":[],"mappings":";;;AAOA,qEAAkE;AAClE,2EAAwE;AACxE,qEAAkE;AAClE,iEAAqE;AACrE,2EAAwE;AACxE,yFAAsF;AACtF,qHAAkH;AAClH;;GAEG;AACH,MAAa,cAAc;IACT,aAAa,GAAG,IAAI,+CAAsB,EAAE,CAAC;IAC7C,aAAa,GAAG,IAAI,+CAAsB,EAAE,CAAC;IAC7C,gBAAgB,GAAG,IAAI,qDAAyB,EAAE,CAAC;IACnD,gBAAgB,GAAG,IAAI,qDAAyB,EAAE,CAAC;IACnD,uBAAuB,GAAG,IAAI,mEAAgC,EAAE,CAAC;IACjE,qCAAqC,GAAG,IAAI,+FAA8C,EAAE,CAAC;IAE7G,4DAA4D;IACrD,KAAK,CAAC,CAAC,iBAAiB,CAAC,gBAAyB;QACvD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,MAAM,YAAY,kDAA2B,EAAE,CAAC;gBAClD,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAhBD,wCAgBC"}
@@ -0,0 +1,15 @@
1
+ import type { ExternalServiceRegistration } from '@jsforce/jsforce-node/lib/api/metadata/schema';
2
+ import { WriterFormat } from '../types';
3
+ import { MetadataType } from '../../registry';
4
+ import { ConvertTransactionFinalizer } from './transactionFinalizer';
5
+ type ExternalServiceRegistrationState = {
6
+ esrRecords: Map<string, ExternalServiceRegistration>;
7
+ };
8
+ export declare class DecomposedExternalServiceRegistrationFinalizer extends ConvertTransactionFinalizer<ExternalServiceRegistrationState> {
9
+ /** to support custom presets (the only way this code should get hit at all pass in the type from a transformer that has registry access */
10
+ externalServiceRegistration?: MetadataType;
11
+ transactionState: ExternalServiceRegistrationState;
12
+ defaultDir: string | undefined;
13
+ finalize(defaultDirectory: string | undefined): Promise<WriterFormat[]>;
14
+ }
15
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DecomposedExternalServiceRegistrationFinalizer = void 0;
4
+ /*
5
+ * Copyright (c) 2025, 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
+ const node_path_1 = require("node:path");
11
+ const ts_types_1 = require("@salesforce/ts-types");
12
+ const streams_1 = require("../streams");
13
+ const transactionFinalizer_1 = require("./transactionFinalizer");
14
+ class DecomposedExternalServiceRegistrationFinalizer extends transactionFinalizer_1.ConvertTransactionFinalizer {
15
+ /** to support custom presets (the only way this code should get hit at all pass in the type from a transformer that has registry access */
16
+ externalServiceRegistration;
17
+ transactionState = {
18
+ esrRecords: new Map(),
19
+ };
20
+ // eslint-disable-next-line class-methods-use-this
21
+ defaultDir;
22
+ finalize(defaultDirectory) {
23
+ this.defaultDir = defaultDirectory;
24
+ const writerFormats = [];
25
+ this.transactionState.esrRecords.forEach((esrRecord, parent) => writerFormats.push({
26
+ component: {
27
+ type: (0, ts_types_1.ensure)(this.externalServiceRegistration, 'DecomposedESRFinalizer should have set .ESR'),
28
+ fullName: (0, ts_types_1.ensureString)(parent),
29
+ },
30
+ writeInfos: [
31
+ {
32
+ output: (0, node_path_1.join)((0, ts_types_1.ensure)(this.externalServiceRegistration?.directoryName, 'directory name missing'), `${parent}.externalServiceRegistration`),
33
+ source: new streams_1.JsToXml({ ExternalServiceRegistration: { ...esrRecord } }),
34
+ },
35
+ ],
36
+ }));
37
+ return Promise.resolve(writerFormats);
38
+ }
39
+ }
40
+ exports.DecomposedExternalServiceRegistrationFinalizer = DecomposedExternalServiceRegistrationFinalizer;
41
+ //# sourceMappingURL=decomposedExternalServiceRegistrationFinalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decomposedExternalServiceRegistrationFinalizer.js","sourceRoot":"","sources":["../../../../src/convert/convertContext/decomposedExternalServiceRegistrationFinalizer.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yCAAiC;AAEjC,mDAA4D;AAG5D,wCAAqC;AACrC,iEAAqE;AAMrE,MAAa,8CAA+C,SAAQ,kDAA6D;IAC/H,2IAA2I;IACpI,2BAA2B,CAAgB;IAC3C,gBAAgB,GAAqC;QAC1D,UAAU,EAAE,IAAI,GAAG,EAAuC;KAC3D,CAAC;IACF,kDAAkD;IAC3C,UAAU,CAAqB;IAE/B,QAAQ,CAAC,gBAAoC;QAClD,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;QACnC,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAC7D,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE;gBACT,IAAI,EAAE,IAAA,iBAAM,EAAC,IAAI,CAAC,2BAA2B,EAAE,6CAA6C,CAAC;gBAC7F,QAAQ,EAAE,IAAA,uBAAY,EAAC,MAAM,CAAC;aAC/B;YACD,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,IAAA,gBAAI,EACV,IAAA,iBAAM,EAAC,IAAI,CAAC,2BAA2B,EAAE,aAAa,EAAE,wBAAwB,CAAC,EACjF,GAAG,MAAM,8BAA8B,CACxC;oBACD,MAAM,EAAE,IAAI,iBAAO,CAAC,EAAE,2BAA2B,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC;iBACvE;aACF;SACF,CAAC,CACH,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;CACF;AA/BD,wGA+BC"}
@@ -1,7 +1,7 @@
1
1
  import { MetadataTransformer, WriteInfo } from '../types';
2
2
  import { ConvertContext } from '../convertContext/convertContext';
3
- import { SourceComponent } from '../../resolve/sourceComponent';
4
- import { RegistryAccess } from '../../registry/registryAccess';
3
+ import { SourceComponent } from '../../resolve';
4
+ import { RegistryAccess } from '../../registry';
5
5
  export declare abstract class BaseMetadataTransformer implements MetadataTransformer {
6
6
  readonly context: ConvertContext;
7
7
  defaultDirectory?: string;
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseMetadataTransformer = void 0;
4
4
  const convertContext_1 = require("../convertContext/convertContext");
5
- const registryAccess_1 = require("../../registry/registryAccess");
5
+ const registry_1 = require("../../registry");
6
6
  class BaseMetadataTransformer {
7
7
  context;
8
8
  defaultDirectory;
9
9
  registry;
10
- constructor(registry = new registryAccess_1.RegistryAccess(), context = new convertContext_1.ConvertContext()) {
10
+ constructor(registry = new registry_1.RegistryAccess(), context = new convertContext_1.ConvertContext()) {
11
11
  this.registry = registry;
12
12
  this.context = context;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"baseMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/convert/transformers/baseMetadataTransformer.ts"],"names":[],"mappings":";;;AAOA,qEAAkE;AAElE,kEAA+D;AAE/D,MAAsB,uBAAuB;IAC3B,OAAO,CAAiB;IACjC,gBAAgB,CAAU;IACvB,QAAQ,CAAiB;IAEnC,YAAmB,QAAQ,GAAG,IAAI,+BAAc,EAAE,EAAE,OAAO,GAAG,IAAI,+BAAc,EAAE;QAChF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CAOF;AAfD,0DAeC"}
1
+ {"version":3,"file":"baseMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/convert/transformers/baseMetadataTransformer.ts"],"names":[],"mappings":";;;AAOA,qEAAkE;AAElE,6CAAgD;AAEhD,MAAsB,uBAAuB;IAC3B,OAAO,CAAiB;IACjC,gBAAgB,CAAU;IACvB,QAAQ,CAAiB;IAEnC,YAAmB,QAAQ,GAAG,IAAI,yBAAc,EAAE,EAAE,OAAO,GAAG,IAAI,+BAAc,EAAE;QAChF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CAOF;AAfD,0DAeC"}
@@ -0,0 +1,12 @@
1
+ import { WriteInfo } from '../types';
2
+ import { SourceComponent } from '../../resolve';
3
+ import { BaseMetadataTransformer } from './baseMetadataTransformer';
4
+ export declare class DecomposeExternalServiceRegistrationTransformer extends BaseMetadataTransformer {
5
+ toSourceFormat(input: {
6
+ component: SourceComponent;
7
+ mergeWith?: SourceComponent | undefined;
8
+ }): Promise<WriteInfo[]>;
9
+ toMetadataFormat(component: SourceComponent): Promise<WriteInfo[]>;
10
+ private getOutputFolder;
11
+ private getSchemaType;
12
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DecomposeExternalServiceRegistrationTransformer = void 0;
27
+ /*
28
+ * Copyright (c) 2023, salesforce.com, inc.
29
+ * All rights reserved.
30
+ * Licensed under the BSD 3-Clause license.
31
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
32
+ */
33
+ const path = __importStar(require("node:path"));
34
+ const node_stream_1 = require("node:stream");
35
+ const yaml = __importStar(require("yaml"));
36
+ const fast_xml_parser_1 = require("fast-xml-parser");
37
+ const common_1 = require("../../common");
38
+ const baseMetadataTransformer_1 = require("./baseMetadataTransformer");
39
+ const xmlDeclaration = '<?xml version="1.0" encoding="UTF-8"?>\n';
40
+ class DecomposeExternalServiceRegistrationTransformer extends baseMetadataTransformer_1.BaseMetadataTransformer {
41
+ async toSourceFormat(input) {
42
+ this.context.decomposedExternalServiceRegistration.externalServiceRegistration ??=
43
+ this.registry.getTypeByName('ExternalServiceRegistration');
44
+ const writeInfos = [];
45
+ const { component } = input;
46
+ const outputDir = path.join(this.getOutputFolder('source', component), this.context.decomposedExternalServiceRegistration.externalServiceRegistration.directoryName);
47
+ const xmlContent = { ...(await component.parseXml()).ExternalServiceRegistration };
48
+ // Extract schema content
49
+ const schemaContent = xmlContent.schema ?? '';
50
+ const schemaType = xmlContent.schemaUploadFileExtension ?? this.getSchemaType(schemaContent);
51
+ const asYaml = schemaType === 'yaml' ? schemaContent : yaml.stringify(JSON.parse(schemaContent));
52
+ const schemaFileName = `${component.fullName}.yaml`;
53
+ const schemaFilePath = path.join(path.dirname(outputDir), schemaFileName);
54
+ // make sure the schema type is set
55
+ xmlContent.schemaUploadFileExtension = schemaType;
56
+ // Write schema content to file
57
+ writeInfos.push({
58
+ source: node_stream_1.Readable.from(asYaml),
59
+ output: schemaFilePath,
60
+ });
61
+ // Remove schema content from ESR content
62
+ delete xmlContent.schema;
63
+ // Write remaining ESR content to file
64
+ const esrFileName = `${component.fullName}.externalServiceRegistration`;
65
+ const esrFilePath = path.join(path.dirname(outputDir), `${esrFileName}${common_1.META_XML_SUFFIX}`);
66
+ const xmlBuilder = new fast_xml_parser_1.XMLBuilder({
67
+ format: true,
68
+ ignoreAttributes: false,
69
+ suppressUnpairedNode: true,
70
+ processEntities: true,
71
+ indentBy: ' ',
72
+ });
73
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
74
+ const source = xmlBuilder.build({ ExternalServiceRegistration: xmlContent });
75
+ writeInfos.push({
76
+ source: node_stream_1.Readable.from(Buffer.from(xmlDeclaration + source)),
77
+ output: esrFilePath,
78
+ });
79
+ return writeInfos;
80
+ }
81
+ async toMetadataFormat(component) {
82
+ // only need to do this once
83
+ this.context.decomposedExternalServiceRegistration.externalServiceRegistration ??=
84
+ this.registry.getTypeByName('ExternalServiceRegistration');
85
+ const esrFilePath = component.xml;
86
+ const esrContent = { ...(await component.parseXml()).ExternalServiceRegistration };
87
+ // Read schema content from file
88
+ const schemaFileName = `${component.fullName}.yaml`; // or .json based on your logic
89
+ const schemaFilePath = path.join(path.dirname(esrFilePath ?? ''), schemaFileName);
90
+ // load the schema content from the file
91
+ const schemaContent = (await component.tree.readFile(schemaFilePath)).toString();
92
+ // Add schema content back to ESR content in its original format
93
+ // if the original format was JSON, then convert the yaml to json otherwise leave as is
94
+ esrContent.schema =
95
+ esrContent.schemaUploadFileExtension === 'json'
96
+ ? JSON.stringify(yaml.parse(schemaContent), undefined, 2)
97
+ : schemaContent;
98
+ // Write combined content back to md format
99
+ this.context.decomposedExternalServiceRegistration.transactionState.esrRecords.set(component.fullName, {
100
+ // @ts-expect-error Object literal may only specify known properties
101
+ [common_1.XML_NS_KEY]: common_1.XML_DECL,
102
+ ...esrContent,
103
+ });
104
+ return [];
105
+ }
106
+ // eslint-disable-next-line class-methods-use-this
107
+ getOutputFolder(format, component, mergeWith) {
108
+ const base = format === 'source' ? common_1.DEFAULT_PACKAGE_ROOT_SFDX : '';
109
+ const { type } = mergeWith ?? component;
110
+ return path.join(base, type.directoryName);
111
+ }
112
+ // eslint-disable-next-line class-methods-use-this
113
+ getSchemaType(content) {
114
+ return content.trim().startsWith('{') ? 'json' : 'yaml';
115
+ }
116
+ }
117
+ exports.DecomposeExternalServiceRegistrationTransformer = DecomposeExternalServiceRegistrationTransformer;
118
+ //# sourceMappingURL=decomposeExternalServiceRegistrationTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decomposeExternalServiceRegistrationTransformer.js","sourceRoot":"","sources":["../../../../src/convert/transformers/decomposeExternalServiceRegistrationTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,gDAAkC;AAClC,6CAAuC;AACvC,2CAA6B;AAC7B,qDAA6C;AAI7C,yCAAgG;AAChG,uEAAoE;AAQpE,MAAM,cAAc,GAAG,0CAA0C,CAAC;AAElE,MAAa,+CAAgD,SAAQ,iDAAuB;IACnF,KAAK,CAAC,cAAc,CAAC,KAG3B;QACC,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,2BAA2B;YAC5E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,EACzC,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,2BAA2B,CAAC,aAAa,CAC7F,CAAC;QACF,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAO,CAAC,CAAC,2BAA2B,EAAE,CAAC;QAExF,yBAAyB;QACzB,MAAM,aAAa,GAAW,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,UAAU,CAAC,yBAAyB,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,MAAM,cAAc,GAAG,GAAG,SAAS,CAAC,QAAQ,OAAO,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;QAE1E,mCAAmC;QACnC,UAAU,CAAC,yBAAyB,GAAG,UAAU,CAAC;QAElD,+BAA+B;QAC/B,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,sBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,yCAAyC;QACzC,OAAO,UAAU,CAAC,MAAM,CAAC;QAEzB,sCAAsC;QACtC,MAAM,WAAW,GAAG,GAAG,SAAS,CAAC,QAAQ,8BAA8B,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,WAAW,GAAG,wBAAe,EAAE,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,IAAI,4BAAU,CAAC;YAChC,MAAM,EAAE,IAAI;YACZ,gBAAgB,EAAE,KAAK;YACvB,oBAAoB,EAAE,IAAI;YAC1B,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,mEAAmE;QACnE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7E,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,sBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC;YAC3D,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,SAA0B;QACtD,4BAA4B;QAC5B,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,2BAA2B;YAC5E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC;QAClC,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAO,CAAC,CAAC,2BAA2B,EAAE,CAAC;QAExF,gCAAgC;QAChC,MAAM,cAAc,GAAG,GAAG,SAAS,CAAC,QAAQ,OAAO,CAAC,CAAC,+BAA+B;QACpF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QAClF,wCAAwC;QACxC,MAAM,aAAa,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjF,gEAAgE;QAChE,uFAAuF;QACvF,UAAU,CAAC,MAAM;YACf,UAAU,CAAC,yBAAyB,KAAK,MAAM;gBAC7C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzD,CAAC,CAAC,aAAa,CAAC;QAEpB,2CAA2C;QAC3C,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;YACrG,oEAAoE;YACpE,CAAC,mBAAU,CAAC,EAAE,iBAAQ;YACtB,GAAG,UAAU;SACd,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kDAAkD;IAC1C,eAAe,CAAC,MAAc,EAAE,SAA0B,EAAE,SAA2B;QAC7F,MAAM,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,IAAI,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC;IAED,kDAAkD;IAC1C,aAAa,CAAC,OAAe;QACnC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,CAAC;CACF;AA9FD,0GA8FC"}
@@ -10,7 +10,7 @@ export declare class DecomposedPermissionSetTransformer extends BaseMetadataTran
10
10
  */
11
11
  toMetadataFormat(component: SourceComponent): Promise<WriteInfo[]>;
12
12
  /**
13
- * will decomopse a .permissionset into a directory containing files, and an 'objectSettings' folder for object-specific settings
13
+ * will decompose a .permissionset into a directory containing files, and an 'objectSettings' folder for object-specific settings
14
14
  *
15
15
  * @param {SourceComponent} component A SourceComponent representing a metadata-formatted permission set
16
16
  * @param {SourceComponent | undefined} mergeWith any existing source-formatted permission sets to be merged with, think existing source merging with new information from a retrieve
@@ -53,7 +53,7 @@ class DecomposedPermissionSetTransformer extends baseMetadataTransformer_1.BaseM
53
53
  return [];
54
54
  }
55
55
  /**
56
- * will decomopse a .permissionset into a directory containing files, and an 'objectSettings' folder for object-specific settings
56
+ * will decompose a .permissionset into a directory containing files, and an 'objectSettings' folder for object-specific settings
57
57
  *
58
58
  * @param {SourceComponent} component A SourceComponent representing a metadata-formatted permission set
59
59
  * @param {SourceComponent | undefined} mergeWith any existing source-formatted permission sets to be merged with, think existing source merging with new information from a retrieve
@@ -1,10 +1,10 @@
1
1
  import { MetadataTransformer } from '../types';
2
- import { SourceComponent } from '../../resolve/sourceComponent';
2
+ import { SourceComponent } from '../../resolve';
3
3
  import { ConvertContext } from '../convertContext/convertContext';
4
- import { RegistryAccess } from '../../registry/registryAccess';
4
+ import { RegistryAccess } from '../../registry';
5
5
  export declare class MetadataTransformerFactory {
6
- private registry;
7
- private context;
6
+ private readonly registry;
7
+ private readonly context;
8
8
  constructor(registry: RegistryAccess, context?: ConvertContext);
9
9
  getTransformer(component: SourceComponent): MetadataTransformer;
10
10
  }
@@ -15,6 +15,7 @@ const staticResourceMetadataTransformer_1 = require("./staticResourceMetadataTra
15
15
  const nonDecomposedMetadataTransformer_1 = require("./nonDecomposedMetadataTransformer");
16
16
  const decomposeLabelsTransformer_1 = require("./decomposeLabelsTransformer");
17
17
  const decomposedPermissionSetTransformer_1 = require("./decomposedPermissionSetTransformer");
18
+ const decomposeExternalServiceRegistrationTransformer_1 = require("./decomposeExternalServiceRegistrationTransformer");
18
19
  ;
19
20
  const messages = new core_1.Messages('@salesforce/source-deploy-retrieve', 'sdr', new Map([["md_request_fail", "Metadata API request failed: %s"], ["error_convert_invalid_format", "Invalid conversion format '%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_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_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>"], ["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>"]]));
20
21
  class MetadataTransformerFactory {
@@ -23,6 +24,8 @@ class MetadataTransformerFactory {
23
24
  constructor(registry, context = new convertContext_1.ConvertContext()) {
24
25
  this.registry = registry;
25
26
  this.context = context;
27
+ this.registry = registry;
28
+ this.context = context;
26
29
  }
27
30
  getTransformer(component) {
28
31
  // transformer is determined by the parent, if the component has one
@@ -44,6 +47,8 @@ class MetadataTransformerFactory {
44
47
  return component.type.name === 'CustomLabels'
45
48
  ? new decomposeLabelsTransformer_1.LabelsMetadataTransformer(this.registry, this.context)
46
49
  : new decomposeLabelsTransformer_1.LabelMetadataTransformer(this.registry, this.context);
50
+ case 'decomposeExternalServiceRegistration':
51
+ return new decomposeExternalServiceRegistrationTransformer_1.DecomposeExternalServiceRegistrationTransformer(this.registry, this.context);
47
52
  default:
48
53
  throw messages.createError('error_missing_transformer', [type.name, transformerId]);
49
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadataTransformerFactory.js","sourceRoot":"","sources":["../../../../src/convert/transformers/metadataTransformerFactory.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,2CAA4C;AAG5C,qEAAkE;AAElE,6EAA0E;AAC1E,mFAAgF;AAChF,2FAAwF;AACxF,yFAAsF;AACtF,6EAAmG;AACnG,6FAA0F;;AAG1F,MAAM,QAAQ,OAAG,eAAQ,CAAc,oCAAoC,EAAE,KAAK,qyLAAC,CAAC;AAEpF,MAAa,0BAA0B;IAC7B,QAAQ,CAAiB;IACzB,OAAO,CAAiB;IAEhC,YAAmB,QAAwB,EAAE,OAAO,GAAG,IAAI,+BAAc,EAAE;QACzE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,cAAc,CAAC,SAA0B;QAC9C,oEAAoE;QACpE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QACvE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;QACnD,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,IAAI,uDAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,KAAK,YAAY;gBACf,OAAO,IAAI,6DAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB;gBACnB,OAAO,IAAI,qEAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5E,KAAK,eAAe;gBAClB,OAAO,IAAI,mEAAgC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,uEAAkC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7E,KAAK,kBAAkB;gBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc;oBAC3C,CAAC,CAAC,IAAI,sDAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;oBAC5D,CAAC,CAAC,IAAI,qDAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAChE;gBACE,MAAM,QAAQ,CAAC,WAAW,CAAC,2BAA2B,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;CACF;AAjCD,gEAiCC"}
1
+ {"version":3,"file":"metadataTransformerFactory.js","sourceRoot":"","sources":["../../../../src/convert/transformers/metadataTransformerFactory.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,2CAA4C;AAG5C,qEAAkE;AAElE,6EAA0E;AAC1E,mFAAgF;AAChF,2FAAwF;AACxF,yFAAsF;AACtF,6EAAmG;AACnG,6FAA0F;AAC1F,uHAAoH;;AAGpH,MAAM,QAAQ,OAAG,eAAQ,CAAc,oCAAoC,EAAE,KAAK,qyLAAC,CAAC;AAEpF,MAAa,0BAA0B;IACD;IAA2C;IAA/E,YAAoC,QAAwB,EAAmB,UAAU,IAAI,+BAAc,EAAE;QAAzE,aAAQ,GAAR,QAAQ,CAAgB;QAAmB,YAAO,GAAP,OAAO,CAAuB;QAC3G,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,cAAc,CAAC,SAA0B;QAC9C,oEAAoE;QACpE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QACvE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;QACnD,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,IAAI,uDAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,KAAK,YAAY;gBACf,OAAO,IAAI,6DAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB;gBACnB,OAAO,IAAI,qEAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5E,KAAK,eAAe;gBAClB,OAAO,IAAI,mEAAgC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,uEAAkC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7E,KAAK,kBAAkB;gBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc;oBAC3C,CAAC,CAAC,IAAI,sDAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;oBAC5D,CAAC,CAAC,IAAI,qDAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAChE,KAAK,sCAAsC;gBACzC,OAAO,IAAI,iGAA+C,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1F;gBACE,MAAM,QAAQ,CAAC,WAAW,CAAC,2BAA2B,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;CACF;AAhCD,gEAgCC"}
@@ -0,0 +1,43 @@
1
+ {
2
+ "types": {
3
+ "externalserviceregistration": {
4
+ "children": {
5
+ "types": {
6
+ "yaml": {
7
+ "strategies": {
8
+ "adapter": "partiallyDecomposed"
9
+ },
10
+ "directoryName": "externalServiceRegistrations",
11
+ "id": "yaml",
12
+ "isAddressable": false,
13
+ "name": "OAS Yaml Schema",
14
+ "suffix": "yaml",
15
+ "xmlElementName": "schema"
16
+ }
17
+ },
18
+ "suffixes": {
19
+ "yaml": "yaml"
20
+ }
21
+ },
22
+ "directoryName": "externalServiceRegistrations",
23
+ "id": "externalserviceregistration",
24
+ "ignoreParsedFullName": false,
25
+ "name": "ExternalServiceRegistration",
26
+ "strategies": {
27
+ "adapter": "partiallyDecomposed",
28
+ "decomposition": "topLevel",
29
+ "transformer": "decomposeExternalServiceRegistration"
30
+ },
31
+ "suffix": "externalServiceRegistration",
32
+ "supportsPartialDelete": false
33
+ }
34
+ },
35
+ "suffixes": {
36
+ "yaml": "yaml",
37
+ "externalServiceRegistration": "externalserviceregistration"
38
+ },
39
+ "strictDirectoryNames": {},
40
+ "childTypes": {
41
+ "yaml": "externalserviceregistration"
42
+ }
43
+ }
@@ -32,6 +32,7 @@ const decomposePermissionSetBeta = __importStar(require("./decomposePermissionSe
32
32
  const decomposePermissionSetBeta2 = __importStar(require("./decomposePermissionSetBeta2.json"));
33
33
  const decomposeSharingRulesBeta = __importStar(require("./decomposeSharingRulesBeta.json"));
34
34
  const decomposeWorkflowBeta = __importStar(require("./decomposeWorkflowBeta.json"));
35
+ const decomposeExternalServiceRegistrationBeta = __importStar(require("./decomposeExternalServiceRegistrationBeta.json"));
35
36
  exports.presetMap = new Map([
36
37
  ['decomposeCustomLabelsBeta2', decomposeCustomLabelsBeta2],
37
38
  ['decomposeCustomLabelsBeta', decomposeCustomLabelsBeta],
@@ -39,5 +40,6 @@ exports.presetMap = new Map([
39
40
  ['decomposePermissionSetBeta2', decomposePermissionSetBeta2],
40
41
  ['decomposeSharingRulesBeta', decomposeSharingRulesBeta],
41
42
  ['decomposeWorkflowBeta', decomposeWorkflowBeta],
43
+ ['decomposeExternalServiceRegistrationBeta', decomposeExternalServiceRegistrationBeta],
42
44
  ]);
43
45
  //# sourceMappingURL=presetMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"presetMap.js","sourceRoot":"","sources":["../../../../src/registry/presets/presetMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,+EAA+E;AAC/E,qEAAqE;AACrE,4FAA8E;AAC9E,8FAAgF;AAChF,8FAAgF;AAChF,gGAAkF;AAClF,4FAA8E;AAC9E,oFAAsE;AAEzD,QAAA,SAAS,GAAG,IAAI,GAAG,CAA2B;IACzD,CAAC,4BAA4B,EAAE,0BAA8C,CAAC;IAC9E,CAAC,2BAA2B,EAAE,yBAA6C,CAAC;IAC5E,CAAC,4BAA4B,EAAE,0BAA8C,CAAC;IAC9E,CAAC,6BAA6B,EAAE,2BAA+C,CAAC;IAChF,CAAC,2BAA2B,EAAE,yBAA6C,CAAC;IAC5E,CAAC,uBAAuB,EAAE,qBAAyC,CAAC;CACrE,CAAC,CAAC"}
1
+ {"version":3,"file":"presetMap.js","sourceRoot":"","sources":["../../../../src/registry/presets/presetMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,+EAA+E;AAC/E,qEAAqE;AACrE,4FAA8E;AAC9E,8FAAgF;AAChF,8FAAgF;AAChF,gGAAkF;AAClF,4FAA8E;AAC9E,oFAAsE;AACtE,0HAA4G;AAE/F,QAAA,SAAS,GAAG,IAAI,GAAG,CAA2B;IACzD,CAAC,4BAA4B,EAAE,0BAA8C,CAAC;IAC9E,CAAC,2BAA2B,EAAE,yBAA6C,CAAC;IAC5E,CAAC,4BAA4B,EAAE,0BAA8C,CAAC;IAC9E,CAAC,6BAA6B,EAAE,2BAA+C,CAAC;IAChF,CAAC,2BAA2B,EAAE,yBAA6C,CAAC;IAC5E,CAAC,uBAAuB,EAAE,qBAAyC,CAAC;IACpE,CAAC,0CAA0C,EAAE,wCAA4D,CAAC;CAC3G,CAAC,CAAC"}
@@ -128,8 +128,8 @@ export type MetadataType = {
128
128
  * Configuration for resolving and converting components of the type.
129
129
  */
130
130
  strategies?: {
131
- adapter: 'mixedContent' | 'matchingContentFile' | 'decomposed' | 'digitalExperience' | 'bundle' | 'default';
132
- transformer?: 'decomposed' | 'staticResource' | 'nonDecomposed' | 'standard' | 'decomposedLabels' | 'decomposedPermissionSet';
131
+ adapter: 'mixedContent' | 'matchingContentFile' | 'decomposed' | 'digitalExperience' | 'bundle' | 'default' | 'partiallyDecomposed';
132
+ transformer?: 'decomposed' | 'staticResource' | 'nonDecomposed' | 'standard' | 'decomposedLabels' | 'decomposedPermissionSet' | 'decomposeExternalServiceRegistration';
133
133
  decomposition?: 'topLevel' | 'folderPerType';
134
134
  recomposition?: 'startEmpty';
135
135
  };
@@ -0,0 +1,22 @@
1
+ import { SourceComponent } from '../sourceComponent';
2
+ import { DefaultSourceAdapter } from './defaultSourceAdapter';
3
+ /**
4
+ * Handles types with partially decomposed content. This means that there will be 2+ files,
5
+ * one being the parent (-meta.xml) and more being the "children" - these children make up one XML tag of the parent
6
+ *
7
+ * __Example Types__:
8
+ *
9
+ * DecomposeExternalServiceRegistrationBeta Preset
10
+ *
11
+ * __Example Structures__:
12
+ *
13
+ *```text
14
+ * externalServiceRegistration/
15
+ * ├── myFoo.externalServiceRegistration-meta.xml
16
+ * ├── myFoo.yaml
17
+ * ├── myFoo.json
18
+ *```
19
+ */
20
+ export declare class PartialDecomposedAdapter extends DefaultSourceAdapter {
21
+ protected populate(trigger: string, component?: SourceComponent): SourceComponent;
22
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PartialDecomposedAdapter = void 0;
4
+ /*
5
+ * Copyright (c) 2022, 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
+ const node_path_1 = require("node:path");
11
+ const sourceComponent_1 = require("../sourceComponent");
12
+ const utils_1 = require("../../utils");
13
+ const defaultSourceAdapter_1 = require("./defaultSourceAdapter");
14
+ /**
15
+ * Handles types with partially decomposed content. This means that there will be 2+ files,
16
+ * one being the parent (-meta.xml) and more being the "children" - these children make up one XML tag of the parent
17
+ *
18
+ * __Example Types__:
19
+ *
20
+ * DecomposeExternalServiceRegistrationBeta Preset
21
+ *
22
+ * __Example Structures__:
23
+ *
24
+ *```text
25
+ * externalServiceRegistration/
26
+ * ├── myFoo.externalServiceRegistration-meta.xml
27
+ * ├── myFoo.yaml
28
+ * ├── myFoo.json
29
+ *```
30
+ */
31
+ class PartialDecomposedAdapter extends defaultSourceAdapter_1.DefaultSourceAdapter {
32
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
+ populate(trigger, component) {
34
+ const parentType = this.registry.getParentType(this.type.id);
35
+ // no children of this type,
36
+ // the parent has child types
37
+ // and the trigger starts with one of the parent's child's suffixes
38
+ // => we have a child path
39
+ if (!this.type.children &&
40
+ parentType?.children &&
41
+ Object.keys(parentType.children.suffixes).find((suffix) => trigger.endsWith(`.${suffix}`))) {
42
+ // we have a child, return the parent for the transformer to rebundle together
43
+ return new sourceComponent_1.SourceComponent({
44
+ name: getName(trigger),
45
+ type: parentType,
46
+ // change the xml to point to the parent, the transformer will reassemble all parts to form valid MD format files
47
+ xml: trigger.replace((0, utils_1.extName)(trigger), 'externalServiceRegistration-meta.xml'),
48
+ }, this.tree, this.forceIgnore);
49
+ }
50
+ else {
51
+ // we were given a parent
52
+ return new sourceComponent_1.SourceComponent({
53
+ name: getName(trigger),
54
+ type: this.type,
55
+ xml: trigger,
56
+ }, this.tree, this.forceIgnore);
57
+ }
58
+ }
59
+ }
60
+ exports.PartialDecomposedAdapter = PartialDecomposedAdapter;
61
+ function getName(contentPath) {
62
+ return (0, node_path_1.basename)(contentPath).split('.').at(0);
63
+ }
64
+ //# sourceMappingURL=partialDecomposedAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partialDecomposedAdapter.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/partialDecomposedAdapter.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yCAAqC;AACrC,wDAAqD;AACrD,uCAAsC;AACtC,iEAA8D;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,wBAAyB,SAAQ,2CAAoB;IAChE,6DAA6D;IACnD,QAAQ,CAAC,OAAe,EAAE,SAA2B;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7D,4BAA4B;QAC5B,6BAA6B;QAC7B,mEAAmE;QACnE,0BAA0B;QAC1B,IACE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YACnB,UAAU,EAAE,QAAQ;YACpB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,EAC1F,CAAC;YACD,8EAA8E;YAC9E,OAAO,IAAI,iCAAe,CACxB;gBACE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;gBACtB,IAAI,EAAE,UAAU;gBAEhB,iHAAiH;gBACjH,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,EAAE,sCAAsC,CAAC;aAC/E,EACD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,OAAO,IAAI,iCAAe,CACxB;gBACE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,EAAE,OAAO;aACb,EACD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAvCD,4DAuCC;AAED,SAAS,OAAO,CAAC,WAAmB;IAClC,OAAO,IAAA,oBAAQ,EAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;AACjD,CAAC"}
@@ -15,6 +15,7 @@ const matchingContentSourceAdapter_1 = require("./matchingContentSourceAdapter")
15
15
  const mixedContentSourceAdapter_1 = require("./mixedContentSourceAdapter");
16
16
  const defaultSourceAdapter_1 = require("./defaultSourceAdapter");
17
17
  const digitalExperienceSourceAdapter_1 = require("./digitalExperienceSourceAdapter");
18
+ const partialDecomposedAdapter_1 = require("./partialDecomposedAdapter");
18
19
  ;
19
20
  const messages = new core_1.Messages('@salesforce/source-deploy-retrieve', 'sdr', new Map([["md_request_fail", "Metadata API request failed: %s"], ["error_convert_invalid_format", "Invalid conversion format '%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_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_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>"], ["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>"]]));
20
21
  class SourceAdapterFactory {
@@ -37,6 +38,8 @@ class SourceAdapterFactory {
37
38
  return new mixedContentSourceAdapter_1.MixedContentSourceAdapter(type, this.registry, forceIgnore, this.tree);
38
39
  case 'digitalExperience':
39
40
  return new digitalExperienceSourceAdapter_1.DigitalExperienceSourceAdapter(type, this.registry, forceIgnore, this.tree);
41
+ case 'partiallyDecomposed':
42
+ return new partialDecomposedAdapter_1.PartialDecomposedAdapter(type, this.registry, forceIgnore, this.tree);
40
43
  case 'default':
41
44
  case undefined:
42
45
  return new defaultSourceAdapter_1.DefaultSourceAdapter(type, this.registry, forceIgnore, this.tree);
@@ -1 +1 @@
1
- {"version":3,"file":"sourceAdapterFactory.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/sourceAdapterFactory.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,2CAAqD;AAErD,gDAA6C;AAI7C,+DAA4D;AAC5D,uEAAoE;AACpE,iFAA8E;AAC9E,2EAAwE;AACxE,iEAA8D;AAC9D,qFAAkF;;AAGlF,MAAM,QAAQ,OAAG,eAAQ,CAAc,oCAAoC,EAAE,KAAK,qyLAAC,CAAC;AAEpF,MAAa,oBAAoB;IACvB,QAAQ,CAAiB;IACzB,IAAI,CAAgB;IAE5B,YAAmB,QAAwB,EAAE,IAAmB;QAC9D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAkB,EAAE,WAAW,GAAG,IAAI,yBAAW,EAAE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;QAC3C,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,OAAO,IAAI,yCAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,KAAK,YAAY;gBACf,OAAO,IAAI,iDAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClF,KAAK,qBAAqB;gBACxB,OAAO,IAAI,2DAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvF,KAAK,cAAc;gBACjB,OAAO,IAAI,qDAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpF,KAAK,mBAAmB;gBACtB,OAAO,IAAI,+DAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzF,KAAK,SAAS,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E;gBACE,MAAM,IAAI,cAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;CACF;AA7BD,oDA6BC"}
1
+ {"version":3,"file":"sourceAdapterFactory.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/sourceAdapterFactory.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,2CAAqD;AAErD,gDAA6C;AAI7C,+DAA4D;AAC5D,uEAAoE;AACpE,iFAA8E;AAC9E,2EAAwE;AACxE,iEAA8D;AAC9D,qFAAkF;AAClF,yEAAsE;;AAGtE,MAAM,QAAQ,OAAG,eAAQ,CAAc,oCAAoC,EAAE,KAAK,qyLAAC,CAAC;AAEpF,MAAa,oBAAoB;IACvB,QAAQ,CAAiB;IACzB,IAAI,CAAgB;IAE5B,YAAmB,QAAwB,EAAE,IAAmB;QAC9D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAkB,EAAE,WAAW,GAAG,IAAI,yBAAW,EAAE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;QAC3C,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,OAAO,IAAI,yCAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,KAAK,YAAY;gBACf,OAAO,IAAI,iDAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClF,KAAK,qBAAqB;gBACxB,OAAO,IAAI,2DAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvF,KAAK,cAAc;gBACjB,OAAO,IAAI,qDAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpF,KAAK,mBAAmB;gBACtB,OAAO,IAAI,+DAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzF,KAAK,qBAAqB;gBACxB,OAAO,IAAI,mDAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnF,KAAK,SAAS,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E;gBACE,MAAM,IAAI,cAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;CACF;AA/BD,oDA+BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/source-deploy-retrieve",
3
- "version": "12.13.0",
3
+ "version": "12.14.0",
4
4
  "description": "JavaScript library to run Salesforce metadata deploys and retrieves",
5
5
  "main": "lib/src/index.js",
6
6
  "author": "Salesforce",
@@ -25,8 +25,8 @@
25
25
  "node": ">=18.0.0"
26
26
  },
27
27
  "dependencies": {
28
- "@salesforce/core": "^8.8.0",
29
- "@salesforce/kit": "^3.2.2",
28
+ "@salesforce/core": "^8.8.2",
29
+ "@salesforce/kit": "^3.2.3",
30
30
  "@salesforce/ts-types": "^2.0.12",
31
31
  "fast-levenshtein": "^3.0.0",
32
32
  "fast-xml-parser": "^4.5.1",
@@ -37,7 +37,8 @@
37
37
  "jszip": "^3.10.1",
38
38
  "mime": "2.6.0",
39
39
  "minimatch": "^9.0.5",
40
- "proxy-agent": "^6.4.0"
40
+ "proxy-agent": "^6.4.0",
41
+ "yaml": "^2.6.1"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@jsforce/jsforce-node": "^3.6.3",