diff --git a/demos/in-worker-demo/package.json b/demos/in-worker-demo/package.json index 384719d..fc995d0 100644 --- a/demos/in-worker-demo/package.json +++ b/demos/in-worker-demo/package.json @@ -6,6 +6,9 @@ "build": "vite build", "preview": "vite preview" }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } diff --git a/demos/in-worker-demo/src/workers/worker.ts b/demos/in-worker-demo/src/workers/worker.ts index ef45504..8366b4b 100644 --- a/demos/in-worker-demo/src/workers/worker.ts +++ b/demos/in-worker-demo/src/workers/worker.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../../src/index.js'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; self.onmessage = async (e) => { if (e.data.type === 'start') { diff --git a/demos/kvvfs-demo/package.json b/demos/kvvfs-demo/package.json index 0b34955..65fd48e 100644 --- a/demos/kvvfs-demo/package.json +++ b/demos/kvvfs-demo/package.json @@ -6,6 +6,9 @@ "build": "vite build", "preview": "vite preview" }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } diff --git a/demos/kvvfs-demo/src/main.ts b/demos/kvvfs-demo/src/main.ts index 8572df0..f912efd 100644 --- a/demos/kvvfs-demo/src/main.ts +++ b/demos/kvvfs-demo/src/main.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../src/index.js'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; const runDemo = async () => { const sqlite3 = await sqlite3InitModule(); diff --git a/demos/main-thread-demo/package.json b/demos/main-thread-demo/package.json index 0604efa..8f56835 100644 --- a/demos/main-thread-demo/package.json +++ b/demos/main-thread-demo/package.json @@ -6,6 +6,9 @@ "build": "vite build", "preview": "vite preview" }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } diff --git a/demos/main-thread-demo/src/main.ts b/demos/main-thread-demo/src/main.ts index b55fb5e..001e8a5 100644 --- a/demos/main-thread-demo/src/main.ts +++ b/demos/main-thread-demo/src/main.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../src/index.js'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; const runDemo = async () => { const sqlite3 = await sqlite3InitModule(); diff --git a/demos/opfs-demo/package.json b/demos/opfs-demo/package.json index b603dfa..bbc74b6 100644 --- a/demos/opfs-demo/package.json +++ b/demos/opfs-demo/package.json @@ -6,6 +6,9 @@ "build": "vite build", "preview": "vite preview" }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } diff --git a/demos/opfs-demo/src/workers/worker.ts b/demos/opfs-demo/src/workers/worker.ts index e8155f4..176ebf0 100644 --- a/demos/opfs-demo/src/workers/worker.ts +++ b/demos/opfs-demo/src/workers/worker.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../../src/index.js'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; self.onmessage = async (e) => { if (e.data.type === 'start') { diff --git a/demos/opfs-wl-demo/package.json b/demos/opfs-wl-demo/package.json index 57580ed..550f5ff 100644 --- a/demos/opfs-wl-demo/package.json +++ b/demos/opfs-wl-demo/package.json @@ -6,6 +6,9 @@ "build": "vite build", "preview": "vite preview" }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } diff --git a/demos/opfs-wl-demo/src/workers/worker.ts b/demos/opfs-wl-demo/src/workers/worker.ts index f256c76..6f9195f 100644 --- a/demos/opfs-wl-demo/src/workers/worker.ts +++ b/demos/opfs-wl-demo/src/workers/worker.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../../src/index.js'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; self.onmessage = async (e) => { if (e.data.type === 'start') { diff --git a/demos/sahpool-demo/package.json b/demos/sahpool-demo/package.json index e342b7e..502abeb 100644 --- a/demos/sahpool-demo/package.json +++ b/demos/sahpool-demo/package.json @@ -6,6 +6,9 @@ "build": "vite build", "preview": "vite preview" }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } diff --git a/demos/sahpool-demo/src/workers/worker.ts b/demos/sahpool-demo/src/workers/worker.ts index 74fe10b..adbb157 100644 --- a/demos/sahpool-demo/src/workers/worker.ts +++ b/demos/sahpool-demo/src/workers/worker.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../../src/index.js'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; self.onmessage = async (e) => { if (e.data.type === 'start') { diff --git a/demos/sahpool-parcel-demo/package.json b/demos/sahpool-parcel-demo/package.json index 03739e3..35d03e3 100644 --- a/demos/sahpool-parcel-demo/package.json +++ b/demos/sahpool-parcel-demo/package.json @@ -7,9 +7,13 @@ }, "targets": { "default": { - "outputFormat": "esmodule" + "outputFormat": "esmodule", + "optimize": false } }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "parcel": "^2.16.1" } diff --git a/demos/sahpool-parcel-demo/src/main.js b/demos/sahpool-parcel-demo/src/main.js index 0b697dc..ea0eccf 100644 --- a/demos/sahpool-parcel-demo/src/main.js +++ b/demos/sahpool-parcel-demo/src/main.js @@ -1,4 +1,4 @@ -const worker = new Worker(new URL('./workers/worker.js', import.meta.url), { +const worker = new Worker(new URL('./workers/worker.ts', import.meta.url), { type: 'module', }); diff --git a/demos/sahpool-parcel-demo/src/workers/worker.js b/demos/sahpool-parcel-demo/src/workers/worker.ts similarity index 79% rename from demos/sahpool-parcel-demo/src/workers/worker.js rename to demos/sahpool-parcel-demo/src/workers/worker.ts index 955822b..eb24d91 100644 --- a/demos/sahpool-parcel-demo/src/workers/worker.js +++ b/demos/sahpool-parcel-demo/src/workers/worker.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../../dist/index.mjs'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; self.onmessage = async (e) => { if (e.data.type !== 'start') return; @@ -21,6 +21,7 @@ self.onmessage = async (e) => { db.close(); self.postMessage({ type: 'success', rows }); } catch (err) { - self.postMessage({ type: 'error', message: err.message }); + const message = err instanceof Error ? err.message : String(err); + self.postMessage({ type: 'error', message }); } }; diff --git a/demos/sahpool-rsbuild-demo/package.json b/demos/sahpool-rsbuild-demo/package.json index 6923966..68ab7e5 100644 --- a/demos/sahpool-rsbuild-demo/package.json +++ b/demos/sahpool-rsbuild-demo/package.json @@ -5,6 +5,9 @@ "dev": "rsbuild dev --port 5175", "build": "rsbuild build" }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "@rsbuild/core": "^1.5.13" } diff --git a/demos/sahpool-rsbuild-demo/src/main.js b/demos/sahpool-rsbuild-demo/src/main.js index 0b697dc..ea0eccf 100644 --- a/demos/sahpool-rsbuild-demo/src/main.js +++ b/demos/sahpool-rsbuild-demo/src/main.js @@ -1,4 +1,4 @@ -const worker = new Worker(new URL('./workers/worker.js', import.meta.url), { +const worker = new Worker(new URL('./workers/worker.ts', import.meta.url), { type: 'module', }); diff --git a/demos/sahpool-rsbuild-demo/src/workers/worker.js b/demos/sahpool-rsbuild-demo/src/workers/worker.ts similarity index 79% rename from demos/sahpool-rsbuild-demo/src/workers/worker.js rename to demos/sahpool-rsbuild-demo/src/workers/worker.ts index f8ab23d..2a48839 100644 --- a/demos/sahpool-rsbuild-demo/src/workers/worker.js +++ b/demos/sahpool-rsbuild-demo/src/workers/worker.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../../dist/index.mjs'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; self.onmessage = async (e) => { if (e.data.type !== 'start') return; @@ -21,6 +21,7 @@ self.onmessage = async (e) => { db.close(); self.postMessage({ type: 'success', rows }); } catch (err) { - self.postMessage({ type: 'error', message: err.message }); + const message = err instanceof Error ? err.message : String(err); + self.postMessage({ type: 'error', message }); } }; diff --git a/demos/sahpool-webpack-demo/package.json b/demos/sahpool-webpack-demo/package.json index 4eb492a..9157cfc 100644 --- a/demos/sahpool-webpack-demo/package.json +++ b/demos/sahpool-webpack-demo/package.json @@ -5,6 +5,9 @@ "dev": "webpack serve --config webpack.config.js --mode development", "build": "webpack --config webpack.config.js --mode production" }, + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "webpack": "^5.102.1", "webpack-cli": "^7.0.2", diff --git a/demos/sahpool-webpack-demo/src/main.js b/demos/sahpool-webpack-demo/src/main.js index 0b697dc..ea0eccf 100644 --- a/demos/sahpool-webpack-demo/src/main.js +++ b/demos/sahpool-webpack-demo/src/main.js @@ -1,4 +1,4 @@ -const worker = new Worker(new URL('./workers/worker.js', import.meta.url), { +const worker = new Worker(new URL('./workers/worker.ts', import.meta.url), { type: 'module', }); diff --git a/demos/sahpool-webpack-demo/src/workers/worker.js b/demos/sahpool-webpack-demo/src/workers/worker.ts similarity index 79% rename from demos/sahpool-webpack-demo/src/workers/worker.js rename to demos/sahpool-webpack-demo/src/workers/worker.ts index 421fbd4..cd7b8bf 100644 --- a/demos/sahpool-webpack-demo/src/workers/worker.js +++ b/demos/sahpool-webpack-demo/src/workers/worker.ts @@ -1,4 +1,4 @@ -import sqlite3InitModule from '../../../../dist/index.mjs'; +import sqlite3InitModule from '@sqlite.org/sqlite-wasm'; self.onmessage = async (e) => { if (e.data.type !== 'start') return; @@ -21,6 +21,7 @@ self.onmessage = async (e) => { db.close(); self.postMessage({ type: 'success', rows }); } catch (err) { - self.postMessage({ type: 'error', message: err.message }); + const message = err instanceof Error ? err.message : String(err); + self.postMessage({ type: 'error', message }); } }; diff --git a/package-lock.json b/package-lock.json index 83a385a..2134c8b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,18 +12,18 @@ "demos/*" ], "devDependencies": { - "@types/node": "^25.6.2", - "@typescript/native-preview": "^7.0.0-dev.20260508.1", - "@vitest/browser": "^4.1.5", - "@vitest/browser-playwright": "^4.1.5", - "happy-dom": "20.9.0", - "lefthook": "2.1.6", - "oxfmt": "^0.48.0", - "playwright": "^1.59.1", - "publint": "^0.3.19", - "tsdown": "^0.22.0", + "@types/node": "^26.0.0", + "@typescript/native-preview": "^7.0.0-dev.20260622.1", + "@vitest/browser": "^4.1.9", + "@vitest/browser-playwright": "^4.1.9", + "happy-dom": "20.10.6", + "lefthook": "2.1.9", + "oxfmt": "^0.56.0", + "playwright": "^1.61.0", + "publint": "^0.3.21", + "tsdown": "^0.22.3", "typescript": "^6.0.3", - "vitest": "^4.1.5" + "vitest": "^4.1.9" }, "engines": { "node": ">=22" @@ -31,54 +31,81 @@ }, "demos/in-worker-demo": { "name": "@sqlite.org/in-worker-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } }, "demos/kvvfs-demo": { "name": "@sqlite.org/kvvfs-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } }, "demos/main-thread-demo": { "name": "@sqlite.org/main-thread-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } }, "demos/opfs-demo": { "name": "@sqlite.org/opfs-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } }, "demos/opfs-wl-demo": { "name": "@sqlite.org/opfs-wl-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } }, "demos/sahpool-demo": { "name": "@sqlite.org/sahpool-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "vite": "^8.0.9" } }, "demos/sahpool-parcel-demo": { "name": "@sqlite.org/sahpool-parcel-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "parcel": "^2.16.1" } }, "demos/sahpool-rsbuild-demo": { "name": "@sqlite.org/sahpool-rsbuild-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "@rsbuild/core": "^1.5.13" } }, "demos/sahpool-webpack-demo": { "name": "@sqlite.org/sahpool-webpack-demo", + "dependencies": { + "@sqlite.org/sqlite-wasm": "file:../.." + }, "devDependencies": { "webpack": "^5.102.1", "webpack-cli": "^7.0.2", @@ -86,71 +113,71 @@ } }, "node_modules/@babel/generator": { - "version": "8.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-8.0.0-rc.4.tgz", - "integrity": "sha512-YZ+FuIgkj7KrIb2a2X1XiY0QYgDxAbVbYP64SjwJzOK3euCsUerzenh2oqdsmKuPSlhzmFOOklnxzHAzXagvpw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-8.0.0.tgz", + "integrity": "sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^8.0.0-rc.4", - "@babel/types": "^8.0.0-rc.4", + "@babel/parser": "^8.0.0", + "@babel/types": "^8.0.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "@types/jsesc": "^2.5.0", "jsesc": "^3.0.2" }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": "^22.18.0 || >=24.11.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "8.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-8.0.0-rc.4.tgz", - "integrity": "sha512-dluR3v287dp6YPF57kyKKrHPKffUeuxH1zQcF1WD30TeFzWXhDiVi1U6PkqaDB0++H1PeCwRhmYl4DvoerlPIw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-8.0.0.tgz", + "integrity": "sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==", "dev": true, "license": "MIT", "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": "^22.18.0 || >=24.11.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "8.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-8.0.0-rc.4.tgz", - "integrity": "sha512-HTD3bskipk5MSm08twTW6832jzIXUhxMddy4NPPzIMuyMEsrs0ZgwAaMj5ubB5+6hMlUjDu17vNconEmwsmpYg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-8.0.2.tgz", + "integrity": "sha512-9Fr9QeyCAyi1BR1jKZ6uYQ24EIhQUx5ReHfQU7drOE+TPOb+w11/dsqLkMOT2U29OdCT71XajrOT8xDc1C7orA==", "dev": true, "license": "MIT", "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": "^22.18.0 || >=24.11.0" } }, "node_modules/@babel/parser": { - "version": "8.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-8.0.0-rc.4.tgz", - "integrity": "sha512-0S/1yefMa15N4i2v3t8Fw9pgMHhf2gF6Lc1UEXI96Ls6FNAjqvHHZouZ2ZS/deqLhbMFtmfVeFac6iTsvFbLwA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-8.0.0.tgz", + "integrity": "sha512-aLxAE+imI9bCcyaPrUDjBv3uSkWieifjLe0kuFOZF0zli0L6GCsTmsePnTr55adbIAgYz2zhN1vnFimCBUYcRQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^8.0.0-rc.4" + "@babel/types": "^8.0.0" }, "bin": { "parser": "bin/babel-parser.js" }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": "^22.18.0 || >=24.11.0" } }, "node_modules/@babel/types": { - "version": "8.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-8.0.0-rc.4.tgz", - "integrity": "sha512-bw30DV880P/VYtsjWWdoWmJpb9S2Vn1/PqayyccTELzRQ/HslIO7+BD9rNoZ4AAFOAjC1vrNeBCkAsyh6Ibfww==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-8.0.0.tgz", + "integrity": "sha512-K8ponJDxBwDHigkeFqaqT5wLGl4bTlwMafR8k7b5CPxr6Ww+UG9ls8Yx6Tcpboxu97eeGVEEyKcHmEyOwN1vSw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^8.0.0-rc.4", - "@babel/helper-validator-identifier": "^8.0.0-rc.4" + "@babel/helper-string-parser": "^8.0.0", + "@babel/helper-validator-identifier": "^8.0.0" }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": "^22.18.0 || >=24.11.0" } }, "node_modules/@blazediff/core": { @@ -951,14 +978,14 @@ ] }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@tybys/wasm-util": "^0.10.1" + "@tybys/wasm-util": "^0.10.2" }, "funding": { "type": "github", @@ -993,9 +1020,9 @@ } }, "node_modules/@oxfmt/binding-android-arm-eabi": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.48.0.tgz", - "integrity": "sha512-uwqk+/KhQvBIpULD8SMM/zAafMRC/+DV/xsEQjkkIsJ/kLmEI/2bxonVowcYTiXqqZ/a0FEW8DPkZY3VvwELDA==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.56.0.tgz", + "integrity": "sha512-CSCxi7ovYojgfdPOdUb9T508HKeAdDIKeRGg7x8IZwVJrWz9gVgX7MbUnFqtQAE4QvoNo07mj2JlwnOzJw4qqA==", "cpu": [ "arm" ], @@ -1010,9 +1037,9 @@ } }, "node_modules/@oxfmt/binding-android-arm64": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.48.0.tgz", - "integrity": "sha512-VUCiKuXK5+McVssgHEJdrcGK7hRJzrRb36zm9/jwzMholyYt4BgXhw5Nm1V1DX6Ce717Zi/1jk432b/tgmQgtQ==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.56.0.tgz", + "integrity": "sha512-HYJFnd+PkDwf6S9ZPGzXXtjNqvRWFnnhdbWaouh4mi/SxU8wmDuzlMn3xo/wDTGnr4Q1VA7ZzOaE/D4biW0W6A==", "cpu": [ "arm64" ], @@ -1027,9 +1054,9 @@ } }, "node_modules/@oxfmt/binding-darwin-arm64": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.48.0.tgz", - "integrity": "sha512-IkKp8rnIyQLW6Jt+6jragCbUVYSayk55lapiprLjIVvt4NczLyO/nwX2GgefLQ5iaBdfS8UEAFgCs/pLO6Cl0w==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.56.0.tgz", + "integrity": "sha512-sftR/bEOr+t1gs+evwsHi/Xbq2FAPA2uU3VMr8n6ZU9PoK/IMSfnfu7+OEe/uy1+knhrFl4Wvy7Vkm3uo9mJ7g==", "cpu": [ "arm64" ], @@ -1044,9 +1071,9 @@ } }, "node_modules/@oxfmt/binding-darwin-x64": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.48.0.tgz", - "integrity": "sha512-+aFuhsGIuvnoOjXyKVHMhPKJZR1kQkAl8QyrKoMlA7yJsSTC3N0Asl53La8TChSHhW8epToQ/Q0nvLmEmfNmLg==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.56.0.tgz", + "integrity": "sha512-z66SdjLqa3MUPKvTp3Mbb5nSjKSbnYxJGeB+Wx987s8T5hPcIRiBMfnJ6zcPgYtQn3x5xjvdzNVkXrSeYH6ZFg==", "cpu": [ "x64" ], @@ -1061,9 +1088,9 @@ } }, "node_modules/@oxfmt/binding-freebsd-x64": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.48.0.tgz", - "integrity": "sha512-fbqzQL8FjI9gGnktI7RIo0dksDziTAYBy7xlI7jU7eID5fxLF/25fS4Xj6GydD8Y5oWHL83U4NK160QaOAxtyg==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.56.0.tgz", + "integrity": "sha512-t2tkrV1vtZyaItSQ71dTi2ZVKZEI39b/LqLT12V5KMfIeXK6N32TUC1jhOXKVQmhECq9j2ZXMQV3JeT1kh9Vmg==", "cpu": [ "x64" ], @@ -1078,9 +1105,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm-gnueabihf": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.48.0.tgz", - "integrity": "sha512-hn4i0zhAyTiB3ZHjQfYUZkDvrbVkohw1S7pySWxWUoZ87HnkDoTFThj7QTxk40hNPOTUP0vHbPRNamFIv1HBJQ==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.56.0.tgz", + "integrity": "sha512-+gCy+Tp3RHeXQ9y/QrS76lXIpZkbziTyp6hIgjB2MssCwfMph3vG/GEfkhO34Rai1vhYIaUkvv8UT1BcDorJPw==", "cpu": [ "arm" ], @@ -1095,9 +1122,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm-musleabihf": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.48.0.tgz", - "integrity": "sha512-R4WBD9qF3QM9hqgdAa+fBGXmquTvDUujrPQ36t2Sjk8RPOSKGHDeN7l/khr10hqbQaOq9KCgPHG9ubNET/X/RQ==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.56.0.tgz", + "integrity": "sha512-0kKkVvQ2I+FJ2sxQyUu1zJ0yWP5kcWse/yVFnGQSFCXMwSSkfEaUGu0dW774O7nyy3jrcBGap7OSc8dZmU/CdA==", "cpu": [ "arm" ], @@ -1112,9 +1139,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm64-gnu": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.48.0.tgz", - "integrity": "sha512-5bVdwSwlm1M8wbYCorLOxWxUBw/8tBvHYyQNIfwWVPwOJaj5vg1APSGJQVpwJfV5VNE9PSrR91UKEpoNwHhqUA==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.56.0.tgz", + "integrity": "sha512-npkA2siMbyWRh+wEhi1aTAx4RirukGcGNt8V4Ch86pG+xU9aurqS1MZOnKYMu03ISwat3rB6zkQx51SsB9obNw==", "cpu": [ "arm64" ], @@ -1132,9 +1159,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm64-musl": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.48.0.tgz", - "integrity": "sha512-vCS3Fk7gFslTqE1lUE2IlroyVV7u/9SmMA/uBqDoshuck2psGWcjW0ePyPZI3rM3+qtf2pDaMVIKMHozraifuw==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.56.0.tgz", + "integrity": "sha512-UekqOjGkV4/MkqreCV9SPIB2jlR3/HbXrmhV1rVXJZ9wfDXMyCMriLtq3tHqLY4PkbVWNtfcm1kMojJ26KLSJw==", "cpu": [ "arm64" ], @@ -1152,9 +1179,9 @@ } }, "node_modules/@oxfmt/binding-linux-ppc64-gnu": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.48.0.tgz", - "integrity": "sha512-gKtfFfueUClXDumyoHUbymqRf7prHejOOyzJK0eIJn93GF9JBdFHdo60TM1ZBHxkEwZvjuOgHmKtneKbEOc/Eg==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.56.0.tgz", + "integrity": "sha512-XSzveSpeZMD5XJpew5lRFVtNnT04xd3rJxENXmk7wkZzN9oWzv2aFJyoNDhOtoz69BYaS/fg4SYl+CfEZRpB0Q==", "cpu": [ "ppc64" ], @@ -1172,9 +1199,9 @@ } }, "node_modules/@oxfmt/binding-linux-riscv64-gnu": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.48.0.tgz", - "integrity": "sha512-SYt0UhOvZD/UwZz9sXq6J2uAw8o24f5VZpLB2DH01f6MevshmlgakQlZe2lwek2sZJkd07eLu7mZa0g7yeiw7Q==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.56.0.tgz", + "integrity": "sha512-EkQ0nJa7k7HDDIVuPF7WY+k4k+bzdclLYtyIXNt7/OqVghfNiMym6YGppFBgx1XRIHW6QylxBz5OogumPjPJbQ==", "cpu": [ "riscv64" ], @@ -1192,9 +1219,9 @@ } }, "node_modules/@oxfmt/binding-linux-riscv64-musl": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.48.0.tgz", - "integrity": "sha512-JLbrwck2AopG4ud/XklZO5N+qxGC7cS7ROvXZVNfx0MCLDDL2kGOLvzuWORkVjnjAM0CMAfIMU2zNBtQbM+4dw==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.56.0.tgz", + "integrity": "sha512-dyjAGW8jKRge0ik6U/dgvQG0nVpA3iBlRskQTz5qJLvQWIrySxX5jpqzPetLBNIIZ231KA82fDdi1nLTk8ENCw==", "cpu": [ "riscv64" ], @@ -1212,9 +1239,9 @@ } }, "node_modules/@oxfmt/binding-linux-s390x-gnu": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.48.0.tgz", - "integrity": "sha512-mdxt5L8OQLxkQH+JVpdC/lknZNe0lX4hlO3d8+xvw2wToo+iDrid9tiGOd5bmHfUVd5wVhrUry0qlu5vq66NkQ==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.56.0.tgz", + "integrity": "sha512-60ZGH3LtfqlW8X6vcLdSFY4lvCQYINurttYBKaALnHCDVAUCYJ1LsUgS6p1XOzVlzEDx3yNUZvDF1Lvt59zoZw==", "cpu": [ "s390x" ], @@ -1232,9 +1259,9 @@ } }, "node_modules/@oxfmt/binding-linux-x64-gnu": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.48.0.tgz", - "integrity": "sha512-oEz1BQwMrV7OMEFx/3VPDU3n9TM0AnxpktDYXjEg5i6nTX87wo18wSfBvkl4tzAICdKtoAQAdBIl7Y7hsPlx5w==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.56.0.tgz", + "integrity": "sha512-u1suj1tgJHK4ZqB7buCtdbNef2n8+d0lXTPJwLHNmtyK6p+DTpsaoDvmqhQrA56fgKYv4LuRxNtL8YooebKOew==", "cpu": [ "x64" ], @@ -1252,9 +1279,9 @@ } }, "node_modules/@oxfmt/binding-linux-x64-musl": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.48.0.tgz", - "integrity": "sha512-g2SKTTurP5mWjd8Ecait0erYqmltL4IqW1EwttM25BxM6NiTt4ubobJYMR1uox1V2QgG4UfHH10CGRvWlUixjw==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.56.0.tgz", + "integrity": "sha512-aYGLvlQHt80y+qKEtfJY/Nm27G0125Lv+qyh9SJ4Cjc6lXnXjD+ndfhqQnbV24POpMi7rNRi0jvx/0d70FRpCQ==", "cpu": [ "x64" ], @@ -1272,9 +1299,9 @@ } }, "node_modules/@oxfmt/binding-openharmony-arm64": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.48.0.tgz", - "integrity": "sha512-CIg24VgheEpvolHL2gQuax5qcQ602bRMHrJ9g8XsQr3iVj9aSPgopigBKuMqrXsupwkrU+RQCn5cG8PgFntR6w==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.56.0.tgz", + "integrity": "sha512-H/re/gO+7ysVc+kywHNuzY3C33EN9sQcZhg0kp1ZwOZl7y998ZE5mhnBiuGR/nYI0pqLL5xQfrHVUOJ/cIJsCA==", "cpu": [ "arm64" ], @@ -1289,9 +1316,9 @@ } }, "node_modules/@oxfmt/binding-win32-arm64-msvc": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.48.0.tgz", - "integrity": "sha512-zeaWkcxcEULwkGF3I/HgEvcDPN8buYDrxibBUa/IFh5Vmwyge+KpLO+hEwSovW349H0O/C0Z2kaFmEzEDm00/Q==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.56.0.tgz", + "integrity": "sha512-6qLNXfXmtAs8jXDvYMkxk6Wec5SUJoew+ZX1uOZmqaR7ks0EJFbAohuOCELDyJMWyVlxotVG8Xf8m74Bfq0O2w==", "cpu": [ "arm64" ], @@ -1306,9 +1333,9 @@ } }, "node_modules/@oxfmt/binding-win32-ia32-msvc": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.48.0.tgz", - "integrity": "sha512-yiEKnIAGvx5CyZQOlMaNlZkAbwT7/Quk0j3WLt+PR5hK+qYjPTRRJYDfD77wCBPLvEYAG41v4KG3iL0H+uxoxg==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.56.0.tgz", + "integrity": "sha512-UXEXuKphAe15bsob4AswNMArCw38XSmUIs3wk1s6e6MX9OWGW/IRWU95s1hZDiVg09STy1jHgyN2qkqbu1FT0w==", "cpu": [ "ia32" ], @@ -1323,9 +1350,9 @@ } }, "node_modules/@oxfmt/binding-win32-x64-msvc": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.48.0.tgz", - "integrity": "sha512-GSD2+7t2UoVMV2NgxXypa4bKewflPMAjYnF0Xw9/ht82ZfafAHhb8STwrEd7wlH2PFogt5zw3WVCxYJaHUdbeQ==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.56.0.tgz", + "integrity": "sha512-HPyNDjky+NIOuaMvHZflR+kst3YWdUOH2JUQYkf99grqZ5mEBTQM6h9iGy501Z8Xt5xMScrwHOuVCOlqDrktRw==", "cpu": [ "x64" ], @@ -3799,6 +3826,10 @@ "resolved": "demos/sahpool-webpack-demo", "link": true }, + "node_modules/@sqlite.org/sqlite-wasm": { + "resolved": "", + "link": true + }, "node_modules/@standard-schema/spec": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", @@ -4097,9 +4128,9 @@ } }, "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", "dev": true, "license": "MIT", "optional": true, @@ -4261,13 +4292,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.6.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.2.tgz", - "integrity": "sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.0.0.tgz", + "integrity": "sha512-vf2YFi1iY9lHGwNJMs01biZFbKJkrZR1T6/MlzjhJLPdntOHLhTrDSnSVcdtvjihi4VQNlrFRIxLsDBlQpAipA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.19.0" + "undici-types": "~8.3.0" } }, "node_modules/@types/qs": { @@ -4292,12 +4323,13 @@ "license": "MIT" }, "node_modules/@types/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", "dev": true, "license": "MIT", "dependencies": { + "@types/mime": "^1", "@types/node": "*" } }, @@ -4323,17 +4355,6 @@ "@types/send": "<1" } }, - "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", - "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, "node_modules/@types/sockjs": { "version": "0.3.36", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", @@ -4362,9 +4383,9 @@ } }, "node_modules/@typescript/native-preview": { - "version": "7.0.0-dev.20260508.1", - "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20260508.1.tgz", - "integrity": "sha512-YOkOVCg9oyVbC45mdHpxMuRujVMiK9jSsf82w+/DZNr4lnY0xJK97mCbzfNBxs90OL9Pp/YWls024ZRPhezcsw==", + "version": "7.0.0-dev.20260622.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20260622.1.tgz", + "integrity": "sha512-t4XoYz/Jr1Jt7wkaHwe4e/r3OcYgKxvL0dqfZsnBmqG8HsJ57VpOwd0PINU5b5umcb4g9akVto028L70lAJUpA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -4374,19 +4395,19 @@ "node": ">=16.20.0" }, "optionalDependencies": { - "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260508.1", - "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260508.1", - "@typescript/native-preview-linux-arm": "7.0.0-dev.20260508.1", - "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260508.1", - "@typescript/native-preview-linux-x64": "7.0.0-dev.20260508.1", - "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260508.1", - "@typescript/native-preview-win32-x64": "7.0.0-dev.20260508.1" + "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260622.1", + "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260622.1", + "@typescript/native-preview-linux-arm": "7.0.0-dev.20260622.1", + "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260622.1", + "@typescript/native-preview-linux-x64": "7.0.0-dev.20260622.1", + "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260622.1", + "@typescript/native-preview-win32-x64": "7.0.0-dev.20260622.1" } }, "node_modules/@typescript/native-preview-darwin-arm64": { - "version": "7.0.0-dev.20260508.1", - "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260508.1.tgz", - "integrity": "sha512-/JxBvBLSUK0RR5c+baWcdyI1U5VuVrpXScG0IBm8oxstJ0HuFdj6LjRGqe2YbypKBz2VD2EjifLzEwXMWx6VtQ==", + "version": "7.0.0-dev.20260622.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260622.1.tgz", + "integrity": "sha512-g/fjmdh/i/ngSmUeWNHh98iuONzW+kUaqwZRaZCmGkssBJ6ZrJAsyg85cm1t4aK9ne5nNjbjNPzJFTZ+QNMSRw==", "cpu": [ "arm64" ], @@ -4401,9 +4422,9 @@ } }, "node_modules/@typescript/native-preview-darwin-x64": { - "version": "7.0.0-dev.20260508.1", - "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260508.1.tgz", - "integrity": "sha512-EZbPeQLpNrQf8T3gOpDVC1+dVSBP2TYEoVbpDFzC/oReUiDJ0ZYPC4mQXdJrqodc4NB5nkiqyzzhu8auCBLJjQ==", + "version": "7.0.0-dev.20260622.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260622.1.tgz", + "integrity": "sha512-AqRrnPQCR+7j6u6uC6eQpacJ/btxZW6ktpWxPj7byoyk6kGSSgUb0YNcZ2Iao2brdbYw4LOxVcrVW4mP+K7sxg==", "cpu": [ "x64" ], @@ -4418,9 +4439,9 @@ } }, "node_modules/@typescript/native-preview-linux-arm": { - "version": "7.0.0-dev.20260508.1", - "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260508.1.tgz", - "integrity": "sha512-WJ4g9jTJXlQvBVB051um28oOeH31p0K6LVIJeaVtozaMpoV+HfuAP6NLHYaFP3ra4cQvCrHmlLJ02PlRXv/ioA==", + "version": "7.0.0-dev.20260622.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260622.1.tgz", + "integrity": "sha512-XnDHJZWFY2M8DCzxXj598Ql9op+zYpk6k5X3FYB4KeOXpdzjAke2H9wKW7UKeYfvPJyAgvyS+IapcvogCwx13A==", "cpu": [ "arm" ], @@ -4435,9 +4456,9 @@ } }, "node_modules/@typescript/native-preview-linux-arm64": { - "version": "7.0.0-dev.20260508.1", - "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260508.1.tgz", - "integrity": "sha512-YSuAsGvWDhGA+O3kE85ghqZXN/RORlX8P12jMidI/KJKk37+HNjwG+jeNUIx+8Vc3fA6ax8+jQX92MbnRS4DXQ==", + "version": "7.0.0-dev.20260622.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260622.1.tgz", + "integrity": "sha512-sxo7AlhQiX5J5WYWBxSBjJ02nA2kiO8j+K51fuF24nmbQRtSLjTa8/BimpYbBywTAsSps8vgnJjsLONf243HYw==", "cpu": [ "arm64" ], @@ -4452,9 +4473,9 @@ } }, "node_modules/@typescript/native-preview-linux-x64": { - "version": "7.0.0-dev.20260508.1", - "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260508.1.tgz", - "integrity": "sha512-6wK5V0wQDMkHhbL0gUzoISkY3B7S8iOdv/nYBKTTCaq8CSDkxzZfLcaNbC1ibRW6CHJ2IVPHv4BtVBKlGhsEiA==", + "version": "7.0.0-dev.20260622.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260622.1.tgz", + "integrity": "sha512-41TR69UuB1be2DmjcavcUMoFipIQNVpqsm1FvVCtGnscL41pDa/ijXHnSwzn7v8EbCgAI7hRUhRsPNPGY3OCKQ==", "cpu": [ "x64" ], @@ -4469,9 +4490,9 @@ } }, "node_modules/@typescript/native-preview-win32-arm64": { - "version": "7.0.0-dev.20260508.1", - "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260508.1.tgz", - "integrity": "sha512-hbI1RWku9PTgEIH9jzynN2fLinQDuwvIhhhwEPw4qaQo3zqbwcusrZob8wbUMc7hXZPWqA/KcOVO5sLXauCf6g==", + "version": "7.0.0-dev.20260622.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260622.1.tgz", + "integrity": "sha512-TMdYylCqBvQOVz6x5dT1HQ/49eLBijNE/uMGD2CA3YR4Hp4NkG+Rqg46NZiaO48D2+sjZws2uoNtPhfefN9IdA==", "cpu": [ "arm64" ], @@ -4486,9 +4507,9 @@ } }, "node_modules/@typescript/native-preview-win32-x64": { - "version": "7.0.0-dev.20260508.1", - "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260508.1.tgz", - "integrity": "sha512-7ri3Pefxw9B4UjRBtPZSpUJYcWD+7a3vKPi8aXZkOlONIzYsvr+oNnaImBjooOCp35Bbpoiih24Mt9wGv6oNOA==", + "version": "7.0.0-dev.20260622.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260622.1.tgz", + "integrity": "sha512-ROz8ncFZsMC2nn8ClBZ3wLNXpea6BbdMYyNTWx8xYrikhOIgFlkmAdc10PA/MiOh78RraUbdWvwbXNe19He+iQ==", "cpu": [ "x64" ], @@ -4503,15 +4524,15 @@ } }, "node_modules/@vitest/browser": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.5.tgz", - "integrity": "sha512-iCDGI8c4yg+xmjUg2VsygdAUSIIB4x5Rht/P68OXy1hPELKXHDkzh87lkuTcdYmemRChDkEpB426MmDjzC0ziA==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.9.tgz", + "integrity": "sha512-j1BKtWmPcqpMhmx/L9EPLgAJpCb0zKfwoWLmqBbxaogCXHjOwHFSEoHCBfnGtx93xKQwilZ26m+UOsHqHMkRNg==", "dev": true, "license": "MIT", "dependencies": { "@blazediff/core": "1.9.1", - "@vitest/mocker": "4.1.5", - "@vitest/utils": "4.1.5", + "@vitest/mocker": "4.1.9", + "@vitest/utils": "4.1.9", "magic-string": "^0.30.21", "pngjs": "^7.0.0", "sirv": "^3.0.2", @@ -4522,18 +4543,18 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "4.1.5" + "vitest": "4.1.9" } }, "node_modules/@vitest/browser-playwright": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.5.tgz", - "integrity": "sha512-CWy0lBQJq97nionyJJdnaU4961IXTl43a7UCu5nHy51IoKxAt6PVIJLo+76rVl7KOOgcWHNkG4kbJu/pW7knvA==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.9.tgz", + "integrity": "sha512-Bq1rOGf9waevzG3EOkO/dene6bvKTUsZMVg8S1i+WH3JcMjuXEjiahP9rAqZRELUqjBySOJsvvSWqK/B3wjKQw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/browser": "4.1.5", - "@vitest/mocker": "4.1.5", + "@vitest/browser": "4.1.9", + "@vitest/mocker": "4.1.9", "tinyrainbow": "^3.1.0" }, "funding": { @@ -4541,7 +4562,7 @@ }, "peerDependencies": { "playwright": "*", - "vitest": "4.1.5" + "vitest": "4.1.9" }, "peerDependenciesMeta": { "playwright": { @@ -4550,16 +4571,16 @@ } }, "node_modules/@vitest/expect": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz", - "integrity": "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.9.tgz", + "integrity": "sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==", "dev": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.5", - "@vitest/utils": "4.1.5", + "@vitest/spy": "4.1.9", + "@vitest/utils": "4.1.9", "chai": "^6.2.2", "tinyrainbow": "^3.1.0" }, @@ -4568,13 +4589,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz", - "integrity": "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.9.tgz", + "integrity": "sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.5", + "@vitest/spy": "4.1.9", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -4595,9 +4616,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", - "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz", + "integrity": "sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==", "dev": true, "license": "MIT", "dependencies": { @@ -4608,13 +4629,13 @@ } }, "node_modules/@vitest/runner": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz", - "integrity": "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.9.tgz", + "integrity": "sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.1.5", + "@vitest/utils": "4.1.9", "pathe": "^2.0.3" }, "funding": { @@ -4622,14 +4643,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz", - "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.9.tgz", + "integrity": "sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.5", - "@vitest/utils": "4.1.5", + "@vitest/pretty-format": "4.1.9", + "@vitest/utils": "4.1.9", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -4638,9 +4659,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz", - "integrity": "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.9.tgz", + "integrity": "sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==", "dev": true, "license": "MIT", "funding": { @@ -4648,13 +4669,13 @@ } }, "node_modules/@vitest/utils": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz", - "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.9.tgz", + "integrity": "sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.5", + "@vitest/pretty-format": "4.1.9", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.1.0" }, @@ -4965,9 +4986,9 @@ } }, "node_modules/ansis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", - "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.3.1.tgz", + "integrity": "sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==", "dev": true, "license": "ISC", "engines": { @@ -5034,18 +5055,18 @@ } }, "node_modules/ast-kit": { - "version": "3.0.0-beta.1", - "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-3.0.0-beta.1.tgz", - "integrity": "sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-3.0.0.tgz", + "integrity": "sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^8.0.0-beta.4", + "@babel/parser": "^8.0.0", "estree-walker": "^3.0.3", "pathe": "^2.0.3" }, "engines": { - "node": ">=20.19.0" + "node": "^22.18.0 || >=24.11.0" }, "funding": { "url": "https://github.com/sponsors/sxzz" @@ -5194,6 +5215,19 @@ "dev": true, "license": "MIT" }, + "node_modules/buffer-image-size": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/buffer-image-size/-/buffer-image-size-0.6.4.tgz", + "integrity": "sha512-nEh+kZOPY1w+gcCMobZ6ETUp9WfibndnosbpwB1iJk/8Gt5ZF2bhS6+B6bPYz424KtwsR6Rflc3tCz1/ghX2dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/bundle-name": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", @@ -5730,9 +5764,9 @@ "license": "ISC" }, "node_modules/empathic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz", - "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.1.tgz", + "integrity": "sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==", "dev": true, "license": "MIT", "engines": { @@ -6320,18 +6354,19 @@ "license": "MIT" }, "node_modules/happy-dom": { - "version": "20.9.0", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-20.9.0.tgz", - "integrity": "sha512-GZZ9mKe8r646NUAf/zemnGbjYh4Bt8/MqASJY+pSm5ZDtc3YQox+4gsLI7yi1hba6o+eCsGxpHn5+iEVn31/FQ==", + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-20.10.6.tgz", + "integrity": "sha512-6QD0ilzDDt93tX44y8tbmZdAcdTRYDhUP+Asgi6pC8Pp5IA3cvaZGyoVN/EGtlq9ziT65iPuBBn3ASLr6hCgVw==", "dev": true, "license": "MIT", "dependencies": { "@types/node": ">=20.0.0", "@types/whatwg-mimetype": "^3.0.2", "@types/ws": "^8.18.1", + "buffer-image-size": "^0.6.4", "entities": "^7.0.1", "whatwg-mimetype": "^3.0.0", - "ws": "^8.18.3" + "ws": "^8.21.0" }, "engines": { "node": ">=20.0.0" @@ -6416,16 +6451,6 @@ "dev": true, "license": "MIT" }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -6575,9 +6600,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", - "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.4.0.tgz", + "integrity": "sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==", "dev": true, "license": "MIT", "engines": { @@ -6856,9 +6881,9 @@ } }, "node_modules/lefthook": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-2.1.6.tgz", - "integrity": "sha512-w9sBoR0mdN+kJc3SB85VzpiAAl451/rxdCRcZlwW71QLjkeH3EBQFgc4VMj5apePychYDHAlqEWTB8J8JK/j1Q==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-2.1.9.tgz", + "integrity": "sha512-bwDaIOViTktE8kJLf9jP0p+H2/RDTlFFlc43Am2YgUsX22hI6Sq4RbzsrecwzY5y+MHTipOH7WsmWSEniePHWQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -6866,22 +6891,22 @@ "lefthook": "bin/index.js" }, "optionalDependencies": { - "lefthook-darwin-arm64": "2.1.6", - "lefthook-darwin-x64": "2.1.6", - "lefthook-freebsd-arm64": "2.1.6", - "lefthook-freebsd-x64": "2.1.6", - "lefthook-linux-arm64": "2.1.6", - "lefthook-linux-x64": "2.1.6", - "lefthook-openbsd-arm64": "2.1.6", - "lefthook-openbsd-x64": "2.1.6", - "lefthook-windows-arm64": "2.1.6", - "lefthook-windows-x64": "2.1.6" + "lefthook-darwin-arm64": "2.1.9", + "lefthook-darwin-x64": "2.1.9", + "lefthook-freebsd-arm64": "2.1.9", + "lefthook-freebsd-x64": "2.1.9", + "lefthook-linux-arm64": "2.1.9", + "lefthook-linux-x64": "2.1.9", + "lefthook-openbsd-arm64": "2.1.9", + "lefthook-openbsd-x64": "2.1.9", + "lefthook-windows-arm64": "2.1.9", + "lefthook-windows-x64": "2.1.9" } }, "node_modules/lefthook-darwin-arm64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-2.1.6.tgz", - "integrity": "sha512-hyB7eeiX78BS66f70byTJacDLC/xV1vgMv9n+idFUsrM7J3Udd/ag9Ag5NP3t0eN0EqQqAtrNnt35EH01lxnRQ==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-2.1.9.tgz", + "integrity": "sha512-119HryNcvr4nqn0wUIrNPgpMEPn9yMQzEcW/lezRsnb56PCJriJB92+MCySPVcWDxJnZef7o0T3jdnPNiSH7Qg==", "cpu": [ "arm64" ], @@ -6893,9 +6918,9 @@ ] }, "node_modules/lefthook-darwin-x64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-2.1.6.tgz", - "integrity": "sha512-5Ka6cFxiH83krt+OMRQtmS6zqoZR5SLXSudLjTbZA1c3ZqF0+dqkeb4XcB6plx6WR0GFizabuc6Bi3iXPIe1eQ==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-2.1.9.tgz", + "integrity": "sha512-dwo5Tke2XcQCM56DGHgFKBfRbJIL6xs2wZ0zG1TUVZgl4t4mQUt6LiZ4V/ZQfYHTZF9qywvXoIlR5N35qOaiVQ==", "cpu": [ "x64" ], @@ -6907,9 +6932,9 @@ ] }, "node_modules/lefthook-freebsd-arm64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-2.1.6.tgz", - "integrity": "sha512-VswyOg5CVN3rMaOJ2HtnkltiMKgFHW/wouWxXsV8RxSa4tgWOKxM0EmSXi8qc2jX+LRga6B0uOY6toXS01zWxA==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-2.1.9.tgz", + "integrity": "sha512-+09PVap6nl6xsaHch5JLtq7WvIR++U1Q2MzA2ai0M4uB/VP3AqrvKqHw6+9hjyKnIH+HHL83uqi77EAY+LaxLA==", "cpu": [ "arm64" ], @@ -6921,9 +6946,9 @@ ] }, "node_modules/lefthook-freebsd-x64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-2.1.6.tgz", - "integrity": "sha512-vXsCUFYuVwrVWwcypB7Zt2Hf+5pl1V1la7ZfvGYZaTRURu0zF/XUnMF/nOz/PebGv0f4x/iOWXWwP7E42xRWsg==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-2.1.9.tgz", + "integrity": "sha512-8XresjKIYpkE9ARgCtBEZgJZxAU3T4MIqzj4zNy15XRT59I1Us+QdqXTNm+pkZ41Yd2X/nxs2Pkvbq3NWWlIGw==", "cpu": [ "x64" ], @@ -6935,9 +6960,9 @@ ] }, "node_modules/lefthook-linux-arm64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-2.1.6.tgz", - "integrity": "sha512-WDJiQhJdZOvKORZd+kF/ms2l6NSsXzdA9ahflyr65V90AC4jES223W8VtEMbGPUtHuGWMEZ/v/XvwlWv0Ioz9g==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-2.1.9.tgz", + "integrity": "sha512-1oNIQfwrPe6rgU2KcDM3aF6+hpZDCKx1TmawQKpXUY5gVsbZ7MqX0Sk/1lnnWxqPm+kQQ5f6J2dpFWd+4xH8jg==", "cpu": [ "arm64" ], @@ -6949,9 +6974,9 @@ ] }, "node_modules/lefthook-linux-x64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-2.1.6.tgz", - "integrity": "sha512-C18nCd7nTX1AVL4TcvwMmLAO1VI1OuGluIOTjiPkBQ746Ls1HhL5rl//jMPACmT28YmxIQJ2ZcLPNmhvEVBZvw==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-2.1.9.tgz", + "integrity": "sha512-fT+7Q+BJyGp+CslFQkNXmdFRgyVXsPHPi9NAsDX0a6QOyNnoORByAsvx6zeAKuF5rL3BBgNfho1/v2RuGxGy9w==", "cpu": [ "x64" ], @@ -6963,9 +6988,9 @@ ] }, "node_modules/lefthook-openbsd-arm64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-2.1.6.tgz", - "integrity": "sha512-mZOMxM8HiPxVFXDO3PtCUbH4GB8rkveXhsgXF27oAZTYVzQ3gO9vT6r/pxit6msqRXz3fvcwimLVJgb8eRsa8A==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-2.1.9.tgz", + "integrity": "sha512-4bVuafBk3dddVNo0+3hMbjcJs4mqYAstxpPMmX2ufkudSTYFNIhWoqwuGVQV/SS/xdcOKJAldW4qayAzed2ysw==", "cpu": [ "arm64" ], @@ -6977,9 +7002,9 @@ ] }, "node_modules/lefthook-openbsd-x64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-2.1.6.tgz", - "integrity": "sha512-sG9ALLZSnnMOfXu+B7SmxFhJhuoAh4bqi5En5aaHJET48TqrLOcWWZuH+7ArFM6gr/U5KfSUvdmHFmY8WqCcIg==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-2.1.9.tgz", + "integrity": "sha512-PmPoMmLP/wQQWcQ9u2YH86bTZ3UCfBsxuEmVTEyPU2U8R1qSTp5r/Gs3G8cN5Mxo91XB9oBERtF1n+xD3W6aVA==", "cpu": [ "x64" ], @@ -6991,9 +7016,9 @@ ] }, "node_modules/lefthook-windows-arm64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-2.1.6.tgz", - "integrity": "sha512-lD8yFWY4Csuljd0Rqs7EQaySC0VvDf7V3rN1FhRMUISTRDHutebIom1Loc8ckQPvKYGC6mftT9k0GvipsS+Brw==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-2.1.9.tgz", + "integrity": "sha512-KphfkBKmwBnmolyrdhIl3lrBaOyTcCgXBT2AB/9OHnEXhOLvv5uTCUkrD4YRAxXPtFKq6UvnapIeoL3GZq0bdA==", "cpu": [ "arm64" ], @@ -7005,9 +7030,9 @@ ] }, "node_modules/lefthook-windows-x64": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-2.1.6.tgz", - "integrity": "sha512-q4z2n3xucLscoWiyMwFViEj3N8MDSkPulMwcJYuCYFHoPhP1h+icqNu7QRLGYj6AnVrCQweiUJY3Tb2X+GbD/A==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-2.1.9.tgz", + "integrity": "sha512-2qlUtkJHZ3MyUxgV5XTEmcrIoNZA07iwaquoswAcqv/1MeBFXlD+O+koFRfrzWng2O5WYEbpJnd8tvaYnV8fTA==", "cpu": [ "x64" ], @@ -7710,15 +7735,18 @@ "license": "MIT" }, "node_modules/obug": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", + "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", "dev": true, "funding": [ "https://github.com/sponsors/sxzz", "https://opencollective.com/debug" ], - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } }, "node_modules/on-finished": { "version": "2.4.1", @@ -7770,9 +7798,9 @@ "license": "MIT" }, "node_modules/oxfmt": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.48.0.tgz", - "integrity": "sha512-AVaLh+7XeGx+R1zfFV+f6VV61nT2MWVJXVUDhbTm5LBWGyNt64xAyh3NYYyjeY2WykNt9AvqSQLPHcbWquYF9g==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.56.0.tgz", + "integrity": "sha512-9Dv0wV3zKiyvhjD7bRKaInKmHQ1sPx3RGOjQkGFJbbdQ16576yf8qhMSO9Q9cvHcs+1NpBsRTkuDDYFFPTJ6gw==", "dev": true, "license": "MIT", "dependencies": { @@ -7788,25 +7816,37 @@ "url": "https://github.com/sponsors/Boshen" }, "optionalDependencies": { - "@oxfmt/binding-android-arm-eabi": "0.48.0", - "@oxfmt/binding-android-arm64": "0.48.0", - "@oxfmt/binding-darwin-arm64": "0.48.0", - "@oxfmt/binding-darwin-x64": "0.48.0", - "@oxfmt/binding-freebsd-x64": "0.48.0", - "@oxfmt/binding-linux-arm-gnueabihf": "0.48.0", - "@oxfmt/binding-linux-arm-musleabihf": "0.48.0", - "@oxfmt/binding-linux-arm64-gnu": "0.48.0", - "@oxfmt/binding-linux-arm64-musl": "0.48.0", - "@oxfmt/binding-linux-ppc64-gnu": "0.48.0", - "@oxfmt/binding-linux-riscv64-gnu": "0.48.0", - "@oxfmt/binding-linux-riscv64-musl": "0.48.0", - "@oxfmt/binding-linux-s390x-gnu": "0.48.0", - "@oxfmt/binding-linux-x64-gnu": "0.48.0", - "@oxfmt/binding-linux-x64-musl": "0.48.0", - "@oxfmt/binding-openharmony-arm64": "0.48.0", - "@oxfmt/binding-win32-arm64-msvc": "0.48.0", - "@oxfmt/binding-win32-ia32-msvc": "0.48.0", - "@oxfmt/binding-win32-x64-msvc": "0.48.0" + "@oxfmt/binding-android-arm-eabi": "0.56.0", + "@oxfmt/binding-android-arm64": "0.56.0", + "@oxfmt/binding-darwin-arm64": "0.56.0", + "@oxfmt/binding-darwin-x64": "0.56.0", + "@oxfmt/binding-freebsd-x64": "0.56.0", + "@oxfmt/binding-linux-arm-gnueabihf": "0.56.0", + "@oxfmt/binding-linux-arm-musleabihf": "0.56.0", + "@oxfmt/binding-linux-arm64-gnu": "0.56.0", + "@oxfmt/binding-linux-arm64-musl": "0.56.0", + "@oxfmt/binding-linux-ppc64-gnu": "0.56.0", + "@oxfmt/binding-linux-riscv64-gnu": "0.56.0", + "@oxfmt/binding-linux-riscv64-musl": "0.56.0", + "@oxfmt/binding-linux-s390x-gnu": "0.56.0", + "@oxfmt/binding-linux-x64-gnu": "0.56.0", + "@oxfmt/binding-linux-x64-musl": "0.56.0", + "@oxfmt/binding-openharmony-arm64": "0.56.0", + "@oxfmt/binding-win32-arm64-msvc": "0.56.0", + "@oxfmt/binding-win32-ia32-msvc": "0.56.0", + "@oxfmt/binding-win32-x64-msvc": "0.56.0" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite-plus": "*" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + }, + "vite-plus": { + "optional": true + } } }, "node_modules/p-limit": { @@ -8010,13 +8050,13 @@ } }, "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.61.0.tgz", + "integrity": "sha512-Z+7BeeqQPRRzklHsVFP4KTGIyMxKUmfeRA4WisM6G3/XW6nwGeX6fX9qYaDa+CiUqpOkb2f6X3nar05R3kSuJQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.59.1" + "playwright-core": "1.61.0" }, "bin": { "playwright": "cli.js" @@ -8029,9 +8069,9 @@ } }, "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.61.0.tgz", + "integrity": "sha512-caX7TrY3Ml6egyDX0WUcTHDxodl/b51y5wJOdCEA36QviK/s2g081hvmGs8eaE3DWb6NYZQ6BjO/QkNRPenoPA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -8119,9 +8159,9 @@ } }, "node_modules/publint": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/publint/-/publint-0.3.19.tgz", - "integrity": "sha512-J3p4GOocCRFyLLFRzGfIhAwWgk0Kkcdxj5iFspFvCYbyiJs5IhCM8gsIkcNeQL+tdpV671RtJQiTFSUKhl1Wjg==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/publint/-/publint-0.3.21.tgz", + "integrity": "sha512-OqejcnMV6E9zel2oCrUOJEiiFkGiAAni0A6ibfQNh1k9Gu5z4F+Yso8lllam7AzmV6Do0vp7u3UpZNRBwuXaHQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8508,9 +8548,9 @@ } }, "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "dev": true, "license": "ISC", "bin": { @@ -8932,15 +8972,22 @@ "license": "MIT" }, "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9086,9 +9133,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz", - "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", "dev": true, "license": "MIT", "engines": { @@ -9096,9 +9143,9 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { @@ -9193,25 +9240,25 @@ } }, "node_modules/tsdown": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/tsdown/-/tsdown-0.22.0.tgz", - "integrity": "sha512-FgW0hHb27nGQA/+F3d5+U9wKXkfilk9DVkc5+7x/ZqF03g+Hoz/eeApT32jqxATt9eRoR+1jxk7MUMON+O4CXw==", + "version": "0.22.3", + "resolved": "https://registry.npmjs.org/tsdown/-/tsdown-0.22.3.tgz", + "integrity": "sha512-louqbfA8Qf//B9jTTL0FPtXTNpjCWv1VPkbcmQMph2pTpzs+LnB1tbe4tDDRVpo2BjF5SgUXaTZe45SxB8pWHg==", "dev": true, "license": "MIT", "dependencies": { - "ansis": "^4.2.0", + "ansis": "^4.3.1", "cac": "^7.0.0", "defu": "^6.1.7", - "empathic": "^2.0.0", + "empathic": "^2.0.1", "hookable": "^6.1.1", "import-without-cache": "^0.4.0", - "obug": "^2.1.1", + "obug": "^2.1.3", "picomatch": "^4.0.4", - "rolldown": "^1.0.0", - "rolldown-plugin-dts": "^0.25.0", - "semver": "^7.7.4", - "tinyexec": "^1.1.2", - "tinyglobby": "^0.2.16", + "rolldown": "~1.1.1", + "rolldown-plugin-dts": "^0.26.0", + "semver": "^7.8.4", + "tinyexec": "^1.2.4", + "tinyglobby": "^0.2.17", "tree-kill": "^1.2.2", "unconfig-core": "^7.5.0" }, @@ -9219,15 +9266,15 @@ "tsdown": "dist/run.mjs" }, "engines": { - "node": "^22.18.0 || >=24.0.0" + "node": "^22.18.0 || >=24.11.0" }, "funding": { "url": "https://github.com/sponsors/sxzz" }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", - "@tsdown/css": "0.22.0", - "@tsdown/exe": "0.22.0", + "@tsdown/css": "0.22.3", + "@tsdown/exe": "0.22.3", "@vitejs/devtools": "*", "publint": "^0.3.8", "tsx": "*", @@ -9266,21 +9313,32 @@ } }, "node_modules/tsdown/node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.2.1", + "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "node_modules/tsdown/node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/tsdown/node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", "dev": true, "license": "MIT", "optional": true, @@ -9289,9 +9347,9 @@ } }, "node_modules/tsdown/node_modules/@oxc-project/types": { - "version": "0.129.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.129.0.tgz", - "integrity": "sha512-3oz8m3FGdr2nDXVqmFUw7jolKliC4MoyXYIG2c7gpjBnzUWQpUGIYcXYKxTdTi+N2jusvt610ckTMkxdwHkYEg==", + "version": "0.137.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.137.0.tgz", + "integrity": "sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==", "dev": true, "license": "MIT", "funding": { @@ -9299,9 +9357,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0.tgz", - "integrity": "sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.2.tgz", + "integrity": "sha512-2cZ+7xRS+DBcuJBJKnfzsbleumJhBqSlJVpuzHC0nTqfd3QQ7Vx2/x5YR/D7cBamKSeWplwo82Fn9lqYUDEMfA==", "cpu": [ "arm64" ], @@ -9316,9 +9374,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0.tgz", - "integrity": "sha512-6XcD+8k0gPVItNagEw78/qqcBDwKcwDYS8V2hRmVsfUSIrd8cWe/CBvRDI5toqFyPfj+FJr6t8U6Xj2P2prEew==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.2.tgz", + "integrity": "sha512-RkPMJnygxsgOYdkfqgpwY0/Fzm8d0VQe6HGU2/B00Xa9eqdLbrII+DOKAodbJAn3ZL1AJxGHkZRPYazgGY6Ljw==", "cpu": [ "arm64" ], @@ -9333,9 +9391,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0.tgz", - "integrity": "sha512-iN/tWVXRQDWvmZlKdceP1Dwug9GDpEymhb9p4xnEe6zvCg5lFmzVljl+1qR1NVx3yfGpr2Na+CuLmv5IU8uzfQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.2.tgz", + "integrity": "sha512-Uiczh6vFhwyfd7WNe7Q7mCA4KxAiLdz7jPE/WGizfRpIieoyFuNVMmM8HqZ9HwudTkY6/AeMQwlNJ9NJijguWw==", "cpu": [ "x64" ], @@ -9350,9 +9408,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0.tgz", - "integrity": "sha512-jjQMDvvwSOuhOwMszD/klSOjyWMM3zI64hWTj9KT5x4MxRbZAf+7vLQ6qouRhtsLVFHr3f0ILaJAfgENPiQdAQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.2.tgz", + "integrity": "sha512-+TpdtTRgHiJFjCVFbw311SuLk3KfytPOQQn+VlAEv+gBxYPtL7E6JS9e/tk+8CwxhIZvemJKo4rTKgfWNsKkkA==", "cpu": [ "x64" ], @@ -9367,9 +9425,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0.tgz", - "integrity": "sha512-d//Dtg2x6/m3mbV64yUGNnDGNZaDGRpDLLNGerHQUVObuNaIQaaDp25yUiqGXtHEXX+NP2d0wAlmKgpYgIAJ2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.2.tgz", + "integrity": "sha512-4lv1/tkmi7ueIVHnyreaOeUpiZP26BH9rRy6hoYfR9310A2B9nUEVRDvBx69vx64Nr3eTPPRkyciqJJs+j9Jmw==", "cpu": [ "arm" ], @@ -9384,9 +9442,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0.tgz", - "integrity": "sha512-n7Ofp0mx+aB2cC+Sdy5YtMnXtY9lchnHbY+3Yt0uq9JsWQExf4f5Whu0tK0R8Jdc9S6RchTHjIFY7uc92puOVQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.2.tgz", + "integrity": "sha512-gBSUVO0eaWgw1JMjK3gB8BMlX2Mk148s2lTiVT3e9vjVxbl7UDfMWWY8CfIaaqiXuM9fVTMxIpUz6CAo/B6Vlw==", "cpu": [ "arm64" ], @@ -9404,9 +9462,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0.tgz", - "integrity": "sha512-EIVjy2cgd7uuMMo94FVkBp7F6DhcZAUwNURkSG3RwUmvAXR6s0ISxM81U+IydcZByPG0pZIHsf1b6kTxoFDgJA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.2.tgz", + "integrity": "sha512-LjQP/iZLBu8o8PjIfk4x3At0/mT6h282pvz8Z5LAyhGbu/kDezyO7ea62rF5uoqmgnIYqbN/MqJ3Si3Aymi7xQ==", "cpu": [ "arm64" ], @@ -9424,9 +9482,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0.tgz", - "integrity": "sha512-JEwwOPcwTLAcpDQlqSmjEmfs63xJnSiUNIGvLcDLUHCWK4XowpS/7c7tUsUH6uT/ct6bMUTdXKfI8967FYj6mg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.2.tgz", + "integrity": "sha512-X/7bVLWelEsbyWDUSXt7zVsTniLLPIY2n1rH58qr78l9i7MNbbxBWD8gI2vRfBWf4NUXJCUuQnfZDsp32LqsfQ==", "cpu": [ "ppc64" ], @@ -9444,9 +9502,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0.tgz", - "integrity": "sha512-0wjCFhLrihtAubnT9iA0N++0pSV0z5Hg7tNGdNJ4RFaINceHadoF+kiFGyY1qSSNVIAZtLotG8Ju1bgDPkjnFA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.2.tgz", + "integrity": "sha512-gb6dYKW/1KDorGXyy48glEBJs/sxVSC5pcVrox/pFGV4mvwSFeg2sK5L2tRkVsVlh7kueqOgg4GEcuipJcGuKg==", "cpu": [ "s390x" ], @@ -9464,9 +9522,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0.tgz", - "integrity": "sha512-Dfn7iak9BcMMePxcoJfpSbWqnEyrp/dRF63/8qW/eHBdOZov6x5aShLLEYGYdIeSJ6vMLK/XCVB+lGIxm41bQA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.2.tgz", + "integrity": "sha512-JY4w85pU3iAiJVMh5nuk4/Mh9GjMsupe8MrIN53rwxAZW64GKrWeJBuN6SxQg9QTU5uB1cxyhDzW8jqRn1EABw==", "cpu": [ "x64" ], @@ -9484,9 +9542,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0.tgz", - "integrity": "sha512-5/utzzDmD/pD/bmuaUcbTf/sZYy0aztwIVlfpoW1fTjCZ0BaPOMVWGZL1zvgxyi7ZIVYWlxKONHmSbHuiOh8Jw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.2.tgz", + "integrity": "sha512-xvpA7o5KCYLB0Rwscmuylb1/zHHSUx4g4xilm4prC5jP76pEUlzBmMbgpbh7bVDbId4NcfT96gN5i6mE6UDaiw==", "cpu": [ "x64" ], @@ -9504,9 +9562,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0.tgz", - "integrity": "sha512-ouJs8VcUomfLfpbUECqFMRqdV4x6aeAK3MA4m6vTrJJjKyWTV5KnxZx7Jd9G+GlDaQQxubcba00x16OyJ1meig==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.2.tgz", + "integrity": "sha512-p/ts6KBLjuk49Bp21XH77poQGt02iNz7ChgHep7tudPOaLinR/De/RHdxF8w8Yj4r/bF/bqXwH6PZrB2sA+Nvw==", "cpu": [ "arm64" ], @@ -9521,9 +9579,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0.tgz", - "integrity": "sha512-E+oHKGiDA+lsKMmFtffDDw91EryDT7uJocrIuCHqhm6bCTM6xFK+3gaCkYOHfPwQr0cCNarSM2xaELoQDz9jJg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.2.tgz", + "integrity": "sha512-VMu/wmrZ9hJzYlRhbw7jK5PODlugyKZ5mOdX78+lS8OvuFkWNQdz1pFLrI2p3P0pjXOmUZ7B48o5VnMH9QOGtg==", "cpu": [ "wasm32" ], @@ -9531,18 +9589,18 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "1.10.0", - "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "^1.1.4" + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.5" }, "engines": { "node": "^20.19.0 || >=22.12.0" } }, "node_modules/tsdown/node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0.tgz", - "integrity": "sha512-yYK02n8Rngo+gbm1y6G0+7jk1sJ/2Wt7K0me0Y7k/ErBpyf+LJ2gFpqWVTcRV1rUepBlQRmpgWkTQCiiwrK0Ow==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.2.tgz", + "integrity": "sha512-xtUJqs8qEkuSviS0n1tsohaPuz3a1SPhZywOji4Oo+sgrJs8daEDMZ0QtqL0OS7dx8PoVpg2J/ZZycPY5I2+Zg==", "cpu": [ "arm64" ], @@ -9557,9 +9615,9 @@ } }, "node_modules/tsdown/node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0.tgz", - "integrity": "sha512-14bpChMahXRRXiTwahSl+zzHPW6qQTXtkMuJBFlbo+pqSAews2d4BdCSHfrJ/MBsCZtpmTafsY+1QhBzitcmdg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.2.tgz", + "integrity": "sha512-85YiLQqjUKgSO/Zjnf9e0XIn5Ymrh1fLDWBeAkZqpuBR/3R8TpfoHXuyblqyQrftSSgWO9qpcHN8mkyKsLraoA==", "cpu": [ "x64" ], @@ -9574,21 +9632,21 @@ } }, "node_modules/tsdown/node_modules/@rolldown/pluginutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0.tgz", - "integrity": "sha512-aKs/3GSWyV0mrhNmt/96/Z3yczC3yvrzYATCiCXQebBsGyYzjNdUphRVLeJQ67ySKVXRfMxt2lm12pmXvbPFQQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", "dev": true, "license": "MIT" }, "node_modules/tsdown/node_modules/rolldown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0.tgz", - "integrity": "sha512-yD986aXDESFGS95spT1LAv0jssywP4npMEjmMHyN2/5+eE8qQJUype2AaKkRiLgBgyD0LFlubwAht7VmY8rGoA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.2.tgz", + "integrity": "sha512-x0CrQQqCXWGeI8dTvFfN/Dnv3yMKT9hv5jFjlOreKAx9wqLq9wz7VvLLHyaAXC90/CpggTu9SisSbsJJTPSjNQ==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.129.0", - "@rolldown/pluginutils": "1.0.0" + "@oxc-project/types": "=0.137.0", + "@rolldown/pluginutils": "^1.0.0" }, "bin": { "rolldown": "bin/cli.mjs" @@ -9597,41 +9655,41 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0", - "@rolldown/binding-darwin-arm64": "1.0.0", - "@rolldown/binding-darwin-x64": "1.0.0", - "@rolldown/binding-freebsd-x64": "1.0.0", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0", - "@rolldown/binding-linux-arm64-gnu": "1.0.0", - "@rolldown/binding-linux-arm64-musl": "1.0.0", - "@rolldown/binding-linux-ppc64-gnu": "1.0.0", - "@rolldown/binding-linux-s390x-gnu": "1.0.0", - "@rolldown/binding-linux-x64-gnu": "1.0.0", - "@rolldown/binding-linux-x64-musl": "1.0.0", - "@rolldown/binding-openharmony-arm64": "1.0.0", - "@rolldown/binding-wasm32-wasi": "1.0.0", - "@rolldown/binding-win32-arm64-msvc": "1.0.0", - "@rolldown/binding-win32-x64-msvc": "1.0.0" + "@rolldown/binding-android-arm64": "1.1.2", + "@rolldown/binding-darwin-arm64": "1.1.2", + "@rolldown/binding-darwin-x64": "1.1.2", + "@rolldown/binding-freebsd-x64": "1.1.2", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.2", + "@rolldown/binding-linux-arm64-gnu": "1.1.2", + "@rolldown/binding-linux-arm64-musl": "1.1.2", + "@rolldown/binding-linux-ppc64-gnu": "1.1.2", + "@rolldown/binding-linux-s390x-gnu": "1.1.2", + "@rolldown/binding-linux-x64-gnu": "1.1.2", + "@rolldown/binding-linux-x64-musl": "1.1.2", + "@rolldown/binding-openharmony-arm64": "1.1.2", + "@rolldown/binding-wasm32-wasi": "1.1.2", + "@rolldown/binding-win32-arm64-msvc": "1.1.2", + "@rolldown/binding-win32-x64-msvc": "1.1.2" } }, "node_modules/tsdown/node_modules/rolldown-plugin-dts": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/rolldown-plugin-dts/-/rolldown-plugin-dts-0.25.0.tgz", - "integrity": "sha512-GE3uDZgUuA9l6g+1u928TRmadd5IVhaWiwpWast2kCyLv9tYJJCC6E5HHkV0HGmwC5ZL73xh12/PRZI+KZ2vdQ==", + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/rolldown-plugin-dts/-/rolldown-plugin-dts-0.26.0.tgz", + "integrity": "sha512-e+kEPtUiDES0htk5iqkSeF4EzAV7R+vugGB44iPDuw1Kw9E+WyL1VG7PaV0IIjGHLiacztMBcMTyrr8ON9CT1Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/generator": "8.0.0-rc.4", - "@babel/helper-validator-identifier": "8.0.0-rc.4", - "@babel/parser": "8.0.0-rc.4", - "ast-kit": "^3.0.0-beta.1", + "@babel/generator": "^8.0.0", + "@babel/helper-validator-identifier": "^8.0.0", + "@babel/parser": "^8.0.0", + "ast-kit": "^3.0.0", "birpc": "^4.0.0", "dts-resolver": "^3.0.0", "get-tsconfig": "5.0.0-beta.5", - "obug": "^2.1.1" + "obug": "^2.1.3" }, "engines": { - "node": "^22.18.0 || >=24.0.0" + "node": "^22.18.0 || >=24.11.0" }, "funding": { "url": "https://github.com/sponsors/sxzz" @@ -9640,8 +9698,8 @@ "@ts-macro/tsc": "^0.3.6", "@typescript/native-preview": ">=7.0.0-dev.20260325.1", "rolldown": "^1.0.0", - "typescript": "^6.0.0", - "vue-tsc": "~3.2.0" + "typescript": "^5.0.0 || ^6.0.0", + "vue-tsc": "~3.2.0 || ~3.3.0" }, "peerDependenciesMeta": { "@ts-macro/tsc": { @@ -9741,9 +9799,9 @@ } }, "node_modules/undici-types": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", + "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", "dev": true, "license": "MIT" }, @@ -9929,19 +9987,19 @@ } }, "node_modules/vitest": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz", - "integrity": "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.9.tgz", + "integrity": "sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.1.5", - "@vitest/mocker": "4.1.5", - "@vitest/pretty-format": "4.1.5", - "@vitest/runner": "4.1.5", - "@vitest/snapshot": "4.1.5", - "@vitest/spy": "4.1.5", - "@vitest/utils": "4.1.5", + "@vitest/expect": "4.1.9", + "@vitest/mocker": "4.1.9", + "@vitest/pretty-format": "4.1.9", + "@vitest/runner": "4.1.9", + "@vitest/snapshot": "4.1.9", + "@vitest/spy": "4.1.9", + "@vitest/utils": "4.1.9", "es-module-lexer": "^2.0.0", "expect-type": "^1.3.0", "magic-string": "^0.30.21", @@ -9969,12 +10027,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.5", - "@vitest/browser-preview": "4.1.5", - "@vitest/browser-webdriverio": "4.1.5", - "@vitest/coverage-istanbul": "4.1.5", - "@vitest/coverage-v8": "4.1.5", - "@vitest/ui": "4.1.5", + "@vitest/browser-playwright": "4.1.9", + "@vitest/browser-preview": "4.1.9", + "@vitest/browser-webdriverio": "4.1.9", + "@vitest/coverage-istanbul": "4.1.9", + "@vitest/coverage-v8": "4.1.9", + "@vitest/ui": "4.1.9", "happy-dom": "*", "jsdom": "*", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -10354,9 +10412,9 @@ "license": "MIT" }, "node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index e87eb26..63b645b 100644 --- a/package.json +++ b/package.json @@ -76,17 +76,26 @@ "node": ">=22" }, "devDependencies": { - "@types/node": "^25.6.2", - "@typescript/native-preview": "^7.0.0-dev.20260508.1", - "@vitest/browser": "^4.1.5", - "@vitest/browser-playwright": "^4.1.5", - "happy-dom": "20.9.0", - "lefthook": "2.1.6", - "oxfmt": "^0.48.0", - "playwright": "^1.59.1", - "publint": "^0.3.19", - "tsdown": "^0.22.0", + "@types/node": "^26.0.0", + "@typescript/native-preview": "^7.0.0-dev.20260622.1", + "@vitest/browser": "^4.1.9", + "@vitest/browser-playwright": "^4.1.9", + "happy-dom": "20.10.6", + "lefthook": "2.1.9", + "oxfmt": "^0.56.0", + "playwright": "^1.61.0", + "publint": "^0.3.21", + "tsdown": "^0.22.3", "typescript": "^6.0.3", - "vitest": "^4.1.5" + "vitest": "^4.1.9" + }, + "packageManager": "npm@11.16.0", + "allowScripts": { + "@parcel/watcher": false, + "@swc/core": true, + "core-js": false, + "lefthook": false, + "lmdb": false, + "msgpackr-extract": false } } diff --git a/src/__tests__/bundler-compatibility.test.js b/src/__tests__/bundler-compatibility.test.ts similarity index 83% rename from src/__tests__/bundler-compatibility.test.js rename to src/__tests__/bundler-compatibility.test.ts index 51bebcb..1956dc3 100644 --- a/src/__tests__/bundler-compatibility.test.js +++ b/src/__tests__/bundler-compatibility.test.ts @@ -2,10 +2,11 @@ import { describe, test, expect } from 'vitest'; import { execSync } from 'node:child_process'; import path from 'node:path'; import fs from 'node:fs'; +import { fileURLToPath } from 'node:url'; describe('Vite bundler compatibility', () => { test('should rename sqlite3.wasm with a hash and update the import URL', () => { - const testDir = path.resolve(__dirname, 'vite-repro'); + const testDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), 'vite-repro'); const distDir = path.resolve(testDir, 'dist'); // Clean up previous build @@ -25,12 +26,18 @@ describe('Vite bundler compatibility', () => { const wasmFile = files.find((f) => f.startsWith('sqlite3-') && f.endsWith('.wasm')); expect(wasmFile).toBeDefined(); + if (wasmFile === undefined) { + throw new Error('SQLite WASM asset was not generated'); + } // 2. Check if the JS bundle contains the hashed WASM filename const assetsDirJs = path.resolve(distDir, 'assets'); const jsFiles = fs.readdirSync(assetsDirJs).filter((f) => f.endsWith('.js')); const mainBundle = jsFiles.find((f) => f.startsWith('index-')); expect(mainBundle).toBeDefined(); + if (mainBundle === undefined) { + throw new Error('Vite index bundle was not generated'); + } const bundleContent = fs.readFileSync(path.resolve(assetsDirJs, mainBundle), 'utf8'); diff --git a/src/__tests__/sqlite3-kvvfs.browser.test.js b/src/__tests__/sqlite3-kvvfs.browser.test.ts similarity index 97% rename from src/__tests__/sqlite3-kvvfs.browser.test.js rename to src/__tests__/sqlite3-kvvfs.browser.test.ts index 5886ea0..1177e50 100644 --- a/src/__tests__/sqlite3-kvvfs.browser.test.js +++ b/src/__tests__/sqlite3-kvvfs.browser.test.ts @@ -1,5 +1,5 @@ import { expect, test, describe } from 'vitest'; -import sqlite3InitModule from '../bin/sqlite3-bundler-friendly.mjs'; +import sqlite3InitModule from '../browser'; describe('kvvfs', () => { test('kvvfs basic sanity check (browser)', async () => { diff --git a/src/__tests__/sqlite3-node.test.js b/src/__tests__/sqlite3-node.test.ts similarity index 93% rename from src/__tests__/sqlite3-node.test.js rename to src/__tests__/sqlite3-node.test.ts index c864b30..c38c2b4 100644 --- a/src/__tests__/sqlite3-node.test.js +++ b/src/__tests__/sqlite3-node.test.ts @@ -1,5 +1,6 @@ import { expect, test } from 'vitest'; -import sqlite3InitModule from '../bin/sqlite3-node.mjs'; +import sqlite3InitModule from '../node'; +import type { SqlValue } from '../index'; test('Node.js build sanity check', async () => { const sqlite3 = await sqlite3InitModule(); @@ -19,11 +20,11 @@ test('Node.js build sanity check', async () => { }); // 4. Query data - const rows = []; + const rows: Record[] = []; db.exec({ sql: 'SELECT * FROM test ORDER BY id', rowMode: 'object', - callback: (row) => { + callback: (row: Record) => { rows.push(row); }, }); @@ -41,7 +42,7 @@ test('Node.js build sanity check', async () => { db.exec('CREATE TABLE orders (id INTEGER PRIMARY KEY, user_id INTEGER, product TEXT)'); db.exec("INSERT INTO orders (user_id, product) VALUES (2, 'Laptop'), (2, 'Mouse')"); - const joinedRows = []; + const joinedRows: Record[] = []; db.exec({ sql: ` SELECT test.name, orders.product @@ -50,7 +51,9 @@ test('Node.js build sanity check', async () => { ORDER BY orders.product `, rowMode: 'object', - callback: (row) => joinedRows.push(row), + callback: (row: Record) => { + joinedRows.push(row); + }, }); expect(joinedRows).toHaveLength(2); expect(joinedRows[0]).toEqual({ name: 'Bob', product: 'Laptop' }); diff --git a/src/__tests__/sqlite3-oo1.browser.test.js b/src/__tests__/sqlite3-oo1.browser.test.ts similarity index 93% rename from src/__tests__/sqlite3-oo1.browser.test.js rename to src/__tests__/sqlite3-oo1.browser.test.ts index 0ba233c..faa80ec 100644 --- a/src/__tests__/sqlite3-oo1.browser.test.js +++ b/src/__tests__/sqlite3-oo1.browser.test.ts @@ -1,5 +1,6 @@ import { expect, test } from 'vitest'; -import sqlite3InitModule from '../bin/sqlite3-bundler-friendly.mjs'; +import sqlite3InitModule from '../browser'; +import type { SqlValue } from '../index'; test('Bundler-friendly OO1 API sanity check (browser)', async () => { const sqlite3 = await sqlite3InitModule(); @@ -19,11 +20,11 @@ test('Bundler-friendly OO1 API sanity check (browser)', async () => { }); // 4. Query data - const rows = []; + const rows: Record[] = []; db.exec({ sql: 'SELECT * FROM test ORDER BY id', rowMode: 'object', - callback: (row) => { + callback: (row: Record) => { rows.push(row); }, }); @@ -41,7 +42,7 @@ test('Bundler-friendly OO1 API sanity check (browser)', async () => { db.exec('CREATE TABLE orders (id INTEGER PRIMARY KEY, user_id INTEGER, product TEXT)'); db.exec("INSERT INTO orders (user_id, product) VALUES (2, 'Laptop'), (2, 'Mouse')"); - const joinedRows = []; + const joinedRows: Record[] = []; db.exec({ sql: ` SELECT test.name, orders.product @@ -50,7 +51,9 @@ test('Bundler-friendly OO1 API sanity check (browser)', async () => { ORDER BY orders.product `, rowMode: 'object', - callback: (row) => joinedRows.push(row), + callback: (row: Record) => { + joinedRows.push(row); + }, }); expect(joinedRows).toHaveLength(2); expect(joinedRows[0]).toEqual({ name: 'Bob', product: 'Laptop' }); diff --git a/src/__tests__/sqlite3-opfs.browser.test.js b/src/__tests__/sqlite3-opfs.browser.test.ts similarity index 66% rename from src/__tests__/sqlite3-opfs.browser.test.js rename to src/__tests__/sqlite3-opfs.browser.test.ts index 9256766..ad8794b 100644 --- a/src/__tests__/sqlite3-opfs.browser.test.js +++ b/src/__tests__/sqlite3-opfs.browser.test.ts @@ -1,15 +1,22 @@ import { describe, expect, test } from 'vitest'; +import type { SqlValue } from '../index'; -const createWorker = (workerUrl) => +type WorkerSuccessMessage = { + type: 'success'; + rows: Record[]; + persistedCount: SqlValue | undefined; +}; + +const createWorker = (workerUrl: URL): Worker => new Worker(workerUrl, { type: 'module', }); -const runWorker = async (workerUrl) => { +const runWorker = async (workerUrl: URL): Promise => { const worker = createWorker(workerUrl); try { - const result = await new Promise((resolve, reject) => { + const result = await new Promise((resolve, reject) => { worker.onmessage = (e) => { if (e.data.type === 'success') { resolve(e.data); @@ -36,10 +43,10 @@ const runWorker = async (workerUrl) => { describe('opfs persistence APIs', () => { test('OpfsDb sanity check in Worker (browser)', async () => { - await runWorker(new URL('./workers/sqlite3-opfs.worker.js', import.meta.url)); + await runWorker(new URL('./workers/sqlite3-opfs.worker.ts', import.meta.url)); }); test('OpfsWlDb sanity check in Worker (browser)', async () => { - await runWorker(new URL('./workers/sqlite3-opfs-wl.worker.js', import.meta.url)); + await runWorker(new URL('./workers/sqlite3-opfs-wl.worker.ts', import.meta.url)); }); }); diff --git a/src/__tests__/sqlite3-sahpool-vfs.browser.test.js b/src/__tests__/sqlite3-sahpool-vfs.browser.test.js deleted file mode 100644 index e0148b2..0000000 --- a/src/__tests__/sqlite3-sahpool-vfs.browser.test.js +++ /dev/null @@ -1,24 +0,0 @@ -import { expect, test } from 'vitest'; - -test('OpfsSAHPoolVfs sanity check in Worker (browser)', async () => { - const worker = new Worker(new URL('./workers/sqlite3-sahpool.worker.js', import.meta.url), { - type: 'module', - }); - - const result = await new Promise((resolve, reject) => { - worker.onmessage = (e) => { - if (e.data.type === 'success') { - resolve(e.data); - } else { - reject(new Error(e.data.message || 'Unknown worker error')); - } - }; - worker.onerror = (e) => { - reject(new Error('Worker error: ' + e.message)); - }; - worker.postMessage({ type: 'start' }); - }); - - expect(result.type).toBe('success'); - worker.terminate(); -}); diff --git a/src/__tests__/sqlite3-sahpool-vfs.browser.test.ts b/src/__tests__/sqlite3-sahpool-vfs.browser.test.ts new file mode 100644 index 0000000..f749c6a --- /dev/null +++ b/src/__tests__/sqlite3-sahpool-vfs.browser.test.ts @@ -0,0 +1,31 @@ +import { expect, test } from 'vitest'; + +type WorkerSuccessMessage = { + type: 'success'; +}; + +test('OpfsSAHPoolVfs sanity check in Worker (browser)', async () => { + const worker = new Worker(new URL('./workers/sqlite3-sahpool.worker.ts', import.meta.url), { + type: 'module', + }); + + try { + const result = await new Promise((resolve, reject) => { + worker.onmessage = (e) => { + if (e.data.type === 'success') { + resolve(e.data); + } else { + reject(new Error(e.data.message || 'Unknown worker error')); + } + }; + worker.onerror = (e) => { + reject(new Error('Worker error: ' + e.message)); + }; + worker.postMessage({ type: 'start' }); + }); + + expect(result.type).toBe('success'); + } finally { + worker.terminate(); + } +}); diff --git a/src/__tests__/vite-repro/index.html b/src/__tests__/vite-repro/index.html index 906966c..6e2d637 100644 --- a/src/__tests__/vite-repro/index.html +++ b/src/__tests__/vite-repro/index.html @@ -1,6 +1,6 @@ - + diff --git a/src/__tests__/vite-repro/main.js b/src/__tests__/vite-repro/main.js deleted file mode 100644 index 1a0fd14..0000000 --- a/src/__tests__/vite-repro/main.js +++ /dev/null @@ -1,3 +0,0 @@ -import sqlite3InitModule from '../../../src/index.js'; - -await sqlite3InitModule(); diff --git a/src/__tests__/vite-repro/main.ts b/src/__tests__/vite-repro/main.ts new file mode 100644 index 0000000..397f537 --- /dev/null +++ b/src/__tests__/vite-repro/main.ts @@ -0,0 +1,3 @@ +import sqlite3InitModule from '../../../src/browser'; + +await sqlite3InitModule(); diff --git a/src/__tests__/workers/sqlite3-opfs-wl.worker.js b/src/__tests__/workers/sqlite3-opfs-wl.worker.ts similarity index 63% rename from src/__tests__/workers/sqlite3-opfs-wl.worker.js rename to src/__tests__/workers/sqlite3-opfs-wl.worker.ts index 957f3fb..d215e2a 100644 --- a/src/__tests__/workers/sqlite3-opfs-wl.worker.js +++ b/src/__tests__/workers/sqlite3-opfs-wl.worker.ts @@ -1,6 +1,11 @@ -import sqlite3InitModule from '../../bin/sqlite3-bundler-friendly.mjs'; +import sqlite3InitModule from '../../browser'; -const cleanupOpfsFile = async (filename) => { +const getErrorMessage = (err: unknown): string => + err instanceof Error ? err.message : String(err); +const getErrorStack = (err: unknown): string | undefined => + err instanceof Error ? err.stack : undefined; + +const cleanupOpfsFile = async (filename: string): Promise => { const entryName = filename.replace(/^\//, ''); try { @@ -18,7 +23,10 @@ self.onmessage = async () => { await cleanupOpfsFile(filename); const sqlite3 = await sqlite3InitModule(); - let db = new sqlite3.oo1.OpfsWlDb(filename, 'ct'); + let db: InstanceType | undefined = new sqlite3.oo1.OpfsWlDb( + filename, + 'ct', + ); try { db.exec('CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)'); @@ -29,7 +37,7 @@ self.onmessage = async () => { const rows = db.selectObjects('SELECT * FROM test ORDER BY id'); db.close(); - db = null; + db = undefined; db = new sqlite3.oo1.OpfsWlDb(filename, 'w'); const persistedCount = db.selectValue('SELECT count(*) FROM test'); @@ -44,6 +52,6 @@ self.onmessage = async () => { await cleanupOpfsFile(filename); } } catch (err) { - self.postMessage({ type: 'error', message: err.message, stack: err.stack }); + self.postMessage({ type: 'error', message: getErrorMessage(err), stack: getErrorStack(err) }); } }; diff --git a/src/__tests__/workers/sqlite3-opfs.worker.js b/src/__tests__/workers/sqlite3-opfs.worker.ts similarity index 63% rename from src/__tests__/workers/sqlite3-opfs.worker.js rename to src/__tests__/workers/sqlite3-opfs.worker.ts index 0e4c46b..ce9aa40 100644 --- a/src/__tests__/workers/sqlite3-opfs.worker.js +++ b/src/__tests__/workers/sqlite3-opfs.worker.ts @@ -1,6 +1,11 @@ -import sqlite3InitModule from '../../bin/sqlite3-bundler-friendly.mjs'; +import sqlite3InitModule from '../../browser'; -const cleanupOpfsFile = async (filename) => { +const getErrorMessage = (err: unknown): string => + err instanceof Error ? err.message : String(err); +const getErrorStack = (err: unknown): string | undefined => + err instanceof Error ? err.stack : undefined; + +const cleanupOpfsFile = async (filename: string): Promise => { const entryName = filename.replace(/^\//, ''); try { @@ -18,7 +23,10 @@ self.onmessage = async () => { await cleanupOpfsFile(filename); const sqlite3 = await sqlite3InitModule(); - let db = new sqlite3.oo1.OpfsDb(filename, 'ct'); + let db: InstanceType | undefined = new sqlite3.oo1.OpfsDb( + filename, + 'ct', + ); try { db.exec('CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)'); @@ -29,7 +37,7 @@ self.onmessage = async () => { const rows = db.selectObjects('SELECT * FROM test ORDER BY id'); db.close(); - db = null; + db = undefined; db = new sqlite3.oo1.OpfsDb(filename, 'w'); const persistedCount = db.selectValue('SELECT count(*) FROM test'); @@ -44,6 +52,6 @@ self.onmessage = async () => { await cleanupOpfsFile(filename); } } catch (err) { - self.postMessage({ type: 'error', message: err.message, stack: err.stack }); + self.postMessage({ type: 'error', message: getErrorMessage(err), stack: getErrorStack(err) }); } }; diff --git a/src/__tests__/workers/sqlite3-sahpool.worker.js b/src/__tests__/workers/sqlite3-sahpool.worker.ts similarity index 82% rename from src/__tests__/workers/sqlite3-sahpool.worker.js rename to src/__tests__/workers/sqlite3-sahpool.worker.ts index 97fbb31..2d8c3b5 100644 --- a/src/__tests__/workers/sqlite3-sahpool.worker.js +++ b/src/__tests__/workers/sqlite3-sahpool.worker.ts @@ -1,9 +1,15 @@ -import sqlite3InitModule from '../../bin/sqlite3-bundler-friendly.mjs'; +import sqlite3InitModule from '../../browser'; +import type { SqlValue } from '../../index'; + +const getErrorMessage = (err: unknown): string => + err instanceof Error ? err.message : String(err); +const getErrorStack = (err: unknown): string | undefined => + err instanceof Error ? err.stack : undefined; self.onmessage = async () => { try { const sqlite3 = await sqlite3InitModule(); - const opfsSahPool = await sqlite3.installOpfsSAHPoolVfs(); + const opfsSahPool = await sqlite3.installOpfsSAHPoolVfs({}); let db = new opfsSahPool.OpfsSAHPoolDb('/test-sahpool-worker.sqlite3'); try { @@ -14,11 +20,13 @@ self.onmessage = async () => { bind: ['Alice', 'Bob'], }); - const rows = []; + const rows: Record[] = []; db.exec({ sql: 'SELECT * FROM test ORDER BY id', rowMode: 'object', - callback: (row) => rows.push(row), + callback: (row: Record) => { + rows.push(row); + }, }); if (rows.length !== 2 || rows[0].name !== 'Alice' || rows[1].name !== 'Bob') { @@ -37,11 +45,13 @@ self.onmessage = async () => { // 2. Joins db.exec('CREATE TABLE orders (id INTEGER PRIMARY KEY, user_id INTEGER, product TEXT)'); db.exec("INSERT INTO orders (user_id, product) VALUES (2, 'Laptop'), (2, 'Mouse')"); - const joinedRows = []; + const joinedRows: Record[] = []; db.exec({ sql: 'SELECT test.name, orders.product FROM test INNER JOIN orders ON test.id = orders.user_id', rowMode: 'object', - callback: (row) => joinedRows.push(row), + callback: (row: Record) => { + joinedRows.push(row); + }, }); if (joinedRows.length !== 2) { throw new Error('Join check failed'); @@ -95,7 +105,7 @@ self.onmessage = async () => { try { new opfsSahPool.OpfsSAHPoolDb('/test-sahpool-worker.sqlite3'); throw new Error('Opening DB should have failed while VFS is paused'); - } catch (e) { + } catch { // Expected error } @@ -110,8 +120,8 @@ self.onmessage = async () => { opfsSahPool.pauseVfs(); throw new Error('pauseVfs should have failed with open DB handles'); } catch (e) { - if (!e.message.includes('Cannot pause VFS')) { - throw new Error('pauseVfs failed with unexpected error: ' + e.message); + if (!(e instanceof Error) || !e.message.includes('Cannot pause VFS')) { + throw new Error('pauseVfs failed with unexpected error: ' + getErrorMessage(e)); } } db.close(); @@ -128,6 +138,6 @@ self.onmessage = async () => { db.close(); } } catch (err) { - self.postMessage({ type: 'error', message: err.message, stack: err.stack }); + self.postMessage({ type: 'error', message: getErrorMessage(err), stack: getErrorStack(err) }); } }; diff --git a/src/browser.ts b/src/browser.ts new file mode 100644 index 0000000..917eab7 --- /dev/null +++ b/src/browser.ts @@ -0,0 +1,15 @@ +import type sqlite3InitModuleDeclaration from './'; +import type { sqlite3Worker1Promiser as sqlite3Worker1PromiserDeclaration } from './'; + +// @ts-expect-error Generated runtime bundle has no declaration file. +import sqlite3InitModuleRuntime from './bin/sqlite3-bundler-friendly.mjs'; +// @ts-expect-error Generated runtime bundle has no declaration file. +import sqlite3Worker1PromiserRuntime from './bin/sqlite3-worker1-promiser.mjs'; + +/** @deprecated Sqlite3Worker1Promiser is deprecated as of 2026-04-15. */ +export const sqlite3Worker1Promiser = + sqlite3Worker1PromiserRuntime as typeof sqlite3Worker1PromiserDeclaration; + +const sqlite3InitModule = sqlite3InitModuleRuntime as typeof sqlite3InitModuleDeclaration; + +export default sqlite3InitModule; diff --git a/src/index.js b/src/index.js deleted file mode 100644 index b4d19d6..0000000 --- a/src/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/** @deprecated Sqlite3Worker1Promiser is deprecated as of 2026-04-15. */ -export { default as sqlite3Worker1Promiser } from './bin/sqlite3-worker1-promiser.mjs'; -export { default } from './bin/sqlite3-bundler-friendly.mjs'; diff --git a/src/node.js b/src/node.js deleted file mode 100644 index 9375739..0000000 --- a/src/node.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from './bin/sqlite3-node.mjs'; diff --git a/src/node.ts b/src/node.ts new file mode 100644 index 0000000..d114c1d --- /dev/null +++ b/src/node.ts @@ -0,0 +1,8 @@ +import type sqlite3InitModuleDeclaration from './index.js'; + +// @ts-expect-error Generated runtime bundle has no declaration file. +import sqlite3InitModuleRuntime from './bin/sqlite3-node.mjs'; + +const sqlite3InitModule = sqlite3InitModuleRuntime as typeof sqlite3InitModuleDeclaration; + +export default sqlite3InitModule; diff --git a/tsconfig.json b/tsconfig.json index f792bce..bf8433c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,11 +17,12 @@ "strictPropertyInitialization": true, "noUnusedParameters": true, "noImplicitReturns": true, - "moduleResolution": "nodenext", + "moduleResolution": "bundler", "noEmit": true, "strict": true, "skipLibCheck": true, - "module": "NodeNext" + "allowImportingTsExtensions": true, + "module": "esnext" }, "include": ["tsdown.config.ts", "oxfmt.config.ts", "src"] } diff --git a/tsdown.config.ts b/tsdown.config.ts index e71e14f..fc8596a 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -4,8 +4,13 @@ import { copyFileSync, rmSync } from 'node:fs'; const tsdownConfig: UserConfig[] = [ defineConfig({ target: 'es2023', - entry: ['src/index.js', 'src/node.js', 'src/index.d.ts', 'src/bin/sqlite3-worker1.mjs'], + entry: { + index: 'src/browser.ts', + node: 'src/node.ts', + 'bin/sqlite3-worker1': 'src/bin/sqlite3-worker1.mjs', + }, format: ['esm'], + dts: false, minify: 'dce-only', outputOptions: { comments: { @@ -17,10 +22,19 @@ const tsdownConfig: UserConfig[] = [ copyFileSync('./dist/bin/sqlite3-worker1.mjs', './dist/sqlite3-worker1.mjs'); }, }), + defineConfig({ + target: 'es2023', + entry: { + 'index.d': 'src/index.d.ts', + }, + format: ['esm'], + dts: true, + }), defineConfig({ target: 'es2023', entry: ['src/bin/sqlite3-opfs-async-proxy.js'], format: ['iife'], + dts: false, minify: 'dce-only', outputOptions: { comments: { diff --git a/vitest.config.ts b/vitest.config.ts index ae563b9..af866d8 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -28,15 +28,15 @@ const vitestConfig: ViteUserConfig = defineConfig({ name: 'node', environment: 'node', include: [ - 'src/__tests__/sqlite3-node.test.js', - 'src/__tests__/bundler-compatibility.test.js', + 'src/__tests__/sqlite3-node.test.ts', + 'src/__tests__/bundler-compatibility.test.ts', ], }, }, { test: { name: 'browser', - include: ['src/__tests__/*.browser.test.js'], + include: ['src/__tests__/*.browser.test.ts'], browser: { enabled: true, headless: true,