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.
Files changed (78) hide show
  1. package/README.md +47 -30
  2. package/lib/adapters/connection-org-client.d.ts +1 -0
  3. package/lib/adapters/connection-org-client.d.ts.map +1 -0
  4. package/lib/commands/ps/apply.d.ts +2 -1
  5. package/lib/commands/ps/apply.d.ts.map +1 -0
  6. package/lib/commands/ps/apply.js +10 -6
  7. package/lib/commands/ps/apply.js.map +1 -1
  8. package/lib/commands/ps/check.d.ts +1 -0
  9. package/lib/commands/ps/check.d.ts.map +1 -0
  10. package/lib/commands/ps/export.d.ts +1 -1
  11. package/lib/commands/ps/export.d.ts.map +1 -0
  12. package/lib/commands/ps/export.js +1 -2
  13. package/lib/commands/ps/export.js.map +1 -1
  14. package/lib/commands/ps/plan.d.ts +34 -7
  15. package/lib/commands/ps/plan.d.ts.map +1 -0
  16. package/lib/commands/ps/plan.js +106 -29
  17. package/lib/commands/ps/plan.js.map +1 -1
  18. package/lib/commands/ps/validate.d.ts +1 -1
  19. package/lib/commands/ps/validate.d.ts.map +1 -0
  20. package/lib/commands/ps/validate.js +1 -2
  21. package/lib/commands/ps/validate.js.map +1 -1
  22. package/lib/core/diff.d.ts +1 -0
  23. package/lib/core/diff.d.ts.map +1 -0
  24. package/lib/core/diff.js +1 -0
  25. package/lib/core/diff.js.map +1 -1
  26. package/lib/core/finding.d.ts +1 -0
  27. package/lib/core/finding.d.ts.map +1 -0
  28. package/lib/core/load.d.ts +1 -0
  29. package/lib/core/load.d.ts.map +1 -0
  30. package/lib/core/model.d.ts +5 -0
  31. package/lib/core/model.d.ts.map +1 -0
  32. package/lib/core/normalize.d.ts +1 -0
  33. package/lib/core/normalize.d.ts.map +1 -0
  34. package/lib/core/normalize.js +43 -25
  35. package/lib/core/normalize.js.map +1 -1
  36. package/lib/core/parse.d.ts +1 -0
  37. package/lib/core/parse.d.ts.map +1 -0
  38. package/lib/core/report.d.ts +12 -5
  39. package/lib/core/report.d.ts.map +1 -0
  40. package/lib/core/report.js +64 -23
  41. package/lib/core/report.js.map +1 -1
  42. package/lib/core/resolve.d.ts +1 -0
  43. package/lib/core/resolve.d.ts.map +1 -0
  44. package/lib/core/schema.d.ts +1 -0
  45. package/lib/core/schema.d.ts.map +1 -0
  46. package/lib/core/schema.js +15 -10
  47. package/lib/core/schema.js.map +1 -1
  48. package/lib/core/serialize.d.ts +1 -0
  49. package/lib/core/serialize.d.ts.map +1 -0
  50. package/lib/core/serialize.js +3 -3
  51. package/lib/core/serialize.js.map +1 -1
  52. package/lib/index.d.ts +1 -0
  53. package/lib/index.d.ts.map +1 -0
  54. package/lib/services/adapters/org-client.d.ts +1 -0
  55. package/lib/services/adapters/org-client.d.ts.map +1 -0
  56. package/lib/services/apply.d.ts +1 -2
  57. package/lib/services/apply.d.ts.map +1 -0
  58. package/lib/services/apply.js +3 -27
  59. package/lib/services/apply.js.map +1 -1
  60. package/lib/services/check.d.ts +1 -0
  61. package/lib/services/check.d.ts.map +1 -0
  62. package/lib/services/export.d.ts +1 -0
  63. package/lib/services/export.d.ts.map +1 -0
  64. package/lib/services/plan.d.ts +1 -2
  65. package/lib/services/plan.d.ts.map +1 -0
  66. package/lib/services/plan.js +3 -27
  67. package/lib/services/plan.js.map +1 -1
  68. package/lib/services/resolution.d.ts +17 -0
  69. package/lib/services/resolution.d.ts.map +1 -0
  70. package/lib/services/resolution.js +36 -0
  71. package/lib/services/resolution.js.map +1 -0
  72. package/lib/services/validate.d.ts +1 -0
  73. package/lib/services/validate.d.ts.map +1 -0
  74. package/messages/ps.apply.md +4 -0
  75. package/messages/ps.plan.md +47 -7
  76. package/package.json +17 -35
  77. package/oclif.lock +0 -7888
  78. 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 two atomic operations: **add** missing assignments and **remove** undeclared ones. The mode selects which it actually executes. Set it with `--mode` (default `additive`):
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
- | `additive` | ✅ | | **Default.** Grant access, never revoke. Safe rollout. |
187
- | `destructive` | | ✅ | Prune/revoke access that isn't declared, without granting anything new. |
188
- | `sync` | | ✅ | Full reconcile: make the org exactly match the YAML (`sync` = `additive` + `destructive`). |
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` always shows the *full* picture (both adds **and** would-be removes) regardless of mode, so you can preview the impact before running it. Whatever the chosen mode won't act on is surfaced as **drift**.
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 username key appears twice in one file | `check` (offline) | error | Rejected, the intent is ambiguous |
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 user in two files with different targets | `check` (offline) | ok | Merged into one model, the point of slicing |
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] [--watch] [--json]
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>... [--watch] [--json]
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>] [--watch] [--json]
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
- -w, --watch Re-diff against the org on every change to a matched file. Read-only (never applies), but each run queries the org.
258
+ --show-unchanged List assignments that already match, instead of only counting them.
263
259
  ```
264
260
 
265
- Example output:
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 --mode sync
264
+ $ sf ps plan -o prod -f "permissions/*.yml"
269
265
 
270
266
  Permission Set Assignments Plan
271
- Org: prod (00D5g0000000abcEAA) Mode: sync
267
+ Org: prod (00D5g0000000abcEAA) Mode: additive
272
268
 
273
- permissionSets:
269
+ Permission Sets
270
+ Report_Builder
271
+ + jdoe@acme.com
274
272
  Sales_Manager
275
273
  + asmith@acme.com
276
- ~ csmith@acme.com (expires 2026-12-31T23:59:59Z)
277
- - bwayne@acme.com (undeclared, will be removed)
278
- = jdoe@acme.com (no change)
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
- permissionSetGroups:
283
- Sales_Team_Bundle (no changes)
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
- Plan: 2 to add, 1 to update, 1 to remove, 1 unchanged.
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
 
@@ -14,3 +14,4 @@ export declare class ConnectionOrgClient implements OrgClient {
14
14
  removeAssignments(removals: ActualAssignment[]): Promise<AssignmentOutcome[]>;
15
15
  private query;
16
16
  }
17
+ //# sourceMappingURL=connection-org-client.d.ts.map
@@ -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"}
@@ -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(flags['api-version']);
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":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/commands/ps/apply.ts"],"names":[],"mappings":"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"}
@@ -16,3 +16,4 @@ export default class Check extends SfCommand<PsCheckResult> {
16
16
  };
17
17
  run(): Promise<PsCheckResult>;
18
18
  }
19
+ //# sourceMappingURL=check.d.ts.map
@@ -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(flags['api-version']);
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,aAAa,EAAE;QACpC,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,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3E,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
+ {"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
- status: string;
4
- toAdd: number;
5
- toUpdate: number;
6
- toRemove: number;
7
- unchanged: number;
8
- drift: number;
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"}
@@ -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 connection = flags['target-org'].getConnection(flags['api-version']);
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: flags.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
- status: result.status,
39
- toAdd: result.diff.toAdd.length,
40
- toUpdate: result.diff.toUpdate.length,
41
- toRemove: result.diff.toRemove.length,
42
- unchanged: result.diff.unchanged.length,
43
- drift: result.drift.adds + result.drift.updates + result.drift.removes,
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 formatDiff(result.diff)) {
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
- this.log('');
56
- this.reportDrift(result.drift, flags.mode);
57
- this.log(messages.getMessage('summary.counts', [
58
- String(summary.toAdd),
59
- String(summary.toUpdate),
60
- String(summary.toRemove),
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
- reportDrift(drift, mode) {
70
- if (drift.adds > 0)
71
- this.log(messages.getMessage('drift.note', [String(drift.adds), mode]));
72
- if (drift.updates > 0)
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":"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"}
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"}