@salesforce/packaging 3.5.25 → 3.7.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.
@@ -155,6 +155,7 @@ export type PackageVersionCreateRequest = {
155
155
  Language?: string;
156
156
  CalculateCodeCoverage: boolean;
157
157
  SkipValidation: boolean;
158
+ AsyncValidation?: boolean;
158
159
  };
159
160
  export type PackageVersionListOptions = {
160
161
  orderBy?: string;
@@ -165,6 +166,7 @@ export type PackageVersionListOptions = {
165
166
  concise?: boolean;
166
167
  isReleased?: boolean;
167
168
  showConversionsOnly?: boolean;
169
+ branch?: string;
168
170
  };
169
171
  export type PackageVersionUpdateOptions = {
170
172
  InstallKey?: string;
@@ -263,6 +265,7 @@ export type PackageVersionCreateOptions = {
263
265
  releasenotesurl: string;
264
266
  skipancestorcheck: boolean;
265
267
  skipvalidation: boolean;
268
+ asyncvalidation: boolean;
266
269
  sourceorg: string;
267
270
  tag: string;
268
271
  uninstallscript: string;
@@ -34,6 +34,7 @@ export declare namespace PackagingSObjects {
34
34
  Branch: string;
35
35
  AncestorId: string;
36
36
  ValidationSkipped: boolean;
37
+ ValidatedAsync?: boolean;
37
38
  Name: string;
38
39
  Description: string;
39
40
  MajorVersion: number;
@@ -62,7 +63,8 @@ export declare namespace PackagingSObjects {
62
63
  verifyingFeaturesAndSettings = "VerifyingFeaturesAndSettings",
63
64
  verifyingDependencies = "VerifyingDependencies",
64
65
  verifyingMetadata = "VerifyingMetadata",
65
- finalizingPackageVersion = "FinalizingPackageVersion"
66
+ finalizingPackageVersion = "FinalizingPackageVersion",
67
+ performingValidations = "PerformingValidations"
66
68
  }
67
69
  type Package2VersionCreateRequest = {
68
70
  Id: string;
@@ -14,6 +14,7 @@ var PackagingSObjects;
14
14
  Package2VersionStatus["verifyingDependencies"] = "VerifyingDependencies";
15
15
  Package2VersionStatus["verifyingMetadata"] = "VerifyingMetadata";
16
16
  Package2VersionStatus["finalizingPackageVersion"] = "FinalizingPackageVersion";
17
+ Package2VersionStatus["performingValidations"] = "PerformingValidations";
17
18
  })(Package2VersionStatus = PackagingSObjects.Package2VersionStatus || (PackagingSObjects.Package2VersionStatus = {}));
18
19
  })(PackagingSObjects || (exports.PackagingSObjects = PackagingSObjects = {}));
19
20
  //# sourceMappingURL=packagingSObjects.js.map
@@ -128,6 +128,7 @@ export declare class PackageVersion {
128
128
  * @returns Results from querying the Package2Version SObject.
129
129
  */
130
130
  static queryPackage2Version(connection: Connection, options?: Package2VersionQueryOptions): Promise<Partial<Package2Version[]>>;
131
+ private static getPackage2VersionFields;
131
132
  /**
132
133
  * Get the package version ID for this PackageVersion.
133
134
  *
@@ -32,6 +32,7 @@ exports.Package2VersionFields = [
32
32
  'Branch',
33
33
  'AncestorId',
34
34
  'ValidationSkipped',
35
+ 'ValidatedAsync',
35
36
  'Name',
36
37
  'Description',
37
38
  'MajorVersion',
@@ -173,6 +174,7 @@ class PackageVersion {
173
174
  completed: false,
174
175
  payload: report,
175
176
  };
177
+ case Package2VersionStatus.performingValidations:
176
178
  case Package2VersionStatus.success: {
177
179
  await core_1.Lifecycle.getInstance().emit(interfaces_1.PackageVersionEvents.create.success, report);
178
180
  const packageVersion = new PackageVersion({
@@ -261,6 +263,7 @@ class PackageVersion {
261
263
  completed: false,
262
264
  payload: report,
263
265
  };
266
+ case Package2VersionStatus.performingValidations:
264
267
  case Package2VersionStatus.success:
265
268
  await core_1.Lifecycle.getInstance().emit(interfaces_1.PackageVersionEvents.create.success, report);
266
269
  await new PackageVersion({
@@ -299,7 +302,7 @@ class PackageVersion {
299
302
  * @returns Results from querying the Package2Version SObject.
300
303
  */
301
304
  static async queryPackage2Version(connection, options = {}) {
302
- const fields = options.fields ?? exports.Package2VersionFields;
305
+ const fields = options.fields ?? PackageVersion.getPackage2VersionFields(connection);
303
306
  const { whereClause, whereClauseItems } = options;
304
307
  const orderBy = options.orderBy ?? 'ORDER BY LastModifiedDate DESC';
305
308
  let query = `SELECT ${fields.toString()} FROM Package2Version`;
@@ -318,6 +321,10 @@ class PackageVersion {
318
321
  }
319
322
  return result.records ?? [];
320
323
  }
324
+ static getPackage2VersionFields(connection) {
325
+ const apiVersion = connection.getApiVersion();
326
+ return exports.Package2VersionFields.filter((field) => (apiVersion > '60.0' ? true : field !== 'ValidatedAsync'));
327
+ }
321
328
  /**
322
329
  * Get the package version ID for this PackageVersion.
323
330
  *
@@ -400,7 +407,7 @@ class PackageVersion {
400
407
  label2: packageUtils_1.BY_LABEL.PACKAGE_VERSION_ID.label,
401
408
  };
402
409
  }
403
- const allFields = exports.Package2VersionFields.toString();
410
+ const allFields = PackageVersion.getPackage2VersionFields(this.connection).toString();
404
411
  const query = `SELECT ${allFields} FROM Package2Version WHERE ${queryConfig.clause} LIMIT 1`;
405
412
  try {
406
413
  this.data = await this.connection.singleRecordQuery(query, { tooling: true });
@@ -219,6 +219,7 @@ class PackageVersionCreate {
219
219
  SourceOrg: this.options.sourceorg,
220
220
  CalculateCodeCoverage: this.options.codecoverage ?? false,
221
221
  SkipValidation: this.options.skipvalidation ?? false,
222
+ AsyncValidation: this.options.asyncvalidation ?? false,
222
223
  // note: the createRequest's Language corresponds to the AllPackageVersion's language
223
224
  Language: this.options.language,
224
225
  };
@@ -230,6 +231,14 @@ class PackageVersionCreate {
230
231
  }
231
232
  delete requestObject.Language;
232
233
  }
234
+ // Ensure we only include the async validation property for a connection api version
235
+ // of v60.0 or higher.
236
+ if (this.connection.getApiVersion() <= '60.0') {
237
+ if (requestObject.AsyncValidation) {
238
+ this.logger.warn(`The async validation option is only valid for API version 60.0 and higher. Ignoring ${requestObject.AsyncValidation}`);
239
+ }
240
+ delete requestObject.AsyncValidation;
241
+ }
233
242
  if (preserveFiles) {
234
243
  const message = messages.getMessage('tempFileLocation', [packageVersTmpRoot]);
235
244
  await core_1.Lifecycle.getInstance().emit(interfaces_1.PackageVersionEvents.create['preserve-files'], {
@@ -1,4 +1,5 @@
1
1
  import { Connection } from '@salesforce/core';
2
2
  import { PackageVersionCreateRequestQueryOptions, PackageVersionCreateRequestResult } from '../interfaces';
3
+ export declare function getQuery(connection: Connection): string;
3
4
  export declare function list(connection: Connection, options?: PackageVersionCreateRequestQueryOptions): Promise<PackageVersionCreateRequestResult[]>;
4
5
  export declare function byId(packageVersionCreateRequestId: string, connection: Connection): Promise<PackageVersionCreateRequestResult[]>;
@@ -9,19 +9,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.byId = exports.list = void 0;
12
+ exports.byId = exports.list = exports.getQuery = void 0;
13
13
  const node_util_1 = __importDefault(require("node:util"));
14
14
  const core_1 = require("@salesforce/core");
15
15
  const interfaces_1 = require("../interfaces");
16
16
  const packageUtils_1 = require("../utils/packageUtils");
17
17
  core_1.Messages.importMessagesDirectory(__dirname);
18
18
  const messages = core_1.Messages.loadMessages('@salesforce/packaging', 'package_version_create');
19
- const QUERY = 'SELECT Id, Status, Package2Id, Package2.Name, Package2VersionId, Package2Version.SubscriberPackageVersionId, Package2Version.HasPassedCodeCoverageCheck,Package2Version.CodeCoverage, Tag, Branch, ' +
20
- 'Package2Version.MajorVersion, Package2Version.MinorVersion, Package2Version.PatchVersion, Package2Version.BuildNumber, ' +
21
- 'CreatedDate, Package2Version.HasMetadataRemoved, CreatedById, IsConversionRequest, Package2Version.ConvertedFromVersionId ' +
22
- 'FROM Package2VersionCreateRequest ' +
23
- '%s' + // WHERE, if applicable
24
- 'ORDER BY CreatedDate desc';
19
+ function getQuery(connection) {
20
+ const QUERY = 'SELECT Id, Status, Package2Id, Package2.Name, Package2VersionId, Package2Version.SubscriberPackageVersionId, Package2Version.HasPassedCodeCoverageCheck,Package2Version.CodeCoverage, Tag, Branch, ' +
21
+ 'Package2Version.MajorVersion, Package2Version.MinorVersion, Package2Version.PatchVersion, Package2Version.BuildNumber, ' +
22
+ 'CreatedDate, Package2Version.HasMetadataRemoved, CreatedById, IsConversionRequest, Package2Version.ConvertedFromVersionId ' +
23
+ (Number(connection.version) > 60.0 ? ', AsyncValidation ' : '') +
24
+ 'FROM Package2VersionCreateRequest ' +
25
+ '%s' + // WHERE, if applicable
26
+ 'ORDER BY CreatedDate desc';
27
+ return QUERY;
28
+ }
29
+ exports.getQuery = getQuery;
25
30
  function formatDate(date) {
26
31
  const pad = (num) => (num < 10 ? `0${num}` : `${num}`);
27
32
  return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}`;
@@ -29,7 +34,7 @@ function formatDate(date) {
29
34
  async function list(connection, options) {
30
35
  try {
31
36
  const whereClause = constructWhere(options);
32
- return await query(node_util_1.default.format(QUERY, whereClause), connection);
37
+ return await query(node_util_1.default.format(getQuery(connection), whereClause), connection);
33
38
  }
34
39
  catch (err) {
35
40
  if (err instanceof Error) {
@@ -40,7 +45,7 @@ async function list(connection, options) {
40
45
  }
41
46
  exports.list = list;
42
47
  async function byId(packageVersionCreateRequestId, connection) {
43
- const results = await query(node_util_1.default.format(QUERY, `WHERE Id = '${packageVersionCreateRequestId}' `), connection);
48
+ const results = await query(node_util_1.default.format(getQuery(connection), `WHERE Id = '${packageVersionCreateRequestId}' `), connection);
44
49
  if (results && results.length === 1 && results[0].Status === interfaces_1.PackagingSObjects.Package2VersionStatus.error) {
45
50
  results[0].Error = await queryForErrors(packageVersionCreateRequestId, connection);
46
51
  }
@@ -114,6 +114,9 @@ function constructWhere(options) {
114
114
  if (options?.showConversionsOnly) {
115
115
  where.push('ConvertedFromVersionId != null');
116
116
  }
117
+ if (options?.branch) {
118
+ where.push(`Branch='${options.branch}'`);
119
+ }
117
120
  // exclude deleted
118
121
  where.push('IsDeprecated = false');
119
122
  return where;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/packaging",
3
- "version": "3.5.25",
3
+ "version": "3.7.0",
4
4
  "description": "Packaging library for the Salesforce packaging platform",
5
5
  "main": "lib/exported",
6
6
  "types": "lib/exported.d.ts",
@@ -42,7 +42,7 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "@jsforce/jsforce-node": "^3.2.0",
45
- "@salesforce/core": "^7.3.12",
45
+ "@salesforce/core": "^7.4.0",
46
46
  "@salesforce/kit": "^3.1.2",
47
47
  "@salesforce/schemas": "^1.9.0",
48
48
  "@salesforce/source-deploy-retrieve": "^11.6.5",