@salesforce/packaging 1.1.12 → 1.2.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.
@@ -119,6 +119,7 @@ export type PackageDescriptorJson = Partial<NamedPackageDir> & Partial<{
119
119
  orgPreferences: string[];
120
120
  snapshot: string;
121
121
  unpackagedMetadata: NamedPackageDir;
122
+ seedMetadata: NamedPackageDir;
122
123
  apexTestAccess: {
123
124
  permissionSets: string[] | string;
124
125
  permissionSetLicenses: string[] | string;
@@ -201,6 +202,7 @@ export type MDFolderForArtifactOptions = {
201
202
  sourcePaths?: string[];
202
203
  metadataPaths?: string[];
203
204
  deploydir?: string;
205
+ sourceApiVersion?: string;
204
206
  };
205
207
  export type PackageVersionOptions = {
206
208
  connection: Connection;
@@ -225,6 +227,7 @@ export type ConvertPackageOptions = {
225
227
  wait: Duration;
226
228
  buildInstance: string;
227
229
  frequency?: Duration;
230
+ seedMetadata?: string;
228
231
  };
229
232
  export type PackageVersionCreateOptions = {
230
233
  connection: Connection;
@@ -14,4 +14,5 @@ export declare function createPackageVersionCreateRequest(context: {
14
14
  installationkey?: string;
15
15
  definitionfile?: string;
16
16
  buildinstance?: string;
17
+ seedmetadata?: string;
17
18
  }, packageId: string, apiVersion: string): Promise<PackagingSObjects.Package2VersionCreateRequest>;
@@ -18,9 +18,17 @@ const interfaces_1 = require("../interfaces");
18
18
  const packageUtils_1 = require("../utils/packageUtils");
19
19
  const packageVersionCreateRequest_1 = require("./packageVersionCreateRequest");
20
20
  const pvcr = require("./packageVersionCreateRequest");
21
+ const packageVersionCreate_1 = require("./packageVersionCreate");
21
22
  var Package2VersionStatus = interfaces_1.PackagingSObjects.Package2VersionStatus;
22
23
  core_1.Messages.importMessagesDirectory(__dirname);
23
24
  const messages = core_1.Messages.loadMessages('@salesforce/packaging', 'package_version_create');
25
+ let logger;
26
+ const getLogger = () => {
27
+ if (!logger) {
28
+ logger = core_1.Logger.childFromRoot('packageConvert');
29
+ }
30
+ return logger;
31
+ };
24
32
  async function findOrCreatePackage2(seedPackage, connection) {
25
33
  const query = `SELECT Id FROM Package2 WHERE ConvertedFromPackageId = '${seedPackage}'`;
26
34
  const queryResult = (await connection.tooling.query(query)).records;
@@ -69,6 +77,7 @@ async function convertPackage(pkg, connection, options, project) {
69
77
  installationkey: options.installationKey,
70
78
  definitionfile: options.definitionfile,
71
79
  buildinstance: options.buildInstance,
80
+ seedmetadata: options.seedMetadata,
72
81
  }, packageId, apiVersion);
73
82
  // TODO: a lot of this is duplicated from PC, PVC, and PVCR.
74
83
  const createResult = await connection.tooling.create('Package2VersionCreateRequest', request);
@@ -101,7 +110,9 @@ async function createPackageVersionCreateRequest(context, packageId, apiVersion)
101
110
  const uniqueId = (0, packageUtils_1.uniqid)({ template: `${packageId}-%s` });
102
111
  const packageVersTmpRoot = path.join(os.tmpdir(), uniqueId);
103
112
  const packageVersMetadataFolder = path.join(packageVersTmpRoot, 'md-files');
113
+ const seedMetadataFolder = path.join(packageVersTmpRoot, 'seed-md-files');
104
114
  const packageVersBlobDirectory = path.join(packageVersTmpRoot, 'package-version-info');
115
+ const seedMetadataZipFile = path.join(packageVersBlobDirectory, 'seed-metadata-package.zip');
105
116
  const settingsZipFile = path.join(packageVersBlobDirectory, 'settings.zip');
106
117
  const metadataZipFile = path.join(packageVersBlobDirectory, 'package.zip');
107
118
  const packageVersBlobZipFile = path.join(packageVersTmpRoot, 'package-version-info.zip');
@@ -135,6 +146,12 @@ async function createPackageVersionCreateRequest(context, packageId, apiVersion)
135
146
  await fs.promises.mkdir(packageVersTmpRoot, { recursive: true });
136
147
  await fs.promises.mkdir(packageVersBlobDirectory, { recursive: true });
137
148
  await fs.promises.mkdir(packageVersMetadataFolder, { recursive: true });
149
+ const hasSeedMetadata = await new packageVersionCreate_1.MetadataResolver().resolveMetadata(context.seedmetadata, seedMetadataFolder, 'seedMDDirectoryDoesNotExist', apiVersion);
150
+ if (hasSeedMetadata) {
151
+ // Zip the seedMetadataFolder folder and put the zip in {packageVersBlobDirectory}/{seedMetadataZipFile}
152
+ getLogger().debug(`Including metadata found in '${context.seedmetadata}'.`);
153
+ await pkgUtils.zipDir(seedMetadataFolder, seedMetadataZipFile);
154
+ }
138
155
  await settingsGenerator.createDeploy();
139
156
  await settingsGenerator.createDeployPackageContents(apiVersion);
140
157
  await pkgUtils.zipDir(`${settingsGenerator.getDestinationPath()}${path.sep}${settingsGenerator.getShapeDirName()}`, settingsZipFile);
@@ -217,8 +234,7 @@ async function pollForStatusWithInterval(id, retries, packageId, branch, project
217
234
  message: '',
218
235
  timeRemaining: remainingTime,
219
236
  });
220
- const logger = core_1.Logger.childFromRoot('packageConvert');
221
- logger.info(`Request in progress. Sleeping ${interval.seconds} seconds. Will wait a total of ${remainingTime.seconds} more seconds before timing out. Current Status='${(0, kit_1.camelCaseToTitleCase)(results[0]?.Status)}'`);
237
+ getLogger().info(`Request in progress. Sleeping ${interval.seconds} seconds. Will wait a total of ${remainingTime.seconds} more seconds before timing out. Current Status='${(0, kit_1.camelCaseToTitleCase)(results[0]?.Status)}'`);
222
238
  remainingRetries--;
223
239
  return { completed: false, payload: results[0] };
224
240
  }
@@ -1,4 +1,5 @@
1
- import { PackageVersionCreateOptions, PackageVersionCreateRequestResult } from '../interfaces';
1
+ import { ConvertResult } from '@salesforce/source-deploy-retrieve';
2
+ import { MDFolderForArtifactOptions, PackageVersionCreateOptions, PackageVersionCreateRequestResult } from '../interfaces';
2
3
  export declare class PackageVersionCreate {
3
4
  private options;
4
5
  private apiVersionFromPackageXml;
@@ -8,18 +9,9 @@ export declare class PackageVersionCreate {
8
9
  private packageId;
9
10
  private pkg;
10
11
  private readonly logger;
12
+ private metadataResolver;
11
13
  constructor(options: PackageVersionCreateOptions);
12
14
  createPackageVersion(): Promise<Partial<PackageVersionCreateRequestResult>>;
13
- /**
14
- * Extracted into a method for UT purposes
15
- *
16
- * @param componentSet CS to convert
17
- * @param outputDirectory where to place the converted MD
18
- * @param packageName the packagename related to the CS
19
- * @private
20
- */
21
- private convertMetadata;
22
- private generateMDFolderForArtifact;
23
15
  private validateDependencyValues;
24
16
  /**
25
17
  * A dependency in the workspace config file may be specified using either a subscriber package version id (04t)
@@ -42,7 +34,6 @@ export declare class PackageVersionCreate {
42
34
  private verifyHasSource;
43
35
  private cleanGeneratedPackage;
44
36
  private resolveApexTestPermissions;
45
- private resolveUnpackagedMetadata;
46
37
  private packageVersionCreate;
47
38
  private getPackageDirFromId;
48
39
  private getPackageType;
@@ -62,3 +53,16 @@ export declare class PackageVersionCreate {
62
53
  private validateAncestorId;
63
54
  private getAncestorIdHighestRelease;
64
55
  }
56
+ export declare class MetadataResolver {
57
+ resolveMetadata(metadataRelativePath: string, metadataOutputPath: string, errorMessageLabel: string, sourceApiVersion?: string): Promise<boolean>;
58
+ generateMDFolderForArtifact(options: MDFolderForArtifactOptions): Promise<ConvertResult>;
59
+ /**
60
+ * Extracted into a method for UT purposes
61
+ *
62
+ * @param componentSet CS to convert
63
+ * @param outputDirectory where to place the converted MD
64
+ * @param packageName the packagename related to the CS
65
+ * @private
66
+ */
67
+ private convertMetadata;
68
+ }
@@ -6,7 +6,7 @@
6
6
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PackageVersionCreate = void 0;
9
+ exports.MetadataResolver = exports.PackageVersionCreate = void 0;
10
10
  const path = require("path");
11
11
  const os = require("os");
12
12
  const fs = require("fs");
@@ -31,6 +31,7 @@ class PackageVersionCreate {
31
31
  this.connection = this.options.connection;
32
32
  this.project = this.options.project;
33
33
  this.logger = core_1.Logger.childFromRoot('packageVersionCreate');
34
+ this.metadataResolver = new MetadataResolver();
34
35
  }
35
36
  createPackageVersion() {
36
37
  try {
@@ -40,50 +41,6 @@ class PackageVersionCreate {
40
41
  throw pkgUtils.applyErrorAction(pkgUtils.massageErrorMessage(err));
41
42
  }
42
43
  }
43
- /**
44
- * Extracted into a method for UT purposes
45
- *
46
- * @param componentSet CS to convert
47
- * @param outputDirectory where to place the converted MD
48
- * @param packageName the packagename related to the CS
49
- * @private
50
- */
51
- // eslint-disable-next-line class-methods-use-this
52
- async convertMetadata(componentSet, outputDirectory, packageName) {
53
- const converter = new source_deploy_retrieve_1.MetadataConverter();
54
- return converter.convert(componentSet, 'metadata', {
55
- type: 'directory',
56
- outputDirectory,
57
- packageName,
58
- genUniqueDir: false,
59
- });
60
- }
61
- // convert source to mdapi format and copy to tmp dir packaging up
62
- async generateMDFolderForArtifact(options) {
63
- const sourcepath = options.sourcePaths ?? [options.sourceDir];
64
- const componentSet = await source_deploy_retrieve_1.ComponentSetBuilder.build({
65
- sourceapiversion: this.project.getSfProjectJson().get('sourceApiVersion'),
66
- sourcepath,
67
- });
68
- const packageName = options.packageName;
69
- const outputDirectory = path.resolve(options.deploydir);
70
- const convertResult = await this.convertMetadata(componentSet, outputDirectory, packageName);
71
- if (packageName) {
72
- // SDR will build an output path like /output/directory/packageName/package.xml
73
- // this was breaking from toolbelt, so to revert it we copy the directory up a level and delete the original
74
- (0, packageUtils_1.copyDir)(convertResult.packagePath, outputDirectory);
75
- try {
76
- fs.rmSync(convertResult.packagePath, { recursive: true });
77
- }
78
- catch (e) {
79
- // rmdirSync is being deprecated and emits a warning
80
- // but rmSync is introduced in node 14 so fall back to rmdirSync
81
- fs.rmdirSync(convertResult.packagePath, { recursive: true });
82
- }
83
- convertResult.packagePath = outputDirectory;
84
- }
85
- return convertResult;
86
- }
87
44
  async validateDependencyValues(dependency) {
88
45
  // If valid 04t package, just return it to be used straight away.
89
46
  if (dependency.subscriberPackageVersionId) {
@@ -256,16 +213,19 @@ class PackageVersionCreate {
256
213
  const packageVersTmpRoot = path.join(os.tmpdir(), `${uniqueHash}`);
257
214
  const packageVersMetadataFolder = path.join(packageVersTmpRoot, 'md-files');
258
215
  const unpackagedMetadataFolder = path.join(packageVersTmpRoot, 'unpackaged-md-files');
216
+ const seedMetadataFolder = path.join(packageVersTmpRoot, 'seed-md-files');
259
217
  const packageVersProfileFolder = path.join(packageVersMetadataFolder, 'profiles');
260
218
  const packageVersBlobDirectory = path.join(packageVersTmpRoot, 'package-version-info');
261
219
  const metadataZipFile = path.join(packageVersBlobDirectory, 'package.zip');
262
220
  const unpackagedMetadataZipFile = path.join(packageVersBlobDirectory, 'unpackaged-metadata-package.zip');
221
+ const seedMetadataZipFile = path.join(packageVersBlobDirectory, 'seed-metadata-package.zip');
263
222
  const settingsZipFile = path.join(packageVersBlobDirectory, 'settings.zip');
264
223
  const packageVersBlobZipFile = path.join(packageVersTmpRoot, 'package-version-info.zip');
265
224
  const sourceBaseDir = path.join(this.project.getPath(), this.packageObject.path ?? '');
266
225
  const mdOptions = {
267
226
  deploydir: packageVersMetadataFolder,
268
227
  sourceDir: sourceBaseDir,
228
+ sourceApiVersion: this.project?.getSfProjectJson()?.get('sourceApiVersion'),
269
229
  };
270
230
  // Stores any additional client side info that might be needed later on in the process
271
231
  const clientSideInfo = new Map();
@@ -273,7 +233,7 @@ class PackageVersionCreate {
273
233
  const settingsGenerator = new scratchOrgSettingsGenerator_1.default({ asDirectory: true });
274
234
  const packageDescriptorJson = (0, kit_1.cloneJson)(this.packageObject);
275
235
  // Copy all the metadata from the workspace to a tmp folder
276
- const componentSet = await this.generateMDFolderForArtifact(mdOptions);
236
+ const componentSet = await this.metadataResolver.generateMDFolderForArtifact(mdOptions);
277
237
  this.verifyHasSource(componentSet);
278
238
  if (packageDescriptorJson.package) {
279
239
  delete packageDescriptorJson.package;
@@ -329,15 +289,15 @@ class PackageVersionCreate {
329
289
  }
330
290
  packageDescriptorJson.ancestorId = ancestorId;
331
291
  await fs.promises.writeFile(path.join(packageVersBlobDirectory, DESCRIPTOR_FILE), JSON.stringify(packageDescriptorJson), 'utf-8');
332
- await this.cleanGeneratedPackage(packageVersMetadataFolder, packageVersProfileFolder, unpackagedMetadataFolder, metadataZipFile, settingsZipFile, packageVersBlobDirectory, packageVersBlobZipFile, unpackagedMetadataZipFile, clientSideInfo, settingsGenerator);
292
+ await this.cleanGeneratedPackage(packageVersMetadataFolder, packageVersProfileFolder, unpackagedMetadataFolder, seedMetadataFolder, metadataZipFile, settingsZipFile, packageVersBlobDirectory, packageVersBlobZipFile, unpackagedMetadataZipFile, seedMetadataZipFile, clientSideInfo, settingsGenerator);
333
293
  return this.createRequestObject(preserveFiles, packageVersTmpRoot, packageVersBlobZipFile);
334
294
  }
335
295
  verifyHasSource(componentSet) {
336
- if (componentSet.converted.length === 0) {
296
+ if (componentSet?.converted.length === 0) {
337
297
  throw messages.createError('noSourceInRootDirectory', [this.packageObject.path ?? '<unknown>']);
338
298
  }
339
299
  }
340
- async cleanGeneratedPackage(packageVersMetadataFolder, packageVersProfileFolder, unpackagedMetadataFolder, metadataZipFile, settingsZipFile, packageVersBlobDirectory, packageVersBlobZipFile, unpackagedMetadataZipFile, clientSideInfo, settingsGenerator) {
300
+ async cleanGeneratedPackage(packageVersMetadataFolder, packageVersProfileFolder, unpackagedMetadataFolder, seedMetadataFolder, metadataZipFile, settingsZipFile, packageVersBlobDirectory, packageVersBlobZipFile, unpackagedMetadataZipFile, seedMetadataZipFile, clientSideInfo, settingsGenerator) {
341
301
  // As part of the source convert process, the package.xml has been written into the tmp metadata directory.
342
302
  // The package.xml may need to be manipulated due to processing profiles in the workspace or additional
343
303
  // metadata exclusions. If necessary, read the existing package.xml and then re-write it.
@@ -355,12 +315,16 @@ class PackageVersionCreate {
355
315
  // Apply any necessary exclusions to typesArr.
356
316
  let typesArr = packageJson.Package.types;
357
317
  this.apiVersionFromPackageXml = packageJson.Package.version;
358
- const hasUnpackagedMetadata = await this.resolveUnpackagedMetadata(this.packageObject, unpackagedMetadataFolder, clientSideInfo, this.options.codecoverage);
318
+ const sourceApiVersion = this.project?.getSfProjectJson()?.get('sourceApiVersion');
319
+ const hasSeedMetadata = await this.metadataResolver.resolveMetadata(this.packageObject.seedMetadata?.path, seedMetadataFolder, 'seedMDDirectoryDoesNotExist', sourceApiVersion);
320
+ let hasUnpackagedMetadata = false;
321
+ const unpackagedMetadataPath = this.packageObject.unpackagedMetadata?.path;
322
+ if (this.options.codecoverage) {
323
+ hasUnpackagedMetadata = await this.metadataResolver.resolveMetadata(unpackagedMetadataPath, unpackagedMetadataFolder, 'unpackagedMDDirectoryDoesNotExist', sourceApiVersion);
324
+ }
359
325
  // if we're using unpackaged metadata, don't package the profiles located there
360
326
  if (hasUnpackagedMetadata) {
361
- typesArr = this.options.profileApi.filterAndGenerateProfilesForManifest(typesArr, [
362
- clientSideInfo.get('UnpackagedMetadataPath'),
363
- ]);
327
+ typesArr = this.options.profileApi.filterAndGenerateProfilesForManifest(typesArr, [unpackagedMetadataPath]);
364
328
  }
365
329
  else {
366
330
  typesArr = this.options.profileApi.filterAndGenerateProfilesForManifest(typesArr);
@@ -368,7 +332,7 @@ class PackageVersionCreate {
368
332
  // Next generate profiles and retrieve any profiles that were excluded because they had no matching nodes.
369
333
  const excludedProfiles = this.options.profileApi.generateProfiles(packageVersProfileFolder, {
370
334
  Package: typesArr,
371
- }, [clientSideInfo.get('UnpackagedMetadataPath')]);
335
+ }, [unpackagedMetadataPath]);
372
336
  if (excludedProfiles.length > 0) {
373
337
  const profileIdx = typesArr.findIndex((e) => e.name[0] === 'Profile');
374
338
  typesArr[profileIdx].members = typesArr[profileIdx].members.filter((e) => !excludedProfiles.includes(e));
@@ -392,6 +356,10 @@ class PackageVersionCreate {
392
356
  await fs.promises.writeFile(path.join(packageVersMetadataFolder, 'package.xml'), xml, 'utf-8');
393
357
  // Zip the packageVersMetadataFolder folder and put the zip in {packageVersBlobDirectory}/package.zip
394
358
  await (0, packageUtils_1.zipDir)(packageVersMetadataFolder, metadataZipFile);
359
+ if (hasSeedMetadata) {
360
+ // Zip the seedMetadataFolder folder and put the zip in {packageVersBlobDirectory}/{seedMetadataZipFile}
361
+ await (0, packageUtils_1.zipDir)(seedMetadataFolder, seedMetadataZipFile);
362
+ }
395
363
  if (hasUnpackagedMetadata) {
396
364
  // Zip the unpackagedMetadataFolder folder and put the zip in {packageVersBlobDirectory}/{unpackagedMetadataZipFile}
397
365
  await (0, packageUtils_1.zipDir)(unpackagedMetadataFolder, unpackagedMetadataZipFile);
@@ -427,26 +395,6 @@ class PackageVersionCreate {
427
395
  }
428
396
  delete packageDescriptorJson.apexTestAccess;
429
397
  }
430
- async resolveUnpackagedMetadata(packageDescriptorJson, unpackagedMetadataFolder, clientSideInfo, codeCoverage) {
431
- // Add the Unpackaged Metadata, if any, to the output directory, only when code coverage is specified
432
- if (codeCoverage && packageDescriptorJson.unpackagedMetadata?.path) {
433
- const unpackagedPath = path.join(process.cwd(), packageDescriptorJson.unpackagedMetadata.path);
434
- if (!fs.existsSync(unpackagedPath)) {
435
- throw messages.createError('unpackagedMDDirectoryDoesNotExist', [
436
- packageDescriptorJson.unpackagedMetadata.path,
437
- ]);
438
- }
439
- fs.mkdirSync(unpackagedMetadataFolder, { recursive: true });
440
- await this.generateMDFolderForArtifact({
441
- deploydir: unpackagedMetadataFolder,
442
- sourceDir: unpackagedPath,
443
- });
444
- // Set which package is the "unpackaged" package
445
- clientSideInfo.set('UnpackagedMetadataPath', packageDescriptorJson.unpackagedMetadata.path);
446
- return true;
447
- }
448
- return false;
449
- }
450
398
  // eslint-disable-next-line complexity
451
399
  async packageVersionCreate() {
452
400
  // For the first rollout of validating sfdx-project.json data against schema, make it optional and defaulted
@@ -564,6 +512,7 @@ class PackageVersionCreate {
564
512
  delete packageDescriptorJson.default; // for client-side use only, not needed
565
513
  delete packageDescriptorJson.includeProfileUserLicenses; // for client-side use only, not needed
566
514
  delete packageDescriptorJson.unpackagedMetadata; // for client-side use only, not needed
515
+ delete packageDescriptorJson.seedMetadata; // for client-side use only, not needed
567
516
  delete packageDescriptorJson.branch; // for client-side use only, not needed
568
517
  delete packageDescriptorJson.fullPath; // for client-side use only, not needed
569
518
  delete packageDescriptorJson.name; // for client-side use only, not needed
@@ -808,4 +757,67 @@ class PackageVersionCreate {
808
757
  }
809
758
  }
810
759
  exports.PackageVersionCreate = PackageVersionCreate;
760
+ class MetadataResolver {
761
+ async resolveMetadata(metadataRelativePath, metadataOutputPath, errorMessageLabel, sourceApiVersion) {
762
+ if (metadataRelativePath) {
763
+ const metadataFullPath = path.join(process.cwd(), metadataRelativePath);
764
+ if (!fs.existsSync(metadataFullPath)) {
765
+ throw messages.createError(errorMessageLabel, [metadataRelativePath]);
766
+ }
767
+ fs.mkdirSync(metadataOutputPath, { recursive: true });
768
+ await this.generateMDFolderForArtifact({
769
+ deploydir: metadataOutputPath,
770
+ sourceDir: metadataFullPath,
771
+ sourceApiVersion,
772
+ });
773
+ return true;
774
+ }
775
+ return false;
776
+ }
777
+ // convert source to mdapi format and copy to tmp dir packaging up
778
+ async generateMDFolderForArtifact(options) {
779
+ const sourcepath = options.sourcePaths ?? [options.sourceDir];
780
+ const componentSet = await source_deploy_retrieve_1.ComponentSetBuilder.build({
781
+ sourceapiversion: options.sourceApiVersion,
782
+ sourcepath,
783
+ });
784
+ const packageName = options.packageName;
785
+ const outputDirectory = path.resolve(options.deploydir);
786
+ const convertResult = await this.convertMetadata(componentSet, outputDirectory, packageName);
787
+ if (packageName) {
788
+ // SDR will build an output path like /output/directory/packageName/package.xml
789
+ // this was breaking from toolbelt, so to revert it we copy the directory up a level and delete the original
790
+ (0, packageUtils_1.copyDir)(convertResult.packagePath, outputDirectory);
791
+ try {
792
+ fs.rmSync(convertResult.packagePath, { recursive: true });
793
+ }
794
+ catch (e) {
795
+ // rmdirSync is being deprecated and emits a warning
796
+ // but rmSync is introduced in node 14 so fall back to rmdirSync
797
+ fs.rmdirSync(convertResult.packagePath, { recursive: true });
798
+ }
799
+ convertResult.packagePath = outputDirectory;
800
+ }
801
+ return convertResult;
802
+ }
803
+ /**
804
+ * Extracted into a method for UT purposes
805
+ *
806
+ * @param componentSet CS to convert
807
+ * @param outputDirectory where to place the converted MD
808
+ * @param packageName the packagename related to the CS
809
+ * @private
810
+ */
811
+ // eslint-disable-next-line class-methods-use-this
812
+ async convertMetadata(componentSet, outputDirectory, packageName) {
813
+ const converter = new source_deploy_retrieve_1.MetadataConverter();
814
+ return converter.convert(componentSet, 'metadata', {
815
+ type: 'directory',
816
+ outputDirectory,
817
+ packageName,
818
+ genUniqueDir: false,
819
+ });
820
+ }
821
+ }
822
+ exports.MetadataResolver = MetadataResolver;
811
823
  //# sourceMappingURL=packageVersionCreate.js.map
@@ -42,6 +42,10 @@ You cannot use 'settings' and 'orgPreferences' in your scratch definition file,
42
42
 
43
43
  There was an error while reading or parsing the provided scratch definition file: %s
44
44
 
45
+ # seedMDDirectoryDoesNotExist
46
+
47
+ Seed metadata directory %s was specified but does not exist.
48
+
45
49
  # unpackagedMDDirectoryDoesNotExist
46
50
 
47
51
  Un-packaged metadata directory %s was specified but does not exist.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/packaging",
3
- "version": "1.1.12",
3
+ "version": "1.2.1",
4
4
  "description": "Packaging library for the Salesforce packaging platform",
5
5
  "main": "lib/exported",
6
6
  "types": "lib/exported.d.ts",
@@ -40,8 +40,8 @@
40
40
  "dependencies": {
41
41
  "@oclif/core": "^1.25.0",
42
42
  "@salesforce/core": "^3.32.11",
43
- "@salesforce/kit": "^1.8.0",
44
- "@salesforce/schemas": "^1.4.0",
43
+ "@salesforce/kit": "^1.8.3",
44
+ "@salesforce/schemas": "^1.5.0",
45
45
  "@salesforce/source-deploy-retrieve": "^7.5.19",
46
46
  "@salesforce/ts-types": "^1.7.1",
47
47
  "@xmldom/xmldom": "^0.8.6",
@@ -49,7 +49,7 @@
49
49
  "globby": "^11",
50
50
  "graphology": "^0.25.1",
51
51
  "graphology-traversal": "^0.3.1",
52
- "graphology-types": "^0.24.5",
52
+ "graphology-types": "^0.24.7",
53
53
  "js2xmlparser": "^4.0.2",
54
54
  "jsforce": "2.0.0-beta.19",
55
55
  "jszip": "^3.10.1",
@@ -77,7 +77,7 @@
77
77
  "eslint-config-salesforce-license": "^0.1.6",
78
78
  "eslint-config-salesforce-typescript": "^1.1.1",
79
79
  "eslint-plugin-header": "3.1.1",
80
- "eslint-plugin-import": "^2.26.0",
80
+ "eslint-plugin-import": "^2.27.5",
81
81
  "eslint-plugin-jsdoc": "^39.6.7",
82
82
  "husky": "^8.0.2",
83
83
  "mocha": "^10.2.0",