@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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.0.7](https://github.com/forcedotcom/packaging/compare/v0.0.6...v0.0.7) (2022-07-14)
6
+
7
+ ### Bug Fixes
8
+
9
+ - add package version create/delete to library ([7713d4d](https://github.com/forcedotcom/packaging/commit/7713d4dc7d25f2a381a6972e57f24c9fbdcbae05))
10
+
5
11
  ### [0.0.6](https://github.com/forcedotcom/packaging/compare/v0.0.5...v0.0.6) (2022-07-08)
6
12
 
7
13
  ### Bug Fixes
@@ -1,7 +1,7 @@
1
1
  import { Duration } from '@salesforce/kit';
2
2
  import { Connection, SfProject } from '@salesforce/core';
3
3
  import { SaveResult } from 'jsforce';
4
- import { ProfileApi } from '../package/profileApi';
4
+ import { PackageProfileApi } from '../package/packageProfileApi';
5
5
  import { PackagingSObjects } from './packagingSObjects';
6
6
  import Package2VersionStatus = PackagingSObjects.Package2VersionStatus;
7
7
  export interface IPackage {
@@ -34,7 +34,7 @@ export interface IPackageVersion2GP {
34
34
  export declare type PackageOptions = Record<string, unknown>;
35
35
  export declare type PackageVersion2Options = Record<string, unknown>;
36
36
  export declare type PackageVersionOptions1GP = Record<string, unknown>;
37
- export declare type Package2VersionCreateRequestResult = {
37
+ export declare type PackageVersionCreateRequestResult = {
38
38
  Id: string;
39
39
  Status: Package2VersionStatus;
40
40
  Package2Id: string;
@@ -47,13 +47,13 @@ export declare type Package2VersionCreateRequestResult = {
47
47
  HasMetadataRemoved: boolean | null;
48
48
  CreatedBy: string;
49
49
  };
50
- export declare type Package2VersionCreateRequestError = {
50
+ export declare type PackageVersionCreateRequestError = {
51
51
  Message: string;
52
52
  };
53
- export declare type Package2VersionCreateEventData = {
53
+ export declare type PackageVersionCreateEventData = {
54
54
  id: string;
55
55
  packageUpdated?: boolean;
56
- package2VersionCreateRequestResult: Package2VersionCreateRequestResult;
56
+ packageVersionCreateRequestResult: PackageVersionCreateRequestResult;
57
57
  message?: string;
58
58
  timeRemaining?: Duration;
59
59
  };
@@ -135,7 +135,7 @@ export declare type PackageVersionOptions = {
135
135
  connection: Connection;
136
136
  project: SfProject;
137
137
  };
138
- export declare type PackageVersionCreateOptions = PackageVersionOptions & {
138
+ export declare type PackageVersionCreateOptions = Partial<PackageVersionOptions & {
139
139
  branch: string;
140
140
  buildinstance: string;
141
141
  codecoverage: boolean;
@@ -158,10 +158,15 @@ export declare type PackageVersionCreateOptions = PackageVersionOptions & {
158
158
  versionname: string;
159
159
  versionnumber: string;
160
160
  wait: Duration;
161
- profileApi?: ProfileApi;
162
- };
161
+ profileApi: PackageProfileApi;
162
+ }>;
163
163
  export declare type PackageVersionCreateRequestQueryOptions = {
164
164
  createdlastdays?: number;
165
165
  connection?: Connection;
166
166
  status?: string;
167
167
  };
168
+ export declare type ProfileApiOptions = {
169
+ project: SfProject;
170
+ includeUserLicenses: boolean;
171
+ generateProfileInformation: boolean;
172
+ };
@@ -1,5 +1,5 @@
1
1
  export * from './package';
2
- export * from './packageVersion2GP';
2
+ export * from './packageVersion';
3
3
  export * from './packageList';
4
4
  export * from './packageVersionCreateRequest';
5
5
  export { listPackageVersions } from './packageVersionList';
@@ -22,7 +22,7 @@ exports.deletePackage = exports.createPackage = exports.listPackageVersions = vo
22
22
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
23
23
  */
24
24
  __exportStar(require("./package"), exports);
25
- __exportStar(require("./packageVersion2GP"), exports);
25
+ __exportStar(require("./packageVersion"), exports);
26
26
  __exportStar(require("./packageList"), exports);
27
27
  __exportStar(require("./packageVersionCreateRequest"), exports);
28
28
  var packageVersionList_1 = require("./packageVersionList");
@@ -1,11 +1,11 @@
1
1
  import { Connection, Org, SfProject } from '@salesforce/core';
2
2
  import { Duration } from '@salesforce/kit';
3
- import { Package2VersionCreateRequestResult } from '../interfaces';
3
+ import { PackageVersionCreateRequestResult } from '../interfaces';
4
4
  declare type ConvertPackageOptions = {
5
5
  installationKey: string;
6
6
  installationKeyBypass: boolean;
7
7
  wait: Duration;
8
8
  buildInstance: string;
9
9
  };
10
- export declare function convertPackage(pkg: string, org: Org, connection: Connection, project: SfProject, options: ConvertPackageOptions): Promise<Package2VersionCreateRequestResult>;
10
+ export declare function convertPackage(pkg: string, org: Org, connection: Connection, project: SfProject, options: ConvertPackageOptions): Promise<PackageVersionCreateRequestResult>;
11
11
  export {};
@@ -11,24 +11,30 @@ const path = require("path");
11
11
  const util = require("util");
12
12
  const os = require("os");
13
13
  const fs = require("fs");
14
+ const core_1 = require("@salesforce/core");
14
15
  const kit_1 = require("@salesforce/kit");
15
16
  const testSetup_1 = require("@salesforce/core/lib/testSetup");
16
17
  const pkgUtils = require("../utils/packageUtils");
17
18
  const constants_1 = require("../constants");
18
19
  const srcDevUtil = require("../utils/srcDevUtils");
19
20
  const packageVersionCreateRequest_1 = require("./packageVersionCreateRequest");
21
+ core_1.Messages.importMessagesDirectory(__dirname);
22
+ const messages = core_1.Messages.loadMessages('@salesforce/packaging', 'messages');
20
23
  async function convertPackage(pkg, org, connection, project, options) {
21
24
  let maxRetries = 0;
22
25
  const branch = 'main';
23
26
  if (options.wait) {
24
27
  maxRetries = (60 / pkgUtils.POLL_INTERVAL_SECONDS) * options.wait.seconds;
25
28
  }
26
- const packageId = await pkgUtils.findOrCreatePackage2(pkg, connection);
29
+ const packageId = await pkgUtils.findOrCreatePackage(pkg, connection);
27
30
  const request = await createPackageVersionCreateRequest(context, packageId);
28
31
  const createResult = await connection.tooling.create('Package2VersionCreateRequest', request);
29
32
  if (!createResult.success) {
30
33
  const errStr = createResult.errors && createResult.errors.length ? createResult.errors.join(', ') : createResult.errors;
31
- throw new Error(`Failed to create request${createResult.id ? ` [${createResult.id}]` : ''}: ${errStr}`);
34
+ throw messages.createError('failedToCreatePVCRequest', [
35
+ createResult.id ? ` [${createResult.id}]` : '',
36
+ errStr.toString(),
37
+ ]);
32
38
  }
33
39
  let results;
34
40
  if (options.wait) {
@@ -1,7 +1,7 @@
1
1
  import { Connection, NamedPackageDir, PackageDir, SfProject } from '@salesforce/core';
2
2
  import { PackageCreateOptions, PackagingSObjects } from '../interfaces';
3
3
  declare type Package2Request = Pick<PackagingSObjects.Package2, 'Name' | 'Description' | 'NamespacePrefix' | 'ContainerOptions' | 'IsOrgDependent' | 'PackageErrorUsername'>;
4
- export declare function _createPackage2RequestFromContext(project: SfProject, options: PackageCreateOptions): Package2Request;
4
+ export declare function _createPackageRequestFromContext(project: SfProject, options: PackageCreateOptions): Package2Request;
5
5
  /**
6
6
  * Generate packageDirectory json entry for this package that can be written to sfdx-project.json
7
7
  *
@@ -6,13 +6,13 @@
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.createPackage = exports._generatePackageAliasEntry = exports._generatePackageDirEntry = exports._createPackage2RequestFromContext = void 0;
9
+ exports.createPackage = exports._generatePackageAliasEntry = exports._generatePackageDirEntry = exports._createPackageRequestFromContext = void 0;
10
10
  const core_1 = require("@salesforce/core");
11
11
  const ts_types_1 = require("@salesforce/ts-types");
12
12
  const pkgUtils = require("../utils/packageUtils");
13
13
  core_1.Messages.importMessagesDirectory(__dirname);
14
14
  const messages = core_1.Messages.loadMessages('@salesforce/packaging', 'messages');
15
- function _createPackage2RequestFromContext(project, options) {
15
+ function _createPackageRequestFromContext(project, options) {
16
16
  const namespace = options.noNamespace ? '' : project.getSfProjectJson().getContents().namespace || '';
17
17
  return {
18
18
  Name: options.name,
@@ -23,7 +23,7 @@ function _createPackage2RequestFromContext(project, options) {
23
23
  PackageErrorUsername: options.errorNotificationUsername,
24
24
  };
25
25
  }
26
- exports._createPackage2RequestFromContext = _createPackage2RequestFromContext;
26
+ exports._createPackageRequestFromContext = _createPackageRequestFromContext;
27
27
  /**
28
28
  * Generate packageDirectory json entry for this package that can be written to sfdx-project.json
29
29
  *
@@ -83,7 +83,7 @@ exports._generatePackageAliasEntry = _generatePackageAliasEntry;
83
83
  async function createPackage(connection, project, options) {
84
84
  // strip trailing slash from path param
85
85
  options.path = options.path.replace(/\/$/, '');
86
- const request = _createPackage2RequestFromContext(project, options);
86
+ const request = _createPackageRequestFromContext(project, options);
87
87
  let packageId = null;
88
88
  const createResult = await connection.tooling
89
89
  .sobject('Package2')
@@ -1,8 +1,8 @@
1
1
  import { ConfigAggregator, SfProject } from '@salesforce/core';
2
- export declare class ProfileApi {
3
- project: SfProject;
4
- includeUserLicenses: boolean;
5
- generateProfileInformation: boolean;
2
+ import { AsyncCreatable } from '@salesforce/kit';
3
+ import { ProfileApiOptions } from '../interfaces';
4
+ export declare class PackageProfileApi extends AsyncCreatable<ProfileApiOptions> {
5
+ private options;
6
6
  readonly profiles: ProfileInformation[];
7
7
  apiVersion: string;
8
8
  nodeEntities: {
@@ -16,7 +16,11 @@ export declare class ProfileApi {
16
16
  parentElement: string[];
17
17
  };
18
18
  config: ConfigAggregator;
19
- constructor(project: SfProject, includeUserLicenses: boolean, generateProfileInformation?: boolean);
19
+ project: SfProject;
20
+ includeUserLicenses: boolean;
21
+ generateProfileInformation: boolean;
22
+ constructor(options: ProfileApiOptions);
23
+ init(): Promise<void>;
20
24
  /**
21
25
  * For any profile present in the workspace, this function generates a subset of data that only contains references
22
26
  * to items in the manifest.
@@ -6,13 +6,13 @@
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.ProfileApi = void 0;
9
+ exports.PackageProfileApi = void 0;
10
10
  const path = require("path");
11
11
  const fs = require("fs");
12
12
  const glob = require("glob");
13
13
  const xmldom_sfdx_encoding_1 = require("xmldom-sfdx-encoding");
14
14
  const core_1 = require("@salesforce/core");
15
- // Local
15
+ const kit_1 = require("@salesforce/kit");
16
16
  core_1.Messages.importMessagesDirectory(__dirname);
17
17
  // TODO: need to transfer these messages
18
18
  const profileApiMessages = core_1.Messages.loadMessages('@salesforce/packaging', 'messages');
@@ -21,15 +21,18 @@ const profileApiMessages = core_1.Messages.loadMessages('@salesforce/packaging',
21
21
  * All profiles found in the workspaces are extracted out and then re-written to only include metadata in the profile
22
22
  * that is relevant to the source in the package directory being packaged.
23
23
  */
24
- class ProfileApi {
25
- constructor(project, includeUserLicenses, generateProfileInformation = false) {
26
- this.project = project;
27
- this.includeUserLicenses = includeUserLicenses;
28
- this.generateProfileInformation = generateProfileInformation;
24
+ class PackageProfileApi extends kit_1.AsyncCreatable {
25
+ constructor(options) {
26
+ super(options);
27
+ this.options = options;
29
28
  this.profiles = [];
30
- (async () => {
31
- this.config = await core_1.ConfigAggregator.create();
32
- })();
29
+ this.generateProfileInformation = false;
30
+ }
31
+ async init() {
32
+ this.project = this.options.project;
33
+ this.includeUserLicenses = this.options.includeUserLicenses;
34
+ this.generateProfileInformation = this.options.generateProfileInformation;
35
+ this.config = await core_1.ConfigAggregator.create();
33
36
  this.apiVersion = this.config.getPropertyValue('apiVersion');
34
37
  // nodeEntities is used to determine which elements in the profile are relevant to the source being packaged.
35
38
  // name refers to the entity type name in source that the element pertains to. As an example, a profile may
@@ -238,7 +241,7 @@ class ProfileApi {
238
241
  });
239
242
  }
240
243
  }
241
- exports.ProfileApi = ProfileApi;
244
+ exports.PackageProfileApi = PackageProfileApi;
242
245
  class ProfileInformation {
243
246
  constructor(ProfileName, ProfilePath, IsPackaged, settingsRemoved) {
244
247
  this.ProfileName = ProfileName;
@@ -272,4 +275,4 @@ class ProfileInformation {
272
275
  }
273
276
  }
274
277
  }
275
- //# sourceMappingURL=profileApi.js.map
278
+ //# sourceMappingURL=packageProfileApi.js.map
@@ -1,8 +1,25 @@
1
- import { Package2VersionCreateRequestResult, PackageVersionCreateOptions, PackageVersionOptions } from '../interfaces';
1
+ import { PackageVersionCreateRequestResult, PackageSaveResult, PackageVersionCreateOptions, PackageVersionOptions } from '../interfaces';
2
2
  export declare class PackageVersion {
3
3
  private options;
4
4
  private readonly project;
5
5
  private readonly connection;
6
- protected constructor(options: PackageVersionOptions);
7
- createPackageVersion(options: PackageVersionCreateOptions): Promise<Partial<Package2VersionCreateRequestResult>>;
6
+ constructor(options: PackageVersionOptions);
7
+ /**
8
+ * Creates a new package version.
9
+ *
10
+ * @param options
11
+ */
12
+ create(options: PackageVersionCreateOptions): Promise<Partial<PackageVersionCreateRequestResult>>;
13
+ /**
14
+ * Deletes a package version.
15
+ *
16
+ * @param idOrAlias
17
+ * @param undelete
18
+ */
19
+ delete(idOrAlias: string, undelete?: boolean): Promise<PackageSaveResult>;
20
+ convert(): Promise<void>;
21
+ install(): Promise<void>;
22
+ list(): Promise<void>;
23
+ uninstall(): Promise<void>;
24
+ update(): Promise<void>;
8
25
  }
@@ -8,6 +8,8 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.PackageVersion = void 0;
10
10
  const core_1 = require("@salesforce/core");
11
+ const pkgUtils = require("../utils/packageUtils");
12
+ const utils_1 = require("../utils");
11
13
  const packageVersionCreate_1 = require("./packageVersionCreate");
12
14
  core_1.Messages.importMessagesDirectory(__dirname);
13
15
  // const messages = Messages.loadMessages('@salesforce/packaging', 'messages');
@@ -18,9 +20,53 @@ class PackageVersion {
18
20
  this.connection = this.options.connection;
19
21
  this.project = this.options.project;
20
22
  }
21
- async createPackageVersion(options) {
22
- const pvc = new packageVersionCreate_1.PackageVersionCreate(options);
23
- return pvc.createPackageVersion(options);
23
+ /**
24
+ * Creates a new package version.
25
+ *
26
+ * @param options
27
+ */
28
+ async create(options) {
29
+ const pvc = new packageVersionCreate_1.PackageVersionCreate({ ...options, ...this.options });
30
+ return pvc.createPackageVersion();
31
+ }
32
+ /**
33
+ * Deletes a package version.
34
+ *
35
+ * @param idOrAlias
36
+ * @param undelete
37
+ */
38
+ async delete(idOrAlias, undelete = false) {
39
+ const packageVersionId = pkgUtils.getPackageIdFromAlias(idOrAlias, this.project);
40
+ // ID can be an 04t or 05i
41
+ pkgUtils.validateId([pkgUtils.BY_LABEL.SUBSCRIBER_PACKAGE_VERSION_ID, pkgUtils.BY_LABEL.PACKAGE_VERSION_ID], packageVersionId);
42
+ // lookup the 05i ID, if needed
43
+ const packageId = await pkgUtils.getPackageVersionId(packageVersionId, this.connection);
44
+ // setup the request
45
+ const request = {
46
+ Id: packageId,
47
+ IsDeprecated: !undelete,
48
+ };
49
+ const updateResult = await this.connection.tooling.update('Package2Version', request);
50
+ if (!updateResult.success) {
51
+ throw (0, utils_1.combineSaveErrors)('Package2', 'update', updateResult.errors);
52
+ }
53
+ updateResult.id = await pkgUtils.getSubscriberPackageVersionId(packageVersionId, this.connection);
54
+ return updateResult;
55
+ }
56
+ convert() {
57
+ return Promise.resolve(undefined);
58
+ }
59
+ install() {
60
+ return Promise.resolve(undefined);
61
+ }
62
+ list() {
63
+ return Promise.resolve(undefined);
64
+ }
65
+ uninstall() {
66
+ return Promise.resolve(undefined);
67
+ }
68
+ update() {
69
+ return Promise.resolve(undefined);
24
70
  }
25
71
  }
26
72
  exports.PackageVersion = PackageVersion;
@@ -1,16 +1,14 @@
1
1
  import { Connection } from '@salesforce/core';
2
- import { Package2VersionCreateRequestResult, PackageVersionCreateOptions } from '../interfaces';
2
+ import { PackageVersionCreateRequestResult, PackageVersionCreateOptions } from '../interfaces';
3
3
  export declare class PackageVersionCreate {
4
4
  private options;
5
5
  private apiVersionFromPackageXml;
6
- private packageDirs;
7
6
  private readonly project;
8
7
  private readonly connection;
9
8
  constructor(options: PackageVersionCreateOptions);
10
- createPackageVersion(options: PackageVersionCreateOptions): Promise<Partial<Package2VersionCreateRequestResult>>;
11
- listRequest(createdlastdays?: number, status?: string): Promise<Package2VersionCreateRequestResult[]>;
12
- listRequestById(id: string, connection: Connection): Promise<Package2VersionCreateRequestResult[]>;
13
- rejectWithInstallKeyError(): Promise<never>;
9
+ createPackageVersion(): Promise<Partial<PackageVersionCreateRequestResult>>;
10
+ listRequest(createdlastdays?: number, status?: string): Promise<PackageVersionCreateRequestResult[]>;
11
+ listRequestById(id: string, connection: Connection): Promise<PackageVersionCreateRequestResult[]>;
14
12
  private generateMDFolderForArtifact;
15
13
  private validateDependencyValues;
16
14
  /**