@simple-auth-kit/cli 1.3.0 → 1.3.2

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 CHANGED
@@ -17,15 +17,16 @@ Package: https://www.npmjs.com/package/@simple-auth-kit/cli
17
17
  ## Commands
18
18
 
19
19
  ```bash
20
- npx @simple-auth-kit/cli init # fresh setup: guided "what do you need" picker
21
- npx @simple-auth-kit/cli add <combo> [--workspaces] # install a specific combo
22
- npx @simple-auth-kit/cli add # guided picker, same flow as init (no config write)
23
- npx @simple-auth-kit/cli update [--check] # re-installs whatever add last recorded — no args needed
20
+ npx @simple-auth-kit/cli # don't know which combo yet? asks: kind, then framework, then variant
21
+ npx @simple-auth-kit/cli add <combo> [--workspaces] # already know? install it directly
22
+ npx @simple-auth-kit/cli update [--check] # re-installs whatever you installed last no args needed
24
23
  npx @simple-auth-kit/cli diff # shows the actual content diff for every file that differs from the registry (api combos only)
25
- npx @simple-auth-kit/cli # bare, in a real terminal: same guided picker as `add`
26
24
  npx @simple-auth-kit/cli --help # full command/flag reference + available combos
27
25
  ```
28
26
 
27
+ `init` and bare `add` do the same guided walkthrough as running the CLI with no arguments at all;
28
+ `init` additionally writes `.simple-auth-kit.json` (install path, alias) first.
29
+
29
30
  `--into <path>` targets any directory (defaults to the current one). In a real terminal,
30
31
  without `--force` or `--check`, a file that's changed locally since install prompts you —
31
32
  per file — before it's overwritten; outside a TTY (CI/scripts) it's left alone by default and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-auth-kit/cli",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "license": "MIT",
5
5
  "description": "simple-auth-kit add <combo> — copies registry source (backend combos, admin consoles, mobile apps) into a consumer repo, shadcn-CLI-style. Nothing is ever installed as a runtime dependency of the consumer.",
6
6
  "bin": {
@@ -65,7 +65,7 @@ variants; not evidence of drift to reconcile.
65
65
 
66
66
  ## `@simple-auth-kit/auth-client`
67
67
 
68
- Both products' `package.json` declare `"@simple-auth-kit/auth-client": "^1.0.0"`, resolved from
68
+ Both products' `package.json` declare `"@simple-auth-kit/auth-client": "^1.0.2"`, resolved from
69
69
  the published package on npm: https://www.npmjs.com/package/@simple-auth-kit/auth-client. A
70
70
  `scaffold`-mode generated app stands alone with a plain `npm install` — no monorepo/pnpm
71
71
  workspace required.
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@casl/ability": "^7.0.1",
15
15
  "@casl/react": "^7.0.1",
16
- "@simple-auth-kit/auth-client": "^1.0.0",
16
+ "@simple-auth-kit/auth-client": "^1.0.2",
17
17
  "@hookform/resolvers": "^5.2.2",
18
18
  "@tanstack/react-query": "^5.90.12",
19
19
  "@tanstack/react-table": "^8.21.3",
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@casl/ability": "^7.0.1",
15
15
  "@casl/react": "^7.0.1",
16
- "@simple-auth-kit/auth-client": "^1.0.0",
16
+ "@simple-auth-kit/auth-client": "^1.0.2",
17
17
  "@tanstack/react-query": "^5.90.12",
18
18
  "@tanstack/react-table": "^8.21.3",
19
19
  "class-variance-authority": "^0.7.1",
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@casl/ability": "^6.7.3",
15
15
  "@casl/react": "^4.0.0",
16
- "@simple-auth-kit/auth-client": "^1.0.0",
16
+ "@simple-auth-kit/auth-client": "^1.0.2",
17
17
  "@fontsource-variable/bricolage-grotesque": "^5.3.0",
18
18
  "@radix-ui/react-label": "^2.1.15",
19
19
  "@radix-ui/react-slot": "^1.3.3",
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@casl/ability": "^6.7.3",
15
15
  "@casl/react": "^4.0.0",
16
- "@simple-auth-kit/auth-client": "^1.0.0",
16
+ "@simple-auth-kit/auth-client": "^1.0.2",
17
17
  "@fontsource-variable/bricolage-grotesque": "^5.3.0",
18
18
  "@radix-ui/react-label": "^2.1.15",
19
19
  "@radix-ui/react-slot": "^1.3.3",
@@ -12,7 +12,7 @@
12
12
  "typecheck": "tsc --noEmit"
13
13
  },
14
14
  "dependencies": {
15
- "@simple-auth-kit/auth-client": "^1.0.0",
15
+ "@simple-auth-kit/auth-client": "^1.0.2",
16
16
  "@react-native-async-storage/async-storage": "^3.1.1",
17
17
  "@react-native/new-app-screen": "0.86.2",
18
18
  "@react-navigation/native": "^7.3.16",
@@ -12,7 +12,7 @@
12
12
  "typecheck": "tsc --noEmit"
13
13
  },
14
14
  "dependencies": {
15
- "@simple-auth-kit/auth-client": "^1.0.0",
15
+ "@simple-auth-kit/auth-client": "^1.0.2",
16
16
  "@react-native-async-storage/async-storage": "^3.1.1",
17
17
  "@react-native/new-app-screen": "0.86.2",
18
18
  "@react-navigation/native": "^7.3.16",
@@ -12,7 +12,7 @@
12
12
  "typecheck": "tsc --noEmit"
13
13
  },
14
14
  "dependencies": {
15
- "@simple-auth-kit/auth-client": "^1.0.0",
15
+ "@simple-auth-kit/auth-client": "^1.0.2",
16
16
  "@react-native-async-storage/async-storage": "2.2.0",
17
17
  "@react-navigation/native": "^7.3.16",
18
18
  "@react-navigation/native-stack": "^7.18.8",
@@ -12,7 +12,7 @@
12
12
  "typecheck": "tsc --noEmit"
13
13
  },
14
14
  "dependencies": {
15
- "@simple-auth-kit/auth-client": "^1.0.0",
15
+ "@simple-auth-kit/auth-client": "^1.0.2",
16
16
  "@react-native-async-storage/async-storage": "2.2.0",
17
17
  "@react-navigation/native": "^7.3.16",
18
18
  "@react-navigation/native-stack": "^7.18.8",
@@ -238,7 +238,19 @@ async function installDependencies(targetRoot: string, deps: string[], flags: Re
238
238
  const args = deps.length ? [pm === "npm" ? "install" : "add", ...deps] : ["install"];
239
239
 
240
240
  console.log(`\nInstalling dependencies (${pm})...`);
241
- const result = spawnSync(pm, args, { cwd: targetRoot, stdio: "inherit" });
241
+ let result = spawnSync(pm, args, { cwd: targetRoot, stdio: "inherit" });
242
+ if (result.status !== 0 && pm === "pnpm") {
243
+ // pnpm's default security posture blocks postinstall/preinstall scripts from any dependency
244
+ // it hasn't seen approved before — argon2 (native addon build) and prisma (downloads its
245
+ // query-engine binary) both need theirs to run, so this is the single most common reason a
246
+ // combo install fails under pnpm specifically (ERR_PNPM_IGNORED_BUILDS). It can also recur on
247
+ // a later `update` (a version bump re-flags a build), so approve unconditionally and retry
248
+ // once rather than just telling the consumer to do it by hand each time — `approve-builds
249
+ // --all` is a no-op when nothing is pending.
250
+ console.log(`\n${pm} blocked some install scripts — running "pnpm approve-builds --all" and retrying...`);
251
+ spawnSync(pm, ["approve-builds", "--all"], { cwd: targetRoot, stdio: "inherit" });
252
+ result = spawnSync(pm, args, { cwd: targetRoot, stdio: "inherit" });
253
+ }
242
254
  if (result.status !== 0) {
243
255
  console.error(`\n${pm} install exited with an error — run it yourself: cd ${targetRoot} && ${pm} ${args.join(" ")}`);
244
256
  }