Skip to content

Commit 47d923c

Browse files
os-zhuangclaude
andauthored
fix(driver-sql): drop vestigial sqlite3 peerDependency; SQLite uses better-sqlite3 (#3277) (#3283)
* chore: bump objectui to 2e7d7f0f7ee7 feat(evaluator): route CEL-dialect component/action predicates to the canonical engine (#2664) objectui@2e7d7f0f7ee76b838f580e8a36b74f1309b204fc * fix(driver-sql): drop vestigial sqlite3 peerDependency; SQLite uses better-sqlite3 (#3277) driver-sql declared peerDependencies.sqlite3 ^5.0.0, but nothing loads sqlite3 at runtime — every SQLite path builds a `client: 'better-sqlite3'` Knex driver (resolveSqliteDriver, the datasource driver factory, the whole test suite), and better-sqlite3 is already an optionalDependency (auto-installed, with the #2229 native→wasm→memory fallback covering a failed native build). The README already documents `pnpm add better-sqlite3`. The stale peer only misled: a consumer resolving peer deps could `pnpm add sqlite3` (never used) believing they'd satisfied the SQLite requirement. Removing it aligns the manifest with the code and docs and drops the sqlite3→node-gyp build subtree from the lockfile. The `sqlite3` string alias still maps to better-sqlite3 in the driver factory and dialect detection, so `driver: 'sqlite3'` config keeps working. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent a59ba05 commit 47d923c

5 files changed

Lines changed: 84 additions & 553 deletions

File tree

.changeset/console-2e7d7f0f7ee7.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
"@objectstack/console": patch
3+
---
4+
5+
Console (objectui) refreshed to `2e7d7f0f7ee7`. Frontend changes in this range:
6+
7+
- feat(evaluator): route CEL-dialect component/action predicates to the canonical engine (#2664)
8+
- fix(grid): explain the import wizard's disabled Next and silent downgrade (#2640, #2639) (#2646)
9+
- fix(form+detail): single-file children stay inline grids; drop non-spec `attachment` (#2654, #2655) (#2656)
10+
- feat(access): localize curated capability labels client-side (#2600 B5 follow-up) (#2657)
11+
- feat(access): localize capability picker group headers (#2600 B5, objectui side) (#2653)
12+
- fix(access): Studio permission matrix — stop clipping the Bulk column at narrow widths (#2600 B3) (#2652)
13+
- feat(access): Studio permission matrix — field-level bulk + filter for wide objects (#2600 B4) (#2651)
14+
- feat(access): Studio Explain panel — package-scoped object dropdown instead of free-text api-name (#2600 B2) (#2650)
15+
- feat(access): Studio permission matrix — collapse identity + zero-grant capabilities so the matrix hits the first screen (#2600 B1) (#2649)
16+
- feat(plugin-list): 列表工具栏增加手动刷新按钮 (#2634) (#2645)
17+
- fix(studio): approver Type dropdown drops deprecated `role`, membership-tier picker (#2643)
18+
- fix(components): route internal html-page links through the SPA navigation handler (#2642)
19+
- feat(discovery): trust only handlerReady/available services (ADR-0076 D12) (#2637)
20+
- feat(types)!: adopt @objectstack/spec 15.1.1; drop value-erased spec/ui `…Schema` re-exports (#2589)
21+
- feat(console): dev-seeded admin credentials hint on the login page (#2635)
22+
- fix(auth): 注册页去掉重复的「or」分隔线(与 #2629 登录页修复对齐) (#2633)
23+
- feat(app-shell/react): adapt to framework 15.1 — atomic publish rendering + honest discovery (#2630)
24+
- fix(chatbot): plan approval flips the card to a Building… badge immediately (#2632)
25+
- fix(app-shell,components): welcome CTA deep-links into the environment create dialog (#2631)
26+
- fix(auth): login-page config race + sign-in watchdog — never strand SSO-only users on a password wall (#2629)
27+
- feat(types): derive ListViewSchema from @objectstack/spec/ui (#2231) (#2622)
28+
29+
objectui range: `077e45b4bc55...2e7d7f0f7ee7`
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
"@objectstack/driver-sql": patch
3+
---
4+
5+
fix(driver-sql): drop the vestigial `sqlite3` peerDependency — the SQLite path uses `better-sqlite3` (#3277)
6+
7+
`package.json` advertised `peerDependencies.sqlite3: "^5.0.0"`, but the driver never
8+
loads `sqlite3` at runtime. Every first-party SQLite construction site builds a
9+
`client: 'better-sqlite3'` Knex driver (`resolveSqliteDriver` in
10+
`@objectstack/service-datasource`, the datasource driver factory, and the whole
11+
driver test suite), and the README already tells consumers to `pnpm add better-sqlite3`.
12+
`better-sqlite3` is auto-provided as an `optionalDependency` (with the native → wasm →
13+
memory step-down of #2229 covering a failed native build), so the SQLite requirement is
14+
already satisfied without the consumer installing anything.
15+
16+
The stale `sqlite3` peer only misled: a consumer resolving peer deps could `pnpm add
17+
sqlite3` (never used) while believing they'd satisfied the SQLite requirement. Removing
18+
it aligns the declared contract with the code and the docs. The `sqlite3` string alias
19+
still maps to `better-sqlite3` in the driver factory and dialect detection, so
20+
`driver: 'sqlite3'` config keeps working — it just resolves to `better-sqlite3` like
21+
everything else.

.objectui-sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
077e45b4bc5517bddeab8bb1ea35fcf49dccdd34
1+
2e7d7f0f7ee76b838f580e8a36b74f1309b204fc

packages/plugins/driver-sql/package.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
"peerDependencies": {
3232
"mysql2": "^3.0.0",
3333
"pg": "^8.0.0",
34-
"sqlite3": "^5.0.0",
3534
"tedious": "^18.0.0"
3635
},
3736
"peerDependenciesMeta": {
@@ -41,9 +40,6 @@
4140
"pg": {
4241
"optional": true
4342
},
44-
"sqlite3": {
45-
"optional": true
46-
},
4743
"tedious": {
4844
"optional": true
4945
}

0 commit comments

Comments
 (0)