sf-plugin-permission-sets 0.0.0-dev.65 → 0.0.0-dev.67
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 +24 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,6 +25,7 @@ Stop clicking through Setup to grant access. Commit a YAML file, open a PR, let
|
|
|
25
25
|
- [Inspiration & equivalents](#inspiration--equivalents)
|
|
26
26
|
- [Versioning](#versioning)
|
|
27
27
|
- [Architecture](#architecture)
|
|
28
|
+
- [Development](#development)
|
|
28
29
|
|
|
29
30
|
---
|
|
30
31
|
|
|
@@ -533,6 +534,29 @@ The plugin is layered so every command reuses the same core. Commands stay thin,
|
|
|
533
534
|
|
|
534
535
|
Commands are slices of one pipeline. `check` runs the **load** stage only, with no org. `validate` adds **resolve**: it looks the declared references up through the `OrgClient` port (the adapter builds the SOQL) and evaluates the org's answers with resolve's pure rules. `export` runs in the opposite direction: it **fetch**es the org's current assignments through the port and **serialize**s them straight back to YAML, skipping load entirely. `apply` is the full pipeline: load, resolve to ids, **fetch** current state, **diff**, then insert and delete through the Collections API per the mode (guarded by `--max-deletes` and a confirmation). `plan` is that same pipeline stopping before the DML: load, resolve to ids, **fetch** current state, **diff**, and report, the same preview `apply --dry-run` produces.
|
|
535
536
|
|
|
537
|
+
## Development
|
|
538
|
+
|
|
539
|
+
```bash
|
|
540
|
+
npm ci
|
|
541
|
+
npm run build # compile and lint
|
|
542
|
+
npm test # compile, then run the suite
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
The suite is black-box: every spec spawns the real `sf ps ...` binary. Install the Salesforce CLI first (`npm install -g @salesforce/cli`). The test run links this plugin into `sf` before the first spec and unlinks it at the end.
|
|
546
|
+
|
|
547
|
+
### Test environment
|
|
548
|
+
|
|
549
|
+
Tests take their parameters from the environment, never from a committed file. Copy the template and fill it in:
|
|
550
|
+
|
|
551
|
+
```bash
|
|
552
|
+
cp .env.example .env
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
| Variable | Required | What it is |
|
|
556
|
+
| --- | --- | --- |
|
|
557
|
+
| `PS_TARGET_ORG` | yes | Username or alias of an already-authenticated org. The `plan`, `apply`, and `export` specs run against it. |
|
|
558
|
+
|
|
559
|
+
|
|
536
560
|
## License
|
|
537
561
|
|
|
538
562
|
BSD-3-Clause © Isaac Ferreira
|
package/package.json
CHANGED