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.
Files changed (2) hide show
  1. package/README.md +24 -0
  2. 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
@@ -126,5 +126,5 @@
126
126
  "exports": "./lib/index.js",
127
127
  "type": "module",
128
128
  "author": "Isaac Ferreira",
129
- "version": "0.0.0-dev.65"
129
+ "version": "0.0.0-dev.67"
130
130
  }