@rafay99/cvx 0.30.0 → 0.33.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.
Files changed (2) hide show
  1. package/README.md +33 -0
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -212,6 +212,39 @@ man/cvx.1 man page (installed by Homebrew/npm → `man cvx`)
212
212
  First run of a bare `cvx` shows a welcome screen; `cvx welcome` shows it again,
213
213
  and `man cvx` opens the manual.
214
214
 
215
+ ## Testing
216
+
217
+ ```sh
218
+ bun test # full suite: parser + store units, and an e2e matrix that
219
+ # drives every command against a throwaway CVX_HOME
220
+ ```
221
+
222
+ The suite runs in ~2s, needs no setup, and never touches your real vault —
223
+ CI (`.github/workflows/test.yml`) runs it on every PR. Three flows can't run
224
+ headless and stay manual (use the sandbox below): real `cvx login` (browser),
225
+ the interactive migration prompt (needs a PTY), and `cvx keychain enable`
226
+ (the OS keychain is per-user).
227
+
228
+ ## Testing safely (sandbox)
229
+
230
+ Never test a build against your real vault. Everything cvx touches — the vault,
231
+ the global `~/.convex/config.json` it swaps, the rc files `hook --install`
232
+ edits — resolves from one base directory, and setting `CVX_HOME` relocates all
233
+ of it:
234
+
235
+ ```sh
236
+ scripts/sandbox.sh # build + drop into a shell with an EMPTY sandbox vault
237
+ scripts/sandbox.sh --copy-vault # same, but seeded with a COPY of your real vault
238
+ ```
239
+
240
+ Inside that shell `cvx` is the fresh build and every command — `link`,
241
+ `activate`, `rm`, even the migration prompt and `hook --install` — reads and
242
+ writes only the sandbox. `exit` to leave; your real setup is never touched.
243
+ Works without the script too: `CVX_HOME=/tmp/try cvx status`.
244
+
245
+ One exception can't be sandboxed: the OS keychain is per-user, so skip
246
+ `cvx keychain enable` in a sandbox (the default file backend is used anyway).
247
+
215
248
  ## Releasing
216
249
 
217
250
  Pushing to `main` (touching `bin/**` or `package.json`) triggers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rafay99/cvx",
3
- "version": "0.30.0",
3
+ "version": "0.33.0",
4
4
  "description": "Switch Convex accounts per project automatically — run many Convex accounts across projects at once, no login/logout churn, no deploy keys, no tokens in your repos",
5
5
  "keywords": [
6
6
  "convex", "convex-dev", "convex-cli", "cli", "command-line",
@@ -19,10 +19,10 @@
19
19
  "files": ["launcher.cjs", "cvx.1", "README.md", "LICENSE"],
20
20
  "engines": { "node": ">=16" },
21
21
  "optionalDependencies": {
22
- "@rafay99/cvx-darwin-arm64": "0.30.0",
23
- "@rafay99/cvx-darwin-x64": "0.30.0",
24
- "@rafay99/cvx-linux-x64": "0.30.0",
25
- "@rafay99/cvx-linux-arm64": "0.30.0",
26
- "@rafay99/cvx-win32-x64": "0.30.0"
22
+ "@rafay99/cvx-darwin-arm64": "0.33.0",
23
+ "@rafay99/cvx-darwin-x64": "0.33.0",
24
+ "@rafay99/cvx-linux-x64": "0.33.0",
25
+ "@rafay99/cvx-linux-arm64": "0.33.0",
26
+ "@rafay99/cvx-win32-x64": "0.33.0"
27
27
  }
28
28
  }