Skip to content

Commit 0773dc1

Browse files
committed
test(metadata-protocol): 迁移测试改用内置 node:sqlite,不再新增 better-sqlite3 依赖
本包除该测试外不需要任何 SQL 依赖,为跑测试而把一个原生模块写进 lockfile 并不划算。Node 内置的 `node:sqlite` 提供同样真实的 SQLite —— 真实的 partial index、真实的 UNIQUE 约束 —— 且零依赖。 顺带的好处:pnpm-lock.yaml 回到与 main 完全一致,本 PR 不再触发 「Validate Package Dependencies」的 OSV 扫描。该扫描只在 lockfile 变动时 运行,而它当前会因 main 上既有的 dompurify@3.4.12 公告 (GHSA-55q2-fjhq-7xh7, dependabot #16) 判红 —— 与本 PR 无关。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019Q7oc7ASjh8yxyS3Yz78We
1 parent e0cafb5 commit 0773dc1

3 files changed

Lines changed: 10 additions & 7 deletions

File tree

packages/metadata-protocol/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
},
4444
"devDependencies": {
4545
"@types/node": "^26.1.2",
46-
"better-sqlite3": "^13.0.2",
4746
"tsup": "^8.5.1",
4847
"typescript": "^6.0.3",
4948
"vitest": "^4.1.10"

packages/metadata-protocol/src/migrations/view-definition-active-index.test.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
22

3-
import Database from 'better-sqlite3';
3+
import { DatabaseSync } from 'node:sqlite';
4+
45
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
56

67
import {
@@ -22,9 +23,15 @@ import {
2223
* emits today — `packages/drivers/driver-sql/src/declared-index-retired-keys.test.ts`
2324
* pins that string against the same engine, so the fixture below is that test's
2425
* measured output rather than a guess at it.
26+
*
27+
* Uses Node's built-in `node:sqlite` rather than `better-sqlite3` (which the
28+
* driver packages use) on purpose: this package needs no SQL dependency of its
29+
* own for anything else, and adding one to run a test would put a native module
30+
* in the lockfile purely for fixture purposes. The built-in gives the same real
31+
* SQLite — real partial indexes, real UNIQUE enforcement — for free.
2532
*/
2633
describe('sys_view_definition active-row uniqueness (#5839)', () => {
27-
let db: InstanceType<typeof Database>;
34+
let db: DatabaseSync;
2835
let exec: IndexExec;
2936

3037
/** Exactly the DDL `syncDeclaredIndexes` produces for the declaration. */
@@ -59,7 +66,7 @@ describe('sys_view_definition active-row uniqueness (#5839)', () => {
5966
};
6067

6168
beforeEach(() => {
62-
db = new Database(':memory:');
69+
db = new DatabaseSync(':memory:');
6370
db.exec(`CREATE TABLE sys_view_definition (
6471
id TEXT PRIMARY KEY, name TEXT, organization_id TEXT, owner TEXT, state TEXT
6572
);`);

pnpm-lock.yaml

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)