cursedbelt-server 4.19.2 → 4.20.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursedbelt-server",
3
- "version": "4.19.2",
3
+ "version": "4.20.0",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "description": "The app-facing Bun/Hono server tier of the cursedbelt split — storage, sharing, activity, guard, sync. React-free; cursedbelt-core below it.",
@@ -18,13 +18,14 @@
18
18
  "scripts": {
19
19
  "clean": "rm -rf dist",
20
20
  "typecheck": "tsc -p tsconfig.build.json --noEmit",
21
- "test": "NODE_ENV=development bun test src",
21
+ "test": "NODE_ENV=development bun test --timeout 60000 --parallel=6 src",
22
22
  "build": "bun run clean && tsc -p tsconfig.build.json",
23
23
  "paths": "bun run scripts/paths.ts",
24
24
  "surface": "public-surface",
25
- "verify": "bun run paths && bun run typecheck && bun run build && bun run test",
26
- "prepublishOnly": "bun run verify",
27
- "test:pg": "bun run scripts/testPg.ts"
25
+ "verify": "bun run gate",
26
+ "prepublishOnly": "bun run gate --force",
27
+ "test:pg": "bun run scripts/testPg.ts",
28
+ "gate": "bun run scripts/paths.ts --only gate.ts"
28
29
  },
29
30
  "files": [
30
31
  "dist",
@@ -58,6 +59,12 @@
58
59
  "source": "./src/server/analytics/index.ts",
59
60
  "import": "./dist/server/analytics/index.js"
60
61
  },
62
+ "./app-data-home": {
63
+ "types": "./dist/server/paths/appDataHome.d.ts",
64
+ "bun": "./src/server/paths/appDataHome.ts",
65
+ "source": "./src/server/paths/appDataHome.ts",
66
+ "import": "./dist/server/paths/appDataHome.js"
67
+ },
61
68
  "./bench": {
62
69
  "types": "./dist/server/bench/index.d.ts",
63
70
  "bun": "./src/server/bench/index.ts",
@@ -339,5 +346,25 @@
339
346
  "sharp": "^0.35.2",
340
347
  "typescript": "^6.0.3",
341
348
  "zod": "4.4.3"
349
+ },
350
+ "gate": {
351
+ "stages": [
352
+ {
353
+ "script": "paths"
354
+ },
355
+ {
356
+ "script": "typecheck"
357
+ },
358
+ {
359
+ "script": "build"
360
+ },
361
+ {
362
+ "script": "test",
363
+ "needs": [
364
+ "build"
365
+ ],
366
+ "why": "build starts with `rm -rf dist`, and barrelsReachNoOptionalPeer / the publish-shape specs read dist/; racing it they read a directory that is not there yet"
367
+ }
368
+ ]
342
369
  }
343
370
  }
@@ -104,6 +104,16 @@ const REPO = fileURLToPath(new URL('..', import.meta.url));
104
104
  * follows it to the new file rather than going quietly green against the old one.
105
105
  */
106
106
  const LEAVES = [
107
+ {
108
+ subpath: './app-data-home',
109
+ /**
110
+ * Where a PUBLISHED package keeps per-user data: `APP_DATA_HOME`, then XDG, then the OS
111
+ * convention (task 2117). `cursedbelt-cc`'s local host needs this one function, and until
112
+ * this leaf it could reach it only through the root barrel — which made every cc install
113
+ * an `otplib`/`kysely` install. `node:os` and `node:path` only.
114
+ */
115
+ evaluates: 'resolveAppDataHome',
116
+ },
107
117
  {
108
118
  subpath: './storage/types',
109
119
  /** Claim/config shapes + the keyspace helpers. apps/collections wants `FileTokenClaims`. */