@simplysf/simply-package 3.0.5 → 3.1.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.
- package/README.md +4 -4
- package/lib/commands/simply/package/dependencies/install.d.ts +16 -17
- package/lib/commands/simply/package/dependencies/install.js +88 -307
- package/lib/commands/simply/package/dependencies/install.js.map +1 -1
- package/messages/simply.package.dependencies.install.md +0 -36
- package/messages/simply.package.dependencies.manage.md +0 -4
- package/messages/simply.package.version.cleanup.md +0 -4
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -157,7 +157,7 @@ FLAG DESCRIPTIONS
|
|
|
157
157
|
Packages not listed here use --retry-attempts.
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
-
_See code: [lib/commands/simply/package/dependencies/install.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-package@3.0
|
|
160
|
+
_See code: [lib/commands/simply/package/dependencies/install.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-package@3.1.0/packages/simply-package/lib/commands/simply/package/dependencies/install.js)_
|
|
161
161
|
|
|
162
162
|
## `sf simply package dependencies manage`
|
|
163
163
|
|
|
@@ -216,7 +216,7 @@ FLAG DESCRIPTIONS
|
|
|
216
216
|
version without interactive prompts. Mutually exclusive with --update-to-latest.
|
|
217
217
|
```
|
|
218
218
|
|
|
219
|
-
_See code: [lib/commands/simply/package/dependencies/manage.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-package@3.0
|
|
219
|
+
_See code: [lib/commands/simply/package/dependencies/manage.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-package@3.1.0/packages/simply-package/lib/commands/simply/package/dependencies/manage.js)_
|
|
220
220
|
|
|
221
221
|
## `sf simply package version cleanup`
|
|
222
222
|
|
|
@@ -273,7 +273,7 @@ FLAG DESCRIPTIONS
|
|
|
273
273
|
that does not match any of the given selectors is deleted. Mutually exclusive with --selector.
|
|
274
274
|
```
|
|
275
275
|
|
|
276
|
-
_See code: [lib/commands/simply/package/version/cleanup.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-package@3.0
|
|
276
|
+
_See code: [lib/commands/simply/package/version/cleanup.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-package@3.1.0/packages/simply-package/lib/commands/simply/package/version/cleanup.js)_
|
|
277
277
|
|
|
278
278
|
## `sf simply package version get`
|
|
279
279
|
|
|
@@ -333,7 +333,7 @@ FLAG DESCRIPTIONS
|
|
|
333
333
|
"test-package@0.1.0+2", pass "test-package".
|
|
334
334
|
```
|
|
335
335
|
|
|
336
|
-
_See code: [lib/commands/simply/package/version/get.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-package@3.0
|
|
336
|
+
_See code: [lib/commands/simply/package/version/get.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-package@3.1.0/packages/simply-package/lib/commands/simply/package/version/get.js)_
|
|
337
337
|
<!-- commandsstop -->
|
|
338
338
|
|
|
339
339
|
## Configuration Files
|
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
2
|
import { Duration } from '@salesforce/kit';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* already installed in the org for that package, and the decision made.
|
|
6
|
-
*/
|
|
7
|
-
export type PackageToInstall = {
|
|
8
|
-
PackageName: string;
|
|
9
|
-
/** The `SubscriberPackageVersionId` already installed in the org for this package, or `''` if none was. */
|
|
10
|
-
ExistingSubscriberPackageVersionId: string;
|
|
11
|
-
/** The `SubscriberPackageVersionId` this command attempted to install. */
|
|
12
|
-
SubscriberPackageVersionId: string;
|
|
13
|
-
/** `''`, `'Skipped'`, `'Installing'`, `'Installed'`, or `'Failed'`. */
|
|
14
|
-
Status: string;
|
|
15
|
-
};
|
|
3
|
+
import { type PackageInstallApexCompileType, type PackageInstallSecurityType, type PackageInstallType, type PackageInstallUpgradeType, type PackageToInstall } from '@simplysf/simply-package-core';
|
|
4
|
+
export type { PackageToInstall };
|
|
16
5
|
/**
|
|
17
6
|
* Installs all specified package dependencies in a Salesforce DX project using the
|
|
18
7
|
* sfdx-project.json definition.
|
|
@@ -24,7 +13,7 @@ export default class PackageDependenciesInstall extends SfCommand<PackageToInsta
|
|
|
24
13
|
static readonly requiresProject = true;
|
|
25
14
|
static readonly flags: {
|
|
26
15
|
branch: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
-
'install-type': import("@oclif/core/interfaces").OptionFlag<
|
|
16
|
+
'install-type': import("@oclif/core/interfaces").OptionFlag<PackageInstallType, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
17
|
'installation-key': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
18
|
'no-prompt': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
30
19
|
'output-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -32,16 +21,26 @@ export default class PackageDependenciesInstall extends SfCommand<PackageToInsta
|
|
|
32
21
|
'publish-wait': import("@oclif/core/interfaces").OptionFlag<Duration, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
22
|
'retry-attempts': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
23
|
'retry-backoff': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
35
|
-
'security-type': import("@oclif/core/interfaces").OptionFlag<
|
|
24
|
+
'security-type': import("@oclif/core/interfaces").OptionFlag<PackageInstallSecurityType, import("@oclif/core/interfaces").CustomOptions>;
|
|
36
25
|
'skip-handlers': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
37
26
|
'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
38
|
-
'upgrade-type': import("@oclif/core/interfaces").OptionFlag<
|
|
27
|
+
'upgrade-type': import("@oclif/core/interfaces").OptionFlag<PackageInstallUpgradeType, import("@oclif/core/interfaces").CustomOptions>;
|
|
39
28
|
wait: import("@oclif/core/interfaces").OptionFlag<Duration, import("@oclif/core/interfaces").CustomOptions>;
|
|
40
29
|
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined>;
|
|
41
30
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org>;
|
|
42
|
-
'apex-compile': import("@oclif/core/interfaces").OptionFlag<
|
|
31
|
+
'apex-compile': import("@oclif/core/interfaces").OptionFlag<PackageInstallApexCompileType | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
43
32
|
'flags-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
44
33
|
};
|
|
45
34
|
/** @returns The install outcome for every resolved dependency. */
|
|
46
35
|
run(): Promise<PackageToInstall[]>;
|
|
36
|
+
/**
|
|
37
|
+
* @param values - The raw `--installation-key` values.
|
|
38
|
+
* @returns Installation keys keyed by package alias or id, for the library to resolve.
|
|
39
|
+
*/
|
|
40
|
+
private parseInstallationKeys;
|
|
41
|
+
/**
|
|
42
|
+
* @param values - The raw `--package-retry-attempts` values.
|
|
43
|
+
* @returns Retry-attempt overrides keyed by package alias or id, for the library to resolve.
|
|
44
|
+
*/
|
|
45
|
+
private parsePackageRetryAttempts;
|
|
47
46
|
}
|
|
@@ -13,25 +13,14 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
/* eslint-disable complexity */
|
|
17
|
-
/* eslint-disable no-await-in-loop */
|
|
18
|
-
/* eslint-disable no-unsafe-finally */
|
|
19
16
|
import fs from 'node:fs/promises';
|
|
20
17
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
21
18
|
import { requireConnection, targetOrgFlags } from '@simplysf/simply-plugin-kit';
|
|
22
|
-
import { AuthInfo, Connection,
|
|
19
|
+
import { AuthInfo, Connection, Messages } from '@salesforce/core';
|
|
23
20
|
import { Duration } from '@salesforce/kit';
|
|
24
|
-
import {
|
|
25
|
-
import { retryWithBackoff } from '@simplysf/simply-core';
|
|
26
|
-
import { isDependenciesPackagingDirectory, isPackage2Id, isSubscriberPackageVersionId, reducePackageInstallRequestErrors, } from '@simplysf/simply-package-core';
|
|
21
|
+
import { installPackageDependencies, } from '@simplysf/simply-package-core';
|
|
27
22
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
28
23
|
const messages = Messages.loadMessages('@simplysf/simply-package', 'simply.package.dependencies.install');
|
|
29
|
-
/** Maps the `--install-type` flag's display values to the internal values used for comparisons. */
|
|
30
|
-
const installType = { All: 'all', Delta: 'delta', Upgrade: 'upgrade' };
|
|
31
|
-
/** Maps the `--security-type` flag's display values to the `PackageInstallCreateRequest` API values. */
|
|
32
|
-
const securityType = { AllUsers: 'full', AdminsOnly: 'none' };
|
|
33
|
-
/** Maps the `--upgrade-type` flag's display values to the `PackageInstallCreateRequest` API values. */
|
|
34
|
-
const upgradeType = { Delete: 'delete-only', DeprecateOnly: 'deprecate-only', Mixed: 'mixed-mode' };
|
|
35
24
|
/** Matches one or more comma-separated `alias:key` pairs, as accepted by `--installation-key`. */
|
|
36
25
|
const installationKeyRegex = new RegExp(/^(\w+:\w+)(,\s*\w+:\w+)*/);
|
|
37
26
|
/** Matches a single `alias:count` pair, as accepted by `--package-retry-attempts`. */
|
|
@@ -153,312 +142,104 @@ export default class PackageDependenciesInstall extends SfCommand {
|
|
|
153
142
|
const { flags } = await this.parse(PackageDependenciesInstall);
|
|
154
143
|
// Authorize to the target org
|
|
155
144
|
const targetOrgConnection = requireConnection(flags);
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
145
|
+
// The Dev Hub is only needed for dependencies given as Package/VersionNumber, so it's resolved
|
|
146
|
+
// lazily — the library invokes this only if such a dependency exists.
|
|
147
|
+
const targetDevHub = flags['target-dev-hub'];
|
|
148
|
+
const targetDevHubConnection = targetDevHub
|
|
149
|
+
? async () => {
|
|
150
|
+
const targetDevHubAuthInfo = await AuthInfo.create({ username: targetDevHub });
|
|
151
|
+
const connection = await Connection.create({ authInfo: targetDevHubAuthInfo });
|
|
152
|
+
if (!connection) {
|
|
153
|
+
throw messages.createError('error.targetDevHubConnectionFailed');
|
|
154
|
+
}
|
|
155
|
+
return connection;
|
|
156
|
+
}
|
|
157
|
+
: undefined;
|
|
158
|
+
const installationKeys = this.parseInstallationKeys(flags['installation-key']);
|
|
159
|
+
const packageRetryAttempts = this.parsePackageRetryAttempts(flags['package-retry-attempts']);
|
|
160
|
+
const prompts = flags['no-prompt']
|
|
161
|
+
? undefined
|
|
162
|
+
: {
|
|
163
|
+
confirmUpgradeTypeDelete: () => this.confirm({ message: messages.getMessage('prompt.upgradeType') }),
|
|
164
|
+
confirmEnableRss: (_packageName, externalSites) => this.confirm({ message: messages.getMessage('prompt.enableRss', [externalSites.join('\n')]) }),
|
|
165
|
+
};
|
|
166
|
+
const packagesToInstall = await installPackageDependencies({
|
|
167
|
+
project: this.project,
|
|
168
|
+
targetOrgConnection,
|
|
169
|
+
targetDevHubConnection,
|
|
170
|
+
branch: flags.branch,
|
|
171
|
+
installType: flags['install-type'],
|
|
172
|
+
installationKeys,
|
|
173
|
+
apexCompile: flags['apex-compile'],
|
|
174
|
+
securityType: flags['security-type'],
|
|
175
|
+
upgradeType: flags['upgrade-type'],
|
|
176
|
+
skipHandlers: flags['skip-handlers'],
|
|
177
|
+
publishWait: flags['publish-wait'],
|
|
178
|
+
wait: flags.wait,
|
|
179
|
+
retryAttempts: flags['retry-attempts'],
|
|
180
|
+
retryBackoff: flags['retry-backoff'],
|
|
181
|
+
packageRetryAttempts,
|
|
182
|
+
progress: {
|
|
183
|
+
info: (message) => this.info(message),
|
|
184
|
+
warn: (message) => this.warn(message),
|
|
185
|
+
stepStart: (message) => this.spinner.start(message, '', { stdout: true }),
|
|
186
|
+
stepStatus: (message) => {
|
|
187
|
+
this.spinner.status = message;
|
|
188
|
+
},
|
|
189
|
+
stepStop: (message) => this.spinner.stop(message),
|
|
190
|
+
},
|
|
191
|
+
prompts,
|
|
192
|
+
});
|
|
164
193
|
// If requested, write a JSON report of the install outcome to a file alongside the normal
|
|
165
|
-
// terminal output
|
|
166
|
-
// normal completion path can reuse it.
|
|
194
|
+
// terminal output — including when there was nothing to install.
|
|
167
195
|
const outputPath = flags['output-file'];
|
|
168
|
-
|
|
169
|
-
if (!outputPath) {
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
196
|
+
if (outputPath) {
|
|
172
197
|
await fs.writeFile(outputPath, buildInstallReport(packagesToInstall), 'utf-8');
|
|
173
198
|
this.info(messages.getMessage('info.reportWritten', [outputPath]));
|
|
174
|
-
};
|
|
175
|
-
this.spinner.start('Analyzing project to determine packages to install', '', { stdout: true });
|
|
176
|
-
const packageDirectories = this.project?.getPackageDirectories().filter(isDependenciesPackagingDirectory);
|
|
177
|
-
for (const packageDirectory of packageDirectories ?? []) {
|
|
178
|
-
for (const dependency of packageDirectory?.dependencies ?? []) {
|
|
179
|
-
if (dependency.package && dependency.versionNumber) {
|
|
180
|
-
// This must be resolved by a dev hub
|
|
181
|
-
devHubDependencies.push(dependency);
|
|
182
|
-
continue;
|
|
183
|
-
}
|
|
184
|
-
const subscriberPackageVersionId = this.project.getPackageIdFromAlias(dependency.package) ?? dependency.package;
|
|
185
|
-
if (!isSubscriberPackageVersionId(subscriberPackageVersionId)) {
|
|
186
|
-
throw messages.createError('error.invalidSubscriberPackageVersionId', [dependency.package]);
|
|
187
|
-
}
|
|
188
|
-
packagesToInstall.push({
|
|
189
|
-
PackageName: dependency.package,
|
|
190
|
-
ExistingSubscriberPackageVersionId: '',
|
|
191
|
-
SubscriberPackageVersionId: subscriberPackageVersionId,
|
|
192
|
-
Status: '',
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
this.spinner.stop();
|
|
197
|
-
if (devHubDependencies.length > 0) {
|
|
198
|
-
this.spinner.start('Resolving package versions from dev hub', '', { stdout: true });
|
|
199
|
-
if (!flags['target-dev-hub']) {
|
|
200
|
-
throw messages.createError('error.targetDevHubMissing');
|
|
201
|
-
}
|
|
202
|
-
// Initialize the authorization for the provided dev hub
|
|
203
|
-
const targetDevHubAuthInfo = await AuthInfo.create({ username: flags['target-dev-hub'] });
|
|
204
|
-
// Create a connection to the dev hub
|
|
205
|
-
const targetDevHubConnection = await Connection.create({ authInfo: targetDevHubAuthInfo });
|
|
206
|
-
if (!targetDevHubConnection) {
|
|
207
|
-
throw messages.createError('error.targetDevHubConnectionFailed');
|
|
208
|
-
}
|
|
209
|
-
for (const devHubDependency of devHubDependencies) {
|
|
210
|
-
if (!devHubDependency.package || !devHubDependency.versionNumber) {
|
|
211
|
-
continue;
|
|
212
|
-
}
|
|
213
|
-
const package2Id = this.project.getPackageIdFromAlias(devHubDependency.package) ?? devHubDependency.package;
|
|
214
|
-
if (!isPackage2Id(package2Id)) {
|
|
215
|
-
throw messages.createError('error.invalidPackage2Id', [devHubDependency.package]);
|
|
216
|
-
}
|
|
217
|
-
const subscriberPackageVersionId = await SubscriberPackageVersion.resolveId(targetDevHubConnection, {
|
|
218
|
-
branch: flags.branch,
|
|
219
|
-
packageId: package2Id,
|
|
220
|
-
versionNumber: devHubDependency.versionNumber,
|
|
221
|
-
});
|
|
222
|
-
if (!isSubscriberPackageVersionId(subscriberPackageVersionId)) {
|
|
223
|
-
throw messages.createError('error.invalidSubscriberPackageVersionId', [devHubDependency.package]);
|
|
224
|
-
}
|
|
225
|
-
packagesToInstall.push({
|
|
226
|
-
PackageName: devHubDependency.package,
|
|
227
|
-
ExistingSubscriberPackageVersionId: '',
|
|
228
|
-
SubscriberPackageVersionId: subscriberPackageVersionId,
|
|
229
|
-
Status: '',
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
this.spinner.stop();
|
|
233
199
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
200
|
+
return packagesToInstall;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* @param values - The raw `--installation-key` values.
|
|
204
|
+
* @returns Installation keys keyed by package alias or id, for the library to resolve.
|
|
205
|
+
*/
|
|
206
|
+
parseInstallationKeys(values) {
|
|
207
|
+
const installationKeys = {};
|
|
208
|
+
if (!values) {
|
|
209
|
+
return installationKeys;
|
|
242
210
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
installationKey = installationKey.trim();
|
|
249
|
-
const isKeyValid = installationKeyRegex.test(installationKey);
|
|
250
|
-
if (!isKeyValid) {
|
|
251
|
-
throw messages.createError('error.installationKeyFormat');
|
|
252
|
-
}
|
|
253
|
-
const installationKeyPair = installationKey.split(':');
|
|
254
|
-
const subscriberPackageVersionId = this.project.getPackageIdFromAlias(installationKeyPair[0]) ?? installationKeyPair[0];
|
|
255
|
-
const packageInstallationKey = installationKeyPair[1];
|
|
256
|
-
if (!isSubscriberPackageVersionId(subscriberPackageVersionId)) {
|
|
257
|
-
throw messages.createError('error.invalidSubscriberPackageVersionId', [subscriberPackageVersionId]);
|
|
258
|
-
}
|
|
259
|
-
installationKeyMap.set(subscriberPackageVersionId, packageInstallationKey);
|
|
211
|
+
this.spinner.start('Processing package installation keys', '', { stdout: true });
|
|
212
|
+
for (let installationKey of values) {
|
|
213
|
+
installationKey = installationKey.trim();
|
|
214
|
+
if (!installationKeyRegex.test(installationKey)) {
|
|
215
|
+
throw messages.createError('error.installationKeyFormat');
|
|
260
216
|
}
|
|
261
|
-
|
|
217
|
+
const [aliasOrId, packageInstallationKey] = installationKey.split(':');
|
|
218
|
+
installationKeys[aliasOrId] = packageInstallationKey;
|
|
262
219
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
const [aliasOrId, retryAttemptsValue] = packageRetryAttempts.split(':');
|
|
275
|
-
const subscriberPackageVersionId = this.project.getPackageIdFromAlias(aliasOrId) ?? aliasOrId;
|
|
276
|
-
if (!isSubscriberPackageVersionId(subscriberPackageVersionId)) {
|
|
277
|
-
throw messages.createError('error.invalidSubscriberPackageVersionId', [subscriberPackageVersionId]);
|
|
278
|
-
}
|
|
279
|
-
packageRetryAttemptsMap.set(subscriberPackageVersionId, parseInt(retryAttemptsValue, 10));
|
|
280
|
-
}
|
|
281
|
-
this.spinner.stop();
|
|
220
|
+
this.spinner.stop();
|
|
221
|
+
return installationKeys;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* @param values - The raw `--package-retry-attempts` values.
|
|
225
|
+
* @returns Retry-attempt overrides keyed by package alias or id, for the library to resolve.
|
|
226
|
+
*/
|
|
227
|
+
parsePackageRetryAttempts(values) {
|
|
228
|
+
const packageRetryAttempts = {};
|
|
229
|
+
if (!values) {
|
|
230
|
+
return packageRetryAttempts;
|
|
282
231
|
}
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
const subscriberPackageVersion = new SubscriberPackageVersion({
|
|
289
|
-
aliasOrId: packageToInstall.SubscriberPackageVersionId,
|
|
290
|
-
connection: targetOrgConnection,
|
|
291
|
-
password: installationKeyMap.get(packageToInstall.SubscriberPackageVersionId) ?? '',
|
|
292
|
-
});
|
|
293
|
-
const subscriberPackageId = await subscriberPackageVersion.getSubscriberPackageId();
|
|
294
|
-
const installedPackage = installedPackages.find((pkg) => pkg.SubscriberPackageId === subscriberPackageId);
|
|
295
|
-
packageToInstall.ExistingSubscriberPackageVersionId = installedPackage?.SubscriberPackageVersionId ?? '';
|
|
296
|
-
// 'All' always attempts the install regardless of what (if anything) is already there.
|
|
297
|
-
if (installType[flags['install-type']] === installType.All) {
|
|
298
|
-
continue;
|
|
299
|
-
}
|
|
300
|
-
if (installedPackage?.SubscriberPackageVersionId === packageToInstall.SubscriberPackageVersionId) {
|
|
301
|
-
packageToInstall.Status = 'Skipped';
|
|
302
|
-
this.info(`Package ${packageToInstall.PackageName} (${packageToInstall.SubscriberPackageVersionId}) is already installed and will be skipped`);
|
|
303
|
-
continue;
|
|
304
|
-
}
|
|
305
|
-
if (installType[flags['install-type']] === installType.Upgrade) {
|
|
306
|
-
if (!installedPackage?.SubscriberPackageVersion) {
|
|
307
|
-
// Not currently installed, so there's nothing to update - proceed with install
|
|
308
|
-
continue;
|
|
309
|
-
}
|
|
310
|
-
const targetVersion = await subscriberPackageVersion.getVersionNumber();
|
|
311
|
-
const installedVersion = new VersionNumber(installedPackage.SubscriberPackageVersion.MajorVersion, installedPackage.SubscriberPackageVersion.MinorVersion, installedPackage.SubscriberPackageVersion.PatchVersion, installedPackage.SubscriberPackageVersion.BuildNumber);
|
|
312
|
-
if (targetVersion.compareTo(installedVersion) <= 0) {
|
|
313
|
-
packageToInstall.Status = 'Skipped';
|
|
314
|
-
this.info(`Package ${packageToInstall.PackageName} (${packageToInstall.SubscriberPackageVersionId}) is not newer than the installed version (${installedVersion.toString()}) and will be skipped`);
|
|
315
|
-
}
|
|
232
|
+
this.spinner.start('Processing package retry attempts', '', { stdout: true });
|
|
233
|
+
for (let packageRetryAttempt of values) {
|
|
234
|
+
packageRetryAttempt = packageRetryAttempt.trim();
|
|
235
|
+
if (!packageRetryAttemptsRegex.test(packageRetryAttempt)) {
|
|
236
|
+
throw messages.createError('error.packageRetryAttemptsFormat');
|
|
316
237
|
}
|
|
238
|
+
const [aliasOrId, retryAttemptsValue] = packageRetryAttempt.split(':');
|
|
239
|
+
packageRetryAttempts[aliasOrId] = parseInt(retryAttemptsValue, 10);
|
|
317
240
|
}
|
|
318
241
|
this.spinner.stop();
|
|
319
|
-
|
|
320
|
-
if (packageToInstall.Status === 'Skipped') {
|
|
321
|
-
continue;
|
|
322
|
-
}
|
|
323
|
-
let installationKey = '';
|
|
324
|
-
// Check if we have an installation key for this package
|
|
325
|
-
if (installationKeyMap.has(packageToInstall?.SubscriberPackageVersionId)) {
|
|
326
|
-
// If we do, set the installation key value
|
|
327
|
-
installationKey = installationKeyMap.get(packageToInstall?.SubscriberPackageVersionId) ?? '';
|
|
328
|
-
}
|
|
329
|
-
this.spinner.start(`Preparing package ${packageToInstall.PackageName}`, '', { stdout: true });
|
|
330
|
-
const subscriberPackageVersion = new SubscriberPackageVersion({
|
|
331
|
-
aliasOrId: packageToInstall?.SubscriberPackageVersionId,
|
|
332
|
-
connection: targetOrgConnection,
|
|
333
|
-
password: installationKey,
|
|
334
|
-
});
|
|
335
|
-
const request = {
|
|
336
|
-
ApexCompileType: flags['apex-compile'],
|
|
337
|
-
EnableRss: true,
|
|
338
|
-
Password: installationKey,
|
|
339
|
-
SecurityType: securityType[flags['security-type']],
|
|
340
|
-
SkipHandlers: flags['skip-handlers']?.join(','),
|
|
341
|
-
SubscriberPackageVersionKey: await subscriberPackageVersion.getId(),
|
|
342
|
-
UpgradeType: upgradeType[flags['upgrade-type']],
|
|
343
|
-
};
|
|
344
|
-
// eslint-disable-next-line @typescript-eslint/require-await
|
|
345
|
-
Lifecycle.getInstance().on(PackageEvents.install.warning, async (warningMsg) => {
|
|
346
|
-
this.warn(warningMsg);
|
|
347
|
-
});
|
|
348
|
-
this.spinner.stop();
|
|
349
|
-
if (flags['publish-wait']?.milliseconds > 0) {
|
|
350
|
-
let timeThen = Date.now();
|
|
351
|
-
// waiting for publish to finish
|
|
352
|
-
let remainingTime = flags['publish-wait'];
|
|
353
|
-
Lifecycle.getInstance().on(PackageEvents.install['subscriber-status'],
|
|
354
|
-
// eslint-disable-next-line @typescript-eslint/require-await
|
|
355
|
-
async (publishStatus) => {
|
|
356
|
-
const elapsedTime = Duration.milliseconds(Date.now() - timeThen);
|
|
357
|
-
timeThen = Date.now();
|
|
358
|
-
remainingTime = Duration.milliseconds(remainingTime.milliseconds - elapsedTime.milliseconds);
|
|
359
|
-
const status = publishStatus === 'NO_ERRORS_DETECTED' ? 'Available for installation' : 'Unavailable for installation';
|
|
360
|
-
this.spinner.status = `${remainingTime.minutes} minutes remaining until timeout. Publish status: ${status}`;
|
|
361
|
-
});
|
|
362
|
-
this.spinner.start(`${remainingTime.minutes} minutes remaining until timeout. Publish status: 'Querying Status'`, '', { stdout: true });
|
|
363
|
-
await subscriberPackageVersion.waitForPublish({
|
|
364
|
-
publishTimeout: flags['publish-wait'],
|
|
365
|
-
publishFrequency: Duration.seconds(10),
|
|
366
|
-
installationKey,
|
|
367
|
-
});
|
|
368
|
-
// need to stop the spinner to avoid weird behavior with the prompts below
|
|
369
|
-
this.spinner.stop();
|
|
370
|
-
}
|
|
371
|
-
// If the user has not specified --no-prompt, process prompts
|
|
372
|
-
if (!flags['no-prompt']) {
|
|
373
|
-
// If the user has specified --upgradetype Delete, then prompt for confirmation for Unlocked Packages
|
|
374
|
-
if (flags['upgrade-type'] === 'Delete' && (await subscriberPackageVersion.getPackageType()) === 'Unlocked') {
|
|
375
|
-
const promptMsg = messages.getMessage('prompt.upgradeType');
|
|
376
|
-
if (!(await this.confirm({ message: promptMsg }))) {
|
|
377
|
-
throw messages.createError('info.canceledPackageInstall');
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
// If the package has external sites, ask the user for permission to enable them
|
|
381
|
-
const externalSites = await subscriberPackageVersion.getExternalSites();
|
|
382
|
-
if (externalSites) {
|
|
383
|
-
const promptMsg = messages.getMessage('prompt.enableRss', [externalSites.join('\n')]);
|
|
384
|
-
request.EnableRss = await this.confirm({ message: promptMsg });
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
let installOptions;
|
|
388
|
-
if (flags.wait) {
|
|
389
|
-
installOptions = {
|
|
390
|
-
pollingTimeout: flags.wait,
|
|
391
|
-
pollingFrequency: Duration.seconds(2),
|
|
392
|
-
};
|
|
393
|
-
let remainingTime = flags.wait;
|
|
394
|
-
let timeThen = Date.now();
|
|
395
|
-
// waiting for package install to finish
|
|
396
|
-
Lifecycle.getInstance().on(PackageEvents.install.status,
|
|
397
|
-
// eslint-disable-next-line @typescript-eslint/require-await
|
|
398
|
-
async (piRequest) => {
|
|
399
|
-
const elapsedTime = Duration.milliseconds(Date.now() - timeThen);
|
|
400
|
-
timeThen = Date.now();
|
|
401
|
-
remainingTime = Duration.milliseconds(remainingTime.milliseconds - elapsedTime.milliseconds);
|
|
402
|
-
this.spinner.status = `${remainingTime.minutes} minutes remaining until timeout. Install status: ${piRequest.Status}`;
|
|
403
|
-
});
|
|
404
|
-
}
|
|
405
|
-
const packageRetryAttempts = packageRetryAttemptsMap.get(packageToInstall.SubscriberPackageVersionId) ?? flags['retry-attempts'];
|
|
406
|
-
let pkgInstallRequest;
|
|
407
|
-
await retryWithBackoff(async () => {
|
|
408
|
-
try {
|
|
409
|
-
this.spinner.start(`Installing package ${packageToInstall.PackageName}`, '', { stdout: true });
|
|
410
|
-
pkgInstallRequest = await subscriberPackageVersion.install(request, installOptions);
|
|
411
|
-
this.spinner.stop();
|
|
412
|
-
}
|
|
413
|
-
catch (error) {
|
|
414
|
-
if (error instanceof SfError && error.data) {
|
|
415
|
-
pkgInstallRequest = error.data;
|
|
416
|
-
this.spinner.stop(messages.getMessage('error.packageInstallPollingTimeout'));
|
|
417
|
-
}
|
|
418
|
-
else {
|
|
419
|
-
throw error;
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
finally {
|
|
423
|
-
if (pkgInstallRequest) {
|
|
424
|
-
if (pkgInstallRequest.Status === 'SUCCESS') {
|
|
425
|
-
packageToInstall.Status = 'Installed';
|
|
426
|
-
packageInstallRequests.push(pkgInstallRequest);
|
|
427
|
-
}
|
|
428
|
-
else if (['IN_PROGRESS', 'UNKNOWN'].includes(pkgInstallRequest.Status)) {
|
|
429
|
-
// The install may still complete server-side, so retrying here could race or
|
|
430
|
-
// duplicate it - surface it to the caller instead.
|
|
431
|
-
packageToInstall.Status = 'Installing';
|
|
432
|
-
throw messages.createError('error.packageInstallInProgress', [
|
|
433
|
-
this.config.bin,
|
|
434
|
-
pkgInstallRequest.Id,
|
|
435
|
-
targetOrgConnection.getUsername(),
|
|
436
|
-
]);
|
|
437
|
-
}
|
|
438
|
-
else {
|
|
439
|
-
packageToInstall.Status = 'Failed';
|
|
440
|
-
throw messages.createError('error.packageInstall', [
|
|
441
|
-
reducePackageInstallRequestErrors(pkgInstallRequest),
|
|
442
|
-
]);
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
}, {
|
|
447
|
-
retryAttempts: packageRetryAttempts,
|
|
448
|
-
backoffFactor: flags['retry-backoff'],
|
|
449
|
-
shouldRetry: () => packageToInstall.Status !== 'Installing',
|
|
450
|
-
onRetry: (_error, attempt, delay) => {
|
|
451
|
-
this.warn(messages.getMessage('warning.packageInstallRetrying', [
|
|
452
|
-
packageToInstall.PackageName,
|
|
453
|
-
attempt,
|
|
454
|
-
packageRetryAttempts,
|
|
455
|
-
Math.round(delay.seconds),
|
|
456
|
-
]));
|
|
457
|
-
},
|
|
458
|
-
});
|
|
459
|
-
}
|
|
460
|
-
await writeReport();
|
|
461
|
-
return packagesToInstall;
|
|
242
|
+
return packageRetryAttempts;
|
|
462
243
|
}
|
|
463
244
|
}
|
|
464
245
|
//# sourceMappingURL=install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../../src/commands/simply/package/dependencies/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../../src/commands/simply/package/dependencies/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,36 +120,12 @@ Number of minutes to wait for installation status.
|
|
|
120
120
|
|
|
121
121
|
- <%= config.bin %> <%= command.id %> --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 1 --package-retry-attempts "MyPackage1Alias:5"
|
|
122
122
|
|
|
123
|
-
# error.apiVersionTooLow
|
|
124
|
-
|
|
125
|
-
This command is supported only on API versions 36.0 and higher.
|
|
126
|
-
|
|
127
123
|
# error.installationKeyFormat
|
|
128
124
|
|
|
129
125
|
Installation Key should have the key:value format of SubscriberPackageVersionId:Key.
|
|
130
126
|
|
|
131
127
|
You can use an alias in place of the SubscriberPackageVersionId.
|
|
132
128
|
|
|
133
|
-
# error.invalidPackage2Id
|
|
134
|
-
|
|
135
|
-
Unable to determine a valid Package2Id for %s.
|
|
136
|
-
|
|
137
|
-
# error.invalidSubscriberPackageVersionId
|
|
138
|
-
|
|
139
|
-
Unable to determine a valid SubscriberPackageVersionId for %s.
|
|
140
|
-
|
|
141
|
-
# error.packageInstall
|
|
142
|
-
|
|
143
|
-
Encountered errors installing the package! %s
|
|
144
|
-
|
|
145
|
-
# error.packageInstallInProgress
|
|
146
|
-
|
|
147
|
-
The package install is still In-Progress, so subsuequent dependencies cannot be installed yet. You can query the status using %s package install report -i %s -o %s.
|
|
148
|
-
|
|
149
|
-
# error.packageInstallPollingTimeout
|
|
150
|
-
|
|
151
|
-
Polling timeout exceeded
|
|
152
|
-
|
|
153
129
|
# error.packageRetryAttemptsFormat
|
|
154
130
|
|
|
155
131
|
--package-retry-attempts should have the key:value format of SubscriberPackageVersionId:RetryAttempts, where RetryAttempts is a non-negative integer.
|
|
@@ -160,22 +136,10 @@ You can use an alias in place of the SubscriberPackageVersionId.
|
|
|
160
136
|
|
|
161
137
|
Unable to establish connection to the org.
|
|
162
138
|
|
|
163
|
-
# error.targetDevHubMissing
|
|
164
|
-
|
|
165
|
-
This command requires a DevHub to be specified if providing a Package2Id and VersionNumber instead of a SubscriberPackageVersionId.
|
|
166
|
-
|
|
167
|
-
# info.canceledPackageInstall
|
|
168
|
-
|
|
169
|
-
We canceled this package installation per your request.
|
|
170
|
-
|
|
171
139
|
# info.reportWritten
|
|
172
140
|
|
|
173
141
|
Install report written to %s
|
|
174
142
|
|
|
175
|
-
# warning.packageInstallRetrying
|
|
176
|
-
|
|
177
|
-
Package %s failed to install (retry %s of %s); retrying in %s seconds...
|
|
178
|
-
|
|
179
143
|
# prompt.enableRss
|
|
180
144
|
|
|
181
145
|
This package might send or receive data from these third-party websites:
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysf/simply-package",
|
|
3
3
|
"description": "Utilities for working with packages",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.1.1",
|
|
5
5
|
"author": "@ClayChipps",
|
|
6
6
|
"homepage": "https://github.com/SimplySF/simply-plugins",
|
|
7
7
|
"bugs": "https://github.com/SimplySF/simply-plugins/issues",
|
|
@@ -76,9 +76,8 @@
|
|
|
76
76
|
"@salesforce/kit": "^3.2.6",
|
|
77
77
|
"@salesforce/packaging": "^4.22.16",
|
|
78
78
|
"@salesforce/sf-plugins-core": "^12.2.16",
|
|
79
|
-
"@salesforce/ts-types": "^2.0.12",
|
|
80
79
|
"@simplysf/simply-core": "^1.5.1",
|
|
81
|
-
"@simplysf/simply-package-core": "^0.
|
|
80
|
+
"@simplysf/simply-package-core": "^0.3.0",
|
|
82
81
|
"@simplysf/simply-plugin-kit": "^1.0.7"
|
|
83
82
|
},
|
|
84
83
|
"devDependencies": {
|
|
@@ -214,5 +213,5 @@
|
|
|
214
213
|
"output": []
|
|
215
214
|
}
|
|
216
215
|
},
|
|
217
|
-
"gitHead": "
|
|
216
|
+
"gitHead": "ce15209dd74885b080b4ffaeaa16578dd92daa2b"
|
|
218
217
|
}
|