@salesforce/packaging 0.0.6 → 0.0.7

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.
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2020, salesforce.com, inc.
3
+ * Copyright (c) 2022, salesforce.com, inc.
4
4
  * All rights reserved.
5
5
  * Licensed under the BSD 3-Clause license.
6
6
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.PackageVersionCreate = void 0;
10
- const util = require("util");
11
10
  const path = require("path");
12
11
  const os = require("os");
13
12
  const fs = require("fs");
@@ -21,7 +20,7 @@ const pkgUtils = require("../utils/packageUtils");
21
20
  const constants_1 = require("../constants");
22
21
  const utils_1 = require("../utils");
23
22
  const versionNumber_1 = require("../utils/versionNumber");
24
- const profileApi_1 = require("./profileApi");
23
+ const packageProfileApi_1 = require("./packageProfileApi");
25
24
  const packageVersionCreateRequest_1 = require("./packageVersionCreateRequest");
26
25
  core_1.Messages.importMessagesDirectory(__dirname);
27
26
  const messages = core_1.Messages.loadMessages('@salesforce/packaging', 'messages');
@@ -31,12 +30,11 @@ const POLL_INTERVAL_WITHOUT_VALIDATION_SECONDS = 5;
31
30
  class PackageVersionCreate {
32
31
  constructor(options) {
33
32
  this.options = options;
34
- this.packageDirs = [];
35
33
  this.connection = this.options.connection;
36
34
  this.project = this.options.project;
37
35
  }
38
- createPackageVersion(options) {
39
- return this.packageVersionCreate(options).catch((err) => {
36
+ createPackageVersion() {
37
+ return this.packageVersionCreate(this.options).catch((err) => {
40
38
  // TODO: until package2 is GA, wrap perm-based errors w/ 'contact sfdc' action (REMOVE once package2 is GA'd)
41
39
  err = pkgUtils.massageErrorMessage(err);
42
40
  throw pkgUtils.applyErrorAction(err);
@@ -48,32 +46,16 @@ class PackageVersionCreate {
48
46
  async listRequestById(id, connection) {
49
47
  return (0, packageVersionCreateRequest_1.byId)(id, connection);
50
48
  }
51
- rejectWithInstallKeyError() {
52
- // This command also requires either the installationkey flag or installationkeybypass flag
53
- const errorString = messages.getMessage('errorMissingFlagsInstallationKey', [
54
- '--installationkey',
55
- '--installationkeybypass',
56
- ]);
57
- const error = new Error(errorString);
58
- error['name'] = 'requiredFlagMissing';
59
- return Promise.reject(error);
60
- }
61
49
  // convert source to mdapi format and copy to tmp dir packaging up
62
50
  async generateMDFolderForArtifact(options) {
51
+ var _a;
52
+ const sourcepath = (_a = options.sourcePaths) !== null && _a !== void 0 ? _a : [options.sourceDir];
63
53
  const componentSet = await source_deploy_retrieve_1.ComponentSetBuilder.build({
64
54
  sourceapiversion: this.project.getSfProjectJson().get('sourceApiVersion'),
65
- sourcepath: options.sourcePaths,
66
- manifest: {
67
- manifestPath: options.manifest,
68
- directoryPaths: this.project.getPackageDirectories().map((dir) => dir.path),
69
- },
70
- metadata: {
71
- metadataEntries: options.metadataPaths,
72
- directoryPaths: this.project.getPackageDirectories().map((dir) => dir.path),
73
- },
55
+ sourcepath,
74
56
  });
75
57
  const packageName = options.packageName;
76
- const outputDirectory = path.resolve(options.outputDir);
58
+ const outputDirectory = path.resolve(options.deploydir);
77
59
  const converter = new source_deploy_retrieve_1.MetadataConverter();
78
60
  const convertResult = await converter.convert(componentSet, 'metadata', {
79
61
  type: 'directory',
@@ -161,7 +143,12 @@ class PackageVersionCreate {
161
143
  const pkgVerQueryResult = await this.connection.tooling.query(query);
162
144
  const subRecords = pkgVerQueryResult.records;
163
145
  if (!subRecords || subRecords.length !== 1) {
164
- throw new Error(`No version number was found in Dev Hub for package id ${dependency.packageId} and branch ${branchString} and version number ${versionNumber.toString()} that resolved to build number ${resolvedBuildNumber}`);
146
+ throw messages.createError('versionNumberNotFoundInDevHub', [
147
+ dependency.packageId,
148
+ branchString,
149
+ versionNumber.toString(),
150
+ resolvedBuildNumber,
151
+ ]);
165
152
  }
166
153
  dependency.subscriberPackageVersionId = pkgVerQueryResult.records[0].SubscriberPackageVersionId;
167
154
  // warn user of the resolved build number when LATEST and RELEASED keywords are used
@@ -210,10 +197,10 @@ class PackageVersionCreate {
210
197
  const records = results.records;
211
198
  if (!records || records.length === 0 || records[0].expr0 == null) {
212
199
  if (versionNumber.build === versionNumber_1.BuildNumberToken.RELEASED_BUILD_NUMBER_TOKEN) {
213
- throw new Error(`No released version was found in Dev Hub for package id ${packageId} and version number ${versionNumber.toString()}`);
200
+ throw messages.createError('noReleaseVersionFound', [packageId, versionNumber.toString()]);
214
201
  }
215
202
  else {
216
- throw new Error(`No version number was found in Dev Hub for package id ${packageId} and branch ${branch} and version number ${versionNumber.toString()}`);
203
+ throw messages.createError('noReleaseVersionFoundForBranch', [packageId, branch, versionNumber.toString()]);
217
204
  }
218
205
  }
219
206
  return `${results.records[0].expr0}`;
@@ -228,25 +215,25 @@ class PackageVersionCreate {
228
215
  InstallKey: options.installationkey,
229
216
  Instance: options.buildinstance,
230
217
  SourceOrg: options.sourceorg,
231
- CalculateCodeCoverage: options.codecoverage,
232
- SkipValidation: options.skipvalidation,
218
+ CalculateCodeCoverage: options.codecoverage || false,
219
+ SkipValidation: options.skipvalidation || false,
233
220
  };
234
221
  if (preserveFiles) {
235
222
  logger.info(messages.getMessage('tempFileLocation', [packageVersTmpRoot]));
236
223
  return requestObject;
237
224
  }
238
225
  else {
239
- return fs.promises.unlink(packageVersTmpRoot).then(() => requestObject);
226
+ return fs.promises.rm(packageVersTmpRoot, { recursive: true, force: true }).then(() => requestObject);
240
227
  }
241
228
  }
242
- getPackageDescriptorJsonFromPackageId(packageId, flags) {
243
- const artDir = flags.path;
244
- const packageDescriptorJson = this.packageDirs.find((packageDir) => {
229
+ getPackageDescriptorJsonFromPackageId(packageId, options) {
230
+ const artDir = options.path;
231
+ const packageDescriptorJson = this.project.getPackageDirectories().find((packageDir) => {
245
232
  const packageDirPackageId = pkgUtils.getPackageIdFromAlias(packageDir.package, this.project);
246
233
  return !!packageDirPackageId && packageDirPackageId === packageId ? packageDir : null;
247
234
  });
248
235
  if (!packageDescriptorJson) {
249
- throw new Error(`${constants_1.consts.WORKSPACE_CONFIG_FILENAME} does not contain a packaging directory for ${artDir}`);
236
+ throw messages.createError('packagingDirNotFoundInConfigFile', [constants_1.consts.WORKSPACE_CONFIG_FILENAME, artDir]);
250
237
  }
251
238
  return packageDescriptorJson;
252
239
  }
@@ -261,7 +248,7 @@ class PackageVersionCreate {
261
248
  */
262
249
  async createPackageVersionCreateRequestFromOptions(options, packageId, versionNumberString) {
263
250
  const artDir = options.path;
264
- const preserveFiles = !util.isNullOrUndefined(options.preserve || process.env.SFDX_PACKAGE2_VERSION_CREATE_PRESERVE);
251
+ const preserveFiles = !!(options.preserve || process.env.SFDX_PACKAGE2_VERSION_CREATE_PRESERVE);
265
252
  const uniqueHash = (0, testSetup_1.uniqid)({ template: `${packageId}-%s` });
266
253
  const packageVersTmpRoot = path.join(os.tmpdir(), `${uniqueHash}`);
267
254
  const packageVersMetadataFolder = path.join(packageVersTmpRoot, 'md-files');
@@ -275,11 +262,12 @@ class PackageVersionCreate {
275
262
  const sourceBaseDir = path.join(this.project.getPath(), artDir);
276
263
  const mdOptions = {
277
264
  deploydir: packageVersMetadataFolder,
278
- sourcedir: sourceBaseDir,
265
+ sourceDir: sourceBaseDir,
279
266
  };
280
267
  // Stores any additional client side info that might be needed later on in the process
281
268
  const clientSideInfo = new Map();
282
- const settingsGenerator = new scratchOrgSettingsGenerator_1.default();
269
+ await fs.promises.mkdir(packageVersBlobDirectory, { recursive: true });
270
+ const settingsGenerator = new scratchOrgSettingsGenerator_1.default({ asDirectory: true });
283
271
  // Copy all of the metadata from the workspace to a tmp folder
284
272
  await this.generateMDFolderForArtifact(mdOptions);
285
273
  const packageDescriptorJson = this.getPackageDescriptorJsonFromPackageId(packageId, options);
@@ -320,15 +308,14 @@ class PackageVersionCreate {
320
308
  }
321
309
  });
322
310
  }
323
- // @ts-ignore
324
- const [hasUnpackagedMetadata, unpackagedPromise] = await this.resolveUnpackagedMetadata(packageDescriptorJson, unpackagedMetadataFolder, clientSideInfo, options.codecoverage);
311
+ const hasUnpackagedMetadata = await this.resolveUnpackagedMetadata(packageDescriptorJson, unpackagedMetadataFolder, clientSideInfo, options.codecoverage);
325
312
  this.resolveApexTestPermissions(packageDescriptorJson, options);
326
313
  // All dependencies for the packaging dir should be resolved to an 04t id to be passed to the server.
327
314
  // (see _retrieveSubscriberPackageVersionId for details)
328
315
  const dependencies = packageDescriptorJson.dependencies;
329
316
  // branch can be set via flag or descriptor; flag takes precedence
330
317
  options.branch = options.branch ? options.branch : packageDescriptorJson.branch;
331
- const resultValues = await Promise.all(dependencies
318
+ const resultValues = await Promise.all(!dependencies
332
319
  ? []
333
320
  : dependencies.map((dependency) => this.retrieveSubscriberPackageVersionId(dependency, options.branch)));
334
321
  const ancestorId = await pkgUtils.getAncestorId(packageDescriptorJson, this.connection, this.project, versionNumberString, options.skipancestorcheck);
@@ -341,19 +328,19 @@ class PackageVersionCreate {
341
328
  this.setPackageDescriptorJsonValues(packageDescriptorJson, options);
342
329
  await fs.promises.mkdir(packageVersTmpRoot, { recursive: true });
343
330
  await fs.promises.mkdir(packageVersBlobDirectory, { recursive: true });
344
- if (Object.prototype.hasOwnProperty.call(packageDescriptorJson, 'ancestorVersion')) {
331
+ if (Reflect.has(packageDescriptorJson, 'ancestorVersion')) {
345
332
  delete packageDescriptorJson.ancestorVersion;
346
333
  }
347
334
  packageDescriptorJson.ancestorId = ancestorId;
348
335
  await fs.promises.writeFile(path.join(packageVersBlobDirectory, DESCRIPTOR_FILE),
349
336
  // TODO: need to make sure packageDescriptorJson contains the right values for the descriptor
350
- JSON.stringify(packageDescriptorJson, undefined, 2), 'utf-8');
337
+ JSON.stringify(packageDescriptorJson), 'utf-8');
351
338
  // As part of the source convert process, the package.xml has been written into the tmp metadata directory.
352
339
  // The package.xml may need to be manipulated due to processing profiles in the workspace or additional
353
340
  // metadata exclusions. If necessary, read the existing package.xml and then re-write it.
354
341
  const currentPackageXml = await fs.promises.readFile(path.join(packageVersMetadataFolder, 'package.xml'), 'utf8');
355
342
  // convert to json
356
- const packageJson = xml2js.parseStringAsync(currentPackageXml);
343
+ const packageJson = await xml2js.parseStringPromise(currentPackageXml);
357
344
  fs.mkdirSync(packageVersMetadataFolder, { recursive: true });
358
345
  fs.mkdirSync(packageVersProfileFolder, { recursive: true });
359
346
  // Apply any necessary exclusions to typesArr.
@@ -396,7 +383,7 @@ class PackageVersionCreate {
396
383
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
397
384
  await fs.promises.writeFile(path.join(packageVersMetadataFolder, 'package.xml'), xml, 'utf-8');
398
385
  // Zip the packageVersMetadataFolder folder and put the zip in {packageVersBlobDirectory}/package.zip
399
- (0, utils_1.zipDir)(packageVersMetadataFolder, metadataZipFile);
386
+ await (0, utils_1.zipDir)(packageVersMetadataFolder, metadataZipFile);
400
387
  if (hasUnpackagedMetadata) {
401
388
  // Zip the unpackagedMetadataFolder folder and put the zip in {packageVersBlobDirectory}/{unpackagedMetadataZipFile}
402
389
  await (0, utils_1.zipDir)(unpackagedMetadataFolder, unpackagedMetadataZipFile);
@@ -404,22 +391,11 @@ class PackageVersionCreate {
404
391
  // Zip up the expanded settings (if present)
405
392
  if (settingsGenerator.hasSettings()) {
406
393
  await settingsGenerator.createDeploy();
407
- const settingsRoot = settingsGenerator.getShapeDirName();
408
- // The SettingsGenerator now generates md files in source format, not mdapi format,
409
- // so we need to convert to mdapi format here.
410
- const compSet = source_deploy_retrieve_1.ComponentSet.fromSource(settingsRoot);
411
- compSet.apiVersion = this.apiVersionFromPackageXml;
412
- compSet.sourceApiVersion = this.apiVersionFromPackageXml;
413
- const mdConverter = new source_deploy_retrieve_1.MetadataConverter();
414
- const convertResult = await mdConverter.convert(compSet, 'metadata', {
415
- type: 'directory',
416
- outputDirectory: path.join(settingsRoot, 'pkgMdSettings'),
417
- genUniqueDir: false,
418
- });
419
- (0, utils_1.zipDir)(convertResult.packagePath, settingsZipFile);
394
+ await settingsGenerator.createDeployPackageContents(this.apiVersionFromPackageXml);
395
+ await (0, utils_1.zipDir)(`${settingsGenerator.getDestinationPath()}${path.sep}${settingsGenerator.getShapeDirName()}`, settingsZipFile);
420
396
  }
421
397
  // Zip the Version Info and package.zip files into another zip
422
- (0, utils_1.zipDir)(packageVersBlobDirectory, packageVersBlobZipFile);
398
+ await (0, utils_1.zipDir)(packageVersBlobDirectory, packageVersBlobZipFile);
423
399
  return this.createRequestObject(packageId, options, preserveFiles, packageVersTmpRoot, packageVersBlobZipFile);
424
400
  }
425
401
  resolveApexTestPermissions(packageDescriptorJson, options) {
@@ -445,7 +421,6 @@ class PackageVersionCreate {
445
421
  delete packageDescriptorJson.apexTestAccess;
446
422
  }
447
423
  async resolveUnpackagedMetadata(packageDescriptorJson, unpackagedMetadataFolder, clientSideInfo, codeCoverage) {
448
- let unpackagedPromise = null;
449
424
  let hasUnpackagedMetadata = false;
450
425
  // Add the Unpackaged Metadata, if any, to the output directory, only when code coverage is specified
451
426
  if (codeCoverage && packageDescriptorJson.unpackagedMetadata && packageDescriptorJson.unpackagedMetadata.path) {
@@ -455,17 +430,19 @@ class PackageVersionCreate {
455
430
  fs.statSync(unpackagedPath);
456
431
  }
457
432
  catch (err) {
458
- throw new Error(`Unpackaged metadata directory '${packageDescriptorJson.unpackagedMetadata.path}' was specified but does not exist`);
433
+ throw messages.createError('unpackagedMDDirectoryDoesNotExist', [
434
+ packageDescriptorJson.unpackagedMetadata.path,
435
+ ]);
459
436
  }
460
437
  fs.mkdirSync(unpackagedMetadataFolder, { recursive: true });
461
- unpackagedPromise = this.generateMDFolderForArtifact({
438
+ await this.generateMDFolderForArtifact({
462
439
  deploydir: unpackagedMetadataFolder,
463
440
  sourceDir: unpackagedPath,
464
441
  });
465
442
  // Set which package is the "unpackaged" package
466
443
  clientSideInfo.set('UnpackagedMetadataPath', packageDescriptorJson.unpackagedMetadata.path);
467
444
  }
468
- return [hasUnpackagedMetadata, unpackagedPromise];
445
+ return hasUnpackagedMetadata;
469
446
  }
470
447
  getPackagePropertyFromPackage(packageDirs, options) {
471
448
  let foundByPackage = packageDirs.some((x) => x['package'] === options.package);
@@ -580,12 +557,11 @@ class PackageVersionCreate {
580
557
  }
581
558
  return value;
582
559
  }
583
- // eslint-disable-next-line complexity
584
560
  async packageVersionCreate(options) {
585
- var _a;
561
+ var _a, _b;
586
562
  let pollInterval = kit_1.Duration.seconds(pkgUtils.POLL_INTERVAL_SECONDS);
587
563
  let maxRetries = 0;
588
- if (options.wait.milliseconds > 0) {
564
+ if (((_a = options.wait) === null || _a === void 0 ? void 0 : _a.milliseconds) > 0) {
589
565
  if (options.skipvalidation === true) {
590
566
  pollInterval = kit_1.Duration.seconds(POLL_INTERVAL_WITHOUT_VALIDATION_SECONDS);
591
567
  }
@@ -597,7 +573,7 @@ class PackageVersionCreate {
597
573
  await this.project.getSfProjectJson().schemaValidate();
598
574
  }
599
575
  // Check for empty packageDirectories
600
- if (((_a = this.project.getSfProjectJson().getContents().packageDirectories) === null || _a === void 0 ? void 0 : _a.length) === 0) {
576
+ if (((_b = this.project.getPackageDirectories()) === null || _b === void 0 ? void 0 : _b.length) === 0) {
601
577
  throw messages.createError('errorEmptyPackageDirs');
602
578
  }
603
579
  const canonicalPackageProperty = this.resolveCanonicalPackageProperty(options);
@@ -611,15 +587,18 @@ class PackageVersionCreate {
611
587
  fs.statSync(path.join(process.cwd(), options.path));
612
588
  }
613
589
  catch (err) {
614
- throw new Error(`Directory '${options.path}' does not exist`);
590
+ throw messages.createError('directoryDoesNotExist', [options.path]);
615
591
  }
616
- options.profileApi = this.resolveUserLicenses(canonicalPackageProperty, options);
592
+ options.profileApi = await this.resolveUserLicenses(canonicalPackageProperty, options);
617
593
  [pollInterval, maxRetries] = await this.resolveOrgDependentPollingTime(resolvedPackageId, options, pollInterval, maxRetries);
618
594
  const request = await this.createPackageVersionCreateRequestFromOptions(options, resolvedPackageId, versionNumberString);
619
595
  const createResult = await this.connection.tooling.create('Package2VersionCreateRequest', request);
620
596
  if (!createResult.success) {
621
597
  const errStr = createResult.errors && createResult.errors.length ? createResult.errors.join(', ') : createResult.errors;
622
- throw new Error(`Failed to create request${createResult.id ? ` [${createResult.id}]` : ''}: ${errStr}`);
598
+ throw messages.createError('failedToCreatePVCRequest', [
599
+ createResult.id ? ` [${createResult.id}]` : '',
600
+ errStr.toString(),
601
+ ]);
623
602
  }
624
603
  let result;
625
604
  if (options.wait && options.wait.milliseconds > 0) {
@@ -629,11 +608,10 @@ class PackageVersionCreate {
629
608
  }
630
609
  }
631
610
  else {
632
- result = await this.listRequestById(createResult.id, this.connection);
611
+ result = (await this.listRequestById(createResult.id, this.connection))[0];
633
612
  }
634
613
  return result;
635
614
  }
636
- // TODO: should be in pkg utils
637
615
  resolveCanonicalPackageProperty(options) {
638
616
  let canonicalPackageProperty;
639
617
  if (!options.package) {
@@ -648,7 +626,7 @@ class PackageVersionCreate {
648
626
  else {
649
627
  canonicalPackageProperty = this.getPackagePropertyFromPackage(this.project.getPackageDirectories(), options);
650
628
  this.getConfigPackageDirectoriesValue(this.project.getPackageDirectories(), canonicalPackageProperty, 'path', options.path, 'path', options);
651
- const expectedPackageId = this.getConfigPackageDirectoriesValue(this.packageDirs, canonicalPackageProperty, 'path', options.path, 'path', options);
629
+ const expectedPackageId = this.getConfigPackageDirectoriesValue(this.project.getPackageDirectories(), canonicalPackageProperty, 'path', options.path, 'path', options);
652
630
  // This will throw an error if the package id flag value doesn't match
653
631
  // any of the :id values in the package dirs.
654
632
  this.getConfigPackageDirectoriesValue(this.project.getPackageDirectories(), 'path', canonicalPackageProperty, options.package, 'package', options);
@@ -665,21 +643,25 @@ class PackageVersionCreate {
665
643
  // validate the versionNumber flag value if specified, otherwise the descriptor value
666
644
  const versionNumberString = options.versionnumber
667
645
  ? options.versionnumber
668
- : this.getConfigPackageDirectoriesValue(this.packageDirs, 'versionNumber', canonicalPackageProperty, options.package, 'package', options);
646
+ : this.getConfigPackageDirectoriesValue(this.project.getPackageDirectories(), 'versionNumber', canonicalPackageProperty, options.package, 'package', options);
669
647
  pkgUtils.validateVersionNumber(versionNumberString, versionNumber_1.BuildNumberToken.NEXT_BUILD_NUMBER_TOKEN, null);
670
648
  await pkgUtils.validatePatchVersion(this.connection, versionNumberString, resolvedPackageId);
671
649
  return versionNumberString;
672
650
  }
673
- resolveUserLicenses(canonicalPackageProperty, options) {
651
+ async resolveUserLicenses(canonicalPackageProperty, options) {
674
652
  // Check for an includeProfileUserLiceneses flag in the packageDirectory
675
- const includeProfileUserLicenses = this.getConfigPackageDirectoriesValue(this.packageDirs, 'includeProfileUserLicenses', canonicalPackageProperty, options.package, 'package', options);
653
+ const includeProfileUserLicenses = this.getConfigPackageDirectoriesValue(this.project.getPackageDirectories(), 'includeProfileUserLicenses', canonicalPackageProperty, options.package, 'package', options);
676
654
  if (includeProfileUserLicenses !== undefined &&
677
655
  includeProfileUserLicenses !== true &&
678
656
  includeProfileUserLicenses !== false) {
679
657
  throw messages.createError('errorProfileUserLicensesInvalidValue', [includeProfileUserLicenses]);
680
658
  }
681
659
  const shouldGenerateProfileInformation = logger.shouldLog(core_1.LoggerLevel.INFO) || logger.shouldLog(core_1.LoggerLevel.DEBUG);
682
- return new profileApi_1.ProfileApi(this.project, includeProfileUserLicenses, shouldGenerateProfileInformation);
660
+ return packageProfileApi_1.PackageProfileApi.create({
661
+ project: this.project,
662
+ includeUserLicenses: includeProfileUserLicenses,
663
+ generateProfileInformation: shouldGenerateProfileInformation,
664
+ });
683
665
  }
684
666
  async resolveOrgDependentPollingTime(resolvedPackageId, options, pollInterval, maxRetries) {
685
667
  let pi = pollInterval;
@@ -703,7 +685,7 @@ class PackageVersionCreate {
703
685
  return [pi, mr];
704
686
  }
705
687
  async validateFlagsForPackageType(packageId, options) {
706
- const packageType = await pkgUtils.getPackage2Type(packageId, this.connection);
688
+ const packageType = await pkgUtils.getPackageType(packageId, this.connection);
707
689
  if (packageType === 'Unlocked') {
708
690
  if (options.postinstallscript || options.uninstallscript) {
709
691
  // migrate coreMessages to messages
@@ -722,18 +704,13 @@ class PackageVersionCreate {
722
704
  * Cleans invalid attribute(s) from the packageDescriptorJSON
723
705
  */
724
706
  cleanPackageDescriptorJson(packageDescriptorJson) {
725
- if (typeof packageDescriptorJson.default !== 'undefined') {
726
- delete packageDescriptorJson.default; // for client-side use only, not needed
727
- }
728
- if (typeof packageDescriptorJson.includeProfileUserLicenses !== 'undefined') {
729
- delete packageDescriptorJson.includeProfileUserLicenses; // for client-side use only, not needed
730
- }
731
- if (typeof packageDescriptorJson.unpackagedMetadata !== 'undefined') {
732
- delete packageDescriptorJson.unpackagedMetadata; // for client-side use only, not needed
733
- }
734
- if (typeof packageDescriptorJson.branch !== 'undefined') {
735
- delete packageDescriptorJson.branch; // for client-side use only, not needed
736
- }
707
+ delete packageDescriptorJson.default; // for client-side use only, not needed
708
+ delete packageDescriptorJson.includeProfileUserLicenses; // for client-side use only, not needed
709
+ delete packageDescriptorJson.unpackagedMetadata; // for client-side use only, not needed
710
+ delete packageDescriptorJson.branch; // for client-side use only, not needed
711
+ delete packageDescriptorJson.fullPath; // for client-side use only, not needed
712
+ delete packageDescriptorJson.name; // for client-side use only, not needed
713
+ return packageDescriptorJson;
737
714
  }
738
715
  /**
739
716
  * Sets default or override values for packageDescriptorJSON attribs
@@ -761,13 +738,13 @@ class PackageVersionCreate {
761
738
  packageDescriptorJson.releaseNotesUrl = options.releasenotesurl;
762
739
  }
763
740
  if (packageDescriptorJson.releaseNotesUrl && !pkgUtils.validUrl(packageDescriptorJson.releaseNotesUrl)) {
764
- throw new Error(messages.getMessage('malformedUrl', ['releaseNotesUrl', packageDescriptorJson.releaseNotesUrl]));
741
+ throw messages.createError('malformedUrl', ['releaseNotesUrl', packageDescriptorJson.releaseNotesUrl]);
765
742
  }
766
743
  if (options.postinstallurl) {
767
744
  packageDescriptorJson.postInstallUrl = options.postinstallurl;
768
745
  }
769
746
  if (packageDescriptorJson.postInstallUrl && !pkgUtils.validUrl(packageDescriptorJson.postInstallUrl)) {
770
- throw new Error(messages.getMessage('malformedUrl', ['postInstallUrl', packageDescriptorJson.postInstallUrl]));
747
+ throw messages.createError('malformedUrl', ['postInstallUrl', packageDescriptorJson.postInstallUrl]);
771
748
  }
772
749
  if (options.postinstallscript) {
773
750
  packageDescriptorJson.postInstallScript = options.postinstallscript;
@@ -1,4 +1,4 @@
1
1
  import { Connection } from '@salesforce/core';
2
- import { Package2VersionCreateRequestResult, PackageVersionCreateRequestQueryOptions } from '../interfaces';
3
- export declare function list(options?: PackageVersionCreateRequestQueryOptions): Promise<Package2VersionCreateRequestResult[]>;
4
- export declare function byId(package2VersionCreateRequestId: any, connection: Connection): Promise<Package2VersionCreateRequestResult[]>;
2
+ import { PackageVersionCreateRequestResult, PackageVersionCreateRequestQueryOptions } from '../interfaces';
3
+ export declare function list(options?: PackageVersionCreateRequestQueryOptions): Promise<PackageVersionCreateRequestResult[]>;
4
+ export declare function byId(packageVersionCreateRequestId: any, connection: Connection): Promise<PackageVersionCreateRequestResult[]>;
@@ -25,10 +25,10 @@ async function list(options = {}) {
25
25
  return _query(util.format(QUERY, whereClause), options.connection);
26
26
  }
27
27
  exports.list = list;
28
- async function byId(package2VersionCreateRequestId, connection) {
29
- const results = await _query(util.format(QUERY, `WHERE Id = '${package2VersionCreateRequestId}' `), connection);
28
+ async function byId(packageVersionCreateRequestId, connection) {
29
+ const results = await _query(util.format(QUERY, `WHERE Id = '${packageVersionCreateRequestId}' `), connection);
30
30
  if (results && results.length === 1 && results[0].Status === STATUS_ERROR) {
31
- results[0].Error = await _queryErrors(package2VersionCreateRequestId, connection);
31
+ results[0].Error = await _queryErrors(packageVersionCreateRequestId, connection);
32
32
  }
33
33
  return results;
34
34
  }
@@ -49,9 +49,9 @@ async function _query(query, connection) {
49
49
  CreatedBy: record.CreatedById,
50
50
  }));
51
51
  }
52
- async function _queryErrors(package2VersionCreateRequestId, connection) {
52
+ async function _queryErrors(packageVersionCreateRequestId, connection) {
53
53
  const errorResults = [];
54
- const queryResult = connection.tooling.query(util.format(ERROR_QUERY, package2VersionCreateRequestId));
54
+ const queryResult = connection.tooling.query(util.format(ERROR_QUERY, packageVersionCreateRequestId));
55
55
  if (queryResult.records) {
56
56
  queryResult.records.forEach((record) => {
57
57
  errorResults.push(record.Message);
@@ -64,7 +64,7 @@ function _constructWhere(options) {
64
64
  // filter on created date, days ago: 0 for today, etc
65
65
  if (!util.isNullOrUndefined(this.options.createdlastdays)) {
66
66
  if (options.createdlastdays < 0) {
67
- throw new Error(messages.getMessage('invalidDaysNumber', ['createdlastdays', options.createdlastdays]));
67
+ throw messages.createError('invalidDaysNumber', ['createdlastdays', options.createdlastdays]);
68
68
  }
69
69
  where.push(`CreatedDate = LAST_N_DAYS:${this.options.createdlastdays}`);
70
70
  }
@@ -76,7 +76,7 @@ function _constructWhere(options) {
76
76
  STATUSES.forEach((status) => {
77
77
  args.push(status);
78
78
  });
79
- throw new Error(messages.getMessage('invalidStatus', args));
79
+ throw messages.createError('invalidStatus', args);
80
80
  }
81
81
  where.push(`Status = '${foundStatus}'`);
82
82
  }
@@ -2,7 +2,7 @@ import { Connection, NamedPackageDir, PackageDir, SfError, SfProject } from '@sa
2
2
  import { Duration } from '@salesforce/kit';
3
3
  import { Many } from '@salesforce/ts-types';
4
4
  import { SaveError } from 'jsforce';
5
- import { PackagingSObjects, Package2VersionCreateRequestResult, PackageVersionCreateOptions } from '../interfaces';
5
+ import { PackagingSObjects, PackageVersionCreateRequestResult, PackageVersionCreateOptions } from '../interfaces';
6
6
  export declare const VERSION_NUMBER_SEP = ".";
7
7
  export declare type IdRegistryValue = {
8
8
  prefix: string;
@@ -42,20 +42,20 @@ export declare function getPackageVersionId(versionId: string, connection: Conne
42
42
  /**
43
43
  * Given 0Ho the package type type (Managed, Unlocked, Locked(deprecated?))
44
44
  *
45
- * @param package2Id the 0Ho
45
+ * @param packageId the 0Ho
46
46
  * @param connection For tooling query
47
47
  * @throws Error with message when package2 cannot be found
48
48
  */
49
- export declare function getPackage2Type(package2Id: string, connection: Connection): Promise<string>;
49
+ export declare function getPackageType(packageId: string, connection: Connection): Promise<string>;
50
50
  /**
51
51
  * Given 04t the package type type (Managed, Unlocked, Locked(deprecated?))
52
52
  *
53
- * @param package2VersionId the 04t
53
+ * @param packageVersionId the 04t
54
54
  * @param connection For tooling query
55
55
  * @param installKey For tooling query, if an installation key is applicable to the package version it must be passed in the queries
56
56
  * @throws Error with message when package2 cannot be found
57
57
  */
58
- export declare function getPackage2TypeBy04t(package2VersionId: string, connection: Connection, installKey: string): Promise<string>;
58
+ export declare function getPackageTypeBy04t(packageVersionId: string, connection: Connection, installKey: string): Promise<string>;
59
59
  /**
60
60
  * Given a package version ID (05i) or subscriber package version ID (04t), return the subscriber package version ID (04t)
61
61
  *
@@ -67,10 +67,10 @@ export declare function getSubscriberPackageVersionId(versionId: string, connect
67
67
  * Get the ContainerOptions for the specified Package2 (0Ho) IDs.
68
68
  *
69
69
  * @return Map of 0Ho id to container option api value
70
- * @param package2Ids The list of package IDs
70
+ * @param packageIds The list of package IDs
71
71
  * @param connection For tooling query
72
72
  */
73
- export declare function getContainerOptions(package2Ids: string[], connection: Connection): Promise<Map<string, string>>;
73
+ export declare function getContainerOptions(packageIds: string[], connection: Connection): Promise<Map<string, string>>;
74
74
  /**
75
75
  * Return the Package2Version.HasMetadataRemoved field value for the given Id (05i)
76
76
  *
@@ -121,7 +121,7 @@ export declare function getAncestorIdHighestRelease(connection: Connection, pack
121
121
  * Return a version string in Major.Minor.Patch.Build format, using 0 for any empty part
122
122
  */
123
123
  export declare function concatVersion(major: string | number, minor: string | number, patch: string | number, build: string | number): string;
124
- export declare function getPackage2VersionNumber(package2VersionObj: PackagingSObjects.Package2Version): string;
124
+ export declare function getPackageVersionNumber(package2VersionObj: PackagingSObjects.Package2Version): string;
125
125
  export declare function getConfigPackageDirectories(project: SfProject): PackageDir[];
126
126
  export declare function getConfigPackageDirectory(packageDirs: NamedPackageDir[] | PackageDir[], lookupProperty: string, lookupValue: unknown): NamedPackageDir | PackageDir | undefined;
127
127
  /**
@@ -145,8 +145,8 @@ export declare function convertCamelCaseStringToSentence(stringIn: string): stri
145
145
  * @returns an array of alias for the given id.
146
146
  */
147
147
  export declare function getPackageAliasesFromId(packageId: string, project: SfProject): string[];
148
- export declare function findOrCreatePackage2(seedPackage: string, connection: Connection): Promise<string>;
149
- export declare function pollForStatusWithInterval(id: string, retries: number, packageId: string, branch: string, withProject: SfProject, connection: Connection, interval: Duration): Promise<Package2VersionCreateRequestResult>;
148
+ export declare function findOrCreatePackage(seedPackage: string, connection: Connection): Promise<string>;
149
+ export declare function pollForStatusWithInterval(id: string, retries: number, packageId: string, branch: string, withProject: SfProject, connection: Connection, interval: Duration): Promise<PackageVersionCreateRequestResult>;
150
150
  export declare function getSoqlWhereClauseMaxLength(): number;
151
151
  export declare function formatDate(date: Date): string;
152
152
  export declare function combineSaveErrors(sObject: string, crudOperation: string, errors: SaveError[]): SfError;