@salesforce/packaging 0.1.1 → 0.1.3

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.
@@ -227,6 +227,7 @@ export declare type PackageVersionCreateOptions = {
227
227
  installationkey: string;
228
228
  installationkeybypass: boolean;
229
229
  packageId: string;
230
+ path: string;
230
231
  postinstallscript: string;
231
232
  postinstallurl: string;
232
233
  preserve: boolean;
@@ -7,7 +7,7 @@ export declare class PackageVersionCreate {
7
7
  private packageObject;
8
8
  private packageType;
9
9
  private packageId;
10
- private packageAlias;
10
+ private readonly logger;
11
11
  constructor(options: PackageVersionCreateOptions);
12
12
  createPackageVersion(): Promise<Partial<PackageVersionCreateRequestResult>>;
13
13
  private generateMDFolderForArtifact;
@@ -23,13 +23,13 @@ const packageProfileApi_1 = require("./packageProfileApi");
23
23
  const packageVersionCreateRequest_1 = require("./packageVersionCreateRequest");
24
24
  core_1.Messages.importMessagesDirectory(__dirname);
25
25
  const messages = core_1.Messages.loadMessages('@salesforce/packaging', 'package_version_create');
26
- const logger = core_1.Logger.childFromRoot('packageVersionCreate');
27
26
  const DESCRIPTOR_FILE = 'package2-descriptor.json';
28
27
  class PackageVersionCreate {
29
28
  constructor(options) {
30
29
  this.options = options;
31
30
  this.connection = this.options.connection;
32
31
  this.project = this.options.project;
32
+ this.logger = core_1.Logger.childFromRoot('packageVersionCreate');
33
33
  }
34
34
  createPackageVersion() {
35
35
  try {
@@ -145,7 +145,7 @@ class PackageVersionCreate {
145
145
  if (versionNumber.isbuildKeyword()) {
146
146
  versionNumber.build = resolvedBuildNumber;
147
147
  if (buildNumber === utils_1.BuildNumberToken.LATEST_BUILD_NUMBER_TOKEN) {
148
- logger.info(messages.getMessage('buildNumberResolvedForLatest', [
148
+ this.logger.info(messages.getMessage('buildNumberResolvedForLatest', [
149
149
  dependency.package,
150
150
  versionNumber.toString(),
151
151
  branchString,
@@ -153,7 +153,7 @@ class PackageVersionCreate {
153
153
  ]));
154
154
  }
155
155
  else if (buildNumber === utils_1.BuildNumberToken.RELEASED_BUILD_NUMBER_TOKEN) {
156
- logger.info(messages.getMessage('buildNumberResolvedForReleased', [
156
+ this.logger.info(messages.getMessage('buildNumberResolvedForReleased', [
157
157
  dependency.package,
158
158
  versionNumber.toString(),
159
159
  dependency.subscriberPackageVersionId,
@@ -214,7 +214,7 @@ class PackageVersionCreate {
214
214
  location: packageVersTmpRoot,
215
215
  message,
216
216
  });
217
- logger.info(message);
217
+ this.logger.info(message);
218
218
  return requestObject;
219
219
  }
220
220
  else {
@@ -344,11 +344,11 @@ class PackageVersionCreate {
344
344
  // Log information about the profiles being packaged up
345
345
  const profiles = this.options.profileApi.getProfileInformation();
346
346
  profiles.forEach((profile) => {
347
- if (logger.shouldLog(core_1.LoggerLevel.DEBUG)) {
348
- logger.debug(profile.logDebug());
347
+ if (this.logger.shouldLog(core_1.LoggerLevel.DEBUG)) {
348
+ this.logger.debug(profile.logDebug());
349
349
  }
350
- else if (logger.shouldLog(core_1.LoggerLevel.INFO)) {
351
- logger.info(profile.logInfo());
350
+ else if (this.logger.shouldLog(core_1.LoggerLevel.INFO)) {
351
+ this.logger.info(profile.logInfo());
352
352
  }
353
353
  });
354
354
  await fs.promises.writeFile(path.join(packageVersMetadataFolder, 'package.xml'), xml, 'utf-8');
@@ -419,13 +419,29 @@ class PackageVersionCreate {
419
419
  if (this.project.getPackageDirectories()?.length === 0) {
420
420
  throw messages.createError('errorEmptyPackageDirs');
421
421
  }
422
- // from the packageDirectories in sfdx-project.json, find the correct package entry either by finding a matching package (name) or path
423
- this.packageAlias = (0, utils_2.getPackageAliasesFromId)(this.options.packageId, this.options.project).join();
424
- this.packageId = this.options.packageId;
425
- // set on the class, so we can access them in other methods without redoing this logic
426
- this.packageObject = this.project
427
- .getPackageDirectories()
428
- .find((pkg) => pkg.package === this.packageAlias || pkg['id'] === this.options.packageId);
422
+ // either options.packageId or options.path is required
423
+ if (!this.options.packageId && !this.options.path) {
424
+ throw messages.createError('errorMissingPackageIdOrPath');
425
+ }
426
+ // establish the package Id (0ho) and load the package directory
427
+ let packageName;
428
+ if (this.options.packageId) {
429
+ const pkg = this.options.packageId;
430
+ packageName = pkg.startsWith('0Ho')
431
+ ? this.project.getAliasesFromPackageId(pkg).find((alias) => alias)
432
+ : this.project.getPackageIdFromAlias(pkg);
433
+ if (!packageName)
434
+ throw messages.createError('errorMissingPackage', [this.options.packageId]);
435
+ this.packageObject = this.project.findPackage((pkg) => pkg.package === packageName || pkg.name === packageName);
436
+ }
437
+ else {
438
+ // due to flag validation, we'll either have a package or path flag
439
+ this.packageObject = this.project.getPackageFromPath(this.options.path);
440
+ packageName = this.packageObject?.package;
441
+ if (!packageName)
442
+ throw messages.createError('errorCouldNotFindPackageUsingPath', [this.options.path]);
443
+ }
444
+ this.packageId = this.project.getPackageIdFromAlias(packageName) || packageName;
429
445
  this.options.profileApi = await this.resolveUserLicenses(this.packageObject.includeProfileUserLicenses);
430
446
  // At this point, the packageIdFromAlias should have been resolved to an Id. Now, we
431
447
  // need to validate that the Id is correct.
@@ -443,7 +459,7 @@ class PackageVersionCreate {
443
459
  return (await (0, packageVersionCreateRequest_1.byId)(createResult.id, this.connection))[0];
444
460
  }
445
461
  async resolveUserLicenses(includeUserLicenses) {
446
- const shouldGenerateProfileInformation = logger.shouldLog(core_1.LoggerLevel.INFO) || logger.shouldLog(core_1.LoggerLevel.DEBUG);
462
+ const shouldGenerateProfileInformation = this.logger.shouldLog(core_1.LoggerLevel.INFO) || this.logger.shouldLog(core_1.LoggerLevel.DEBUG);
447
463
  return await packageProfileApi_1.PackageProfileApi.create({
448
464
  project: this.project,
449
465
  includeUserLicenses,
@@ -496,7 +512,7 @@ class PackageVersionCreate {
496
512
  versionNumber.split(pkgUtils.VERSION_NUMBER_SEP)[3] === utils_1.BuildNumberToken.NEXT_BUILD_NUMBER_TOKEN
497
513
  ? versionNumber.substring(0, versionNumber.indexOf(pkgUtils.VERSION_NUMBER_SEP + utils_1.BuildNumberToken.NEXT_BUILD_NUMBER_TOKEN))
498
514
  : versionNumber;
499
- logger.warn(options, messages.getMessage('defaultVersionName', [packageDescriptorJson.versionName]));
515
+ this.logger.warn(options, messages.getMessage('defaultVersionName', [packageDescriptorJson.versionName]));
500
516
  }
501
517
  if (options.releasenotesurl) {
502
518
  packageDescriptorJson.releaseNotesUrl = options.releasenotesurl;
@@ -23,7 +23,13 @@ const VERBOSE_SELECT = 'SELECT Id, Package2Id, SubscriberPackageVersionId, Name,
23
23
  'ConvertedFromVersionId, Package2.IsOrgDependent, ReleaseVersion, BuildDurationInSeconds, HasMetadataRemoved, CreatedById ' +
24
24
  'FROM Package2Version';
25
25
  exports.DEFAULT_ORDER_BY_FIELDS = 'Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';
26
- const logger = core_1.Logger.childFromRoot('packageVersionList');
26
+ let logger;
27
+ const getLogger = () => {
28
+ if (!logger) {
29
+ logger = core_1.Logger.childFromRoot('packageVersionList');
30
+ }
31
+ return logger;
32
+ };
27
33
  async function listPackageVersions(options) {
28
34
  return options.connection.tooling.query(constructQuery(options));
29
35
  }
@@ -38,7 +44,7 @@ function assembleQueryParts(select, where, orderBy) {
38
44
  const orderByPart = `ORDER BY ${orderBy ? orderBy : exports.DEFAULT_ORDER_BY_FIELDS}`;
39
45
  const wherePart = where.length > 0 ? `WHERE ${where.join(' AND ')}` : '';
40
46
  const query = `${select} ${wherePart} ${orderByPart}`;
41
- logger.debug(query);
47
+ getLogger().debug(query);
42
48
  return query;
43
49
  }
44
50
  exports.assembleQueryParts = assembleQueryParts;
@@ -26,7 +26,13 @@ const QUERY_VERBOSE = 'SELECT Id, Package2Id, SubscriberPackageVersionId, Name,
26
26
  'FROM Package2Version ' +
27
27
  "WHERE Id = '%s' AND IsDeprecated != true " +
28
28
  'ORDER BY Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';
29
- const logger = core_1.Logger.childFromRoot('getPackageVersionReport');
29
+ let logger;
30
+ const getLogger = () => {
31
+ if (!logger) {
32
+ logger = core_1.Logger.childFromRoot('getPackageVersionReport');
33
+ }
34
+ return logger;
35
+ };
30
36
  /**
31
37
  * Given a list of subscriber package version IDs (04t), return the associated version strings (e.g., Major.Minor.Patch.Build)
32
38
  *
@@ -54,7 +60,7 @@ async function getPackageVersionStrings(subscriberPackageVersionIds, connection)
54
60
  return results;
55
61
  }
56
62
  async function getPackageVersionReport(options) {
57
- logger.debug(`entering getPackageVersionReport(${util.inspect(options, { depth: null })})`);
63
+ getLogger().debug(`entering getPackageVersionReport(${util.inspect(options, { depth: null })})`);
58
64
  const queryResult = await options.connection.tooling.query(util.format(options.verbose ? QUERY_VERBOSE : QUERY, options.packageVersionId));
59
65
  const records = queryResult.records;
60
66
  if (records?.length > 0) {
@@ -106,3 +106,15 @@ No subscriber package was found for seed id: %s
106
106
 
107
107
  Only one package in a Dev Hub is allowed per converted from first-generation package, but the following were found:
108
108
  %s
109
+
110
+ # errorMissingPackageIdOrPath
111
+
112
+ You must specify either a package ID or a package path to create a new package version.
113
+
114
+ # errorMissingPackage
115
+
116
+ The package "%s" isn’t defined in the sfdx-project.json file. Add it to the packageDirectories section and add the alias to packageAliases with its 0Ho ID.
117
+
118
+ # errorCouldNotFindPackageUsingPath
119
+
120
+ Could not find a package in sfdx-project.json file using "path" %s. Add it to the packageDirectories section and add the alias to packageAliases with its 0Ho ID.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/packaging",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "packing libraries to Salesforce packaging platform",
5
5
  "main": "lib/exported",
6
6
  "types": "lib/exported.d.ts",
@@ -20,7 +20,7 @@
20
20
  "prepare": "sf-install",
21
21
  "pretest": "sf-compile-test",
22
22
  "test": "sf-test",
23
- "test:nuts": "nyc mocha \"**/*.nut.ts\" --slow 4500 --timeout 600000 --parallel"
23
+ "test:nuts": "nyc mocha \"**/*.nut.ts\" --slow 4500 --timeout 1800000 --parallel"
24
24
  },
25
25
  "keywords": [
26
26
  "force",
@@ -36,10 +36,10 @@
36
36
  ],
37
37
  "dependencies": {
38
38
  "@oclif/core": "^1.18.0",
39
- "@salesforce/core": "^3.31.10",
39
+ "@salesforce/core": "^3.31.11",
40
40
  "@salesforce/kit": "^1.7.0",
41
41
  "@salesforce/schemas": "^1.1.3",
42
- "@salesforce/source-deploy-retrieve": "^6.9.1",
42
+ "@salesforce/source-deploy-retrieve": "^6.10.0",
43
43
  "@salesforce/ts-types": "^1.5.21",
44
44
  "@xmldom/xmldom": "^0.8.3",
45
45
  "debug": "^4.3.4",
@@ -48,7 +48,7 @@
48
48
  "graphology-traversal": "^0.3.1",
49
49
  "graphology-types": "^0.24.4",
50
50
  "js2xmlparser": "^4.0.2",
51
- "jsforce": "beta",
51
+ "jsforce": "2.0.0-beta.19",
52
52
  "jszip": "^3.10.1",
53
53
  "mkdirp": "1.0.4",
54
54
  "ts-retry-promise": "^0.7.0",
@@ -64,8 +64,8 @@
64
64
  "@types/globby": "^9.1.0",
65
65
  "@types/jszip": "^3.4.1",
66
66
  "@types/xml2js": "^0.4.11",
67
- "@typescript-eslint/eslint-plugin": "^5.39.0",
68
- "@typescript-eslint/parser": "5.38.1",
67
+ "@typescript-eslint/eslint-plugin": "^5.40.0",
68
+ "@typescript-eslint/parser": "5.40.0",
69
69
  "chai": "^4.3.6",
70
70
  "commitizen": "^4.2.4",
71
71
  "eslint": "^8.24.0",