@simplysf/simply-package 2.8.14 → 2.10.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.
- package/README.md +114 -28
- package/lib/commands/simply/package/dependencies/install.d.ts +3 -0
- package/lib/commands/simply/package/dependencies/install.js +86 -29
- package/lib/commands/simply/package/dependencies/install.js.map +1 -1
- package/lib/commands/simply/package/version/get.d.ts +31 -0
- package/lib/commands/simply/package/version/get.js +100 -0
- package/lib/commands/simply/package/version/get.js.map +1 -0
- package/lib/common/packageVersionLookup.d.ts +56 -0
- package/lib/common/packageVersionLookup.js +141 -0
- package/lib/common/packageVersionLookup.js.map +1 -0
- package/messages/simply.package.dependencies.install.md +30 -0
- package/messages/simply.package.version.get.md +55 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ This package is part of the [`@simplysf/simply`](https://github.com/SimplySF/sim
|
|
|
23
23
|
- [`sf simply package dependencies install`](#sf-simply-package-dependencies-install)
|
|
24
24
|
- [`sf simply package dependencies manage`](#sf-simply-package-dependencies-manage)
|
|
25
25
|
- [`sf simply package version cleanup`](#sf-simply-package-version-cleanup)
|
|
26
|
+
- [`sf simply package version get`](#sf-simply-package-version-get)
|
|
26
27
|
|
|
27
28
|
## `sf simply package dependencies install`
|
|
28
29
|
|
|
@@ -31,33 +32,46 @@ Install package dependencies for a Salesforce project.
|
|
|
31
32
|
```
|
|
32
33
|
USAGE
|
|
33
34
|
$ sf simply package dependencies install -o <value> [--json] [--flags-dir <value>] [-a all|package] [--api-version <value>] [-z
|
|
34
|
-
<value>] [-i All|Delta|Upgrade] [-k <value>...] [-r] [--output-file <value>] [-
|
|
35
|
-
[-
|
|
35
|
+
<value>] [-i All|Delta|Upgrade] [-k <value>...] [-r] [--output-file <value>] [--package-retry-attempts <value>...]
|
|
36
|
+
[-b <value>] [--retry-attempts <value>] [--retry-backoff <value>] [-s AllUsers|AdminsOnly] [-v <value>] [-t
|
|
37
|
+
DeprecateOnly|Mixed|Delete] [-w <value>]
|
|
36
38
|
|
|
37
39
|
FLAGS
|
|
38
|
-
-a, --apex-compile=<option>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-b, --publish-wait=<value>
|
|
42
|
-
|
|
43
|
-
-i, --install-type=<option>
|
|
44
|
-
|
|
45
|
-
-k, --installation-key=<value>...
|
|
46
|
-
-o, --target-org=<value>
|
|
47
|
-
|
|
48
|
-
-r, --no-prompt
|
|
49
|
-
-s, --security-type=<option>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-t, --upgrade-type=<option>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
-v, --target-dev-hub=<value>
|
|
57
|
-
-w, --wait=<value>
|
|
58
|
-
-z, --branch=<value>
|
|
59
|
-
|
|
60
|
-
--
|
|
40
|
+
-a, --apex-compile=<option> Compile all Apex in the org and package, or only Apex in the package;
|
|
41
|
+
unlocked packages only.
|
|
42
|
+
<options: all|package>
|
|
43
|
+
-b, --publish-wait=<value> Maximum number of minutes to wait for the Subscriber Package Version ID to
|
|
44
|
+
become available in the target org before canceling the install request.
|
|
45
|
+
-i, --install-type=<option> [default: Upgrade] Install all packages, only deltas, or only newer versions.
|
|
46
|
+
<options: All|Delta|Upgrade>
|
|
47
|
+
-k, --installation-key=<value>... Installation key for key-protected packages
|
|
48
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the
|
|
49
|
+
`target-org` configuration variable is already set.
|
|
50
|
+
-r, --no-prompt Don't prompt for confirmation.
|
|
51
|
+
-s, --security-type=<option> [default: AdminsOnly] Security access type for the installed package.
|
|
52
|
+
(deprecation notice: The default --security-type value will change from
|
|
53
|
+
AllUsers to AdminsOnly in v47.0 or later.)
|
|
54
|
+
<options: AllUsers|AdminsOnly>
|
|
55
|
+
-t, --upgrade-type=<option> [default: Mixed] Upgrade type for the package installation; available only
|
|
56
|
+
for unlocked packages.
|
|
57
|
+
<options: DeprecateOnly|Mixed|Delete>
|
|
58
|
+
-v, --target-dev-hub=<value> Username or alias of the Dev Hub org.
|
|
59
|
+
-w, --wait=<value> Number of minutes to wait for installation status.
|
|
60
|
+
-z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber
|
|
61
|
+
combination
|
|
62
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
63
|
+
--output-file=<value> Path to write a JSON install report to.
|
|
64
|
+
--package-retry-attempts=<value>... Number of retry attempts for a specific package, overriding --retry-attempts
|
|
65
|
+
for that package only.
|
|
66
|
+
--retry-attempts=<value> Number of additional attempts to make if a package install fails, before
|
|
67
|
+
giving up on that package. Defaults to 0 (no retries). Does not apply when
|
|
68
|
+
the install is still In-Progress when polling times out, since retrying could
|
|
69
|
+
race or duplicate an install that may still complete server-side. Overridden
|
|
70
|
+
per-package by --package-retry-attempts.
|
|
71
|
+
--retry-backoff=<value> [default: 2] Factor the delay between install retries grows by after each
|
|
72
|
+
failed attempt (e.g. 2 doubles the delay each time). Only relevant when a
|
|
73
|
+
package has retries enabled via --retry-attempts or --package-retry-attempts.
|
|
74
|
+
Applies to every package's retries; there is no per-package override.
|
|
61
75
|
|
|
62
76
|
GLOBAL FLAGS
|
|
63
77
|
--flags-dir=<value> Import flag values from a directory.
|
|
@@ -77,6 +91,10 @@ EXAMPLES
|
|
|
77
91
|
|
|
78
92
|
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --output-file install-report.json
|
|
79
93
|
|
|
94
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 3 --retry-backoff 2
|
|
95
|
+
|
|
96
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 1 --package-retry-attempts "MyPackage1Alias:5"
|
|
97
|
+
|
|
80
98
|
FLAG DESCRIPTIONS
|
|
81
99
|
-a, --apex-compile=all|package
|
|
82
100
|
|
|
@@ -129,9 +147,17 @@ FLAG DESCRIPTIONS
|
|
|
129
147
|
addition to the normal terminal output you can continue to monitor as the command runs. Each entry includes the
|
|
130
148
|
package name, the SubscriberPackageVersionId already installed in the org (if any), the SubscriberPackageVersionId
|
|
131
149
|
that was attempted, and the decision made (Skipped, Installed, Installing, or Failed).
|
|
150
|
+
|
|
151
|
+
--package-retry-attempts=<value>...
|
|
152
|
+
|
|
153
|
+
Number of retry attempts for a specific package, overriding --retry-attempts for that package only.
|
|
154
|
+
|
|
155
|
+
Retry attempts for a specific package in the key:value format of SubscriberPackageVersionId:RetryAttempts. You can
|
|
156
|
+
use an alias in place of the SubscriberPackageVersionId. Repeat this flag to set overrides for multiple packages.
|
|
157
|
+
Packages not listed here use --retry-attempts.
|
|
132
158
|
```
|
|
133
159
|
|
|
134
|
-
_See code: [lib/commands/simply/package/dependencies/install.js](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.
|
|
160
|
+
_See code: [lib/commands/simply/package/dependencies/install.js](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.9.0/packages/simply-package/lib/commands/simply/package/dependencies/install.js)_
|
|
135
161
|
|
|
136
162
|
## `sf simply package dependencies manage`
|
|
137
163
|
|
|
@@ -190,7 +216,7 @@ FLAG DESCRIPTIONS
|
|
|
190
216
|
version without interactive prompts. Mutually exclusive with --update-to-latest.
|
|
191
217
|
```
|
|
192
218
|
|
|
193
|
-
_See code: [lib/commands/simply/package/dependencies/manage.js](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.
|
|
219
|
+
_See code: [lib/commands/simply/package/dependencies/manage.js](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.9.0/packages/simply-package/lib/commands/simply/package/dependencies/manage.js)_
|
|
194
220
|
|
|
195
221
|
## `sf simply package version cleanup`
|
|
196
222
|
|
|
@@ -244,7 +270,67 @@ FLAG DESCRIPTIONS
|
|
|
244
270
|
does not match this matcher is deleted. Mutually exclusive with --matcher.
|
|
245
271
|
```
|
|
246
272
|
|
|
247
|
-
_See code: [lib/commands/simply/package/version/cleanup.js](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.
|
|
273
|
+
_See code: [lib/commands/simply/package/version/cleanup.js](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.9.0/packages/simply-package/lib/commands/simply/package/version/cleanup.js)_
|
|
274
|
+
|
|
275
|
+
## `sf simply package version get`
|
|
276
|
+
|
|
277
|
+
Get a package version from sfdx-project.json.
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
USAGE
|
|
281
|
+
$ sf simply package version get -p <value> [--json] [--flags-dir <value>] [-d <value>]
|
|
282
|
+
|
|
283
|
+
FLAGS
|
|
284
|
+
-d, --directory=<value> Package directory to search.
|
|
285
|
+
-p, --package=<value> (required) Package name or alias to look up.
|
|
286
|
+
|
|
287
|
+
GLOBAL FLAGS
|
|
288
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
289
|
+
--json Format output as json.
|
|
290
|
+
|
|
291
|
+
DESCRIPTION
|
|
292
|
+
Get a package version from sfdx-project.json.
|
|
293
|
+
|
|
294
|
+
Reads the version a package is declared at in your project's sfdx-project.json and prints it, so a script doesn't have
|
|
295
|
+
to parse the project file itself.
|
|
296
|
+
|
|
297
|
+
Both dependencies and the project's own package are searched. A dependency declared as an alias (test-package@0.1.0+2)
|
|
298
|
+
resolves to the version portion of the alias; a dependency declared as a package name plus a versionNumber resolves to
|
|
299
|
+
that versionNumber; a dependency declared as a raw ID resolves through packageAliases. A package directory that builds
|
|
300
|
+
the package resolves to that directory's versionNumber.
|
|
301
|
+
|
|
302
|
+
The version is returned exactly as it appears in the project file — no normalizing between the 0.1.0+2, 57.0.0-3, and
|
|
303
|
+
1.2.3.LATEST forms, since each means something to the tool that consumes it.
|
|
304
|
+
|
|
305
|
+
This command reads the project file only. It never contacts an org or a Dev Hub, so it can run in a pipeline before
|
|
306
|
+
any authentication step.
|
|
307
|
+
|
|
308
|
+
EXAMPLES
|
|
309
|
+
Get the version of a dependency:
|
|
310
|
+
|
|
311
|
+
$ sf simply package version get --package test-package
|
|
312
|
+
|
|
313
|
+
Get the version of the package the project itself builds:
|
|
314
|
+
|
|
315
|
+
$ sf simply package version get --package my-package
|
|
316
|
+
|
|
317
|
+
Get a dependency's version from one package directory:
|
|
318
|
+
|
|
319
|
+
$ sf simply package version get --package test-package --directory force-app
|
|
320
|
+
|
|
321
|
+
FLAG DESCRIPTIONS
|
|
322
|
+
-d, --directory=<value> Package directory to search.
|
|
323
|
+
|
|
324
|
+
The path of a single package directory to search, matching a "path" value in packageDirectories. Use this when the
|
|
325
|
+
same package is declared at different versions in more than one package directory.
|
|
326
|
+
|
|
327
|
+
-p, --package=<value> Package name or alias to look up.
|
|
328
|
+
|
|
329
|
+
The package name as it appears in sfdx-project.json, without a version suffix. For a dependency declared as
|
|
330
|
+
"test-package@0.1.0+2", pass "test-package".
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
_See code: [lib/commands/simply/package/version/get.js](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.9.0/packages/simply-package/lib/commands/simply/package/version/get.js)_
|
|
248
334
|
<!-- commandsstop -->
|
|
249
335
|
|
|
250
336
|
## Configuration Files
|
|
@@ -28,7 +28,10 @@ export default class PackageDependenciesInstall extends SfCommand<PackageToInsta
|
|
|
28
28
|
'installation-key': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
29
|
'no-prompt': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
30
30
|
'output-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
'package-retry-attempts': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
32
|
'publish-wait': import("@oclif/core/interfaces").OptionFlag<Duration, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
|
+
'retry-attempts': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
|
+
'retry-backoff': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
32
35
|
'security-type': import("@oclif/core/interfaces").OptionFlag<"AllUsers" | "AdminsOnly", import("@oclif/core/interfaces").CustomOptions>;
|
|
33
36
|
'skip-handlers': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
37
|
'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -22,6 +22,7 @@ import { requireConnection, targetOrgFlags } from '@simplysf/simply-plugin-kit';
|
|
|
22
22
|
import { AuthInfo, Connection, Lifecycle, Messages, SfError } from '@salesforce/core';
|
|
23
23
|
import { Duration } from '@salesforce/kit';
|
|
24
24
|
import { PackageEvents, SubscriberPackageVersion, VersionNumber, } from '@salesforce/packaging';
|
|
25
|
+
import { retryWithBackoff } from '@simplysf/simply-core';
|
|
25
26
|
import { isDependenciesPackagingDirectory, isPackage2Id, isSubscriberPackageVersionId, reducePackageInstallRequestErrors, } from '../../../../common/packageUtils.js';
|
|
26
27
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
27
28
|
const messages = Messages.loadMessages('@simplysf/simply-package', 'simply.package.dependencies.install');
|
|
@@ -33,6 +34,8 @@ const securityType = { AllUsers: 'full', AdminsOnly: 'none' };
|
|
|
33
34
|
const upgradeType = { Delete: 'delete-only', DeprecateOnly: 'deprecate-only', Mixed: 'mixed-mode' };
|
|
34
35
|
/** Matches one or more comma-separated `alias:key` pairs, as accepted by `--installation-key`. */
|
|
35
36
|
const installationKeyRegex = new RegExp(/^(\w+:\w+)(,\s*\w+:\w+)*/);
|
|
37
|
+
/** Matches a single `alias:count` pair, as accepted by `--package-retry-attempts`. */
|
|
38
|
+
const packageRetryAttemptsRegex = /^\w+:\d+$/;
|
|
36
39
|
/**
|
|
37
40
|
* @param packagesToInstall - The install outcome for every resolved dependency.
|
|
38
41
|
* @returns A pretty-printed JSON install report.
|
|
@@ -90,12 +93,27 @@ export default class PackageDependenciesInstall extends SfCommand {
|
|
|
90
93
|
summary: messages.getMessage('flags.output-file.summary'),
|
|
91
94
|
description: messages.getMessage('flags.output-file.description'),
|
|
92
95
|
}),
|
|
96
|
+
'package-retry-attempts': Flags.string({
|
|
97
|
+
summary: messages.getMessage('flags.package-retry-attempts.summary'),
|
|
98
|
+
description: messages.getMessage('flags.package-retry-attempts.description'),
|
|
99
|
+
multiple: true,
|
|
100
|
+
}),
|
|
93
101
|
'publish-wait': Flags.duration({
|
|
94
102
|
unit: 'minutes',
|
|
95
103
|
summary: messages.getMessage('flags.publish-wait.summary'),
|
|
96
104
|
char: 'b',
|
|
97
105
|
default: Duration.minutes(0),
|
|
98
106
|
}),
|
|
107
|
+
'retry-attempts': Flags.integer({
|
|
108
|
+
summary: messages.getMessage('flags.retry-attempts.summary'),
|
|
109
|
+
default: 0,
|
|
110
|
+
min: 0,
|
|
111
|
+
}),
|
|
112
|
+
'retry-backoff': Flags.integer({
|
|
113
|
+
summary: messages.getMessage('flags.retry-backoff.summary'),
|
|
114
|
+
default: 2,
|
|
115
|
+
min: 1,
|
|
116
|
+
}),
|
|
99
117
|
'security-type': Flags.custom({
|
|
100
118
|
options: ['AllUsers', 'AdminsOnly'],
|
|
101
119
|
})({
|
|
@@ -242,6 +260,26 @@ export default class PackageDependenciesInstall extends SfCommand {
|
|
|
242
260
|
}
|
|
243
261
|
this.spinner.stop();
|
|
244
262
|
}
|
|
263
|
+
// Process any per-package retry overrides. A package not listed here falls back to
|
|
264
|
+
// --retry-attempts.
|
|
265
|
+
const packageRetryAttemptsMap = new Map();
|
|
266
|
+
if (flags['package-retry-attempts']) {
|
|
267
|
+
this.spinner.start('Processing package retry attempts', '', { stdout: true });
|
|
268
|
+
for (let packageRetryAttempts of flags['package-retry-attempts']) {
|
|
269
|
+
packageRetryAttempts = packageRetryAttempts.trim();
|
|
270
|
+
const isFormatValid = packageRetryAttemptsRegex.test(packageRetryAttempts);
|
|
271
|
+
if (!isFormatValid) {
|
|
272
|
+
throw messages.createError('error.packageRetryAttemptsFormat');
|
|
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();
|
|
282
|
+
}
|
|
245
283
|
// Always look up what's currently installed, so the report can show the existing package
|
|
246
284
|
// alongside the install decision regardless of --install-type.
|
|
247
285
|
this.spinner.start('Analyzing which packages are installed', '', { stdout: true });
|
|
@@ -364,41 +402,60 @@ export default class PackageDependenciesInstall extends SfCommand {
|
|
|
364
402
|
this.spinner.status = `${remainingTime.minutes} minutes remaining until timeout. Install status: ${piRequest.Status}`;
|
|
365
403
|
});
|
|
366
404
|
}
|
|
405
|
+
const packageRetryAttempts = packageRetryAttemptsMap.get(packageToInstall.SubscriberPackageVersionId) ?? flags['retry-attempts'];
|
|
367
406
|
let pkgInstallRequest;
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
catch (error) {
|
|
374
|
-
if (error instanceof SfError && error.data) {
|
|
375
|
-
pkgInstallRequest = error.data;
|
|
376
|
-
this.spinner.stop(messages.getMessage('error.packageInstallPollingTimeout'));
|
|
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();
|
|
377
412
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
finally {
|
|
383
|
-
if (pkgInstallRequest) {
|
|
384
|
-
if (pkgInstallRequest.Status === 'SUCCESS') {
|
|
385
|
-
packageToInstall.Status = 'Installed';
|
|
386
|
-
packageInstallRequests.push(pkgInstallRequest);
|
|
387
|
-
}
|
|
388
|
-
else if (['IN_PROGRESS', 'UNKNOWN'].includes(pkgInstallRequest.Status)) {
|
|
389
|
-
packageToInstall.Status = 'Installing';
|
|
390
|
-
throw messages.createError('error.packageInstallInProgress', [
|
|
391
|
-
this.config.bin,
|
|
392
|
-
pkgInstallRequest.Id,
|
|
393
|
-
targetOrgConnection.getUsername(),
|
|
394
|
-
]);
|
|
413
|
+
catch (error) {
|
|
414
|
+
if (error instanceof SfError && error.data) {
|
|
415
|
+
pkgInstallRequest = error.data;
|
|
416
|
+
this.spinner.stop(messages.getMessage('error.packageInstallPollingTimeout'));
|
|
395
417
|
}
|
|
396
418
|
else {
|
|
397
|
-
|
|
398
|
-
throw messages.createError('error.packageInstall', [reducePackageInstallRequestErrors(pkgInstallRequest)]);
|
|
419
|
+
throw error;
|
|
399
420
|
}
|
|
400
421
|
}
|
|
401
|
-
|
|
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
|
+
});
|
|
402
459
|
}
|
|
403
460
|
await writeReport();
|
|
404
461
|
return packagesToInstall;
|
|
@@ -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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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { PackageVersionSource } from '../../../../common/packageVersionLookup.js';
|
|
3
|
+
/** The version a package is declared at in `sfdx-project.json`, and where that declaration lives. */
|
|
4
|
+
export type PackageVersionGetResult = {
|
|
5
|
+
package: string;
|
|
6
|
+
version: string;
|
|
7
|
+
source: PackageVersionSource;
|
|
8
|
+
packageDirectory: string;
|
|
9
|
+
subscriberPackageVersionId?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Reads a package's version out of `sfdx-project.json` — either a dependency's version or the
|
|
13
|
+
* version the project's own package is at. Local only: no org, Dev Hub, or auth involved.
|
|
14
|
+
*/
|
|
15
|
+
export default class PackageVersionGet extends SfCommand<PackageVersionGetResult> {
|
|
16
|
+
static readonly summary: string;
|
|
17
|
+
static readonly description: string;
|
|
18
|
+
static readonly examples: string[];
|
|
19
|
+
static readonly requiresProject = true;
|
|
20
|
+
static readonly flags: {
|
|
21
|
+
package: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
directory: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'flags-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* @returns The declared version of `--package`, and where in the project file it was declared.
|
|
27
|
+
* @throws {SfError} If the package isn't declared, is declared without a resolvable version, or
|
|
28
|
+
* is declared at conflicting versions in more than one package directory.
|
|
29
|
+
*/
|
|
30
|
+
run(): Promise<PackageVersionGetResult>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026, Clay Chipps.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Messages } from '@salesforce/core';
|
|
17
|
+
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
18
|
+
import { findPackageVersions, } from '../../../../common/packageVersionLookup.js';
|
|
19
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
20
|
+
const messages = Messages.loadMessages('@simplysf/simply-package', 'simply.package.version.get');
|
|
21
|
+
/**
|
|
22
|
+
* Reads a package's version out of `sfdx-project.json` — either a dependency's version or the
|
|
23
|
+
* version the project's own package is at. Local only: no org, Dev Hub, or auth involved.
|
|
24
|
+
*/
|
|
25
|
+
export default class PackageVersionGet extends SfCommand {
|
|
26
|
+
static summary = messages.getMessage('summary');
|
|
27
|
+
static description = messages.getMessage('description');
|
|
28
|
+
static examples = messages.getMessages('examples');
|
|
29
|
+
static requiresProject = true;
|
|
30
|
+
static flags = {
|
|
31
|
+
...SfCommand.baseFlags,
|
|
32
|
+
package: Flags.string({
|
|
33
|
+
summary: messages.getMessage('flags.package.summary'),
|
|
34
|
+
description: messages.getMessage('flags.package.description'),
|
|
35
|
+
char: 'p',
|
|
36
|
+
required: true,
|
|
37
|
+
}),
|
|
38
|
+
directory: Flags.string({
|
|
39
|
+
summary: messages.getMessage('flags.directory.summary'),
|
|
40
|
+
description: messages.getMessage('flags.directory.description'),
|
|
41
|
+
char: 'd',
|
|
42
|
+
}),
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* @returns The declared version of `--package`, and where in the project file it was declared.
|
|
46
|
+
* @throws {SfError} If the package isn't declared, is declared without a resolvable version, or
|
|
47
|
+
* is declared at conflicting versions in more than one package directory.
|
|
48
|
+
*/
|
|
49
|
+
async run() {
|
|
50
|
+
const { flags } = await this.parse(PackageVersionGet);
|
|
51
|
+
const projectJson = await this.project.retrieveSfProjectJson();
|
|
52
|
+
const project = projectJson.getContents();
|
|
53
|
+
const matches = findPackageVersions(project, flags.package, { directory: flags.directory });
|
|
54
|
+
if (matches.length === 0) {
|
|
55
|
+
throw messages.createError('errors.packageNotFound', [flags.package, describeSearchScope(project, flags)]);
|
|
56
|
+
}
|
|
57
|
+
const versionedMatches = matches.filter((match) => match.version);
|
|
58
|
+
if (versionedMatches.length === 0) {
|
|
59
|
+
throw messages.createError('errors.noVersionFound', [flags.package, matches[0].packageDirectory]);
|
|
60
|
+
}
|
|
61
|
+
const distinctVersions = new Set(versionedMatches.map((match) => match.version));
|
|
62
|
+
if (distinctVersions.size > 1) {
|
|
63
|
+
throw messages.createError('errors.ambiguousMatch', [flags.package, describeMatches(versionedMatches)]);
|
|
64
|
+
}
|
|
65
|
+
const match = versionedMatches[0];
|
|
66
|
+
const result = {
|
|
67
|
+
package: match.package,
|
|
68
|
+
version: match.version,
|
|
69
|
+
source: match.source,
|
|
70
|
+
packageDirectory: match.packageDirectory,
|
|
71
|
+
...(match.subscriberPackageVersionId
|
|
72
|
+
? { subscriberPackageVersionId: match.subscriberPackageVersionId }
|
|
73
|
+
: undefined),
|
|
74
|
+
};
|
|
75
|
+
// Nothing but the version, so `$(sf simply package version get -p foo)` is directly usable.
|
|
76
|
+
// SfCommand.log is a no-op under --json, so this doesn't disturb the JSON output.
|
|
77
|
+
this.log(result.version);
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @param project - The parsed `sfdx-project.json` contents.
|
|
83
|
+
* @param flags - The command's parsed flags.
|
|
84
|
+
* @returns A description of which package directories were searched, for the not-found error.
|
|
85
|
+
*/
|
|
86
|
+
function describeSearchScope(project, flags) {
|
|
87
|
+
if (flags.directory) {
|
|
88
|
+
return `package directory '${flags.directory}'`;
|
|
89
|
+
}
|
|
90
|
+
const paths = project.packageDirectories.map((directory) => directory.path ?? '<unnamed>');
|
|
91
|
+
return `package directories: ${paths.join(', ')}`;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @param matches - The conflicting matches.
|
|
95
|
+
* @returns A `version (directory)` list, for the ambiguity error.
|
|
96
|
+
*/
|
|
97
|
+
function describeMatches(matches) {
|
|
98
|
+
return matches.map((match) => `${match.version} (${match.packageDirectory})`).join(', ');
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/commands/simply/package/version/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { SfdxProject } from '@simplysf/simply-core';
|
|
2
|
+
/** Where in `sfdx-project.json` a version was declared. */
|
|
3
|
+
export type PackageVersionSource = 'dependency' | 'packageDirectory';
|
|
4
|
+
/** One place a package name is declared in `sfdx-project.json`, and the version found there. */
|
|
5
|
+
export type PackageVersionMatch = {
|
|
6
|
+
/** The name matched on, as written in the project file. */
|
|
7
|
+
package: string;
|
|
8
|
+
/** The declared version, or `undefined` if the declaration carries no resolvable version. */
|
|
9
|
+
version?: string;
|
|
10
|
+
source: PackageVersionSource;
|
|
11
|
+
/** The `path` of the package directory the declaration was found in. */
|
|
12
|
+
packageDirectory: string;
|
|
13
|
+
/** The `04t` the declaration resolves to, when one is knowable from `packageAliases`. */
|
|
14
|
+
subscriberPackageVersionId?: string;
|
|
15
|
+
};
|
|
16
|
+
/** Narrows which package directories {@link findPackageVersions} looks at. */
|
|
17
|
+
export type FindPackageVersionsOptions = {
|
|
18
|
+
/** Only search the package directory with this `path`. */
|
|
19
|
+
directory?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Split a package reference into its name and version parts.
|
|
23
|
+
*
|
|
24
|
+
* Splits on the *last* `@`, matching how `sfdx-project.json` aliases are written and how
|
|
25
|
+
* `simply-cicd`'s dependabot updater already parses them, so a name that itself contains an `@`
|
|
26
|
+
* (a scoped-style `@ns/pkg`) keeps its name intact.
|
|
27
|
+
*
|
|
28
|
+
* @param value - A package reference, e.g. `test-package@0.1.0+2`, `test-package`, or an ID.
|
|
29
|
+
* @returns The name, plus the version if the reference carried one.
|
|
30
|
+
*/
|
|
31
|
+
export declare function splitPackageAlias(value: string): {
|
|
32
|
+
name: string;
|
|
33
|
+
version?: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Find every place `packageName` is declared in a project, and the version declared with it.
|
|
37
|
+
*
|
|
38
|
+
* A package can be declared four ways, all of which are searched:
|
|
39
|
+
* 1. A dependency whose `package` is a versioned alias — `test-package@0.1.0+2`.
|
|
40
|
+
* 2. A dependency whose `package` is a bare name plus a sibling `versionNumber`.
|
|
41
|
+
* 3. A dependency whose `package` is a raw ID, where `packageAliases` maps a versioned alias for
|
|
42
|
+
* `packageName` onto that same ID.
|
|
43
|
+
* 4. A package directory that *builds* `packageName`, i.e. the project's own package version.
|
|
44
|
+
*
|
|
45
|
+
* Matches are returned rather than resolved to a single answer because "the same package declared
|
|
46
|
+
* at two different versions in two directories" is a real project state, and only the caller knows
|
|
47
|
+
* whether that's an error or a list to display.
|
|
48
|
+
*
|
|
49
|
+
* @param project - The parsed `sfdx-project.json` contents.
|
|
50
|
+
* @param packageName - The package name or alias to look up.
|
|
51
|
+
* @param options - Narrows which package directories are searched.
|
|
52
|
+
* @returns Every match, in package-directory order, dependencies before the directory's own
|
|
53
|
+
* package. A match with no `version` means the package is declared but its version isn't
|
|
54
|
+
* knowable from the project file alone.
|
|
55
|
+
*/
|
|
56
|
+
export declare function findPackageVersions(project: SfdxProject, packageName: string, options?: FindPackageVersionsOptions): PackageVersionMatch[];
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026, Clay Chipps.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { isSubscriberPackageVersionId } from './packageUtils.js';
|
|
17
|
+
/**
|
|
18
|
+
* Split a package reference into its name and version parts.
|
|
19
|
+
*
|
|
20
|
+
* Splits on the *last* `@`, matching how `sfdx-project.json` aliases are written and how
|
|
21
|
+
* `simply-cicd`'s dependabot updater already parses them, so a name that itself contains an `@`
|
|
22
|
+
* (a scoped-style `@ns/pkg`) keeps its name intact.
|
|
23
|
+
*
|
|
24
|
+
* @param value - A package reference, e.g. `test-package@0.1.0+2`, `test-package`, or an ID.
|
|
25
|
+
* @returns The name, plus the version if the reference carried one.
|
|
26
|
+
*/
|
|
27
|
+
export function splitPackageAlias(value) {
|
|
28
|
+
const lastAtIndex = value.lastIndexOf('@');
|
|
29
|
+
// An `@` at index 0 is part of the name (`@ns/pkg`), not a version separator.
|
|
30
|
+
if (lastAtIndex <= 0) {
|
|
31
|
+
return { name: value };
|
|
32
|
+
}
|
|
33
|
+
return { name: value.slice(0, lastAtIndex), version: value.slice(lastAtIndex + 1) || undefined };
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Find every place `packageName` is declared in a project, and the version declared with it.
|
|
37
|
+
*
|
|
38
|
+
* A package can be declared four ways, all of which are searched:
|
|
39
|
+
* 1. A dependency whose `package` is a versioned alias — `test-package@0.1.0+2`.
|
|
40
|
+
* 2. A dependency whose `package` is a bare name plus a sibling `versionNumber`.
|
|
41
|
+
* 3. A dependency whose `package` is a raw ID, where `packageAliases` maps a versioned alias for
|
|
42
|
+
* `packageName` onto that same ID.
|
|
43
|
+
* 4. A package directory that *builds* `packageName`, i.e. the project's own package version.
|
|
44
|
+
*
|
|
45
|
+
* Matches are returned rather than resolved to a single answer because "the same package declared
|
|
46
|
+
* at two different versions in two directories" is a real project state, and only the caller knows
|
|
47
|
+
* whether that's an error or a list to display.
|
|
48
|
+
*
|
|
49
|
+
* @param project - The parsed `sfdx-project.json` contents.
|
|
50
|
+
* @param packageName - The package name or alias to look up.
|
|
51
|
+
* @param options - Narrows which package directories are searched.
|
|
52
|
+
* @returns Every match, in package-directory order, dependencies before the directory's own
|
|
53
|
+
* package. A match with no `version` means the package is declared but its version isn't
|
|
54
|
+
* knowable from the project file alone.
|
|
55
|
+
*/
|
|
56
|
+
export function findPackageVersions(project, packageName, options = {}) {
|
|
57
|
+
const aliases = project.packageAliases ?? {};
|
|
58
|
+
const directories = options.directory
|
|
59
|
+
? project.packageDirectories.filter((directory) => directory.path === options.directory)
|
|
60
|
+
: project.packageDirectories;
|
|
61
|
+
return directories.flatMap((directory) => [
|
|
62
|
+
...findDependencyMatches(directory, packageName, aliases),
|
|
63
|
+
...findOwnPackageMatch(directory, packageName),
|
|
64
|
+
]);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @param directory - The package directory to search.
|
|
68
|
+
* @param packageName - The package name or alias to look up.
|
|
69
|
+
* @param aliases - The project's `packageAliases` map.
|
|
70
|
+
* @returns Matches among `directory`'s declared dependencies.
|
|
71
|
+
*/
|
|
72
|
+
function findDependencyMatches(directory, packageName, aliases) {
|
|
73
|
+
const packageDirectory = directory.path ?? '';
|
|
74
|
+
return (directory.dependencies ?? []).flatMap((dependency) => {
|
|
75
|
+
if (!dependency.package) {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
const { name, version } = splitPackageAlias(dependency.package);
|
|
79
|
+
if (name === packageName) {
|
|
80
|
+
return [
|
|
81
|
+
{
|
|
82
|
+
package: dependency.package,
|
|
83
|
+
version: version ?? dependency.versionNumber,
|
|
84
|
+
source: 'dependency',
|
|
85
|
+
packageDirectory,
|
|
86
|
+
subscriberPackageVersionId: subscriberVersionIdFor(dependency.package, aliases),
|
|
87
|
+
},
|
|
88
|
+
];
|
|
89
|
+
}
|
|
90
|
+
// The dependency is written as a raw ID: recover the version from whichever versioned alias
|
|
91
|
+
// for this package points at that same ID.
|
|
92
|
+
const aliasForId = Object.keys(aliases).find((alias) => aliases[alias] === dependency.package && splitPackageAlias(alias).name === packageName);
|
|
93
|
+
if (!aliasForId) {
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
return [
|
|
97
|
+
{
|
|
98
|
+
package: aliasForId,
|
|
99
|
+
version: splitPackageAlias(aliasForId).version ?? dependency.versionNumber,
|
|
100
|
+
source: 'dependency',
|
|
101
|
+
packageDirectory,
|
|
102
|
+
subscriberPackageVersionId: isSubscriberPackageVersionId(dependency.package) ? dependency.package : undefined,
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* @param directory - The package directory to search.
|
|
109
|
+
* @param packageName - The package name or alias to look up.
|
|
110
|
+
* @returns A single match if this directory builds `packageName`, otherwise nothing.
|
|
111
|
+
*/
|
|
112
|
+
function findOwnPackageMatch(directory, packageName) {
|
|
113
|
+
if (!directory.package) {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
const { name, version } = splitPackageAlias(directory.package);
|
|
117
|
+
if (name !== packageName) {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
return [
|
|
121
|
+
{
|
|
122
|
+
package: directory.package,
|
|
123
|
+
version: directory.versionNumber ?? version,
|
|
124
|
+
source: 'packageDirectory',
|
|
125
|
+
packageDirectory: directory.path ?? '',
|
|
126
|
+
},
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* @param reference - A dependency's `package` value.
|
|
131
|
+
* @param aliases - The project's `packageAliases` map.
|
|
132
|
+
* @returns The `04t` `reference` denotes, either directly or through an alias, if any.
|
|
133
|
+
*/
|
|
134
|
+
function subscriberVersionIdFor(reference, aliases) {
|
|
135
|
+
if (isSubscriberPackageVersionId(reference)) {
|
|
136
|
+
return reference;
|
|
137
|
+
}
|
|
138
|
+
const resolved = aliases[reference];
|
|
139
|
+
return resolved && isSubscriberPackageVersionId(resolved) ? resolved : undefined;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=packageVersionLookup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersionLookup.js","sourceRoot":"","sources":["../../src/common/packageVersionLookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,22 @@ Allows the following without an explicit confirmation response: 1) Remote Site S
|
|
|
54
54
|
|
|
55
55
|
Maximum number of minutes to wait for the Subscriber Package Version ID to become available in the target org before canceling the install request.
|
|
56
56
|
|
|
57
|
+
# flags.retry-attempts.summary
|
|
58
|
+
|
|
59
|
+
Number of additional attempts to make if a package install fails, before giving up on that package. Defaults to 0 (no retries). Does not apply when the install is still In-Progress when polling times out, since retrying could race or duplicate an install that may still complete server-side. Overridden per-package by --package-retry-attempts.
|
|
60
|
+
|
|
61
|
+
# flags.retry-backoff.summary
|
|
62
|
+
|
|
63
|
+
Factor the delay between install retries grows by after each failed attempt (e.g. 2 doubles the delay each time). Only relevant when a package has retries enabled via --retry-attempts or --package-retry-attempts. Applies to every package's retries; there is no per-package override.
|
|
64
|
+
|
|
65
|
+
# flags.package-retry-attempts.summary
|
|
66
|
+
|
|
67
|
+
Number of retry attempts for a specific package, overriding --retry-attempts for that package only.
|
|
68
|
+
|
|
69
|
+
# flags.package-retry-attempts.description
|
|
70
|
+
|
|
71
|
+
Retry attempts for a specific package in the key:value format of SubscriberPackageVersionId:RetryAttempts. You can use an alias in place of the SubscriberPackageVersionId. Repeat this flag to set overrides for multiple packages. Packages not listed here use --retry-attempts.
|
|
72
|
+
|
|
57
73
|
# flags.output-file.summary
|
|
58
74
|
|
|
59
75
|
Path to write a JSON install report to.
|
|
@@ -100,6 +116,10 @@ Number of minutes to wait for installation status.
|
|
|
100
116
|
|
|
101
117
|
- <%= config.bin %> <%= command.id %> --target-org myTargetOrg --target-dev-hub myTargetDevHub --output-file install-report.json
|
|
102
118
|
|
|
119
|
+
- <%= config.bin %> <%= command.id %> --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 3 --retry-backoff 2
|
|
120
|
+
|
|
121
|
+
- <%= config.bin %> <%= command.id %> --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 1 --package-retry-attempts "MyPackage1Alias:5"
|
|
122
|
+
|
|
103
123
|
# error.apiVersionTooLow
|
|
104
124
|
|
|
105
125
|
This command is supported only on API versions 36.0 and higher.
|
|
@@ -130,6 +150,12 @@ The package install is still In-Progress, so subsuequent dependencies cannot be
|
|
|
130
150
|
|
|
131
151
|
Polling timeout exceeded
|
|
132
152
|
|
|
153
|
+
# error.packageRetryAttemptsFormat
|
|
154
|
+
|
|
155
|
+
--package-retry-attempts should have the key:value format of SubscriberPackageVersionId:RetryAttempts, where RetryAttempts is a non-negative integer.
|
|
156
|
+
|
|
157
|
+
You can use an alias in place of the SubscriberPackageVersionId.
|
|
158
|
+
|
|
133
159
|
# error.targetDevHubConnectionFailed
|
|
134
160
|
|
|
135
161
|
Unable to establish connection to the org.
|
|
@@ -146,6 +172,10 @@ We canceled this package installation per your request.
|
|
|
146
172
|
|
|
147
173
|
Install report written to %s
|
|
148
174
|
|
|
175
|
+
# warning.packageInstallRetrying
|
|
176
|
+
|
|
177
|
+
Package %s failed to install (retry %s of %s); retrying in %s seconds...
|
|
178
|
+
|
|
149
179
|
# prompt.enableRss
|
|
150
180
|
|
|
151
181
|
This package might send or receive data from these third-party websites:
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Get a package version from sfdx-project.json.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
Reads the version a package is declared at in your project's sfdx-project.json and prints it, so a script doesn't have to parse the project file itself.
|
|
8
|
+
|
|
9
|
+
Both dependencies and the project's own package are searched. A dependency declared as an alias (test-package@0.1.0+2) resolves to the version portion of the alias; a dependency declared as a package name plus a versionNumber resolves to that versionNumber; a dependency declared as a raw ID resolves through packageAliases. A package directory that builds the package resolves to that directory's versionNumber.
|
|
10
|
+
|
|
11
|
+
The version is returned exactly as it appears in the project file — no normalizing between the 0.1.0+2, 57.0.0-3, and 1.2.3.LATEST forms, since each means something to the tool that consumes it.
|
|
12
|
+
|
|
13
|
+
This command reads the project file only. It never contacts an org or a Dev Hub, so it can run in a pipeline before any authentication step.
|
|
14
|
+
|
|
15
|
+
# flags.package.summary
|
|
16
|
+
|
|
17
|
+
Package name or alias to look up.
|
|
18
|
+
|
|
19
|
+
# flags.package.description
|
|
20
|
+
|
|
21
|
+
The package name as it appears in sfdx-project.json, without a version suffix. For a dependency declared as "test-package@0.1.0+2", pass "test-package".
|
|
22
|
+
|
|
23
|
+
# flags.directory.summary
|
|
24
|
+
|
|
25
|
+
Package directory to search.
|
|
26
|
+
|
|
27
|
+
# flags.directory.description
|
|
28
|
+
|
|
29
|
+
The path of a single package directory to search, matching a "path" value in packageDirectories. Use this when the same package is declared at different versions in more than one package directory.
|
|
30
|
+
|
|
31
|
+
# examples
|
|
32
|
+
|
|
33
|
+
- Get the version of a dependency:
|
|
34
|
+
|
|
35
|
+
<%= config.bin %> <%= command.id %> --package test-package
|
|
36
|
+
|
|
37
|
+
- Get the version of the package the project itself builds:
|
|
38
|
+
|
|
39
|
+
<%= config.bin %> <%= command.id %> --package my-package
|
|
40
|
+
|
|
41
|
+
- Get a dependency's version from one package directory:
|
|
42
|
+
|
|
43
|
+
<%= config.bin %> <%= command.id %> --package test-package --directory force-app
|
|
44
|
+
|
|
45
|
+
# errors.packageNotFound
|
|
46
|
+
|
|
47
|
+
No package named '%s' is declared in %s.
|
|
48
|
+
|
|
49
|
+
# errors.noVersionFound
|
|
50
|
+
|
|
51
|
+
The package '%s' is declared in '%s', but without a version. Add a version to its alias (name@version) or a versionNumber to the dependency.
|
|
52
|
+
|
|
53
|
+
# errors.ambiguousMatch
|
|
54
|
+
|
|
55
|
+
The package '%s' is declared at more than one version: %s. Use --directory to choose one package directory.
|
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": "2.
|
|
4
|
+
"version": "2.10.0",
|
|
5
5
|
"author": "@ClayChipps",
|
|
6
6
|
"homepage": "https://github.com/SimplySF/simply-node",
|
|
7
7
|
"bugs": "https://github.com/SimplySF/simply-node/issues",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"@salesforce/packaging": "^4.22.16",
|
|
78
78
|
"@salesforce/sf-plugins-core": "^12.2.16",
|
|
79
79
|
"@salesforce/ts-types": "^2.0.12",
|
|
80
|
-
"@simplysf/simply-core": "^1.
|
|
80
|
+
"@simplysf/simply-core": "^1.3.0",
|
|
81
81
|
"@simplysf/simply-plugin-kit": "^1.0.4",
|
|
82
82
|
"zod": "^4.1.12"
|
|
83
83
|
},
|
|
@@ -225,5 +225,5 @@
|
|
|
225
225
|
"output": []
|
|
226
226
|
}
|
|
227
227
|
},
|
|
228
|
-
"gitHead": "
|
|
228
|
+
"gitHead": "43bad47857097e46a7891201c49a8d09cd9c1f57"
|
|
229
229
|
}
|