diff --git a/.github/workflows/npm-release.yaml b/.github/workflows/npm-release.yaml index 3dfa921..9643ef9 100644 --- a/.github/workflows/npm-release.yaml +++ b/.github/workflows/npm-release.yaml @@ -36,7 +36,7 @@ jobs: - name: Install Playwright browsers with dependencies run: | - cd svelte-test + cd packages/ui npx playwright install --with-deps - name: Test full integration @@ -72,7 +72,7 @@ jobs: NEW_NPM_VERSION=$(npm --prefix pkg version prerelease --preid alpha --no-git-tag-version) NEW_VERSION=${NEW_NPM_VERSION#v} echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV - for manifest in packages/sqlite-web/Cargo.toml packages/sqlite-web-core/Cargo.toml; do + for manifest in crates/sqlite-web/Cargo.toml crates/sqlite-web-core/Cargo.toml; do sed -i.bak "s/^version = \".*\"/version = \"$NEW_VERSION\"/" "$manifest" rm "$manifest".bak done @@ -81,7 +81,7 @@ jobs: - name: Commit And Tag if: ${{ env.OLD_HASH != env.NEW_HASH }} run: | - git add pkg/package.json packages/sqlite-web/Cargo.toml packages/sqlite-web-core/Cargo.toml + git add pkg/package.json crates/sqlite-web/Cargo.toml crates/sqlite-web-core/Cargo.toml git commit -m "NPM Package Release v${{ env.NEW_VERSION }}" git tag npm-v${{ env.NEW_VERSION }} diff --git a/.github/workflows/test-ui.yaml b/.github/workflows/test-ui.yaml index 9a8995c..ae2d75d 100644 --- a/.github/workflows/test-ui.yaml +++ b/.github/workflows/test-ui.yaml @@ -42,12 +42,12 @@ jobs: - name: Install Playwright browsers with dependencies run: | - cd svelte-test + cd packages/ui npx playwright install --with-deps - run: nix develop -c test-ui - name: Frontend linting and formatting run: | - cd svelte-test + cd packages/ui npm run lint-format-check \ No newline at end of file diff --git a/.gitignore b/.gitignore index b013817..b7441eb 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ !pkg/package.json !pkg/.gitignore # Generated files from bundle.sh -packages/sqlite-web/src/embedded_worker.js +crates/sqlite-web/src/embedded_worker.js pkg/sqlite_web_bg.wasm.b64 # macOS diff --git a/.vscode/settings.json b/.vscode/settings.json index a91360b..02a4dfc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,8 +5,8 @@ "rust-analyzer.cargo.target": "wasm32-unknown-unknown", "rust-analyzer.linkedProjects": [ "./Cargo.toml", - "./packages/sqlite-web-core/Cargo.toml", - "./packages/sqlite-web/Cargo.toml", + "./crates/sqlite-web-core/Cargo.toml", + "./crates/sqlite-web/Cargo.toml", "./lib/rain.math.float/Cargo.toml" ], "[rust]": { diff --git a/CLAUDE.md b/CLAUDE.md index 268fd90..bb0d41a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -12,26 +12,26 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co 4. Packages with `npm pack` and updates Svelte test integration ### Individual Package Builds -- `cd packages/sqlite-web-core && wasm-pack build --target web --out-dir ../../pkg` -- `cd packages/sqlite-web && wasm-pack build --target web --out-dir ../../pkg` +- `cd crates/sqlite-web-core && wasm-pack build --target web --out-dir ../../pkg` +- `cd crates/sqlite-web && wasm-pack build --target web --out-dir ../../pkg` ### Testing - `./test.sh` - Run all Rust WASM tests (both packages) -- `cd packages/sqlite-web-core && wasm-pack test --headless --chrome` - Test core package only -- `cd packages/sqlite-web && wasm-pack test --headless --chrome` - Test worker package only +- `cd crates/sqlite-web-core && wasm-pack test --headless --chrome` - Test core package only +- `cd crates/sqlite-web && wasm-pack test --headless --chrome` - Test worker package only -### Svelte Test App -- `cd svelte-test && bun dev` - Start development server -- `cd svelte-test && bun build` - Production build -- `cd svelte-test && bun run check` - TypeScript checking with svelte-check +### UI App +- `cd packages/ui && bun dev` - Start development server +- `cd packages/ui && bun build` - Production build +- `cd packages/ui && bun run check` - TypeScript checking with svelte-check ## Project Architecture -This is a **Rust WebAssembly SQLite Worker** project with a workspace architecture consisting of two main packages and a Svelte test application. +This is a **Rust WebAssembly SQLite Worker** project with a workspace architecture consisting of two main crates and a Svelte UI application. ### Core Components -#### 1. `packages/sqlite-web-core/` +#### 1. `crates/sqlite-web-core/` - **Purpose**: Core SQLite functionality and worker implementation - **Key modules**: - `worker.rs` - Main worker entry point called by `worker_main()` @@ -42,7 +42,7 @@ This is a **Rust WebAssembly SQLite Worker** project with a workspace architectu - **Dependencies**: sqlite-wasm-rs, alloy (Ethereum tooling), rain-math-float - **Output**: WASM module with JS glue code -#### 2. `packages/sqlite-web/` +#### 2. `crates/sqlite-web/` - **Purpose**: Public API that creates self-contained workers with embedded core - **Key files**: - `lib.rs` - `SQLiteWasmDatabase` struct with async query interface @@ -56,7 +56,7 @@ This is a **Rust WebAssembly SQLite Worker** project with a workspace architectu - **Integration**: Custom functions accessible from SQLite via `database_functions.rs` - **Architecture**: Solidity-compatible decimal float operations with Rust/WASM bindings -#### 4. `svelte-test/` +#### 4. `packages/ui/` - **Purpose**: Integration test and example usage - **Technology**: SvelteKit + TypeScript + Vite - **Pattern**: Imports `sqlite-web` package from local tarball @@ -66,7 +66,7 @@ This is a **Rust WebAssembly SQLite Worker** project with a workspace architectu 1. **Core Build**: `sqlite-web-core` compiled to WASM + JS glue 2. **Embedding**: WASM converted to base64 and embedded into JavaScript template 3. **Wrapper Build**: `sqlite-web` compiled with embedded worker generator -4. **Packaging**: NPM package created and integrated into Svelte test +4. **Packaging**: NPM package created and integrated into UI app ### Key Design Patterns diff --git a/Cargo.lock b/Cargo.lock index 5a9a9df..d8288db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "sqlite-web" -version = "0.0.1-alpha.9" +version = "0.0.1-alpha.10" dependencies = [ "base64 0.21.7", "js-sys", @@ -4086,7 +4086,7 @@ dependencies = [ [[package]] name = "sqlite-web-core" -version = "0.0.1-alpha.9" +version = "0.0.1-alpha.10" dependencies = [ "alloy", "base64 0.21.7", diff --git a/Cargo.toml b/Cargo.toml index f130602..4cfd542 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [workspace] members = [ - "packages/sqlite-web-core", - "packages/sqlite-web" + "crates/sqlite-web-core", + "crates/sqlite-web" ] exclude = [ "lib/rain.math.float" diff --git a/packages/sqlite-web-core/Cargo.toml b/crates/sqlite-web-core/Cargo.toml similarity index 100% rename from packages/sqlite-web-core/Cargo.toml rename to crates/sqlite-web-core/Cargo.toml diff --git a/packages/sqlite-web-core/src/coordination.rs b/crates/sqlite-web-core/src/coordination.rs similarity index 100% rename from packages/sqlite-web-core/src/coordination.rs rename to crates/sqlite-web-core/src/coordination.rs diff --git a/packages/sqlite-web-core/src/database.rs b/crates/sqlite-web-core/src/database.rs similarity index 100% rename from packages/sqlite-web-core/src/database.rs rename to crates/sqlite-web-core/src/database.rs diff --git a/packages/sqlite-web-core/src/database_functions/bigint_sum.rs b/crates/sqlite-web-core/src/database_functions/bigint_sum.rs similarity index 100% rename from packages/sqlite-web-core/src/database_functions/bigint_sum.rs rename to crates/sqlite-web-core/src/database_functions/bigint_sum.rs diff --git a/packages/sqlite-web-core/src/database_functions/float_is_zero.rs b/crates/sqlite-web-core/src/database_functions/float_is_zero.rs similarity index 100% rename from packages/sqlite-web-core/src/database_functions/float_is_zero.rs rename to crates/sqlite-web-core/src/database_functions/float_is_zero.rs diff --git a/packages/sqlite-web-core/src/database_functions/float_negate.rs b/crates/sqlite-web-core/src/database_functions/float_negate.rs similarity index 100% rename from packages/sqlite-web-core/src/database_functions/float_negate.rs rename to crates/sqlite-web-core/src/database_functions/float_negate.rs diff --git a/packages/sqlite-web-core/src/database_functions/float_sum.rs b/crates/sqlite-web-core/src/database_functions/float_sum.rs similarity index 100% rename from packages/sqlite-web-core/src/database_functions/float_sum.rs rename to crates/sqlite-web-core/src/database_functions/float_sum.rs diff --git a/packages/sqlite-web-core/src/database_functions/float_zero_hex.rs b/crates/sqlite-web-core/src/database_functions/float_zero_hex.rs similarity index 100% rename from packages/sqlite-web-core/src/database_functions/float_zero_hex.rs rename to crates/sqlite-web-core/src/database_functions/float_zero_hex.rs diff --git a/packages/sqlite-web-core/src/database_functions/mod.rs b/crates/sqlite-web-core/src/database_functions/mod.rs similarity index 100% rename from packages/sqlite-web-core/src/database_functions/mod.rs rename to crates/sqlite-web-core/src/database_functions/mod.rs diff --git a/packages/sqlite-web-core/src/lib.rs b/crates/sqlite-web-core/src/lib.rs similarity index 100% rename from packages/sqlite-web-core/src/lib.rs rename to crates/sqlite-web-core/src/lib.rs diff --git a/packages/sqlite-web-core/src/messages.rs b/crates/sqlite-web-core/src/messages.rs similarity index 100% rename from packages/sqlite-web-core/src/messages.rs rename to crates/sqlite-web-core/src/messages.rs diff --git a/packages/sqlite-web-core/src/util.rs b/crates/sqlite-web-core/src/util.rs similarity index 100% rename from packages/sqlite-web-core/src/util.rs rename to crates/sqlite-web-core/src/util.rs diff --git a/packages/sqlite-web-core/src/worker.rs b/crates/sqlite-web-core/src/worker.rs similarity index 100% rename from packages/sqlite-web-core/src/worker.rs rename to crates/sqlite-web-core/src/worker.rs diff --git a/packages/sqlite-web/Cargo.toml b/crates/sqlite-web/Cargo.toml similarity index 100% rename from packages/sqlite-web/Cargo.toml rename to crates/sqlite-web/Cargo.toml diff --git a/packages/sqlite-web/src/db.rs b/crates/sqlite-web/src/db.rs similarity index 100% rename from packages/sqlite-web/src/db.rs rename to crates/sqlite-web/src/db.rs diff --git a/packages/sqlite-web/src/errors.rs b/crates/sqlite-web/src/errors.rs similarity index 100% rename from packages/sqlite-web/src/errors.rs rename to crates/sqlite-web/src/errors.rs diff --git a/packages/sqlite-web/src/lib.rs b/crates/sqlite-web/src/lib.rs similarity index 100% rename from packages/sqlite-web/src/lib.rs rename to crates/sqlite-web/src/lib.rs diff --git a/packages/sqlite-web/src/messages.rs b/crates/sqlite-web/src/messages.rs similarity index 100% rename from packages/sqlite-web/src/messages.rs rename to crates/sqlite-web/src/messages.rs diff --git a/packages/sqlite-web/src/params.rs b/crates/sqlite-web/src/params.rs similarity index 100% rename from packages/sqlite-web/src/params.rs rename to crates/sqlite-web/src/params.rs diff --git a/packages/sqlite-web/src/ready.rs b/crates/sqlite-web/src/ready.rs similarity index 100% rename from packages/sqlite-web/src/ready.rs rename to crates/sqlite-web/src/ready.rs diff --git a/packages/sqlite-web/src/tests.rs b/crates/sqlite-web/src/tests.rs similarity index 100% rename from packages/sqlite-web/src/tests.rs rename to crates/sqlite-web/src/tests.rs diff --git a/packages/sqlite-web/src/utils.rs b/crates/sqlite-web/src/utils.rs similarity index 100% rename from packages/sqlite-web/src/utils.rs rename to crates/sqlite-web/src/utils.rs diff --git a/packages/sqlite-web/src/worker.rs b/crates/sqlite-web/src/worker.rs similarity index 100% rename from packages/sqlite-web/src/worker.rs rename to crates/sqlite-web/src/worker.rs diff --git a/packages/sqlite-web/src/worker_template.rs b/crates/sqlite-web/src/worker_template.rs similarity index 100% rename from packages/sqlite-web/src/worker_template.rs rename to crates/sqlite-web/src/worker_template.rs diff --git a/flake.nix b/flake.nix index dbc3426..ab7b4ea 100644 --- a/flake.nix +++ b/flake.nix @@ -15,10 +15,10 @@ name = "test-wasm"; body = '' set -euxo pipefail - cd packages/sqlite-web-core + cd crates/sqlite-web-core wasm-pack test --headless --chrome cd ../.. - cd packages/sqlite-web + cd crates/sqlite-web wasm-pack test --headless --chrome cd ../.. ''; @@ -28,10 +28,10 @@ name = "build-wasm"; body = '' set -euxo pipefail - cd packages/sqlite-web-core + cd crates/sqlite-web-core wasm-pack build --target web --out-dir ../../pkg cd ../.. - cd packages/sqlite-web + cd crates/sqlite-web wasm-pack build --target web --out-dir ../../pkg cd ../.. ''; @@ -50,9 +50,9 @@ body = '' set -euxo pipefail ./scripts/local-bundle.sh - cd svelte-test + cd packages/ui npm run test - cd .. + cd ../.. ''; }; diff --git a/svelte-test/.eslintignore b/packages/ui/.eslintignore similarity index 100% rename from svelte-test/.eslintignore rename to packages/ui/.eslintignore diff --git a/svelte-test/.gitignore b/packages/ui/.gitignore similarity index 100% rename from svelte-test/.gitignore rename to packages/ui/.gitignore diff --git a/svelte-test/.npmrc b/packages/ui/.npmrc similarity index 100% rename from svelte-test/.npmrc rename to packages/ui/.npmrc diff --git a/svelte-test/README.md b/packages/ui/README.md similarity index 100% rename from svelte-test/README.md rename to packages/ui/README.md diff --git a/svelte-test/bun.lock b/packages/ui/bun.lock similarity index 99% rename from svelte-test/bun.lock rename to packages/ui/bun.lock index 2762957..101e8ca 100644 --- a/svelte-test/bun.lock +++ b/packages/ui/bun.lock @@ -2,9 +2,9 @@ "lockfileVersion": 1, "workspaces": { "": { - "name": "svelte-test", + "name": "ui", "dependencies": { - "@rainlanguage/sqlite-web": "file:../pkg/rainlanguage-sqlite-web-0.1.0.tgz", + "@rainlanguage/sqlite-web": "file:../../pkg/rainlanguage-sqlite-web-0.1.0.tgz", }, "devDependencies": { "@eslint/js": "^9.33.0", diff --git a/svelte-test/eslint.config.js b/packages/ui/eslint.config.js similarity index 100% rename from svelte-test/eslint.config.js rename to packages/ui/eslint.config.js diff --git a/svelte-test/package-lock.json b/packages/ui/package-lock.json similarity index 95% rename from svelte-test/package-lock.json rename to packages/ui/package-lock.json index ba2cf71..ee7db19 100644 --- a/svelte-test/package-lock.json +++ b/packages/ui/package-lock.json @@ -1,15 +1,15 @@ { - "name": "svelte-test", + "name": "ui", "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "svelte-test", + "name": "ui", "version": "0.0.1", "dependencies": { "@rainlanguage/float": "^0.0.0-alpha.22", - "@rainlanguage/sqlite-web": "file:../pkg/rainlanguage-sqlite-web-0.0.1-alpha.9.tgz" + "@rainlanguage/sqlite-web": "file:../../pkg/rainlanguage-sqlite-web-0.0.1-alpha.10.tgz" }, "devDependencies": { "@sveltejs/adapter-auto": "^6.0.0", @@ -512,9 +512,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -912,14 +912,14 @@ } }, "node_modules/@rainlanguage/sqlite-web": { - "version": "0.0.1-alpha.9", - "resolved": "file:../pkg/rainlanguage-sqlite-web-0.0.1-alpha.9.tgz", - "integrity": "sha512-pQZ0+4wV9t36PYrklecBDHX2Wg62p3rDyYJ7XlaBcBxbSEoYPKaEWSC7TFTzzPXnUDq32PhBR9GOlxM941ayBA==" + "version": "0.0.1-alpha.10", + "resolved": "file:../../pkg/rainlanguage-sqlite-web-0.0.1-alpha.10.tgz", + "integrity": "sha512-LGbXF4uehKTq2t5FakUZhwEuGwGr1W8ozriu+t7ALs1i2PBmUEz7Xp5zjAaxUCQMB3NknXoXbjUm0hMOhyqH5A==" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.54.0.tgz", - "integrity": "sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz", + "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==", "cpu": [ "arm" ], @@ -931,9 +931,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.54.0.tgz", - "integrity": "sha512-Skx39Uv+u7H224Af+bDgNinitlmHyQX1K/atIA32JP3JQw6hVODX5tkbi2zof/E69M1qH2UoN3Xdxgs90mmNYw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz", + "integrity": "sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==", "cpu": [ "arm64" ], @@ -945,9 +945,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.54.0.tgz", - "integrity": "sha512-k43D4qta/+6Fq+nCDhhv9yP2HdeKeP56QrUUTW7E6PhZP1US6NDqpJj4MY0jBHlJivVJD5P8NxrjuobZBJTCRw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz", + "integrity": "sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==", "cpu": [ "arm64" ], @@ -959,9 +959,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.54.0.tgz", - "integrity": "sha512-cOo7biqwkpawslEfox5Vs8/qj83M/aZCSSNIWpVzfU2CYHa2G3P1UN5WF01RdTHSgCkri7XOlTdtk17BezlV3A==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.1.tgz", + "integrity": "sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==", "cpu": [ "x64" ], @@ -973,9 +973,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.54.0.tgz", - "integrity": "sha512-miSvuFkmvFbgJ1BevMa4CPCFt5MPGw094knM64W9I0giUIMMmRYcGW/JWZDriaw/k1kOBtsWh1z6nIFV1vPNtA==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz", + "integrity": "sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==", "cpu": [ "arm64" ], @@ -987,9 +987,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.54.0.tgz", - "integrity": "sha512-KGXIs55+b/ZfZsq9aR026tmr/+7tq6VG6MsnrvF4H8VhwflTIuYh+LFUlIsRdQSgrgmtM3fVATzEAj4hBQlaqQ==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz", + "integrity": "sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==", "cpu": [ "x64" ], @@ -1001,9 +1001,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.54.0.tgz", - "integrity": "sha512-EHMUcDwhtdRGlXZsGSIuXSYwD5kOT9NVnx9sqzYiwAc91wfYOE1g1djOEDseZJKKqtHAHGwnGPQu3kytmfaXLQ==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz", + "integrity": "sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==", "cpu": [ "arm" ], @@ -1015,9 +1015,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.54.0.tgz", - "integrity": "sha512-+pBrqEjaakN2ySv5RVrj/qLytYhPKEUwk+e3SFU5jTLHIcAtqh2rLrd/OkbNuHJpsBgxsD8ccJt5ga/SeG0JmA==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz", + "integrity": "sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==", "cpu": [ "arm" ], @@ -1029,9 +1029,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.54.0.tgz", - "integrity": "sha512-NSqc7rE9wuUaRBsBp5ckQ5CVz5aIRKCwsoa6WMF7G01sX3/qHUw/z4pv+D+ahL1EIKy6Enpcnz1RY8pf7bjwng==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.1.tgz", + "integrity": "sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==", "cpu": [ "arm64" ], @@ -1043,9 +1043,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.54.0.tgz", - "integrity": "sha512-gr5vDbg3Bakga5kbdpqx81m2n9IX8M6gIMlQQIXiLTNeQW6CucvuInJ91EuCJ/JYvc+rcLLsDFcfAD1K7fMofg==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz", + "integrity": "sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==", "cpu": [ "arm64" ], @@ -1057,9 +1057,23 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.54.0.tgz", - "integrity": "sha512-gsrtB1NA3ZYj2vq0Rzkylo9ylCtW/PhpLEivlgWe0bpgtX5+9j9EZa0wtZiCjgu6zmSeZWyI/e2YRX1URozpIw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz", + "integrity": "sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz", + "integrity": "sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==", "cpu": [ "loong64" ], @@ -1071,9 +1085,23 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.54.0.tgz", - "integrity": "sha512-y3qNOfTBStmFNq+t4s7Tmc9hW2ENtPg8FeUD/VShI7rKxNW7O4fFeaYbMsd3tpFlIg1Q8IapFgy7Q9i2BqeBvA==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz", + "integrity": "sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz", + "integrity": "sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==", "cpu": [ "ppc64" ], @@ -1085,9 +1113,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.54.0.tgz", - "integrity": "sha512-89sepv7h2lIVPsFma8iwmccN7Yjjtgz0Rj/Ou6fEqg3HDhpCa+Et+YSufy27i6b0Wav69Qv4WBNl3Rs6pwhebQ==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz", + "integrity": "sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==", "cpu": [ "riscv64" ], @@ -1099,9 +1127,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.54.0.tgz", - "integrity": "sha512-ZcU77ieh0M2Q8Ur7D5X7KvK+UxbXeDHwiOt/CPSBTI1fBmeDMivW0dPkdqkT4rOgDjrDDBUed9x4EgraIKoR2A==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz", + "integrity": "sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==", "cpu": [ "riscv64" ], @@ -1113,9 +1141,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.54.0.tgz", - "integrity": "sha512-2AdWy5RdDF5+4YfG/YesGDDtbyJlC9LHmL6rZw6FurBJ5n4vFGupsOBGfwMRjBYH7qRQowT8D/U4LoSvVwOhSQ==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz", + "integrity": "sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==", "cpu": [ "s390x" ], @@ -1127,9 +1155,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.54.0.tgz", - "integrity": "sha512-WGt5J8Ij/rvyqpFexxk3ffKqqbLf9AqrTBbWDk7ApGUzaIs6V+s2s84kAxklFwmMF/vBNGrVdYgbblCOFFezMQ==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz", + "integrity": "sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==", "cpu": [ "x64" ], @@ -1141,9 +1169,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.54.0.tgz", - "integrity": "sha512-JzQmb38ATzHjxlPHuTH6tE7ojnMKM2kYNzt44LO/jJi8BpceEC8QuXYA908n8r3CNuG/B3BV8VR3Hi1rYtmPiw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz", + "integrity": "sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==", "cpu": [ "x64" ], @@ -1154,10 +1182,24 @@ "linux" ] }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz", + "integrity": "sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.54.0.tgz", - "integrity": "sha512-huT3fd0iC7jigGh7n3q/+lfPcXxBi+om/Rs3yiFxjvSxbSB6aohDFXbWvlspaqjeOh+hx7DDHS+5Es5qRkWkZg==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz", + "integrity": "sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==", "cpu": [ "arm64" ], @@ -1169,9 +1211,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.54.0.tgz", - "integrity": "sha512-c2V0W1bsKIKfbLMBu/WGBz6Yci8nJ/ZJdheE0EwB73N3MvHYKiKGs3mVilX4Gs70eGeDaMqEob25Tw2Gb9Nqyw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.1.tgz", + "integrity": "sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==", "cpu": [ "arm64" ], @@ -1183,9 +1225,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.54.0.tgz", - "integrity": "sha512-woEHgqQqDCkAzrDhvDipnSirm5vxUXtSKDYTVpZG3nUdW/VVB5VdCYA2iReSj/u3yCZzXID4kuKG7OynPnB3WQ==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz", + "integrity": "sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==", "cpu": [ "ia32" ], @@ -1197,9 +1239,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.54.0.tgz", - "integrity": "sha512-dzAc53LOuFvHwbCEOS0rPbXp6SIhAf2txMP5p6mGyOXXw5mWY8NGGbPMPrs4P1WItkfApDathBj/NzMLUZ9rtQ==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz", + "integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==", "cpu": [ "x64" ], @@ -1211,9 +1253,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.54.0.tgz", - "integrity": "sha512-hYT5d3YNdSh3mbCU1gwQyPgQd3T2ne0A3KG8KSBdav5TiBg6eInVmV+TeR5uHufiIgSFg0XsOWGW5/RhNcSvPg==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz", + "integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==", "cpu": [ "x64" ], @@ -1252,9 +1294,9 @@ } }, "node_modules/@sveltejs/kit": { - "version": "2.49.2", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.49.2.tgz", - "integrity": "sha512-Vp3zX/qlwerQmHMP6x0Ry1oY7eKKRcOWGc2P59srOp4zcqyn+etJyQpELgOi4+ZSUgteX8Y387NuwruLgGXLUQ==", + "version": "2.49.3", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.49.3.tgz", + "integrity": "sha512-luTmE2Isk9GRJnitqanLoByKBiyLdfLpV2qV9a25JMxjbQt919TVqG8pibJDkxTvX9+w2k/9IL7o+/RtG++3QA==", "dev": true, "license": "MIT", "dependencies": { @@ -1282,25 +1324,29 @@ "@opentelemetry/api": "^1.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": "^5.3.3", "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" }, "peerDependenciesMeta": { "@opentelemetry/api": { "optional": true + }, + "typescript": { + "optional": true } } }, "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.2.1.tgz", - "integrity": "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.2.2.tgz", + "integrity": "sha512-9P/0sA/+lWxvRmJFGmVVoVQFeCIktv9bNju1Gc8h1Ptf/UeWCfVgpSy0CDdozVpQWfTvBZblttjrvo6ICxujdg==", "dev": true, "license": "MIT", "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", - "debug": "^4.4.1", "deepmerge": "^4.3.1", - "magic-string": "^0.30.17", + "magic-string": "^0.30.21", + "obug": "^2.1.0", "vitefu": "^1.1.1" }, "engines": { @@ -1312,13 +1358,13 @@ } }, "node_modules/@sveltejs/vite-plugin-svelte-inspector": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.1.tgz", - "integrity": "sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.2.tgz", + "integrity": "sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.4.1" + "obug": "^2.1.0" }, "engines": { "node": "^20.19 || ^22.12 || >=24" @@ -2566,9 +2612,9 @@ } }, "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", + "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", "dev": true, "license": "MIT", "engines": { @@ -3115,9 +3161,9 @@ } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3862,9 +3908,9 @@ "license": "MIT" }, "node_modules/msw": { - "version": "2.12.4", - "resolved": "https://registry.npmjs.org/msw/-/msw-2.12.4.tgz", - "integrity": "sha512-rHNiVfTyKhzc0EjoXUBVGteNKBevdjOlVC6GlIRXpy+/3LHEIGRovnB5WPjcvmNODVQ1TNFnoa7wsGbd0V3epg==", + "version": "2.12.7", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.12.7.tgz", + "integrity": "sha512-retd5i3xCZDVWMYjHEVuKTmhqY8lSsxujjVrZiGbbdoxxIBg5S7rCuYy/YQpfrTYIxpd/o0Kyb/3H+1udBMoYg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -3972,6 +4018,17 @@ "dev": true, "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==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -4323,9 +4380,9 @@ } }, "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", "dev": true, "license": "MIT", "dependencies": { @@ -4471,9 +4528,9 @@ } }, "node_modules/rollup": { - "version": "4.54.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.54.0.tgz", - "integrity": "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz", + "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==", "dev": true, "license": "MIT", "dependencies": { @@ -4487,28 +4544,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.54.0", - "@rollup/rollup-android-arm64": "4.54.0", - "@rollup/rollup-darwin-arm64": "4.54.0", - "@rollup/rollup-darwin-x64": "4.54.0", - "@rollup/rollup-freebsd-arm64": "4.54.0", - "@rollup/rollup-freebsd-x64": "4.54.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.54.0", - "@rollup/rollup-linux-arm-musleabihf": "4.54.0", - "@rollup/rollup-linux-arm64-gnu": "4.54.0", - "@rollup/rollup-linux-arm64-musl": "4.54.0", - "@rollup/rollup-linux-loong64-gnu": "4.54.0", - "@rollup/rollup-linux-ppc64-gnu": "4.54.0", - "@rollup/rollup-linux-riscv64-gnu": "4.54.0", - "@rollup/rollup-linux-riscv64-musl": "4.54.0", - "@rollup/rollup-linux-s390x-gnu": "4.54.0", - "@rollup/rollup-linux-x64-gnu": "4.54.0", - "@rollup/rollup-linux-x64-musl": "4.54.0", - "@rollup/rollup-openharmony-arm64": "4.54.0", - "@rollup/rollup-win32-arm64-msvc": "4.54.0", - "@rollup/rollup-win32-ia32-msvc": "4.54.0", - "@rollup/rollup-win32-x64-gnu": "4.54.0", - "@rollup/rollup-win32-x64-msvc": "4.54.0", + "@rollup/rollup-android-arm-eabi": "4.55.1", + "@rollup/rollup-android-arm64": "4.55.1", + "@rollup/rollup-darwin-arm64": "4.55.1", + "@rollup/rollup-darwin-x64": "4.55.1", + "@rollup/rollup-freebsd-arm64": "4.55.1", + "@rollup/rollup-freebsd-x64": "4.55.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.55.1", + "@rollup/rollup-linux-arm-musleabihf": "4.55.1", + "@rollup/rollup-linux-arm64-gnu": "4.55.1", + "@rollup/rollup-linux-arm64-musl": "4.55.1", + "@rollup/rollup-linux-loong64-gnu": "4.55.1", + "@rollup/rollup-linux-loong64-musl": "4.55.1", + "@rollup/rollup-linux-ppc64-gnu": "4.55.1", + "@rollup/rollup-linux-ppc64-musl": "4.55.1", + "@rollup/rollup-linux-riscv64-gnu": "4.55.1", + "@rollup/rollup-linux-riscv64-musl": "4.55.1", + "@rollup/rollup-linux-s390x-gnu": "4.55.1", + "@rollup/rollup-linux-x64-gnu": "4.55.1", + "@rollup/rollup-linux-x64-musl": "4.55.1", + "@rollup/rollup-openbsd-x64": "4.55.1", + "@rollup/rollup-openharmony-arm64": "4.55.1", + "@rollup/rollup-win32-arm64-msvc": "4.55.1", + "@rollup/rollup-win32-ia32-msvc": "4.55.1", + "@rollup/rollup-win32-x64-gnu": "4.55.1", + "@rollup/rollup-win32-x64-msvc": "4.55.1", "fsevents": "~2.3.2" } }, @@ -4733,9 +4793,9 @@ } }, "node_modules/svelte": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.46.0.tgz", - "integrity": "sha512-ZhLtvroYxUxr+HQJfMZEDRsGsmU46x12RvAv/zi9584f5KOX7bUrEbhPJ7cKFmUvZTJXi/CFZUYwDC6M1FigPw==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.46.1.tgz", + "integrity": "sha512-ynjfCHD3nP2el70kN5Pmg37sSi0EjOm9FgHYQdC4giWG/hzO3AatzXXJJgP305uIhGQxSufJLuYWtkY8uK/8RA==", "dev": true, "license": "MIT", "dependencies": { @@ -5348,9 +5408,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", - "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", "dependencies": { @@ -6680,9 +6740,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", "dev": true, "license": "MIT", "engines": { diff --git a/svelte-test/package.json b/packages/ui/package.json similarity index 92% rename from svelte-test/package.json rename to packages/ui/package.json index d3777d3..4d08e8a 100644 --- a/svelte-test/package.json +++ b/packages/ui/package.json @@ -1,5 +1,5 @@ { - "name": "svelte-test", + "name": "ui", "version": "0.0.1", "devDependencies": { "@sveltejs/adapter-auto": "^6.0.0", @@ -41,6 +41,6 @@ "type": "module", "dependencies": { "@rainlanguage/float": "^0.0.0-alpha.22", - "@rainlanguage/sqlite-web": "file:../pkg/rainlanguage-sqlite-web-0.0.1-alpha.9.tgz" + "@rainlanguage/sqlite-web": "file:../../pkg/rainlanguage-sqlite-web-0.0.1-alpha.10.tgz" } } diff --git a/svelte-test/src/app.d.ts b/packages/ui/src/app.d.ts similarity index 100% rename from svelte-test/src/app.d.ts rename to packages/ui/src/app.d.ts diff --git a/svelte-test/src/app.html b/packages/ui/src/app.html similarity index 100% rename from svelte-test/src/app.html rename to packages/ui/src/app.html diff --git a/svelte-test/src/lib/assets/favicon.svg b/packages/ui/src/lib/assets/favicon.svg similarity index 100% rename from svelte-test/src/lib/assets/favicon.svg rename to packages/ui/src/lib/assets/favicon.svg diff --git a/svelte-test/src/lib/index.ts b/packages/ui/src/lib/index.ts similarity index 100% rename from svelte-test/src/lib/index.ts rename to packages/ui/src/lib/index.ts diff --git a/svelte-test/src/routes/+layout.svelte b/packages/ui/src/routes/+layout.svelte similarity index 100% rename from svelte-test/src/routes/+layout.svelte rename to packages/ui/src/routes/+layout.svelte diff --git a/svelte-test/src/routes/+page.svelte b/packages/ui/src/routes/+page.svelte similarity index 100% rename from svelte-test/src/routes/+page.svelte rename to packages/ui/src/routes/+page.svelte diff --git a/svelte-test/src/routes/sql/+page.svelte b/packages/ui/src/routes/sql/+page.svelte similarity index 100% rename from svelte-test/src/routes/sql/+page.svelte rename to packages/ui/src/routes/sql/+page.svelte diff --git a/svelte-test/static/robots.txt b/packages/ui/static/robots.txt similarity index 100% rename from svelte-test/static/robots.txt rename to packages/ui/static/robots.txt diff --git a/svelte-test/svelte.config.js b/packages/ui/svelte.config.js similarity index 100% rename from svelte-test/svelte.config.js rename to packages/ui/svelte.config.js diff --git a/svelte-test/tests/database-functions/bigint-sum.test.ts b/packages/ui/tests/database-functions/bigint-sum.test.ts similarity index 100% rename from svelte-test/tests/database-functions/bigint-sum.test.ts rename to packages/ui/tests/database-functions/bigint-sum.test.ts diff --git a/svelte-test/tests/database-functions/float-is-zero.test.ts b/packages/ui/tests/database-functions/float-is-zero.test.ts similarity index 100% rename from svelte-test/tests/database-functions/float-is-zero.test.ts rename to packages/ui/tests/database-functions/float-is-zero.test.ts diff --git a/svelte-test/tests/database-functions/float-negate.test.ts b/packages/ui/tests/database-functions/float-negate.test.ts similarity index 100% rename from svelte-test/tests/database-functions/float-negate.test.ts rename to packages/ui/tests/database-functions/float-negate.test.ts diff --git a/svelte-test/tests/database-functions/float-sum.test.ts b/packages/ui/tests/database-functions/float-sum.test.ts similarity index 100% rename from svelte-test/tests/database-functions/float-sum.test.ts rename to packages/ui/tests/database-functions/float-sum.test.ts diff --git a/svelte-test/tests/database-functions/float-zero-hex.test.ts b/packages/ui/tests/database-functions/float-zero-hex.test.ts similarity index 100% rename from svelte-test/tests/database-functions/float-zero-hex.test.ts rename to packages/ui/tests/database-functions/float-zero-hex.test.ts diff --git a/svelte-test/tests/fixtures/float-utils.ts b/packages/ui/tests/fixtures/float-utils.ts similarity index 100% rename from svelte-test/tests/fixtures/float-utils.ts rename to packages/ui/tests/fixtures/float-utils.ts diff --git a/svelte-test/tests/fixtures/test-data.sql b/packages/ui/tests/fixtures/test-data.sql similarity index 100% rename from svelte-test/tests/fixtures/test-data.sql rename to packages/ui/tests/fixtures/test-data.sql diff --git a/svelte-test/tests/fixtures/test-helpers.ts b/packages/ui/tests/fixtures/test-helpers.ts similarity index 100% rename from svelte-test/tests/fixtures/test-helpers.ts rename to packages/ui/tests/fixtures/test-helpers.ts diff --git a/svelte-test/tests/global-setup.js b/packages/ui/tests/global-setup.js similarity index 100% rename from svelte-test/tests/global-setup.js rename to packages/ui/tests/global-setup.js diff --git a/svelte-test/tests/integration/database-basic.test.ts b/packages/ui/tests/integration/database-basic.test.ts similarity index 100% rename from svelte-test/tests/integration/database-basic.test.ts rename to packages/ui/tests/integration/database-basic.test.ts diff --git a/svelte-test/tests/integration/error-handling.test.ts b/packages/ui/tests/integration/error-handling.test.ts similarity index 100% rename from svelte-test/tests/integration/error-handling.test.ts rename to packages/ui/tests/integration/error-handling.test.ts diff --git a/svelte-test/tests/integration/multi-sql-commands.test.ts b/packages/ui/tests/integration/multi-sql-commands.test.ts similarity index 100% rename from svelte-test/tests/integration/multi-sql-commands.test.ts rename to packages/ui/tests/integration/multi-sql-commands.test.ts diff --git a/svelte-test/tests/integration/opfs-persistence.test.ts b/packages/ui/tests/integration/opfs-persistence.test.ts similarity index 100% rename from svelte-test/tests/integration/opfs-persistence.test.ts rename to packages/ui/tests/integration/opfs-persistence.test.ts diff --git a/svelte-test/tests/integration/parameter-binding.test.ts b/packages/ui/tests/integration/parameter-binding.test.ts similarity index 100% rename from svelte-test/tests/integration/parameter-binding.test.ts rename to packages/ui/tests/integration/parameter-binding.test.ts diff --git a/svelte-test/tests/integration/worker-communication.test.ts b/packages/ui/tests/integration/worker-communication.test.ts similarity index 100% rename from svelte-test/tests/integration/worker-communication.test.ts rename to packages/ui/tests/integration/worker-communication.test.ts diff --git a/svelte-test/tests/test-setup.js b/packages/ui/tests/test-setup.js similarity index 100% rename from svelte-test/tests/test-setup.js rename to packages/ui/tests/test-setup.js diff --git a/svelte-test/tsconfig.json b/packages/ui/tsconfig.json similarity index 100% rename from svelte-test/tsconfig.json rename to packages/ui/tsconfig.json diff --git a/svelte-test/vite.config.ts b/packages/ui/vite.config.ts similarity index 100% rename from svelte-test/vite.config.ts rename to packages/ui/vite.config.ts diff --git a/svelte-test/vitest.config.js b/packages/ui/vitest.config.js similarity index 100% rename from svelte-test/vitest.config.js rename to packages/ui/vitest.config.js diff --git a/pkg/package.json b/pkg/package.json index f69487b..6498472 100644 --- a/pkg/package.json +++ b/pkg/package.json @@ -12,4 +12,4 @@ "sideEffects": [ "./snippets/*" ] -} +} \ No newline at end of file diff --git a/scripts/local-bundle.sh b/scripts/local-bundle.sh index 774468e..d30bcce 100755 --- a/scripts/local-bundle.sh +++ b/scripts/local-bundle.sh @@ -9,10 +9,10 @@ rm -rf pkg/*.tgz 2>/dev/null || true # Clear embedded_worker.js file contents first echo "๐Ÿงน Clearing embedded_worker.js..." -echo "" > packages/sqlite-web/src/embedded_worker.js +echo "" > crates/sqlite-web/src/embedded_worker.js echo "๐Ÿ“ฆ Step 1: Building core package with web target..." -cd packages/sqlite-web-core +cd crates/sqlite-web-core wasm-pack build --target web --out-dir ../../pkg cd ../.. @@ -29,7 +29,7 @@ base64 < pkg/sqlite_web_core_bg.wasm | tr -d '\n' > pkg/sqlite_web_core_bg.wasm. echo "๐Ÿ”ง Generating embedded worker template..." # Create the embedded worker with fetch interceptor -cat > packages/sqlite-web/src/embedded_worker.js << 'EOF' +cat > crates/sqlite-web/src/embedded_worker.js << 'EOF' (function(){ // Base64 decoder utility - works in both Node.js and browser self.__b64ToU8 = function(b64) { @@ -90,25 +90,25 @@ echo "๐Ÿ”„ Assembling final worker..." # Create the final embedded worker by combining template + JS glue + base64 substitution { # Start with the template (everything before JS_GLUE_PLACEHOLDER) - sed '/JS_GLUE_PLACEHOLDER/,$d' packages/sqlite-web/src/embedded_worker.js + sed '/JS_GLUE_PLACEHOLDER/,$d' crates/sqlite-web/src/embedded_worker.js # Add the JS glue code (convert exports to regular variables for worker context) sed 's/^export function /function /; s/^export class /class /; s/^export { initSync };/self.initSync = initSync;/; s/^export default __wbg_init;/self.wasm_bindgen = __wbg_init;/; s/import\.meta\.url/self.location.href/g' pkg/sqlite_web_core.js # Add the rest of the template (everything after JS_GLUE_PLACEHOLDER) - sed '1,/JS_GLUE_PLACEHOLDER/d' packages/sqlite-web/src/embedded_worker.js -} | awk 'BEGIN{getline b64<"pkg/sqlite_web_core_bg.wasm.b64"} {gsub(/__WASM_B64_CORE__/, b64)}1' > packages/sqlite-web/src/embedded_worker.js.final + sed '1,/JS_GLUE_PLACEHOLDER/d' crates/sqlite-web/src/embedded_worker.js +} | awk 'BEGIN{getline b64<"pkg/sqlite_web_core_bg.wasm.b64"} {gsub(/__WASM_B64_CORE__/, b64)}1' > crates/sqlite-web/src/embedded_worker.js.final # Replace the original with the final version -mv packages/sqlite-web/src/embedded_worker.js.final packages/sqlite-web/src/embedded_worker.js +mv crates/sqlite-web/src/embedded_worker.js.final crates/sqlite-web/src/embedded_worker.js -echo "โœ… Core embedding complete! Generated packages/sqlite-web/src/embedded_worker.js" +echo "โœ… Core embedding complete! Generated crates/sqlite-web/src/embedded_worker.js" echo "๐Ÿ“Š Embedded WASM size: $(wc -c < pkg/sqlite_web_core_bg.wasm.b64) base64 characters" echo "๐Ÿ“Š JS glue code lines: $(wc -l < pkg/sqlite_web_core.js)" echo "" echo "๐Ÿ“ฆ Step 2: Building main package with embedded core..." -cd packages/sqlite-web +cd crates/sqlite-web wasm-pack build --target web --out-dir ../../pkg cd ../.. @@ -122,7 +122,7 @@ else fi echo "๐Ÿ“Œ Syncing package version with Cargo manifest..." -CARGO_VERSION=$(sed -n 's/^version = "\(.*\)"/\1/p' packages/sqlite-web/Cargo.toml | head -n 1) +CARGO_VERSION=$(sed -n 's/^version = "\(.*\)"/\1/p' crates/sqlite-web/Cargo.toml | head -n 1) if [ -n "$CARGO_VERSION" ]; then sed -i.bak "s/\"version\": \"[^\"]*\"/\"version\": \"$CARGO_VERSION\"/" pkg/package.json rm pkg/package.json.bak @@ -139,13 +139,13 @@ cd .. # Update Svelte integration with fresh package echo "๐Ÿ”„ Updating Svelte integration..." -cd svelte-test +cd packages/ui npm pkg delete dependencies.sqlite-web 2>/dev/null || true npm pkg delete dependencies."@rainlanguage/sqlite-web" 2>/dev/null || true -npm pkg set dependencies."@rainlanguage/sqlite-web"="file:../pkg/${PACK_FILE}" +npm pkg set dependencies."@rainlanguage/sqlite-web"="file:../../pkg/${PACK_FILE}" rm -rf node_modules package-lock.json npm install -cd .. +cd ../.. echo "" echo "๐Ÿš€ Your SQLite worker is now fully self-contained with workspace architecture!"