From cb115feb186e9d51802fda76987a4ef2e627bbc1 Mon Sep 17 00:00:00 2001 From: Joseph Mearman Date: Mon, 12 Oct 2026 08:00:36 +0100 Subject: [PATCH 1/2] build(deps): bump oRPC to 2.0.0-beta.42 and Drizzle to 1.0.0-rc.5-5935859 @orpc/client, @orpc/server and @orpc/contract move together, as do drizzle-orm and drizzle-kit. The catalog and the published process-graph manifest (dependencies, dev dependencies and exact prerelease peers) carry the same versions. Comments and docs that named the previous prerelease versions no longer do. --- .../adapters/graph/store-sqlite/README.md | 2 +- packages/targets/process-graph/package.json | 16 +- .../test/consumer.global-setup.ts | 2 +- pnpm-lock.yaml | 165 +++++++++--------- pnpm-workspace.yaml | 10 +- scripts/check-published-manifests.ts | 2 +- 6 files changed, 100 insertions(+), 97 deletions(-) diff --git a/packages/adapters/graph/store-sqlite/README.md b/packages/adapters/graph/store-sqlite/README.md index 9e0a6b3..721876e 100644 --- a/packages/adapters/graph/store-sqlite/README.md +++ b/packages/adapters/graph/store-sqlite/README.md @@ -4,7 +4,7 @@ A private workspace package, not published on its own: it is bundled into [`process-graph`](../../../targets/process-graph/README.md), which exposes it as `process-graph/store`, beside the store contract. -The `GraphStore` port from `@exadev/process-graph-store-contract` on SQLite through [Drizzle](https://orm.drizzle.team) (`drizzle-orm` 1.0.0-rc.4). It is written against Drizzle's async SQLite database type, so any Drizzle SQLite driver plugs in: `@exadev/process-graph-sqlite-node` supplies `node:sqlite`, `@exadev/process-graph-sqlite-wasm` supplies SQLite in a browser worker on OPFS. `src/` imports nothing Node-only. +The `GraphStore` port from `@exadev/process-graph-store-contract` on SQLite through [Drizzle](https://orm.drizzle.team). It is written against Drizzle's async SQLite database type, so any Drizzle SQLite driver plugs in: `@exadev/process-graph-sqlite-node` supplies `node:sqlite`, `@exadev/process-graph-sqlite-wasm` supplies SQLite in a browser worker on OPFS. `src/` imports nothing Node-only. ```ts import { createGraphStoreRouter } from "@exadev/process-graph-store-contract"; diff --git a/packages/targets/process-graph/package.json b/packages/targets/process-graph/package.json index 562ccb8..ded271e 100644 --- a/packages/targets/process-graph/package.json +++ b/packages/targets/process-graph/package.json @@ -138,9 +138,9 @@ "@exadev/process-graph-store-sqlite": "1.2.2", "@exadev/process-graph-sync": "1.0.1", "@exadev/process-graph-ui": "1.1.2", - "@orpc/client": "2.0.0-beta.41", - "@orpc/contract": "2.0.0-beta.41", - "@orpc/server": "2.0.0-beta.41", + "@orpc/client": "2.0.0-beta.42", + "@orpc/contract": "2.0.0-beta.42", + "@orpc/server": "2.0.0-beta.42", "@sqlite.org/sqlite-wasm": "3.53.4-build2", "@stryker-mutator/core": "10.0.0", "@stryker-mutator/typescript-checker": "10.0.0", @@ -153,7 +153,7 @@ "@vitest/coverage-v8": "4.1.11", "@xyflow/react": "12.12.0", "commander": "15.0.0", - "drizzle-orm": "1.0.0-rc.4", + "drizzle-orm": "1.0.0-rc.5-5935859", "elkjs": "0.12.0", "eslint": "10.12.0", "playwright": "1.63.0", @@ -169,15 +169,15 @@ "zod": "4.6.5" }, "peerDependencies": { - "@orpc/client": "2.0.0-beta.41", - "@orpc/contract": "2.0.0-beta.41", - "@orpc/server": "2.0.0-beta.41", + "@orpc/client": "2.0.0-beta.42", + "@orpc/contract": "2.0.0-beta.42", + "@orpc/server": "2.0.0-beta.42", "@sqlite.org/sqlite-wasm": "3.53.4-build2", "@vanilla-extract/css": "^1.21.2", "@vanilla-extract/recipes": "^0.5.7", "@xyflow/react": "^12.12.0", "commander": "^15.0.0", - "drizzle-orm": "1.0.0-rc.4", + "drizzle-orm": "1.0.0-rc.5-5935859", "elkjs": "^0.12.0", "react": "^19.3.0", "react-dom": "^19.3.0" diff --git a/packages/targets/process-graph/test/consumer.global-setup.ts b/packages/targets/process-graph/test/consumer.global-setup.ts index 53b60de..d63eb4e 100644 --- a/packages/targets/process-graph/test/consumer.global-setup.ts +++ b/packages/targets/process-graph/test/consumer.global-setup.ts @@ -59,7 +59,7 @@ const consumerOf = (tarball: string, specifiers: readonly string[]): string => { join(consumer, "package.json"), JSON.stringify({ name: "consumer", private: true, type: "module" }), ); - // pnpm rather than npm: npm 11.19.0, the npm the pinned Node ships, cannot resolve drizzle-orm 1.0.0-rc.4's optional `effect` peer range at all (ERESOLVE, with or without this package), which npm 11.19.1 fixes. + // pnpm rather than npm: npm 11.19.0, the npm the pinned Node ships, cannot resolve the `effect` peer range of drizzle-orm's 1.0.0 release candidates at all (ERESOLVE, with or without this package), which npm 11.19.1 fixes. execFileSync("pnpm", ["add", "--ignore-scripts", tarball, ...specifiers], { cwd: consumer, // Output is captured rather than shown, and a failure's error carries pnpm's own report of why. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 77a6d37..922e1e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -192,14 +192,14 @@ catalogs: specifier: 3.2.0 version: 3.2.0 '@orpc/client': - specifier: 2.0.0-beta.41 - version: 2.0.0-beta.41 + specifier: 2.0.0-beta.42 + version: 2.0.0-beta.42 '@orpc/contract': - specifier: 2.0.0-beta.41 - version: 2.0.0-beta.41 + specifier: 2.0.0-beta.42 + version: 2.0.0-beta.42 '@orpc/server': - specifier: 2.0.0-beta.41 - version: 2.0.0-beta.41 + specifier: 2.0.0-beta.42 + version: 2.0.0-beta.42 '@playwright/test': specifier: 1.63.0 version: 1.63.0 @@ -282,11 +282,11 @@ catalogs: specifier: 9.3.1 version: 9.3.1 drizzle-kit: - specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4 + specifier: 1.0.0-rc.5-5935859 + version: 1.0.0-rc.5-5935859 drizzle-orm: - specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4 + specifier: 1.0.0-rc.5-5935859 + version: 1.0.0-rc.5-5935859 elkjs: specifier: 0.12.0 version: 0.12.0 @@ -559,17 +559,17 @@ importers: version: link:../store-sqlite drizzle-orm: specifier: 'catalog:' - version: 1.0.0-rc.4(zod@4.6.5) + version: 1.0.0-rc.5-5935859(zod@4.6.5) devDependencies: '@arethetypeswrong/cli': specifier: 'catalog:' version: 0.18.5 '@orpc/client': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@stryker-mutator/core': specifier: 'catalog:' version: 10.0.0(@types/node@26.6.4) @@ -608,16 +608,16 @@ importers: version: link:../store-sqlite '@orpc/client': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@sqlite.org/sqlite-wasm': specifier: 'catalog:' version: 3.53.4-build2 drizzle-orm: specifier: 'catalog:' - version: 1.0.0-rc.4(zod@4.6.5) + version: 1.0.0-rc.5-5935859(zod@4.6.5) devDependencies: '@arethetypeswrong/cli': specifier: 'catalog:' @@ -660,10 +660,10 @@ importers: version: link:../../../core/graph/store-contract '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 drizzle-orm: specifier: 'catalog:' - version: 1.0.0-rc.4(zod@4.6.5) + version: 1.0.0-rc.5-5935859(zod@4.6.5) zod: specifier: 'catalog:' version: 4.6.5 @@ -688,7 +688,7 @@ importers: version: 4.1.11(@vitest/browser@4.1.11)(vitest@4.1.11) drizzle-kit: specifier: 'catalog:' - version: 1.0.0-rc.4 + version: 1.0.0-rc.5-5935859 eslint: specifier: 'catalog:' version: 10.12.0(jiti@2.7.0)(supports-color@7.2.0) @@ -948,13 +948,13 @@ importers: version: link:../schema '@orpc/client': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@orpc/contract': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 trilean: specifier: 'catalog:' version: 1.7.2 @@ -1003,10 +1003,10 @@ importers: version: link:../schema '@orpc/contract': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 trilean: specifier: 'catalog:' version: 1.7.2 @@ -1019,7 +1019,7 @@ importers: version: 0.18.5 '@orpc/client': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@stryker-mutator/core': specifier: 'catalog:' version: 10.0.0(@types/node@26.6.4) @@ -1058,7 +1058,7 @@ importers: version: link:../store-contract '@orpc/client': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 zod: specifier: 'catalog:' version: 4.6.5 @@ -1068,7 +1068,7 @@ importers: version: 0.18.5 '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@stryker-mutator/core': specifier: 'catalog:' version: 10.0.0(@types/node@26.6.4) @@ -1131,7 +1131,7 @@ importers: version: link:../../core/graph/sync '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 commander: specifier: 'catalog:' version: 15.0.0 @@ -1210,10 +1210,10 @@ importers: version: link:../../ui/graph/ui '@orpc/client': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 react: specifier: 'catalog:' version: 19.3.0 @@ -1352,14 +1352,14 @@ importers: specifier: 1.1.2 version: link:../../ui/graph/ui '@orpc/client': - specifier: 2.0.0-beta.41 - version: 2.0.0-beta.41 + specifier: 2.0.0-beta.42 + version: 2.0.0-beta.42 '@orpc/contract': - specifier: 2.0.0-beta.41 - version: 2.0.0-beta.41 + specifier: 2.0.0-beta.42 + version: 2.0.0-beta.42 '@orpc/server': - specifier: 2.0.0-beta.41 - version: 2.0.0-beta.41 + specifier: 2.0.0-beta.42 + version: 2.0.0-beta.42 '@sqlite.org/sqlite-wasm': specifier: 3.53.4-build2 version: 3.53.4-build2 @@ -1397,8 +1397,8 @@ importers: specifier: 15.0.0 version: 15.0.0 drizzle-orm: - specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4(zod@4.6.5) + specifier: 1.0.0-rc.5-5935859 + version: 1.0.0-rc.5-5935859(zod@4.6.5) elkjs: specifier: 0.12.0 version: 0.12.0 @@ -1446,14 +1446,14 @@ importers: version: link:../../../core/graph/store-contract '@orpc/client': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 devDependencies: '@arethetypeswrong/cli': specifier: 'catalog:' version: 0.18.5 '@orpc/server': specifier: 'catalog:' - version: 2.0.0-beta.41 + version: 2.0.0-beta.42 '@stryker-mutator/core': specifier: 'catalog:' version: 10.0.0(@types/node@26.6.4) @@ -3193,14 +3193,14 @@ packages: '@octokit/types@18.0.0': resolution: {integrity: sha512-l6bAF43PNxkJp6g+W4PjoUSSkxHomXw2nOum5CTftJz1NlV3vu93NImgOYtLf6CbBUb5j+fiuzW0PPQ5JTSvZA==} - '@orpc/client@2.0.0-beta.41': - resolution: {integrity: sha512-0P6UxBpL6+0+lNu/gct5d9OibW94xp97UReblQVjqsWks7g8GOjzNRvP6b8MIGz1qpCKaNMOFAUdMJVF+BflJw==} + '@orpc/client@2.0.0-beta.42': + resolution: {integrity: sha512-5UVRiHw9UsOVsfK1EweJoOqDhnseIz1TG4U/pcGe/P6I/yBDafh+ijZ/ZaBrql2hC7PSgEwfCFljEG8IfxVGqA==} - '@orpc/contract@2.0.0-beta.41': - resolution: {integrity: sha512-zcRzv6N2SGHBXKEDA6n3nsZvtsPCde1kjhO5ZEH6TQw7BNIgq2v4bGM9GEsbczTptSr5B6ehEwE2/+aTlxEglw==} + '@orpc/contract@2.0.0-beta.42': + resolution: {integrity: sha512-cLtAdjHGwGy2kNASBsdGKwlhFmRwqmlCOb9Avi6asFoV2fJH3Phht7QHa2/g61Yz1qF8IM6NgJ2+OA7iXRmU/g==} - '@orpc/server@2.0.0-beta.41': - resolution: {integrity: sha512-66XM0e1p5uP78C77nONozn0igCjkoYiOnUOB1ScP8UE8EeVle0BFDQQViBqttYCYOSVr3P+8u3ru1bpKZk5fUg==} + '@orpc/server@2.0.0-beta.42': + resolution: {integrity: sha512-gZXjfrKnYBNTgv70C3OB1ct04rbbMXOzX+sVx393YvcoEOjUr1cO8BwMBpIAQwaS42NKcoIjjo4zXF0dXOyb3Q==} peerDependencies: crossws: '>=0.3.4' fastify: '>=5.6.1' @@ -3210,8 +3210,8 @@ packages: fastify: optional: true - '@orpc/shared@2.0.0-beta.41': - resolution: {integrity: sha512-bXqVa8wivVpMkdb8X0HnYI1CUA2hVuV1GSsjs2NIJ2oU/H6wRQi/R7XY/PPICYz0qFjwM2x2tUm1EH395fVd3A==} + '@orpc/shared@2.0.0-beta.42': + resolution: {integrity: sha512-jPmLnx9ZD39bXOlbCTYdopz/xN9iqGVHZnlo3QDVruRLHN0dUDzcVyfJE38DaBCJs5A6tFYRJTG3BJlO5rM/kw==} '@ota-meshi/ast-token-store@0.3.0': resolution: {integrity: sha512-XRO0zi2NIUKq2lUk3T1ecFSld1fMWRKE6naRFGkgkdeosx7IslyUKNv5Dcb5PJTja9tHJoFu0v/7yEpAkrkrTg==} @@ -5027,39 +5027,40 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} - drizzle-kit@1.0.0-rc.4: - resolution: {integrity: sha512-KZCpjRyu+oYHLj/UJogfFlOkWhHVkaEI2EOT1U3NDVXUzLoTyPjqwFxwOrlQxsY6jzRyxcz4EacqboGfhEeYrA==} + drizzle-kit@1.0.0-rc.5-5935859: + resolution: {integrity: sha512-p//MvJbSeDFxa3pODv0ebNVJmk/5aAHHaCyQTtDGFlCYX4e7eY9rrSX/liBJ7098Ei9WUi9VT65JQkSFDuG1ng==} hasBin: true - drizzle-orm@1.0.0-rc.4: - resolution: {integrity: sha512-BT+pf+qoiYHqltoA88Jmf6ilGMXPlpfE0hEJKc2adRtMCAl25Swk/t5gXcWxZNAwdtf3F5gCd2FpeOyP/pT0Hw==} + drizzle-orm@1.0.0-rc.5-5935859: + resolution: {integrity: sha512-PkVjyxhamD7IOVfpDMn3BmV9afyvj3eeLvIPind3NmPv+cfv6/jh6GN0fHP0zzgrprGx/jGE4mkE0ttRFlzHwA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=4' - '@effect/sql-d1': '>=4.0.0-beta.83 || >=4.0.0' - '@effect/sql-libsql': '>=4.0.0-beta.83 || >=4.0.0' - '@effect/sql-mysql2': '>=4.0.0-beta.83 || >=4.0.0' - '@effect/sql-pg': '>=4.0.0-beta.83 || >=4.0.0' - '@effect/sql-pglite': '>=4.0.0-beta.83 || >=4.0.0' - '@effect/sql-sqlite-bun': '>=4.0.0-beta.83 || >=4.0.0' - '@effect/sql-sqlite-do': '>=4.0.0-beta.83 || >=4.0.0' - '@effect/sql-sqlite-node': '>=4.0.0-beta.83 || >=4.0.0' - '@effect/sql-sqlite-wasm': '>=4.0.0-beta.83 || >=4.0.0' + '@drizzle-team/minipg': '>=0.3.2' + '@effect/sql-d1': '>=4.0.0-beta.105 || >=4.0.0' + '@effect/sql-libsql': '>=4.0.0-beta.105 || >=4.0.0' + '@effect/sql-mysql2': '>=4.0.0-beta.105 || >=4.0.0' + '@effect/sql-pg': '>=4.0.0-beta.105 || >=4.0.0' + '@effect/sql-pglite': '>=4.0.0-beta.105 || >=4.0.0' + '@effect/sql-sqlite-bun': '>=4.0.0-beta.105 || >=4.0.0' + '@effect/sql-sqlite-do': '>=4.0.0-beta.105 || >=4.0.0' + '@effect/sql-sqlite-node': '>=4.0.0-beta.105 || >=4.0.0' + '@effect/sql-sqlite-wasm': '>=4.0.0-beta.105 || >=4.0.0' '@electric-sql/pglite': '>=0.2.0' '@libsql/client': '>=0.10.0' '@libsql/client-wasm': '>=0.10.0' '@neondatabase/serverless': '>=0.10.0' - '@op-engineering/op-sqlite': '>=2' + '@op-engineering/op-sqlite': '>=17' '@opentelemetry/api': ^1.4.1 '@planetscale/database': '>=1.13' '@sinclair/typebox': '>=0.34.8' '@sqlitecloud/drivers': '>=1.0.653' '@tidbcloud/serverless': '*' - '@tursodatabase/database': '>=0.6.0-pre.28 || >=0.6.0' - '@tursodatabase/database-common': '>=0.6.0-pre.28 || >=0.6.0' - '@tursodatabase/database-wasm': '>=0.6.0-pre.28 || >=0.6.0' - '@tursodatabase/serverless': '>=1.1.3' - '@tursodatabase/sync': '>=0.6.0-pre.28 || >=0.6.0' + '@tursodatabase/database': '>=0.7.1' + '@tursodatabase/database-common': '>=0.7.1' + '@tursodatabase/database-wasm': '>=0.7.1' + '@tursodatabase/serverless': '>=1.4.0' + '@tursodatabase/sync': '>=0.7.1' '@types/better-sqlite3': '*' '@types/mssql': ^9.1.4 '@types/pg': '*' @@ -5070,7 +5071,7 @@ packages: arktype: '>=2.0.0' better-sqlite3: '>=9.3.0' bun-types: '*' - effect: '>=4.0.0-beta.83 || >=4.0.0' + effect: '>=4.0.0-beta.105 || >=4.0.0' expo-sqlite: '>=14.0.0' mssql: ^11.0.1 mysql2: '>=2' @@ -5078,7 +5079,7 @@ packages: postgres: '>=3' sql.js: '>=1' sqlite3: '>=5' - typebox: '>=1.0.0' + typebox: '>=1.2.0' valibot: '>=1.0.0-beta.7' zod: ^3.25.0 || ^4.0.0 peerDependenciesMeta: @@ -5086,6 +5087,8 @@ packages: optional: true '@cloudflare/workers-types': optional: true + '@drizzle-team/minipg': + optional: true '@effect/sql-d1': optional: true '@effect/sql-libsql': @@ -9655,24 +9658,24 @@ snapshots: dependencies: '@octokit/openapi-types': 29.0.1 - '@orpc/client@2.0.0-beta.41': + '@orpc/client@2.0.0-beta.42': dependencies: - '@orpc/shared': 2.0.0-beta.41 + '@orpc/shared': 2.0.0-beta.42 '@standard-server/core': 0.10.1 '@standard-server/fetch': 0.10.1 '@standard-server/peer': 0.10.1 - '@orpc/contract@2.0.0-beta.41': + '@orpc/contract@2.0.0-beta.42': dependencies: - '@orpc/client': 2.0.0-beta.41 - '@orpc/shared': 2.0.0-beta.41 + '@orpc/client': 2.0.0-beta.42 + '@orpc/shared': 2.0.0-beta.42 '@standard-schema/spec': 1.1.0 - '@orpc/server@2.0.0-beta.41': + '@orpc/server@2.0.0-beta.42': dependencies: - '@orpc/client': 2.0.0-beta.41 - '@orpc/contract': 2.0.0-beta.41 - '@orpc/shared': 2.0.0-beta.41 + '@orpc/client': 2.0.0-beta.42 + '@orpc/contract': 2.0.0-beta.42 + '@orpc/shared': 2.0.0-beta.42 '@standard-server/aws-lambda': 0.10.1 '@standard-server/core': 0.10.1 '@standard-server/fastify': 0.10.1 @@ -9681,7 +9684,7 @@ snapshots: '@standard-server/peer': 0.10.1 cookie: 2.0.1 - '@orpc/shared@2.0.0-beta.41': + '@orpc/shared@2.0.0-beta.42': dependencies: '@standard-server/shared': 0.10.1 radash: 12.1.1 @@ -11396,7 +11399,7 @@ snapshots: dependencies: is-obj: 2.0.0 - drizzle-kit@1.0.0-rc.4: + drizzle-kit@1.0.0-rc.5-5935859: dependencies: '@drizzle-team/brocli': 0.12.1 '@js-temporal/polyfill': 0.5.1 @@ -11404,7 +11407,7 @@ snapshots: get-tsconfig: 4.14.3 jiti: 2.7.0 - drizzle-orm@1.0.0-rc.4(zod@4.6.5): + drizzle-orm@1.0.0-rc.5-5935859(zod@4.6.5): optionalDependencies: zod: 4.6.5 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2d457e2..d92c0f8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -43,9 +43,9 @@ catalog: "@eslint/markdown": 8.0.3 "@exadev/eslint-config": 3.1.0 "@exadev/semantic-release-workspace": 3.2.0 - "@orpc/client": 2.0.0-beta.41 - "@orpc/contract": 2.0.0-beta.41 - "@orpc/server": 2.0.0-beta.41 + "@orpc/client": 2.0.0-beta.42 + "@orpc/contract": 2.0.0-beta.42 + "@orpc/server": 2.0.0-beta.42 "@playwright/test": 1.63.0 "@resvg/resvg-js": 2.6.2 "@semantic-release/changelog": 7.0.0 @@ -73,8 +73,8 @@ catalog: "@xyflow/react": 12.12.0 commander: 15.0.0 conventional-changelog-conventionalcommits: 9.3.1 - drizzle-kit: 1.0.0-rc.4 - drizzle-orm: 1.0.0-rc.4 + drizzle-kit: 1.0.0-rc.5-5935859 + drizzle-orm: 1.0.0-rc.5-5935859 elkjs: 0.12.0 eslint: 10.12.0 eslint-config-prettier: 10.1.8 diff --git a/scripts/check-published-manifests.ts b/scripts/check-published-manifests.ts index ebcfc8d..7a8f622 100644 --- a/scripts/check-published-manifests.ts +++ b/scripts/check-published-manifests.ts @@ -12,7 +12,7 @@ import { parse } from "yaml"; * * `dependencies` and `devDependencies` name exact versions, each third-party one equal to the catalog's and each sibling one equal to the sibling's own, so the published package was built and tested against what it installs. * - * `peerDependencies` are the consumer's own installs, so pinning one to a single version would force every consumer onto exactly that version. A peer with a stable version is declared as a caret range on one version, `^`, whose floor is the lowest version tested: the catalog's version, which every test in the workspace runs against, must satisfy it, and the smoke test installs the packed package beside each peer at its floor. A peer whose version is a prerelease (`2.0.0-beta.41`, `1.0.0-rc.4`) stays exact and equal to the catalog's, because a prerelease has no compatible-range semantics: a caret range on one matches only later prereleases of that same version, which may break anything, and no stable release. + * `peerDependencies` are the consumer's own installs, so pinning one to a single version would force every consumer onto exactly that version. A peer with a stable version is declared as a caret range on one version, `^`, whose floor is the lowest version tested: the catalog's version, which every test in the workspace runs against, must satisfy it, and the smoke test installs the packed package beside each peer at its floor. A peer whose version is a prerelease (`2.0.0-beta.42`, `1.0.0-rc.5-5935859`) stays exact and equal to the catalog's, because a prerelease has no compatible-range semantics: a caret range on one matches only later prereleases of that same version, which may break anything, and no stable release. */ /** One rule a manifest or the catalog breaks. */ From af479183a09e0ca9ae430bb4f3929f3191f5066a Mon Sep 17 00:00:00 2001 From: Joseph Mearman Date: Mon, 12 Oct 2026 08:10:12 +0100 Subject: [PATCH 2/2] fix(sqlite-wasm): pass SQL codecs to Drizzle's sqlite-proxy driver Drizzle 1.0.0-rc.5 decodes stored values through a codec set supplied by the driver, and the sqlite-proxy driver has none by default. JSON text columns came back as strings and integer booleans as numbers, so every model load failed schema validation inside the worker. SQLite wasm answers in array mode with native values and Uint8Array blobs, as sql.js does, so the sql.js codecs apply. --- .../graph/sqlite-wasm/src/database.ts | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/packages/adapters/graph/sqlite-wasm/src/database.ts b/packages/adapters/graph/sqlite-wasm/src/database.ts index 2ed8abf..9357e3a 100644 --- a/packages/adapters/graph/sqlite-wasm/src/database.ts +++ b/packages/adapters/graph/sqlite-wasm/src/database.ts @@ -4,6 +4,7 @@ import type { Sqlite3Static, } from "@sqlite.org/sqlite-wasm"; import type { Exclusive } from "@exadev/process-graph-store-sqlite"; +import { sqlJsCodecs } from "drizzle-orm/sql-js/codecs"; import { drizzle, type SqliteRemoteDatabase } from "drizzle-orm/sqlite-proxy"; /** Where the database lives: an OPFS `opfs-sahpool` pool and a file in it. */ @@ -38,24 +39,28 @@ export const openWorkerDatabase = ( let pool: Promise | undefined; let open: Database | undefined; - // The store reads through `values`, `all` and query builders, never `.get()`, so `get` is refused rather than answered: the proxy's declared result type has no way to say "no row", which Drizzle's `get` signals with a missing `rows`. - const db = drizzle(async (statement, params, method) => { - if (method === "get") { - throw new Error("The graph store's worker database does not serve get"); - } - if (open === undefined) { - throw new Error( - "The database was used outside a store operation; only the store's exclusive section may run statements", - ); - } - const rows = open.exec(statement, { - bind: params, - rowMode: "array", - returnValue: "resultRows", - }); + /* The store reads through `values`, `all` and query builders, never `.get()`, so `get` is refused rather than answered: the proxy's declared result type has no way to say "no row", which Drizzle's `get` signals with a missing `rows`. + The proxy driver decodes nothing by itself: the codecs say how SQLite's stored values become the columns' types (JSON text, booleans, timestamps). SQLite wasm answers in array mode with native JavaScript values and `Uint8Array` blobs, which is what sql.js answers with, so its codecs apply. */ + const db = drizzle( + async (statement, params, method) => { + if (method === "get") { + throw new Error("The graph store's worker database does not serve get"); + } + if (open === undefined) { + throw new Error( + "The database was used outside a store operation; only the store's exclusive section may run statements", + ); + } + const rows = open.exec(statement, { + bind: params, + rowMode: "array", + returnValue: "resultRows", + }); - return Promise.resolve({ rows }); - }); + return Promise.resolve({ rows }); + }, + { codecs: sqlJsCodecs }, + ); const exclusive: Exclusive = async (operation) => navigator.locks.request(location.pool, { mode: "exclusive" }, async () => {