sf-plugin-permission-sets 0.2.0 → 0.3.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 +47 -30
- package/lib/adapters/connection-org-client.d.ts +1 -0
- package/lib/adapters/connection-org-client.d.ts.map +1 -0
- package/lib/commands/ps/apply.d.ts +2 -1
- package/lib/commands/ps/apply.d.ts.map +1 -0
- package/lib/commands/ps/apply.js +10 -6
- package/lib/commands/ps/apply.js.map +1 -1
- package/lib/commands/ps/check.d.ts +1 -0
- package/lib/commands/ps/check.d.ts.map +1 -0
- package/lib/commands/ps/export.d.ts +1 -1
- package/lib/commands/ps/export.d.ts.map +1 -0
- package/lib/commands/ps/export.js +1 -2
- package/lib/commands/ps/export.js.map +1 -1
- package/lib/commands/ps/plan.d.ts +34 -7
- package/lib/commands/ps/plan.d.ts.map +1 -0
- package/lib/commands/ps/plan.js +106 -29
- package/lib/commands/ps/plan.js.map +1 -1
- package/lib/commands/ps/validate.d.ts +1 -1
- package/lib/commands/ps/validate.d.ts.map +1 -0
- package/lib/commands/ps/validate.js +1 -2
- package/lib/commands/ps/validate.js.map +1 -1
- package/lib/core/diff.d.ts +1 -0
- package/lib/core/diff.d.ts.map +1 -0
- package/lib/core/diff.js +1 -0
- package/lib/core/diff.js.map +1 -1
- package/lib/core/finding.d.ts +1 -0
- package/lib/core/finding.d.ts.map +1 -0
- package/lib/core/load.d.ts +1 -0
- package/lib/core/load.d.ts.map +1 -0
- package/lib/core/model.d.ts +5 -0
- package/lib/core/model.d.ts.map +1 -0
- package/lib/core/normalize.d.ts +1 -0
- package/lib/core/normalize.d.ts.map +1 -0
- package/lib/core/normalize.js +43 -25
- package/lib/core/normalize.js.map +1 -1
- package/lib/core/parse.d.ts +1 -0
- package/lib/core/parse.d.ts.map +1 -0
- package/lib/core/report.d.ts +12 -5
- package/lib/core/report.d.ts.map +1 -0
- package/lib/core/report.js +64 -23
- package/lib/core/report.js.map +1 -1
- package/lib/core/resolve.d.ts +1 -0
- package/lib/core/resolve.d.ts.map +1 -0
- package/lib/core/schema.d.ts +1 -0
- package/lib/core/schema.d.ts.map +1 -0
- package/lib/core/schema.js +15 -10
- package/lib/core/schema.js.map +1 -1
- package/lib/core/serialize.d.ts +1 -0
- package/lib/core/serialize.d.ts.map +1 -0
- package/lib/core/serialize.js +3 -3
- package/lib/core/serialize.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/services/adapters/org-client.d.ts +1 -0
- package/lib/services/adapters/org-client.d.ts.map +1 -0
- package/lib/services/apply.d.ts +1 -2
- package/lib/services/apply.d.ts.map +1 -0
- package/lib/services/apply.js +3 -27
- package/lib/services/apply.js.map +1 -1
- package/lib/services/check.d.ts +1 -0
- package/lib/services/check.d.ts.map +1 -0
- package/lib/services/export.d.ts +1 -0
- package/lib/services/export.d.ts.map +1 -0
- package/lib/services/plan.d.ts +1 -2
- package/lib/services/plan.d.ts.map +1 -0
- package/lib/services/plan.js +3 -27
- package/lib/services/plan.js.map +1 -1
- package/lib/services/resolution.d.ts +17 -0
- package/lib/services/resolution.d.ts.map +1 -0
- package/lib/services/resolution.js +36 -0
- package/lib/services/resolution.js.map +1 -0
- package/lib/services/validate.d.ts +1 -0
- package/lib/services/validate.d.ts.map +1 -0
- package/messages/ps.apply.md +4 -0
- package/messages/ps.plan.md +47 -7
- package/package.json +17 -35
- package/oclif.lock +0 -7888
- package/oclif.manifest.json +0 -406
package/README.md
CHANGED
|
@@ -130,7 +130,7 @@ users:
|
|
|
130
130
|
expiration: 2026-09-30T00:00:00Z
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
Expiration is a property of the grant, so `plan` and `apply` treat a changed `expiration` on an already-assigned target as an **update** (the `~` line), not an add or a remove. Updates ride with the additive half: they run in `additive` and `sync` modes and never count against `--max-deletes`. Permission set **licenses** cannot expire (Salesforce has no expiration on `PermissionSetLicenseAssign`), so the object form is rejected there. `export` writes the object form for any assignment that currently has an expiration in the org.
|
|
133
|
+
Expiration is a property of the grant, so `plan` and `apply` treat a changed `expiration` on an already-assigned target as an **update** (the `~` line, which shows the `old → new` transition), not an add or a remove. Updates ride with the additive half: they run in `additive` and `sync` modes and never count against `--max-deletes`. Permission set **licenses** cannot expire (Salesforce has no expiration on `PermissionSetLicenseAssign`), so the object form is rejected there. `export` writes the object form for any assignment that currently has an expiration in the org.
|
|
134
134
|
|
|
135
135
|
The `--file` flag is repeatable and the plugin expands globs itself, so all of these work:
|
|
136
136
|
|
|
@@ -179,15 +179,15 @@ The two compose: a directory per environment, each split into functional files.
|
|
|
179
179
|
|
|
180
180
|
## Modes
|
|
181
181
|
|
|
182
|
-
A run performs
|
|
182
|
+
A run performs three operations: **add** missing assignments, **update** changed expirations on declared ones, and **remove** undeclared ones. Updates ride with the additive half (they touch a declared grant, never revoke access). The mode selects which it actually executes. Set it with `--mode` (default `additive`):
|
|
183
183
|
|
|
184
|
-
| Mode | Adds missing | Removes undeclared | Use when… |
|
|
185
|
-
| ------------- | :----------: | :----------------: | --------------------------------------------------------------------- |
|
|
186
|
-
| `
|
|
187
|
-
| `
|
|
188
|
-
| `
|
|
184
|
+
| Mode | Adds missing | Updates expirations | Removes undeclared | Use when… |
|
|
185
|
+
| ------------- | :----------: | :-----------------: | :----------------: | --------------------------------------------------------------------- |
|
|
186
|
+
| `sync` | ✅ | ✅ | ✅ | Full reconcile: make the org exactly match the YAML (`sync` = `additive` + `destructive`). |
|
|
187
|
+
| `additive` | ✅ | ✅ | ❌ | **Default.** Grant access, never revoke. Safe rollout. |
|
|
188
|
+
| `destructive` | ❌ | ❌ | ✅ | Prune/revoke access that isn't declared, without granting anything new. |
|
|
189
189
|
|
|
190
|
-
`plan`
|
|
190
|
+
`plan` and `apply` preview and act on exactly what the selected mode covers, so the body shows only those operations and what `plan` shows is what `apply` does. Anything the mode won't touch (an undeclared assignment under `additive`, a missing grant under `destructive`) is reported beneath the plan as **drift**, naming the mode that would include it. `sync` covers everything, so it never reports drift.
|
|
191
191
|
|
|
192
192
|
## Validations
|
|
193
193
|
|
|
@@ -195,10 +195,10 @@ Every run checks the files first. `check` runs the offline checks with no org, a
|
|
|
195
195
|
|
|
196
196
|
| Situation | Checked by | Severity | Result |
|
|
197
197
|
| --- | --- | :---: | --- |
|
|
198
|
-
| Same
|
|
198
|
+
| Same user in two files with different targets | `check` (offline) | ✅ ok | Merged into one model, the point of slicing |
|
|
199
199
|
| Same target listed twice for a user | `check` (offline) | ⚠️ warning | Deduped |
|
|
200
200
|
| A user with no scopes, or an empty list | `check` (offline) | ⚠️ warning | Ignored as a no-op |
|
|
201
|
-
| Same
|
|
201
|
+
| Same username key appears twice in one file | `check` (offline) | ❌ error | Rejected, the intent is ambiguous |
|
|
202
202
|
| Declared user, permission set, group, or license missing or not unique | `validate` (online) | ❌ error | Run fails before any change |
|
|
203
203
|
|
|
204
204
|
## Commands
|
|
@@ -217,12 +217,11 @@ Fully offline: runs in any CI job or pre-commit hook without org credentials.
|
|
|
217
217
|
|
|
218
218
|
```
|
|
219
219
|
USAGE
|
|
220
|
-
$ sf ps check -f <glob>... [--strict] [--
|
|
220
|
+
$ sf ps check -f <glob>... [--strict] [--json]
|
|
221
221
|
|
|
222
222
|
FLAGS
|
|
223
223
|
-f, --file=<glob>... (required) YAML file(s) to read. Repeatable, globs are expanded by the plugin.
|
|
224
224
|
--strict Treat warnings as errors.
|
|
225
|
-
-w, --watch Re-run on every change to a matched file. Stays in the foreground until you stop it (Ctrl-C).
|
|
226
225
|
|
|
227
226
|
CHECKS
|
|
228
227
|
- valid YAML & schema (unknown keys rejected)
|
|
@@ -232,18 +231,15 @@ CHECKS
|
|
|
232
231
|
- internal referential integrity
|
|
233
232
|
```
|
|
234
233
|
|
|
235
|
-
`--watch` is for the local edit loop: leave it running while you tweak the YAML and the findings refresh on every save. It re-expands the globs each run, so files you add or delete are picked up too. It's a foreground, interactive mode, so it can't be combined with `--json` and isn't meant for CI, where a single gated `check` run is what you want.
|
|
236
|
-
|
|
237
234
|
### `sf ps validate`
|
|
238
235
|
|
|
239
236
|
```
|
|
240
237
|
USAGE
|
|
241
|
-
$ sf ps validate -o <org> -f <glob>... [--
|
|
238
|
+
$ sf ps validate -o <org> -f <glob>... [--json]
|
|
242
239
|
|
|
243
240
|
FLAGS
|
|
244
241
|
-o, --target-org=<org> (required) Org to resolve against.
|
|
245
242
|
-f, --file=<glob>... (required) YAML file(s) to read. Repeatable, globs expanded by the plugin.
|
|
246
|
-
-w, --watch Re-run on every change to a matched file. Read-only, but each run queries the org, so point it at a scratch or dev org.
|
|
247
243
|
|
|
248
244
|
Runs all offline checks, then verifies that every user (active), permission set,
|
|
249
245
|
group, and license referenced actually exists and resolves uniquely.
|
|
@@ -253,37 +249,57 @@ group, and license referenced actually exists and resolves uniquely.
|
|
|
253
249
|
|
|
254
250
|
```
|
|
255
251
|
USAGE
|
|
256
|
-
$ sf ps plan -o <org> -f <glob>... [--mode <value>] [--
|
|
252
|
+
$ sf ps plan -o <org> -f <glob>... [--mode <value>] [--show-unchanged] [--json]
|
|
257
253
|
|
|
258
254
|
FLAGS
|
|
259
255
|
-o, --target-org=<org> (required)
|
|
260
256
|
-f, --file=<glob>... (required) YAML file(s) to read. Repeatable, globs expanded by the plugin.
|
|
261
257
|
--mode=<value> additive | destructive | sync [default: additive]
|
|
262
|
-
|
|
258
|
+
--show-unchanged List assignments that already match, instead of only counting them.
|
|
263
259
|
```
|
|
264
260
|
|
|
265
|
-
|
|
261
|
+
The body shows only what the mode will do, and unchanged assignments are summarized as a count (pass `--show-unchanged` to list them). The default `additive` run previews only what it grants, and reports the undeclared assignment it won't remove as drift:
|
|
266
262
|
|
|
267
263
|
```text
|
|
268
|
-
$ sf ps plan -o prod
|
|
264
|
+
$ sf ps plan -o prod -f "permissions/*.yml"
|
|
269
265
|
|
|
270
266
|
Permission Set Assignments Plan
|
|
271
|
-
Org: prod (00D5g0000000abcEAA) Mode:
|
|
267
|
+
Org: prod (00D5g0000000abcEAA) Mode: additive
|
|
272
268
|
|
|
273
|
-
|
|
269
|
+
Permission Sets
|
|
270
|
+
Report_Builder
|
|
271
|
+
+ jdoe@acme.com
|
|
274
272
|
Sales_Manager
|
|
275
273
|
+ asmith@acme.com
|
|
276
|
-
~ csmith@acme.com
|
|
277
|
-
|
|
278
|
-
|
|
274
|
+
~ csmith@acme.com expires 2026-12-31T23:59:59Z → 2027-06-30T23:59:59Z
|
|
275
|
+
|
|
276
|
+
Plan: 2 to add, 1 to update. 3 users affected.
|
|
277
|
+
Drift: 1 undeclared assignment not removed in additive mode. Run --mode sync to remove it.
|
|
278
|
+
Unchanged: 4 assignments (--show-unchanged to list).
|
|
279
|
+
|
|
280
|
+
Next: sf ps apply -o prod -f "permissions/*.yml"
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
The same files under `--mode sync` act on that drift too, so the removal now appears in the body and the drift line is gone:
|
|
284
|
+
|
|
285
|
+
```text
|
|
286
|
+
$ sf ps plan -o prod -f "permissions/*.yml" --mode sync
|
|
287
|
+
|
|
288
|
+
Permission Set Assignments Plan
|
|
289
|
+
Org: prod (00D5g0000000abcEAA) Mode: sync
|
|
290
|
+
|
|
291
|
+
Permission Sets
|
|
279
292
|
Report_Builder
|
|
280
293
|
+ jdoe@acme.com
|
|
294
|
+
Sales_Manager
|
|
295
|
+
+ asmith@acme.com
|
|
296
|
+
~ csmith@acme.com expires 2026-12-31T23:59:59Z → 2027-06-30T23:59:59Z
|
|
297
|
+
- bwayne@acme.com
|
|
281
298
|
|
|
282
|
-
|
|
283
|
-
|
|
299
|
+
Plan: 2 to add, 1 to update, 1 to remove. 4 users affected.
|
|
300
|
+
Unchanged: 4 assignments (--show-unchanged to list).
|
|
284
301
|
|
|
285
|
-
|
|
286
|
-
► Review, then run: sf ps apply -o prod --mode sync
|
|
302
|
+
Next: sf ps apply -o prod -f "permissions/*.yml" --mode sync
|
|
287
303
|
```
|
|
288
304
|
|
|
289
305
|
### `sf ps apply`
|
|
@@ -291,7 +307,7 @@ Plan: 2 to add, 1 to update, 1 to remove, 1 unchanged.
|
|
|
291
307
|
```
|
|
292
308
|
USAGE
|
|
293
309
|
$ sf ps apply -o <org> -f <glob>... [--mode <value>] [--max-deletes <n>]
|
|
294
|
-
[--dry-run] [--no-prompt] [--json]
|
|
310
|
+
[--dry-run] [--show-unchanged] [--no-prompt] [--json]
|
|
295
311
|
|
|
296
312
|
FLAGS
|
|
297
313
|
-o, --target-org=<org> (required)
|
|
@@ -299,6 +315,7 @@ FLAGS
|
|
|
299
315
|
--mode=<value> additive | destructive | sync [default: additive]
|
|
300
316
|
--max-deletes=<n> Abort if a run would remove more than n assignments. [default: 50]
|
|
301
317
|
--dry-run Resolve and diff, print what would happen, change nothing.
|
|
318
|
+
--show-unchanged List assignments that already match, instead of only counting them.
|
|
302
319
|
--no-prompt Skip the deletion confirmation prompt (for CI).
|
|
303
320
|
```
|
|
304
321
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-org-client.d.ts","sourceRoot":"","sources":["../../src/adapters/connection-org-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,EACJ,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,SAAS,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AA6J/D,mGAAmG;AACnG,qBAAa,mBAAoB,YAAW,SAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE7C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQlD,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAS9D,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA8C/C,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA0DrE,cAAc,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAoB3E,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAoB5E,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAuB5E,KAAK;CAItB"}
|
|
@@ -15,13 +15,14 @@ export default class Apply extends SfCommand<PsApplyResult> {
|
|
|
15
15
|
static readonly examples: string[];
|
|
16
16
|
static readonly flags: {
|
|
17
17
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
-
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
18
|
file: import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
20
19
|
mode: import("@oclif/core/interfaces").OptionFlag<"additive" | "destructive" | "sync", import("@oclif/core/interfaces").CustomOptions>;
|
|
21
20
|
'max-deletes': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
21
|
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
'show-unchanged': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
23
23
|
'no-prompt': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
24
|
};
|
|
25
25
|
run(): Promise<PsApplyResult>;
|
|
26
26
|
private reportDrift;
|
|
27
27
|
}
|
|
28
|
+
//# sourceMappingURL=apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/commands/ps/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,6BAA6B,CAAC;AAU/D,MAAM,MAAM,aAAa,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,SAAS,CAAC,aAAa,CAAC;IACvD,gBAAuB,OAAO,SAAkC;IAChE,gBAAuB,WAAW,SAAsC;IACxE,gBAAuB,QAAQ,WAAoC;IAEnE,gBAAuB,KAAK;;;;;;;;MA2B1B;IAEW,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAmG1C,OAAO,CAAC,WAAW;CAKtB"}
|
package/lib/commands/ps/apply.js
CHANGED
|
@@ -12,7 +12,6 @@ export default class Apply extends SfCommand {
|
|
|
12
12
|
static examples = messages.getMessages('examples');
|
|
13
13
|
static flags = {
|
|
14
14
|
'target-org': Flags.requiredOrg(),
|
|
15
|
-
'api-version': Flags.orgApiVersion(),
|
|
16
15
|
file: Flags.string({
|
|
17
16
|
char: 'f',
|
|
18
17
|
summary: messages.getMessage('flags.file.summary'),
|
|
@@ -32,13 +31,16 @@ export default class Apply extends SfCommand {
|
|
|
32
31
|
'dry-run': Flags.boolean({
|
|
33
32
|
summary: messages.getMessage('flags.dry-run.summary'),
|
|
34
33
|
}),
|
|
34
|
+
'show-unchanged': Flags.boolean({
|
|
35
|
+
summary: messages.getMessage('flags.show-unchanged.summary'),
|
|
36
|
+
}),
|
|
35
37
|
'no-prompt': Flags.boolean({
|
|
36
38
|
summary: messages.getMessage('flags.no-prompt.summary'),
|
|
37
39
|
}),
|
|
38
40
|
};
|
|
39
41
|
async run() {
|
|
40
42
|
const { flags } = await this.parse(Apply);
|
|
41
|
-
const connection = flags['target-org'].getConnection(
|
|
43
|
+
const connection = flags['target-org'].getConnection();
|
|
42
44
|
const orgClient = new ConnectionOrgClient(connection);
|
|
43
45
|
const confirmDeletions = async (count) => {
|
|
44
46
|
if (flags['no-prompt'])
|
|
@@ -73,7 +75,7 @@ export default class Apply extends SfCommand {
|
|
|
73
75
|
return summary;
|
|
74
76
|
}
|
|
75
77
|
this.log('');
|
|
76
|
-
for (const line of formatDiff(result.diff)) {
|
|
78
|
+
for (const line of formatDiff(result.diff, { mode: flags.mode, showUnchanged: flags['show-unchanged'] })) {
|
|
77
79
|
this.log(line);
|
|
78
80
|
}
|
|
79
81
|
this.log('');
|
|
@@ -86,10 +88,12 @@ export default class Apply extends SfCommand {
|
|
|
86
88
|
}
|
|
87
89
|
this.reportDrift(result.drift, flags.mode);
|
|
88
90
|
if (result.status === 'dry-run') {
|
|
91
|
+
// Report what this mode would actually do, matching the mode-scoped body: the full
|
|
92
|
+
// diff minus whatever the mode leaves as drift. Otherwise the counts contradict it.
|
|
89
93
|
this.log(messages.getMessage('summary.dryRun', [
|
|
90
|
-
String(summary.toAdd),
|
|
91
|
-
String(summary.toUpdate),
|
|
92
|
-
String(summary.toRemove),
|
|
94
|
+
String(summary.toAdd - result.drift.adds),
|
|
95
|
+
String(summary.toUpdate - result.drift.updates),
|
|
96
|
+
String(summary.toRemove - result.drift.removes),
|
|
93
97
|
]));
|
|
94
98
|
return summary;
|
|
95
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/commands/ps/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;AAahF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,SAAwB;IAChD,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,CAAU,KAAK,GAAG;QAC3B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/commands/ps/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/commands/ps/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EAAkB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKhE,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,SAAS,CAAC,aAAa,CAAC;IACvD,gBAAuB,OAAO,SAAkC;IAChE,gBAAuB,WAAW,SAAsC;IACxE,gBAAuB,QAAQ,WAAoC;IAEnE,gBAAuB,KAAK;;;MAU1B;IAEW,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;CA6B7C"}
|
|
@@ -10,8 +10,8 @@ export default class Export extends SfCommand<PsExportResult> {
|
|
|
10
10
|
static readonly examples: string[];
|
|
11
11
|
static readonly flags: {
|
|
12
12
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
-
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
13
|
'output-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
14
|
};
|
|
16
15
|
run(): Promise<PsExportResult>;
|
|
17
16
|
}
|
|
17
|
+
//# sourceMappingURL=export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/commands/ps/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,6BAA6B,CAAC;AAQ/D,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,SAAS,CAAC,cAAc,CAAC;IACzD,gBAAuB,OAAO,SAAkC;IAChE,gBAAuB,WAAW,SAAsC;IACxE,gBAAuB,QAAQ,WAAoC;IAEnE,gBAAuB,KAAK;;;MAM1B;IAEW,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;CAY9C"}
|
|
@@ -10,7 +10,6 @@ export default class Export extends SfCommand {
|
|
|
10
10
|
static examples = messages.getMessages('examples');
|
|
11
11
|
static flags = {
|
|
12
12
|
'target-org': Flags.requiredOrg(),
|
|
13
|
-
'api-version': Flags.orgApiVersion(),
|
|
14
13
|
'output-file': Flags.string({
|
|
15
14
|
summary: messages.getMessage('flags.output-file.summary'),
|
|
16
15
|
required: true,
|
|
@@ -18,7 +17,7 @@ export default class Export extends SfCommand {
|
|
|
18
17
|
};
|
|
19
18
|
async run() {
|
|
20
19
|
const { flags } = await this.parse(Export);
|
|
21
|
-
const connection = flags['target-org'].getConnection(
|
|
20
|
+
const connection = flags['target-org'].getConnection();
|
|
22
21
|
const orgClient = new ConnectionOrgClient(connection);
|
|
23
22
|
const service = new ExportService(orgClient, flags['output-file']);
|
|
24
23
|
const result = await service.run();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/ps/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;AAQjF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,SAAyB;IAClD,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,CAAU,KAAK,GAAG;QAC3B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/ps/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;AAQjF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,SAAyB;IAClD,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,CAAU,KAAK,GAAG;QAC3B,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;YACzD,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEhH,OAAO,MAAM,CAAC;IAClB,CAAC"}
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { ActualAssignment, AssignmentUpdate, DesiredAssignment } from '../../core/model.js';
|
|
2
3
|
export type PsPlanResult = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
org: {
|
|
5
|
+
username: string;
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
mode: string;
|
|
9
|
+
counts: {
|
|
10
|
+
toAdd: number;
|
|
11
|
+
toUpdate: number;
|
|
12
|
+
toRemove: number;
|
|
13
|
+
unchanged: number;
|
|
14
|
+
usersAffected: number;
|
|
15
|
+
};
|
|
16
|
+
/** What the chosen mode would not act on (surfaced as drift). */
|
|
17
|
+
drift: {
|
|
18
|
+
adds: number;
|
|
19
|
+
updates: number;
|
|
20
|
+
removes: number;
|
|
21
|
+
};
|
|
22
|
+
/** The full diff, regardless of mode, so machine consumers see everything the text scopes away. */
|
|
23
|
+
changes: {
|
|
24
|
+
toAdd: DesiredAssignment[];
|
|
25
|
+
toUpdate: AssignmentUpdate[];
|
|
26
|
+
toRemove: ActualAssignment[];
|
|
27
|
+
unchanged: ActualAssignment[];
|
|
28
|
+
};
|
|
9
29
|
};
|
|
10
30
|
export default class Plan extends SfCommand<PsPlanResult> {
|
|
11
31
|
static readonly summary: string;
|
|
@@ -13,10 +33,17 @@ export default class Plan extends SfCommand<PsPlanResult> {
|
|
|
13
33
|
static readonly examples: string[];
|
|
14
34
|
static readonly flags: {
|
|
15
35
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
-
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
36
|
file: import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
18
37
|
mode: import("@oclif/core/interfaces").OptionFlag<"additive" | "destructive" | "sync", import("@oclif/core/interfaces").CustomOptions>;
|
|
38
|
+
'show-unchanged': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
39
|
};
|
|
20
40
|
run(): Promise<PsPlanResult>;
|
|
41
|
+
/** The assignments the chosen mode would actually act on. */
|
|
42
|
+
private actionable;
|
|
43
|
+
private logBody;
|
|
44
|
+
private countsLine;
|
|
21
45
|
private reportDrift;
|
|
46
|
+
private reportUnchanged;
|
|
47
|
+
private applyCommand;
|
|
22
48
|
}
|
|
49
|
+
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/commands/ps/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,6BAA6B,CAAC;AAM/D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAKjH,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACxG,iEAAiE;IACjE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,mGAAmG;IACnG,OAAO,EAAE;QACL,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,SAAS,EAAE,gBAAgB,EAAE,CAAC;KACjC,CAAC;CACL,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAS,CAAC,YAAY,CAAC;IACrD,gBAAuB,OAAO,SAAkC;IAChE,gBAAuB,WAAW,SAAsC;IACxE,gBAAuB,QAAQ,WAAoC;IAEnE,gBAAuB,KAAK;;;;;MAgB1B;IAEW,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;IAiFzC,6DAA6D;IAC7D,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;CAKvB"}
|
package/lib/commands/ps/plan.js
CHANGED
|
@@ -12,7 +12,6 @@ export default class Plan extends SfCommand {
|
|
|
12
12
|
static examples = messages.getMessages('examples');
|
|
13
13
|
static flags = {
|
|
14
14
|
'target-org': Flags.requiredOrg(),
|
|
15
|
-
'api-version': Flags.orgApiVersion(),
|
|
16
15
|
file: Flags.string({
|
|
17
16
|
char: 'f',
|
|
18
17
|
summary: messages.getMessage('flags.file.summary'),
|
|
@@ -24,23 +23,44 @@ export default class Plan extends SfCommand {
|
|
|
24
23
|
options: ['additive', 'destructive', 'sync'],
|
|
25
24
|
default: 'additive',
|
|
26
25
|
})(),
|
|
26
|
+
'show-unchanged': Flags.boolean({
|
|
27
|
+
summary: messages.getMessage('flags.show-unchanged.summary'),
|
|
28
|
+
}),
|
|
27
29
|
};
|
|
28
30
|
async run() {
|
|
29
31
|
const { flags } = await this.parse(Plan);
|
|
30
|
-
const
|
|
32
|
+
const mode = flags.mode;
|
|
33
|
+
const targetOrg = flags['target-org'];
|
|
34
|
+
const connection = targetOrg.getConnection();
|
|
31
35
|
const orgClient = new ConnectionOrgClient(connection);
|
|
32
|
-
const service = new PlanService(orgClient, flags.file, { mode
|
|
36
|
+
const service = new PlanService(orgClient, flags.file, { mode });
|
|
33
37
|
const result = await service.run();
|
|
34
38
|
for (const line of formatFindings(result.findings)) {
|
|
35
39
|
this.log(line);
|
|
36
40
|
}
|
|
41
|
+
const diff = result.diff;
|
|
42
|
+
const orgId = targetOrg.getOrgId();
|
|
43
|
+
const username = targetOrg.getUsername() ?? '';
|
|
44
|
+
const orgName = username || orgId;
|
|
45
|
+
const actionable = this.actionable(diff, mode);
|
|
46
|
+
const usersAffected = new Set(actionable.map((assignment) => assignment.assignee.toLowerCase())).size;
|
|
37
47
|
const summary = {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
org: { username, id: orgId },
|
|
49
|
+
mode,
|
|
50
|
+
counts: {
|
|
51
|
+
toAdd: diff.toAdd.length,
|
|
52
|
+
toUpdate: diff.toUpdate.length,
|
|
53
|
+
toRemove: diff.toRemove.length,
|
|
54
|
+
unchanged: diff.unchanged.length,
|
|
55
|
+
usersAffected,
|
|
56
|
+
},
|
|
57
|
+
drift: result.drift,
|
|
58
|
+
changes: {
|
|
59
|
+
toAdd: diff.toAdd,
|
|
60
|
+
toUpdate: diff.toUpdate,
|
|
61
|
+
toRemove: diff.toRemove,
|
|
62
|
+
unchanged: diff.unchanged,
|
|
63
|
+
},
|
|
44
64
|
};
|
|
45
65
|
if (result.status === 'invalid') {
|
|
46
66
|
process.exitCode = 1;
|
|
@@ -48,31 +68,88 @@ export default class Plan extends SfCommand {
|
|
|
48
68
|
this.error(messages.getMessage('error.invalid'), { exit: 1 });
|
|
49
69
|
return summary;
|
|
50
70
|
}
|
|
71
|
+
this.log(messages.getMessage('header.title'));
|
|
72
|
+
this.log(messages.getMessage('header.org', [orgName, orgId, mode]));
|
|
73
|
+
const totalChanges = diff.toAdd.length + diff.toUpdate.length + diff.toRemove.length;
|
|
74
|
+
const showUnchanged = flags['show-unchanged'];
|
|
75
|
+
if (totalChanges === 0) {
|
|
76
|
+
if (showUnchanged && diff.unchanged.length > 0) {
|
|
77
|
+
this.logBody(formatDiff(diff, { mode, showUnchanged: true }));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.log('');
|
|
81
|
+
}
|
|
82
|
+
this.log(messages.getMessage('empty.noChanges', [orgName]));
|
|
83
|
+
return summary;
|
|
84
|
+
}
|
|
85
|
+
this.logBody(formatDiff(diff, { mode, showUnchanged }));
|
|
86
|
+
if (actionable.length === 0) {
|
|
87
|
+
this.log(messages.getMessage('empty.nothingToApply', [mode]));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this.log(this.countsLine(diff, mode, usersAffected));
|
|
91
|
+
}
|
|
92
|
+
this.reportDrift(diff, mode);
|
|
93
|
+
this.reportUnchanged(diff.unchanged.length, showUnchanged);
|
|
94
|
+
if (actionable.length > 0) {
|
|
95
|
+
this.log(messages.getMessage('summary.next', [this.applyCommand(orgName, flags.file, mode)]));
|
|
96
|
+
}
|
|
97
|
+
return summary;
|
|
98
|
+
}
|
|
99
|
+
/** The assignments the chosen mode would actually act on. */
|
|
100
|
+
actionable(diff, mode) {
|
|
101
|
+
if (mode === 'destructive')
|
|
102
|
+
return diff.toRemove;
|
|
103
|
+
if (mode === 'additive')
|
|
104
|
+
return [...diff.toAdd, ...diff.toUpdate];
|
|
105
|
+
return [...diff.toAdd, ...diff.toUpdate, ...diff.toRemove];
|
|
106
|
+
}
|
|
107
|
+
logBody(body) {
|
|
51
108
|
this.log('');
|
|
52
|
-
for (const line of
|
|
109
|
+
for (const line of body)
|
|
53
110
|
this.log(line);
|
|
111
|
+
if (body.length > 0)
|
|
112
|
+
this.log('');
|
|
113
|
+
}
|
|
114
|
+
countsLine(diff, mode, usersAffected) {
|
|
115
|
+
const affected = String(usersAffected);
|
|
116
|
+
if (mode === 'destructive') {
|
|
117
|
+
return messages.getMessage('summary.counts.destructive', [String(diff.toRemove.length), affected]);
|
|
54
118
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
String(summary.unchanged),
|
|
62
|
-
]));
|
|
63
|
-
const pending = summary.toAdd + summary.toUpdate + summary.toRemove;
|
|
64
|
-
if (pending > 0) {
|
|
65
|
-
this.log(messages.getMessage('summary.next', [flags.mode]));
|
|
119
|
+
if (mode === 'additive') {
|
|
120
|
+
return messages.getMessage('summary.counts.additive', [
|
|
121
|
+
String(diff.toAdd.length),
|
|
122
|
+
String(diff.toUpdate.length),
|
|
123
|
+
affected,
|
|
124
|
+
]);
|
|
66
125
|
}
|
|
67
|
-
return summary
|
|
126
|
+
return messages.getMessage('summary.counts.sync', [
|
|
127
|
+
String(diff.toAdd.length),
|
|
128
|
+
String(diff.toUpdate.length),
|
|
129
|
+
String(diff.toRemove.length),
|
|
130
|
+
affected,
|
|
131
|
+
]);
|
|
132
|
+
}
|
|
133
|
+
reportDrift(diff, mode) {
|
|
134
|
+
if (mode === 'additive' && diff.toRemove.length > 0) {
|
|
135
|
+
this.log(messages.getMessage('drift.additive', [String(diff.toRemove.length)]));
|
|
136
|
+
}
|
|
137
|
+
if (mode === 'destructive') {
|
|
138
|
+
const skipped = diff.toAdd.length + diff.toUpdate.length;
|
|
139
|
+
if (skipped > 0)
|
|
140
|
+
this.log(messages.getMessage('drift.destructive', [String(skipped)]));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
reportUnchanged(count, showUnchanged) {
|
|
144
|
+
if (count === 0)
|
|
145
|
+
return;
|
|
146
|
+
const key = showUnchanged ? 'summary.unchangedListed' : 'summary.unchanged';
|
|
147
|
+
this.log(messages.getMessage(key, [String(count)]));
|
|
68
148
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
this.log(messages.getMessage('drift.note', [String(drift.updates), mode]));
|
|
74
|
-
if (drift.removes > 0)
|
|
75
|
-
this.log(messages.getMessage('drift.note', [String(drift.removes), mode]));
|
|
149
|
+
applyCommand(orgName, files, mode) {
|
|
150
|
+
const fileArgs = files.map((file) => `-f "${file}"`).join(' ');
|
|
151
|
+
const modeArg = mode === 'additive' ? '' : ` --mode ${mode}`;
|
|
152
|
+
return `${this.config.bin} ps apply -o ${orgName} ${fileArgs}${modeArg}`;
|
|
76
153
|
}
|
|
77
154
|
}
|
|
78
155
|
//# sourceMappingURL=plan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/commands/ps/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/commands/ps/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,8 @@ export default class Validate extends SfCommand<PsValidateResult> {
|
|
|
12
12
|
static readonly examples: string[];
|
|
13
13
|
static readonly flags: {
|
|
14
14
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
-
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
15
|
file: import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
17
16
|
};
|
|
18
17
|
run(): Promise<PsValidateResult>;
|
|
19
18
|
}
|
|
19
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/ps/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,6BAA6B,CAAC;AAI/D,OAAO,EAAkB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKhE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS,CAAC,gBAAgB,CAAC;IAC7D,gBAAuB,OAAO,SAAkC;IAChE,gBAAuB,WAAW,SAAsC;IACxE,gBAAuB,QAAQ,WAAoC;IAEnE,gBAAuB,KAAK;;;MAQ1B;IAEW,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC;CA+BhD"}
|