diff --git a/.github/workflows/build-wasm.yml b/.github/workflows/build-wasm.yml index 31e0e73..f9f06f7 100644 --- a/.github/workflows/build-wasm.yml +++ b/.github/workflows/build-wasm.yml @@ -24,18 +24,25 @@ jobs: - name: Resolve SQLite reference id: resolve-ref run: | + SQLITE_REPO="https://github.com/sqlite/sqlite.git" SQLITE_REF="${{ github.event.inputs.sqlite_ref }}" if ! [[ "$SQLITE_REF" =~ ^[0-9a-fA-F]{40}$ ]]; then echo "Expected a full 40-character commit SHA, got: '$SQLITE_REF'" exit 1 fi - SQLITE_SHA=$(git ls-remote https://github.com/sqlite/sqlite.git "$SQLITE_REF" | head -n 1 | cut -f 1) - if [ -z "$SQLITE_SHA" ] || [ "$SQLITE_SHA" != "$SQLITE_REF" ]; then - echo "Commit SHA '$SQLITE_REF' was not found in https://github.com/sqlite/sqlite.git" + SQLITE_TMP_DIR="$(mktemp -d)" + trap 'rm -rf "$SQLITE_TMP_DIR"' EXIT + git -C "$SQLITE_TMP_DIR" init + git -C "$SQLITE_TMP_DIR" remote add origin "$SQLITE_REPO" + + if ! git -C "$SQLITE_TMP_DIR" fetch --depth 1 origin "$SQLITE_REF"; then + echo "Commit SHA '$SQLITE_REF' was not fetchable from $SQLITE_REPO" exit 1 fi + SQLITE_SHA=$(git -C "$SQLITE_TMP_DIR" rev-parse FETCH_HEAD) + echo "sqlite_ref=$SQLITE_REF" >> $GITHUB_OUTPUT echo "sqlite_sha=$SQLITE_SHA" >> $GITHUB_OUTPUT echo "branch_name=update-sqlite-wasm-${SQLITE_SHA}" >> $GITHUB_OUTPUT diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ff1be9..e7a4d98 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -123,7 +123,7 @@ jobs: strategy: fail-fast: false matrix: - node-version: [20, 22, 23, 24, 25] + node-version: [22, 24, 26] steps: - name: Checkout repo uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/Dockerfile b/Dockerfile index 8de2c7a..b547c06 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,6 @@ # syntax=docker/dockerfile:1 -FROM emscripten/emsdk:latest +ARG EMSDK_VERSION=5.0.5 +FROM emscripten/emsdk:${EMSDK_VERSION} ARG DEBIAN_FRONTEND=noninteractive diff --git a/demos/in-worker-demo/package.json b/demos/in-worker-demo/package.json index f12c86d..6a72e30 100644 --- a/demos/in-worker-demo/package.json +++ b/demos/in-worker-demo/package.json @@ -10,6 +10,6 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } } diff --git a/demos/kvvfs-demo/package.json b/demos/kvvfs-demo/package.json index 929b206..fd77904 100644 --- a/demos/kvvfs-demo/package.json +++ b/demos/kvvfs-demo/package.json @@ -10,6 +10,6 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } } diff --git a/demos/main-thread-demo/package.json b/demos/main-thread-demo/package.json index 5956573..cf2509b 100644 --- a/demos/main-thread-demo/package.json +++ b/demos/main-thread-demo/package.json @@ -10,6 +10,6 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } } diff --git a/demos/opfs-demo/package.json b/demos/opfs-demo/package.json index e5af1f3..681e338 100644 --- a/demos/opfs-demo/package.json +++ b/demos/opfs-demo/package.json @@ -10,6 +10,6 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } } diff --git a/demos/opfs-wl-demo/package.json b/demos/opfs-wl-demo/package.json index 63e5e3f..8592c2e 100644 --- a/demos/opfs-wl-demo/package.json +++ b/demos/opfs-wl-demo/package.json @@ -10,6 +10,6 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } } diff --git a/demos/sahpool-demo/package.json b/demos/sahpool-demo/package.json index b3f7388..2268a58 100644 --- a/demos/sahpool-demo/package.json +++ b/demos/sahpool-demo/package.json @@ -10,6 +10,6 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } } diff --git a/demos/sahpool-rsbuild-demo/package.json b/demos/sahpool-rsbuild-demo/package.json index 97e396f..72df949 100644 --- a/demos/sahpool-rsbuild-demo/package.json +++ b/demos/sahpool-rsbuild-demo/package.json @@ -9,6 +9,6 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "@rsbuild/core": "^2.1.5" + "@rsbuild/core": "^2.2.3" } } diff --git a/demos/sahpool-webpack-demo/package.json b/demos/sahpool-webpack-demo/package.json index 6d36367..e858acd 100644 --- a/demos/sahpool-webpack-demo/package.json +++ b/demos/sahpool-webpack-demo/package.json @@ -9,8 +9,8 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "webpack": "^5.108.4", - "webpack-cli": "^7.2.1", + "webpack": "^5.110.3", + "webpack-cli": "^7.2.3", "webpack-dev-server": "^6.0.0" } } diff --git a/package-lock.json b/package-lock.json index 56682c9..541fe00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,28 +1,28 @@ { "name": "@sqlite.org/sqlite-wasm", - "version": "3.53.0-build1", + "version": "3.53.4-build1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@sqlite.org/sqlite-wasm", - "version": "3.53.0-build1", + "version": "3.53.4-build1", "license": "Apache-2.0", "workspaces": [ "demos/*" ], "devDependencies": { - "@types/node": "^26.1.1", - "@vitest/browser": "^4.1.10", - "@vitest/browser-playwright": "^4.1.10", - "happy-dom": "20.10.6", - "lefthook": "2.1.10", - "oxfmt": "^0.58.0", - "playwright": "^1.61.1", - "publint": "^0.3.21", - "tsdown": "^0.22.7", + "@types/node": "^26.5.0", + "@vitest/browser": "^5.0.0", + "@vitest/browser-playwright": "^5.0.0", + "happy-dom": "20.14.0", + "lefthook": "2.1.12", + "oxfmt": "^0.67.0", + "playwright": "^1.63.0", + "publint": "^0.3.24", + "tsdown": "^0.23.0", "typescript": "7.0.2", - "vitest": "^4.1.10" + "vitest": "^5.0.0" }, "engines": { "node": ">=22" @@ -34,7 +34,7 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } }, "demos/kvvfs-demo": { @@ -43,7 +43,7 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } }, "demos/main-thread-demo": { @@ -52,7 +52,7 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } }, "demos/opfs-demo": { @@ -61,7 +61,7 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } }, "demos/opfs-wl-demo": { @@ -70,7 +70,7 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } }, "demos/sahpool-demo": { @@ -79,7 +79,7 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "vite": "^8.1.4" + "vite": "^8.2.2" } }, "demos/sahpool-parcel-demo": { @@ -97,7 +97,7 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "@rsbuild/core": "^2.1.5" + "@rsbuild/core": "^2.2.3" } }, "demos/sahpool-webpack-demo": { @@ -106,15 +106,15 @@ "@sqlite.org/sqlite-wasm": "file:../.." }, "devDependencies": { - "webpack": "^5.108.4", - "webpack-cli": "^7.2.1", + "webpack": "^5.110.3", + "webpack-cli": "^7.2.3", "webpack-dev-server": "^6.0.0" } }, "node_modules/@blazediff/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@blazediff/core/-/core-1.9.1.tgz", - "integrity": "sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@blazediff/core/-/core-1.10.0.tgz", + "integrity": "sha512-AOQff0zgR7cGsZL+4E7hVkmujoPUpm0J9xzWGWZj5wCjd3gmxESXAPfKyuzs93VdpQNFhHlBhfOjrcZ+XTERtQ==", "dev": true, "license": "MIT" }, @@ -129,21 +129,21 @@ } }, "node_modules/@emnapi/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", - "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", + "integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.2.2", + "@emnapi/wasi-threads": "1.2.3", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", - "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", "dev": true, "license": "MIT", "optional": true, @@ -152,9 +152,9 @@ } }, "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==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", + "integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==", "dev": true, "license": "MIT", "optional": true, @@ -883,19 +883,19 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.139.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.139.0.tgz", - "integrity": "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==", + "version": "0.148.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.148.0.tgz", + "integrity": "sha512-Nm4s/jB+4FpFsPhWGEC4h7rzksesmtnMXomo6rCMcg/b8zLQuOziRgkCS1fxDCXOlJB/6Q8oABOZ/OP6RIPj9A==", "dev": true, "license": "MIT", "funding": { - "url": "https://github.com/sponsors/Boshen" + "url": "https://github.com/sponsors/oxc-project" } }, "node_modules/@oxfmt/binding-android-arm-eabi": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.58.0.tgz", - "integrity": "sha512-Uz62sHduGGPftXtILGyxdSW4PX82rUg+rfdNqhsgxe881g4rIoXlIqmZQ6HVKcF4f+F8qMhdD03Bx5u7gmeTdg==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.67.0.tgz", + "integrity": "sha512-2olh3ioEmc4gRzQm7jxyB1b/PFBoFvTq8KdgYySeNpysDtA6DEg2Mvya4/I6flhL7G0eOrE8RD7JCNCIMhE16Q==", "cpu": [ "arm" ], @@ -910,9 +910,9 @@ } }, "node_modules/@oxfmt/binding-android-arm64": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.58.0.tgz", - "integrity": "sha512-rD0lRaJp1b+9vw6X4A2dJWKukd6X8yxiicN4JxXcXayolmUypRZxk+lKR+fVOu5q/iYc0fh5fR4bgmfOfVlbaA==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.67.0.tgz", + "integrity": "sha512-ulfw8EHN1MBq/MFFDXw2/M1VAFu5mRUcnuZ8Hqbv9viAnFzO9t1jKSAsDqKYYDGMlytF/uj6Z5z5n/tHupnKhw==", "cpu": [ "arm64" ], @@ -927,9 +927,9 @@ } }, "node_modules/@oxfmt/binding-darwin-arm64": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.58.0.tgz", - "integrity": "sha512-uzbPPk7O6M+w2K65vcQ1woga3wgP8zghjL1KOG5b6qJ8dvYHZJ1VShaslg2KOK6yQIwCQtcMCXqLBM6sqXUNTg==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.67.0.tgz", + "integrity": "sha512-MfONZx/O2o9M5v2jDFol556G9+A+P9xCuJ4DZ+qhE+RnaCdoscy6Eu5nq1dbuNxhwdJyZ6kLI7fnG9mwEeOeGg==", "cpu": [ "arm64" ], @@ -944,9 +944,9 @@ } }, "node_modules/@oxfmt/binding-darwin-x64": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.58.0.tgz", - "integrity": "sha512-L0nKYDxU32oxeQqJj21W9SlIMnf81VZEhyah6iDvFhf5q0oynq498Fopth7blErUJVBpVtxQ98RMCfMPqpJX6w==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.67.0.tgz", + "integrity": "sha512-CYnIx5LvFVJnyJcCqwH2jxMKjFjqo5678MPjdmNFoSGMhlOvZ/xRZqvhDcolKrXc8fezW3AKh+C4wyoFuWOSSg==", "cpu": [ "x64" ], @@ -961,9 +961,9 @@ } }, "node_modules/@oxfmt/binding-freebsd-x64": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.58.0.tgz", - "integrity": "sha512-woNwfD58dC5PGS9LSLSD5JYfo/EFK5iG9vhDWkcCg3q78ag7KC8bpDqgvPHrMoXpx83OLXxoSOhu6z8FsVTHlg==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.67.0.tgz", + "integrity": "sha512-7/iF1orvIS9mxhKUqnmtMgm+OrSQ5acPwuvdQrm6ECgqbwPmC+Pw9cdke3sNfVN6pT2hbJ58+jP8BCThl5HXOg==", "cpu": [ "x64" ], @@ -978,9 +978,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm-gnueabihf": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.58.0.tgz", - "integrity": "sha512-Sqs8nMLxuQpY21NKJ1u4stPDmO5hskBCNNh2E3AdCfI1QqWtf4m+Qn4mGEIUO4KGmuq3SWc/SZ80uy5IiwTCDw==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.67.0.tgz", + "integrity": "sha512-yy+OGys07IZOpOmYPZoObKyUQLkfxeQqeCypk+1jaZd8HGo77hzvU1Jg8X3+W75o+9lszOjBfg0nkGtlwYywXw==", "cpu": [ "arm" ], @@ -995,9 +995,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm-musleabihf": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.58.0.tgz", - "integrity": "sha512-Vd4exzBI5B5hB9m22JiTQzIL23WvHo/Pe+sNXPNeBLXSP9swCBPKCEBRwKpmpQzYhlgYaCgfPcGXPKAJBRIiZQ==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.67.0.tgz", + "integrity": "sha512-wPIeeigXgJpwNw3wydYRt3U9iN9Y/ejpOZuYL9IA7igxWs7LIQMOkhKxTumRvy6dIv0iXKk3RTw3Vmjg0i+2sg==", "cpu": [ "arm" ], @@ -1012,9 +1012,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm64-gnu": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.58.0.tgz", - "integrity": "sha512-bUWi5mHV+4Vi56RLHE1h6q/HHfwAIT3XoB9vJAVeRzfu5NriXM8y6eeJu0vlKa0C9kq2rq1sOWRClhdLHPocrg==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.67.0.tgz", + "integrity": "sha512-0+XNxcdbkTfxdcD4qW6Ci9n+mBNJ8xTBumnxKvKBmRFOdx0Wf8/KiHjCJayooXmYkqRpRVd98Q5egvzx5BLSgQ==", "cpu": [ "arm64" ], @@ -1032,9 +1032,9 @@ } }, "node_modules/@oxfmt/binding-linux-arm64-musl": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.58.0.tgz", - "integrity": "sha512-2ZHxemzgHcjtktAuVUwSoyXmGo/t+aF5tS1ciPpPei4rhSyrz3JOqDosXXrmhN/yLUSzJjtuW7ToTWqfQpCj2w==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.67.0.tgz", + "integrity": "sha512-I75LKPJyNOYUzkqAiAMIE31+Ye7xtQXZdoty1IXn4B+bw5Zpmez5wfG19ejGpNnS/BzQ7LFS+7jxuTPb+vHiZw==", "cpu": [ "arm64" ], @@ -1052,9 +1052,9 @@ } }, "node_modules/@oxfmt/binding-linux-ppc64-gnu": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.58.0.tgz", - "integrity": "sha512-AwKkVwjVmFQ3bcO7j0McGYAqCKH2a326fswfofng/E8VewCT/raeeGQr4huVhY704deK8AWASSTlxzMj0eZc6Q==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.67.0.tgz", + "integrity": "sha512-c2M5iRpe1QMZSRE/UvZoPdXBWb5Ic/ycvOyNiKCqPwQ/OyOKIMiJs02ynlNnjb7ZZJnRXYLmGcohoINOcwDK3w==", "cpu": [ "ppc64" ], @@ -1072,9 +1072,9 @@ } }, "node_modules/@oxfmt/binding-linux-riscv64-gnu": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.58.0.tgz", - "integrity": "sha512-xsRpTxfUnJF8D3AUKko/qyWdjw4GZVHlCVFuGlzSCTeewLmykKINW8em1+wx+axsDVtJJcMtvsiaXggXxrlHgw==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.67.0.tgz", + "integrity": "sha512-dQzzYlV24Udhfm5ECuSdgqRvFJU/CGHzcYYEO3dLM6W6+CHiBFrq9OjIllkdCcPhsoSQ8o223Dja84MOSzed9A==", "cpu": [ "riscv64" ], @@ -1092,9 +1092,9 @@ } }, "node_modules/@oxfmt/binding-linux-riscv64-musl": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.58.0.tgz", - "integrity": "sha512-Z4AYOTcy7nYEIiXwD62PlerimyYRcfJOgUbQAEBjXz098kxKuERBlRntofGy69HHhe9E0TLVNMl1yspVNu+efw==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.67.0.tgz", + "integrity": "sha512-rFNq1CgX4qMJANOq42LkAs90JE80GpiaEohAV2qn/gT2hGjQTW1zBO5zQBxArI4926pM1OSzo3CN0tBszGBIaA==", "cpu": [ "riscv64" ], @@ -1112,9 +1112,9 @@ } }, "node_modules/@oxfmt/binding-linux-s390x-gnu": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.58.0.tgz", - "integrity": "sha512-A3nhhtZPC/TKVWOPj9q/H3p2znJDCcHWYlJBhWL8hGq/bFmBaNBHC8Np6E581yVq1w9Mi3rMDNzDalWvtUfJtQ==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.67.0.tgz", + "integrity": "sha512-Sky6rEdz2o5IGq01lPhS12yEvDdChVEcaYrcLHkveh4Fx0qPjljE/Iul6SX/bRMl6lNc8J7J/mDQdzgBdA++Pg==", "cpu": [ "s390x" ], @@ -1132,9 +1132,9 @@ } }, "node_modules/@oxfmt/binding-linux-x64-gnu": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.58.0.tgz", - "integrity": "sha512-2g+tVkgwqphw8R4hgo+kF4oz8+P5RwVOtr9+irsC7uwEp0e9j7Crw8kDGKL20uYlLPD7g02DqA61mC/UNYx98A==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.67.0.tgz", + "integrity": "sha512-vPXmlNORV8AZq2Ocxh07pxwMjfENUWCV/eZArnao0qC3NO/hDeTVkQvee7SJJUbIiF5PZbBa4kYmaXnu7Rk58w==", "cpu": [ "x64" ], @@ -1152,9 +1152,9 @@ } }, "node_modules/@oxfmt/binding-linux-x64-musl": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.58.0.tgz", - "integrity": "sha512-rc15P6AbyyB7426aN8AakLd02Trb3a6ML/mmfAQeVHJEfVofWLcWIrBdy6zDEY+DIaL/s8E4GGPboVw+oP3+EA==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.67.0.tgz", + "integrity": "sha512-x/WAtFqYtVr3vZ9ni8nr4kn9whSitg8fOljq/pZzBpxopRdY1BMLZCZkrbIbaBcYkm46qGbqVea2FCWmtQ2P9w==", "cpu": [ "x64" ], @@ -1172,9 +1172,9 @@ } }, "node_modules/@oxfmt/binding-openharmony-arm64": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.58.0.tgz", - "integrity": "sha512-ZWoTM27/HYPOh9iq86DAbhPu9nXb8qKvvGU/h8OfliyVUFAMMNTLDkGsWDKKnDqIkqvZ9+dXlgUOsH1LYO3O7g==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.67.0.tgz", + "integrity": "sha512-eRw9Neh4/aA6i+q/R3WU1gGQINhVM0J4fXIm6t27caOamkr/37uAkp1IdBx4zlJH97hmXR63z/q9n5c5dN7MzA==", "cpu": [ "arm64" ], @@ -1189,9 +1189,9 @@ } }, "node_modules/@oxfmt/binding-win32-arm64-msvc": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.58.0.tgz", - "integrity": "sha512-LHZnqFXe2dEfkRI4XdZS/57nEOT/I4UCRX5IyM9v4GYW9XwQCjGe1IUK59SuKw3POwvcgWQ4pme2cYXmNqTNPg==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.67.0.tgz", + "integrity": "sha512-YIMvb+sGNYN2uc6+QK2HLPeEKM2vl7QZ5onQzpAJRb6pnf0DwUFP5R8tdS9R0l8hdUil2gu4Uxd0Yxrop0iT4w==", "cpu": [ "arm64" ], @@ -1206,9 +1206,9 @@ } }, "node_modules/@oxfmt/binding-win32-ia32-msvc": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.58.0.tgz", - "integrity": "sha512-mZKpg20TpheCJym1rarcZCUJeW1sSruw8zAAaCYWvuVfwIUDN1CXdrPU/JgCWReXTCTrEfCB8Wyo3hh9jSZ2EA==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.67.0.tgz", + "integrity": "sha512-LzmU9MyACPzwNDIK0ItMedHPz735Ug7ELWguxo4/kuy6zWuDoeglOAEFCY8jLg0PzRpFO3hDyLFe2Gu2eFDeGA==", "cpu": [ "ia32" ], @@ -1223,9 +1223,9 @@ } }, "node_modules/@oxfmt/binding-win32-x64-msvc": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.58.0.tgz", - "integrity": "sha512-N/wUU4N5PZ2orBtI+Ko7MnMfYLfE7K91UrGMY/c/pYyHR3lA9kwst1XugkZx+92YcRh/Eo+iv2eTESSWXfiZPA==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.67.0.tgz", + "integrity": "sha512-sbQOIDNLUEeVZcAJcSL5VURn7kfjvilPviody4Yl5n8lQCDtUm+C9oHTTwZS/m4d/Z6Vv3jNEiAofH932NPPCg==", "cpu": [ "x64" ], @@ -3092,11 +3092,14 @@ "license": "MIT" }, "node_modules/@publint/pack": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@publint/pack/-/pack-0.1.4.tgz", - "integrity": "sha512-HDVTWq3H0uTXiU0eeSQntcVUTPP3GamzeXI41+x7uU9J65JgWQh3qWZHblR1i0npXfFtF+mxBiU2nJH8znxWnQ==", + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@publint/pack/-/pack-0.1.7.tgz", + "integrity": "sha512-4EDEmvxWtgsCnnVeBvtFIFZtUhPPt1+bA9JrSwU4Sa//6oKtzCSlGGXYJr44OD9aGISymbieJ4mCKHUygUDU+g==", "dev": true, "license": "MIT", + "dependencies": { + "tinyexec": "^1.3.0" + }, "engines": { "node": ">=18" }, @@ -3117,10 +3120,27 @@ "url": "https://github.com/sponsors/sxzz" } }, + "node_modules/@rolldown/binding-android-arm-eabi": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.7.tgz", + "integrity": "sha512-EypzgnYCwyVY4NDHKzGmNJT5b+XaQEBniHxsMdeIQLB/tcCzZnhqrzHpZFbX9iaxx+5RiB8caATBtfvZP7zVxQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.5.tgz", - "integrity": "sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.7.tgz", + "integrity": "sha512-l17HE9EweWaqJZhuUuNBN/FzM62xw+DECVnJyvMsxn8vJFAGLy5QfLDoYAcronkAN8VxKZHezDpulHDPx95vFw==", "cpu": [ "arm64" ], @@ -3135,9 +3155,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.5.tgz", - "integrity": "sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.7.tgz", + "integrity": "sha512-8ED8ELFvHXc6OCETIn4gXObPiaR6bckM/ipXtbzlPVDRMBfEGjCKgO90F9YtfdpDatVx/ZQw7aZ1vUMf/+T3Mw==", "cpu": [ "arm64" ], @@ -3152,9 +3172,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.5.tgz", - "integrity": "sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.7.tgz", + "integrity": "sha512-/WPripjtiAIZ2tWY7ddijORT0Ujg87wxWW/qcoFVCKAWVDPhtY0xr7Dj0M3GyNGz60jGwTElhro/mkF9dT7dDQ==", "cpu": [ "x64" ], @@ -3169,9 +3189,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.5.tgz", - "integrity": "sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.7.tgz", + "integrity": "sha512-14DI4NcqpvbICxSnGLx3PmtDaWqRP/KGSGb6C+JLLVPeZRl6dKdHba3pGsqT3vpdTqhEYIPG0MMQ8c0xYqoJxA==", "cpu": [ "x64" ], @@ -3186,9 +3206,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.5.tgz", - "integrity": "sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.7.tgz", + "integrity": "sha512-bxrWIRvHWQvbJwi+VIie/kDJmQxcNE6xxWwZdqF/ExVAigtHkv54WTLQPb+QsZdnFy18fg7JPfWGL0RH6vwIlQ==", "cpu": [ "arm" ], @@ -3203,9 +3223,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.5.tgz", - "integrity": "sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.7.tgz", + "integrity": "sha512-toOY2BChBZyuxU7OYX6Tn389di4IzAqPTycVcci0O7FSfBqzRB3RZn+K5Is6ANf4tmgRd/K1yZTsNTXbkXsnLg==", "cpu": [ "arm64" ], @@ -3223,9 +3243,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.5.tgz", - "integrity": "sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.7.tgz", + "integrity": "sha512-lAIXTH/aiLRLxsTgQvfhjo4K1ydWIp00+V0voOr9beb/9ZmkUFrSIb03dXNFRgMNvkE6oGsF10ioQ6UsI+vS5Q==", "cpu": [ "arm64" ], @@ -3243,9 +3263,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.5.tgz", - "integrity": "sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.7.tgz", + "integrity": "sha512-kdnwS28Pkenp/mZMRwjXXXwxQ7pIsm+bF919LUK93BOyhcLsrVKdP2p9fxpiPNPAbNuch8ypQt0pm2P2LYCAGg==", "cpu": [ "ppc64" ], @@ -3263,9 +3283,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.5.tgz", - "integrity": "sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.7.tgz", + "integrity": "sha512-516OdsyLdr5E65paF3yBF55t8mfm9+gmtCsK3xI7XKXIT7EfRlHhxL8K/NR6Hu8BWSgF5+1w74lTL0+nxcc8Qw==", "cpu": [ "s390x" ], @@ -3283,9 +3303,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.5.tgz", - "integrity": "sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.7.tgz", + "integrity": "sha512-r8/z8n7GFaYRln3xmP1Cxy0HH/HLM0uBUPkEuSVEfKGDA89M0FsZRZJRSwe/tJjRx+fpH/gjorfhB8tmEbSFLA==", "cpu": [ "x64" ], @@ -3303,9 +3323,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.5.tgz", - "integrity": "sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.7.tgz", + "integrity": "sha512-pAsE8iiDxUg1xBqdhrTfg45AVDVpirjz00sblEYClGNNcMnDb+e8beQgqIAw6LvauX/APvgxUnwrgun/YYGBhw==", "cpu": [ "x64" ], @@ -3323,9 +3343,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.5.tgz", - "integrity": "sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.7.tgz", + "integrity": "sha512-lTcIYmmnQQA8Or/2DatS6oSqcdLHvendjS+zLu+FwgToynWMRSmQdpM65fTANJgIS4mjbMOo5KT2lnT9SAb96w==", "cpu": [ "arm64" ], @@ -3339,29 +3359,10 @@ "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.5.tgz", - "integrity": "sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "1.11.1", - "@emnapi/runtime": "1.11.1", - "@napi-rs/wasm-runtime": "^1.1.6" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.5.tgz", - "integrity": "sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.7.tgz", + "integrity": "sha512-e3Gu3WxbNk/UqQhxqU7YIYO+9ZBvWNz3U+h/qRFosscMFzdRPbXYSaSWgSnklv2fz1TgzBTcti2z35c/7irsHw==", "cpu": [ "arm64" ], @@ -3376,9 +3377,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.5.tgz", - "integrity": "sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.7.tgz", + "integrity": "sha512-W/jg5qoRSqjsEv0+dZi4e687mcHqmVuU0P4fK6qS/xjetW2Gmc1W8j//z5nAeNcC8Ttm0hV46IjcYeuVwYhuiw==", "cpu": [ "x64" ], @@ -3400,13 +3401,13 @@ "license": "MIT" }, "node_modules/@rsbuild/core": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-2.1.5.tgz", - "integrity": "sha512-7TW4U1SH7VxQZzSTIOzvwj5lo9uNTmGpsmTXFr4axQAE4giLDKP3kVUA1ZW4P3/Mz4QQJJyvZP29mVcb8kZCfg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-2.2.3.tgz", + "integrity": "sha512-oJrYtYDhb7AMwY8HIda2hgMuuxHkYPYar4svdS5uTq0fXY0M1wLfllkTQz0d729pNJ4S//6GUM1WX5LsW2mFLw==", "dev": true, "license": "MIT", "dependencies": { - "@rspack/core": "~2.1.3", + "@rspack/core": "~2.2.2", "@swc/helpers": "^0.5.23" }, "bin": { @@ -3425,30 +3426,32 @@ } }, "node_modules/@rspack/binding": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-2.1.3.tgz", - "integrity": "sha512-4UGXJqUHmm36tWG1GgFZz3p8sQ5JuSgWI+gq1xPPoihS41uYJL3cXuJnirTeWsmVrusmYZTQhgU3tl3VYGcJYg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-2.2.2.tgz", + "integrity": "sha512-gWjKDQfVQJSBh/I+y9WTlyERsiShSJ7eI6Yl0SJs/6gjx8t4ixuwWCsaEFFjwSL4nSn6ML5hNQ7UFY3gj72BWA==", "dev": true, "license": "MIT", "optionalDependencies": { - "@rspack/binding-darwin-arm64": "2.1.3", - "@rspack/binding-darwin-x64": "2.1.3", - "@rspack/binding-linux-arm64-gnu": "2.1.3", - "@rspack/binding-linux-arm64-musl": "2.1.3", - "@rspack/binding-linux-riscv64-gnu": "2.1.3", - "@rspack/binding-linux-riscv64-musl": "2.1.3", - "@rspack/binding-linux-x64-gnu": "2.1.3", - "@rspack/binding-linux-x64-musl": "2.1.3", - "@rspack/binding-wasm32-wasi": "2.1.3", - "@rspack/binding-win32-arm64-msvc": "2.1.3", - "@rspack/binding-win32-ia32-msvc": "2.1.3", - "@rspack/binding-win32-x64-msvc": "2.1.3" + "@rspack/binding-darwin-arm64": "2.2.2", + "@rspack/binding-darwin-x64": "2.2.2", + "@rspack/binding-linux-arm64-gnu": "2.2.2", + "@rspack/binding-linux-arm64-musl": "2.2.2", + "@rspack/binding-linux-ppc64-gnu": "2.2.2", + "@rspack/binding-linux-riscv64-gnu": "2.2.2", + "@rspack/binding-linux-riscv64-musl": "2.2.2", + "@rspack/binding-linux-s390x-gnu": "2.2.2", + "@rspack/binding-linux-x64-gnu": "2.2.2", + "@rspack/binding-linux-x64-musl": "2.2.2", + "@rspack/binding-wasm32-wasi": "2.2.2", + "@rspack/binding-win32-arm64-msvc": "2.2.2", + "@rspack/binding-win32-ia32-msvc": "2.2.2", + "@rspack/binding-win32-x64-msvc": "2.2.2" } }, "node_modules/@rspack/binding-darwin-arm64": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-2.1.3.tgz", - "integrity": "sha512-oOGI0RSL89Ehu9T22rugmfUY9OC2eBqLMeWRYsu7bhlUrjoXeVfGBBSEXCse666BQ1sAiM8hD/k7nqVria/okQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-2.2.2.tgz", + "integrity": "sha512-/le/AvV4HSinXTPs2Lqpujxt189Z5T10Ggt96QzckLRPvIchzqoavVDDjltzC7XcaZ87XCH/X06jNKgzkcBBNA==", "cpu": [ "arm64" ], @@ -3460,9 +3463,9 @@ ] }, "node_modules/@rspack/binding-darwin-x64": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-2.1.3.tgz", - "integrity": "sha512-sVqWXNiFTMXAyN362y6IA+eJc8LXZKfHdhEJ/zDuMmRp+u2IvhgaF8tk3vX/OmeB9jydVjySijuiqk8No/FoCA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-2.2.2.tgz", + "integrity": "sha512-uFIcUPUXiPxM6ljenLafp5TemT8eLZm1riRn8fJYmpqNCK+aCcTaud18XHZpI5SjzzcY+xUHfVShgvNzKXuf2g==", "cpu": [ "x64" ], @@ -3474,9 +3477,9 @@ ] }, "node_modules/@rspack/binding-linux-arm64-gnu": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-2.1.3.tgz", - "integrity": "sha512-aCy9Zli/2Qf+Ee5otXfFQ6mhv5fEyn0wIoBVmouqtJoqOO21et6UTtJ+LHLsMDolwGLyHERAljeSFSmYX3/O5A==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-2.2.2.tgz", + "integrity": "sha512-Pjby4pDSMNJQK2VBzpgCj6lb+DGuenS1fEDb6xi5/apbJb9v5WE+e43Mz7i+XqgXS8e846pjaONV3KM5WKB1LQ==", "cpu": [ "arm64" ], @@ -3491,9 +3494,9 @@ ] }, "node_modules/@rspack/binding-linux-arm64-musl": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-2.1.3.tgz", - "integrity": "sha512-flIE7eluz0d21Fn28EVm3vPwoJooOSqtmjLFVSuOMcoCbwV9clfor195oIrAppp/W7dL/3XquFuVfrsa01Jy8Q==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-2.2.2.tgz", + "integrity": "sha512-0u9O7tTVT2z+F6o/eEY6f6+My8Jn9U56QiBwkfy90ZaoAfZyQSSTxqaK/zA7W43oFxQefeCpiPas27VUzrSakw==", "cpu": [ "arm64" ], @@ -3507,10 +3510,27 @@ "linux" ] }, + "node_modules/@rspack/binding-linux-ppc64-gnu": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-2.2.2.tgz", + "integrity": "sha512-N3lVnhq5qOvpmP5n386JzR1GcE8HzAqq4/r440Z6yle9m7PhVFJ6oXVWxgaDTYV0mtv9YLJmaG+YrjYfUa1vuA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rspack/binding-linux-riscv64-gnu": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-2.1.3.tgz", - "integrity": "sha512-yojg8elye1nhsNeGncw0NrZ4pMGF7NVebR80CLg72TXyzfYwFJlFTdU5yUYb1Gy+JXIvrSCwzQt2QkyiEvmkfg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-2.2.2.tgz", + "integrity": "sha512-ReClZyp32/rJkUDV/oGDU0X6BCFyEkTR6r4stFwm/qOOaG6mUMRzZe4gur8Yh979p4Hiz9EdkmfEHY02GBXcaQ==", "cpu": [ "riscv64" ], @@ -3525,9 +3545,9 @@ ] }, "node_modules/@rspack/binding-linux-riscv64-musl": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-2.1.3.tgz", - "integrity": "sha512-6PvbXb3FOK4X3S5QGvoSW/sqExmsvAoPnQ/YSFrXvTphkXFezA7wnobmGBHT8JQP31hcFRzJHIZSIOKktzSzzg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-2.2.2.tgz", + "integrity": "sha512-mqsorvTNerr3r8zI35NFTPYATPDlhepdiUhZjKT6ylqpHlP7vLU9fp4aEMK/CuTv2f+IVsa0+iZqtMxHs2tSjw==", "cpu": [ "riscv64" ], @@ -3541,10 +3561,27 @@ "linux" ] }, + "node_modules/@rspack/binding-linux-s390x-gnu": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-2.2.2.tgz", + "integrity": "sha512-ql2Jub8QYWSugBppmj2u0SjcIj6fOQuAaLCYQOqU7zbvz/uuWTfoqmdWKExwrxeCU9Tzt7emVM0ETuVEpoca+A==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rspack/binding-linux-x64-gnu": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-2.1.3.tgz", - "integrity": "sha512-lMXjoGKf0SnviH596fmTszgtnXLHmWOoE90G8grG9MvKVa3pelRmfps5ewZL9s8ENf3NXRfOxIhIf/M9as6MqA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-2.2.2.tgz", + "integrity": "sha512-MNYKYEHrtIVEno2q5rgpou/JVffRwn109xPK3kxct95EojHsniNa8jwy6eEHeOazP4EN60Si7NElE3aQ6JssHw==", "cpu": [ "x64" ], @@ -3559,9 +3596,9 @@ ] }, "node_modules/@rspack/binding-linux-x64-musl": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-2.1.3.tgz", - "integrity": "sha512-0esT35v7pW2ZsJTMc/zDUHwpNXlPqyUCyuiLJvrAAUcdENrgOVe4DmFrgVJ2hwqI4GjeN1VBnGRJ8c+edAHH5w==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-2.2.2.tgz", + "integrity": "sha512-y9/9CmE8lrECaF17GAhacibTL+SvlEPEotQnUuBFC/WFtXh8hU2E7a7bAkpYGSLH6kM0nrJZHO3hTvM1wdWOJw==", "cpu": [ "x64" ], @@ -3576,9 +3613,9 @@ ] }, "node_modules/@rspack/binding-wasm32-wasi": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-2.1.3.tgz", - "integrity": "sha512-UsrDjD59UEP0mhfN/Z+uTc3vLgiUvIr+mn92WC1sbQi9gtZohTYvaQYFhWuMkBqsACGcmZp704JAbbSrVrVYCA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-2.2.2.tgz", + "integrity": "sha512-VbDIjjeFwZvMSKAOGY5IbU6lLzt6AHHHncTdMMkZ94Xk7O2BOHe9BXDV32Ln29TIW2C8m1fdxfPZWDiecVghUQ==", "cpu": [ "wasm32" ], @@ -3586,15 +3623,15 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "1.11.1", - "@emnapi/runtime": "1.11.1", + "@emnapi/core": "1.11.3", + "@emnapi/runtime": "1.11.3", "@napi-rs/wasm-runtime": "1.1.6" } }, "node_modules/@rspack/binding-win32-arm64-msvc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-2.1.3.tgz", - "integrity": "sha512-42RS/SwKBTkNvXIPZXqTn0yEFN8zwGRfRe/ly0GDvPp/KxpLMFWxJmLxgtoLompU+0UCGvV4KpcBENt3oWs6BA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-2.2.2.tgz", + "integrity": "sha512-rfcNg0W3ZPZvXma1gTyEt9/Z8FxASIaQr+sMWTSaTPPaeU3xY1+0hYcrD0kUFNs3/5L4u63myI4R8qRXiuW3pA==", "cpu": [ "arm64" ], @@ -3606,9 +3643,9 @@ ] }, "node_modules/@rspack/binding-win32-ia32-msvc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-2.1.3.tgz", - "integrity": "sha512-thk43H1JHHbetNF3txcsGXeOwZi2m6Luf/uVUqNORXjxr5VV8woHAgaAx4QXVZRg70z1VDjd8mBWnHBnKI0FGA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-2.2.2.tgz", + "integrity": "sha512-TFPvr9RZw9oHIhooDhXHzWjKcHpGPTxkznSeM2poIWU0CdEuua2rVUfsrriTF1Dmx+9kMly61DQmyOHCbb+b2g==", "cpu": [ "ia32" ], @@ -3620,9 +3657,9 @@ ] }, "node_modules/@rspack/binding-win32-x64-msvc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-2.1.3.tgz", - "integrity": "sha512-ObaUcj+BHo/aBL1weyM3orApaHyAR5Phr3YNEpQEifxjZbNKM1iO5X5prN4OqEv3H+7o5e/Wh9Fy3N7Vvd+psA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-2.2.2.tgz", + "integrity": "sha512-GvEGyL594dtWN9SoVnKWh0exrM8WLInaUjwcuA2JKbCi1ak/9iHxip/U1dY3DuVqBYBhmvYq96JPbl91xnzFjg==", "cpu": [ "x64" ], @@ -3634,13 +3671,13 @@ ] }, "node_modules/@rspack/core": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rspack/core/-/core-2.1.3.tgz", - "integrity": "sha512-1iGnxLrP+iyY0ZSjLZeQTaxrISpQz4yLyqJPmaF/l4uw27/dBcrloszAeLOJQ9jiv7EJtU0T5zB+LOFPpivIxA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-2.2.2.tgz", + "integrity": "sha512-/yztfDZR5syIPBrUpzBpL+6fhhl0IHBPcXlNr4tOMBULbocFIz7Z4/cqvf1ix0DBbKpIGx99v6N1IDbk2gi8hw==", "dev": true, "license": "MIT", "dependencies": { - "@rspack/binding": "2.1.3" + "@rspack/binding": "2.2.2" }, "engines": { "node": "^20.19.0 || >=22.12.0" @@ -3698,13 +3735,6 @@ "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", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", - "dev": true, - "license": "MIT" - }, "node_modules/@swc/core": { "version": "1.15.30", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.30.tgz", @@ -4102,13 +4132,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "26.1.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.1.tgz", - "integrity": "sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==", + "version": "26.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.5.0.tgz", + "integrity": "sha512-dVSGpriSoCgz8WnDNTuSSuSv1PC/ALXihO4ulRZt7Md8k9mlbdin3lGOcDE8SnWOgf513ByWlXd7BK4azmyg/A==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~8.3.0" + "undici-types": "~8.9.0" } }, "node_modules/@types/qs": { @@ -4515,45 +4545,46 @@ } }, "node_modules/@vitest/browser": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.10.tgz", - "integrity": "sha512-UDwuWGwXj646CBx/bQHOaJSX7np0I8JL/UKQYa1e4QrVHH8VdWtx8eaOuf8sy0ShwDgR6NjJAsp5eF6vjF6qng==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-5.0.0.tgz", + "integrity": "sha512-JC9FG5xIRxPHXJPcdCaluIJcEoeM0IwGQ3xneuJk09LXKHRNs40BqWDWymQikbb20yOpYvzpKzmYgPRuSzKmvg==", "dev": true, "license": "MIT", "dependencies": { - "@blazediff/core": "1.9.1", - "@vitest/mocker": "4.1.10", - "@vitest/utils": "4.1.10", - "magic-string": "^0.30.21", + "@blazediff/core": "1.10.0", + "@vitest/mocker": "5.0.0", + "@vitest/ui": "5.0.0", + "@vitest/utils": "5.0.0", + "magic-string": "^1.2.3", "pngjs": "^7.0.0", "sirv": "^3.0.2", - "tinyrainbow": "^3.1.0", - "ws": "^8.19.0" + "tinyrainbow": "^3.1.1", + "ws": "^8.21.3" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "4.1.10" + "vitest": "5.0.0" } }, "node_modules/@vitest/browser-playwright": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.10.tgz", - "integrity": "sha512-nMoXGEiRpT7m3W7NsbvrM2aKNwiNHZf+zEpUCvMteGjZFvfT96Q9fh7QyB98dvDWXiKvrLxA7bJ1mCOOv+JQPw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-5.0.0.tgz", + "integrity": "sha512-N+gED9y4/8pypaHjz/x0ah3CjoBr+N0hWWT+Gq4VXtMzyB+rUIdHni0ulzpD1j4H77iWy5Jg8PRMlVn6kjxo6g==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/browser": "4.1.10", - "@vitest/mocker": "4.1.10", - "tinyrainbow": "^3.1.0" + "@vitest/browser": "5.0.0", + "@vitest/mocker": "5.0.0", + "tinyrainbow": "^3.1.1" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "playwright": "*", - "vitest": "4.1.10" + "vitest": "5.0.0" }, "peerDependenciesMeta": { "playwright": { @@ -4561,34 +4592,17 @@ } } }, - "node_modules/@vitest/expect": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz", - "integrity": "sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.1.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.10", - "@vitest/utils": "4.1.10", - "chai": "^6.2.2", - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "node_modules/@vitest/mocker": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.10.tgz", - "integrity": "sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.0.tgz", + "integrity": "sha512-66PGTMIiVJP3t4a5yxU9qPtf7MdTBs8jmToMvy+HVflB3Yy13WJZTtPePdvU+wjRV02SKK5doLbSA6o9pwOmiA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.10", + "@jridgewell/trace-mapping": "0.3.31", + "@vitest/spy": "5.0.0", "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" + "magic-string": "^1.2.3" }, "funding": { "url": "https://opencollective.com/vitest" @@ -4607,68 +4621,59 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.10.tgz", - "integrity": "sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-5.0.0.tgz", + "integrity": "sha512-PVRNuB3wpReb4SQEs4zTKM4KWFhQ5pw3spE8naoDJNB5T5aWRzGKHwXcLUllr0WeOTXpB6bSr3CJLo5+7XQSSQ==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^3.1.0" + "tinyrainbow": "^3.1.1" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/runner": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.10.tgz", - "integrity": "sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==", + "node_modules/@vitest/spy": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.0.tgz", + "integrity": "sha512-uy+luWBAPw9XfthoHi5AkfHUnuPYEESjl0p/r+meoBnU8bxg5GDQ3Ey8MjcJ6sqahkL4PFyrvfMJJBw7LbU06g==", "dev": true, "license": "MIT", - "dependencies": { - "@vitest/utils": "4.1.10", - "pathe": "^2.0.3" - }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/snapshot": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.10.tgz", - "integrity": "sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==", + "node_modules/@vitest/ui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-5.0.0.tgz", + "integrity": "sha512-h2FIFwggCY2GxUd2UdQoYNVQkOIqEQLPhNREcl3FUiRsdzQep7NWwYbSmhGEA9nFLPDq5pXzRMcBZQU8Py83sg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.10", - "@vitest/utils": "4.1.10", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" + "@vitest/utils": "5.0.0", + "fflate": "^0.8.3", + "flatted": "^3.4.4", + "pathe": "^2.0.3", + "sirv": "^3.0.2", + "tinyrainbow": "^3.1.1" }, "funding": { "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.10.tgz", - "integrity": "sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "5.0.0" } }, "node_modules/@vitest/utils": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz", - "integrity": "sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-5.0.0.tgz", + "integrity": "sha512-dO++xL3vDfvhTAVimfkuQUA3k+JClIF1i1vAkPqpcGAthRmeWnXmHB7YPViPvgCwviX8u7Y5W1u2N//AaQr3fw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.10", + "@vitest/pretty-format": "5.0.0", "convert-source-map": "^2.0.0", - "tinyrainbow": "^3.1.0" + "tinyrainbow": "^3.1.1" }, "funding": { "url": "https://opencollective.com/vitest" @@ -4849,296 +4854,382 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/@yuku-codegen/binding-android-arm64": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-android-arm64/-/binding-android-arm64-0.9.4.tgz", + "integrity": "sha512-6ViGFAr+N2Yjnc8wBx16wJZGB0pGmClILO+FUC3kzwEydfjXQovWEdcFyl98RVtWdj9ahS41XXe2zKFl+L3uWg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, "node_modules/@yuku-codegen/binding-darwin-arm64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-darwin-arm64/-/binding-darwin-arm64-0.6.1.tgz", - "integrity": "sha512-LDJtpOKtcv9f3V0eDUwFmmy47t2VC+DAuN+gq80R1IA+fa0d408i6sHsVtt6n+g5rf8f86ySoPSAe94lHt6Ixw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-darwin-arm64/-/binding-darwin-arm64-0.9.4.tgz", + "integrity": "sha512-0BTB70ha+wRsz6fI5HosevJpMmvgndmf+6ND1OneFKCrWhNzX/2xIQ36Z8rUgv5bpnWjKl6bRvzSFV3PU+WOlQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@yuku-codegen/binding-darwin-x64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-darwin-x64/-/binding-darwin-x64-0.6.1.tgz", - "integrity": "sha512-fBwpBOh33W7N87F94SVNExwm2KUV3ROhk51okr3Oy2ost1/JJuBWINVjcgwd2WPKZEFzUXgCzj/03UR/G+WIrQ==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-darwin-x64/-/binding-darwin-x64-0.9.4.tgz", + "integrity": "sha512-9QVVqq8LCD6v+Gl099u32YJ0999HBCoe09ecIeifKTi4Y1azX44DkF9q9pP2lxgwRUvR3GmWl5k1pLe3ojR2rg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@yuku-codegen/binding-freebsd-x64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-freebsd-x64/-/binding-freebsd-x64-0.6.1.tgz", - "integrity": "sha512-UpMkskQV3a5oPnJV+GFFupIqnLwSBD4ZsZAVUZuNVkrqct433FHKqTwuG+P5JhHZbmhf+++3Ie/V2sgduyXrAQ==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-freebsd-x64/-/binding-freebsd-x64-0.9.4.tgz", + "integrity": "sha512-Qm3ky33Em9w1XVSryq+D/arLVapeqp0Bu1719UGV6olmfp4kTD+NfsLG9bRx5hOJSu1Zl3r9LbyTP1oTmcHAsg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@yuku-codegen/binding-linux-arm-gnu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.6.1.tgz", - "integrity": "sha512-HICjDelfEDeD6TD8OEz/Dvt8KHxJiETR+paI/Fr7eVTQbjMfRrXJz8O1qV1qGH5SHZUGl2SAw2Rp+MLtXOjCrQ==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.9.4.tgz", + "integrity": "sha512-euKmS7pnkeJylEN6+9bfu0jHtGfbQRfFBIpmTe8YVnWzQ5Rjyrns13+1kao2RSS9DNkucX1RXIdiTvQoDUXF0w==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-codegen/binding-linux-arm-musl": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm-musl/-/binding-linux-arm-musl-0.6.1.tgz", - "integrity": "sha512-pUswnwa+WOmtH2ZGOWL05kFLMNY7/TnEAryfIv1yVFzKQnmSy9TKYi3oIOxGZL3w+cdUKCZ6Q+jaD0oI10ztzA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm-musl/-/binding-linux-arm-musl-0.9.4.tgz", + "integrity": "sha512-7JTizi2O+ks9/dLPDLYmVLsYQUC9Fxu0e6LNA+F6FFQ/sV2o7owBb1eTccMKkgauWGGUpJYQvlXrCKpGwguvhA==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-codegen/binding-linux-arm64-gnu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.6.1.tgz", - "integrity": "sha512-Zro0FOu9clLCmqCnUKzEWHAu30tss0iEfhs+KDXm9Dpm1FkIHAKu43tF6FQU2hsTA7a8xd93NGddzc2EOJFKUg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.9.4.tgz", + "integrity": "sha512-f7eLYDwmcz56Jzvp8UmXUehFzTAn6hEHt64GDWNWGSqrphHRvWLEshQ+sQv8DfNpkXFaOQ49erl4gb2Wm0JM+A==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-codegen/binding-linux-arm64-musl": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.6.1.tgz", - "integrity": "sha512-NZaT+mp9toqWuFEA4MYW5HMRxgIa8DCqnTTnM5SrrojZgm4QoMI/mJfifVet1ZHgl/Dly5m6H6GPpq43uXVj8g==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.9.4.tgz", + "integrity": "sha512-bLdjCgo+u3dU3HH/t+WZ8FsAo2IgdOzruTHZ+XTFquj6j//QJjH9xfyRtu7h65lCT3CQVW9aGEe6/A/HPyA9KQ==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-codegen/binding-linux-x64-gnu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.6.1.tgz", - "integrity": "sha512-M5macseSCBPvJ4yfKNyQpMc7nBQBtj39MNfMt0r+8UkTnR5qJE00JJx06puHgPxT5hnGxMAuAWZ+3a9H2ngqAw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.9.4.tgz", + "integrity": "sha512-hDMB71QCDx2AAxhlCBgakngMAa4KK6f6rcTt9v8nrzoXs681cmZultGeZk0tjONxli+N+VMhXQUoiVCSJuKiQg==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-codegen/binding-linux-x64-musl": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-x64-musl/-/binding-linux-x64-musl-0.6.1.tgz", - "integrity": "sha512-liAyBZI5AbazZGeeNfWj0jCD/TE2L84hgVYh4KkjJA/N9bNzFQCDf4BvWP76nEO89r2tIGEUjbXdM4mM26riHg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-linux-x64-musl/-/binding-linux-x64-musl-0.9.4.tgz", + "integrity": "sha512-uk1hOZA79AqziAH9A/eSD05VchNRdnLb6zxFGHhCbLYeeGYL+KOEL0+kCIPtaKuQ7wdxDOooiKE1D0jpaWQ0aA==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-codegen/binding-win32-arm64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-win32-arm64/-/binding-win32-arm64-0.6.1.tgz", - "integrity": "sha512-qItzfH3x6MYChPeGfvh22rHD92WLgXQRSuwvspRVSnLvpnubEfZd+9REPRQVT2l9fIuETDCEkDNRqkDROQTkgA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-win32-arm64/-/binding-win32-arm64-0.9.4.tgz", + "integrity": "sha512-IbZuNVrctjts5lAKUEd9ppnzvylaPdYBTv8AVDtY6EyQ5hpgUfsReqbqODJVGpn2/uIk1fa1jWP012orPoiK+A==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@yuku-codegen/binding-win32-x64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-win32-x64/-/binding-win32-x64-0.6.1.tgz", - "integrity": "sha512-DFFkKROZ9ZAHmFMUFRtRTkosZds1KH8BOx5t3UpNULIjT3iuUmEx9V5pWR0xOi66sANY38Ap77nz1kOZraQxEg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-codegen/binding-win32-x64/-/binding-win32-x64-0.9.4.tgz", + "integrity": "sha512-UqC4C0PlVAPEQ8fYr0AamuW2zKAkqQFiaaQ88Rl3YlzSNlshj+VmDoSbJRw4TFYL22+Vw53zDSJ95aXyjJN/aw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, + "node_modules/@yuku-parser/binding-android-arm64": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-android-arm64/-/binding-android-arm64-0.9.4.tgz", + "integrity": "sha512-x+dZef5ulszaYzgjHLUgnhDXAgJsGfodl30JuTinfLN5mEyB50burpUuyUqufGQp0fpI/sHLAN3V8fuJteFEQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, "node_modules/@yuku-parser/binding-darwin-arm64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.6.1.tgz", - "integrity": "sha512-jORysyRZg5zGDgVw15LGMsjZDh7jwjpUIJRBHgFt0ir15O5pEazfvuF2dnwvrJiTF0IT1EgHAVbTAYJWwQLCjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.9.4.tgz", + "integrity": "sha512-bSpjVPP8zTTcMZi78gxPkZZhVNbg4Doqsb2CrxHR2g+vZxP7Ey4GVzgD5nVYSHgS1y8dGULGW8AhPrfRWFEF6w==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@yuku-parser/binding-darwin-x64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-darwin-x64/-/binding-darwin-x64-0.6.1.tgz", - "integrity": "sha512-dTeYFkkFlbP/WCB2DtezXas3NApOPtFlXSdssB7wGtY9wpNp4HAkVo1KBwI5mcHK0e2joyUcqTSf44mFE+q7vg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-darwin-x64/-/binding-darwin-x64-0.9.4.tgz", + "integrity": "sha512-QNswJLBxsoDkghztrF0bUy+DEUoeX1lS4cL3dCM1IB4hfLoZ3Jf3jmCoggDnqN++sJ91F6w8oHiyQ4ZhUEr/bg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@yuku-parser/binding-freebsd-x64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.6.1.tgz", - "integrity": "sha512-GExDp3rebo28mt3EAjvKQs0ZC3gkznAErV0I9TUNDa9muuhvD35kft61Mpsc6+NWeE+BG+kUyKbm6iO5B6ZMMA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.9.4.tgz", + "integrity": "sha512-D4rmGI0EOwxmKsv3+iGQDmtJ9/Oqr9wPxsQpONZ+QmxHqNbl+08XaJkhuC5wAg17bj6afcpdQfiIAoSMBY17Rw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@yuku-parser/binding-linux-arm-gnu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.6.1.tgz", - "integrity": "sha512-a9MjABj4J0VE3Z2oROGhmeddZZrhwwrnl4ZWZOuHUhD/smDtDiNtr0LpCbKB7rEYaQ29snopOPdZ/0T3YgLglQ==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.9.4.tgz", + "integrity": "sha512-rZuqBxlaRnNY57nawRP1LPx4i+ieCrvIQkBsbGu/xjWkZGzFCrHPliy5YiMxp3Mw4v5KftAlDJx7c9jApNk2ww==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-parser/binding-linux-arm-musl": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm-musl/-/binding-linux-arm-musl-0.6.1.tgz", - "integrity": "sha512-ctuvXJgDRKKlmJfHxT4RsTvcAcHEFNJHTCsGbtt4rluQpVDc+ezk9JvQ534ehoIfZ9T0eIHSBgqYAZ4xCatNmQ==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm-musl/-/binding-linux-arm-musl-0.9.4.tgz", + "integrity": "sha512-0PRDvRZvh18Q1lADxs0RMtqYHTd3dD/o1WEnMO/K8o7V9Gmy/7nD3/HjGQCxFPxkHTp41toF+DsXgEandAc2Gw==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-parser/binding-linux-arm64-gnu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.6.1.tgz", - "integrity": "sha512-vRtyoTtT0Ltowuh9LWOl/ZNU9h79J89ilOz5SEGspcw0jfhoUt19i07VNitll4jjfg5p2EN00q+MqX0pAobrFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.9.4.tgz", + "integrity": "sha512-CT1I24KFA/Tv/Exi1f+CVxafUIjlKm3gc51HbWLW7yf7OvJKCvKSja+EB17sDtYsS5a2EB9BTr8I5fPuDJ8rFA==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-parser/binding-linux-arm64-musl": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.6.1.tgz", - "integrity": "sha512-vCsc3GOe1ylmRyfo/WLjIhjiCmaTtJbWNF4ZtgjNegDjpsRsFuCcP9duXB41QcfnJK38repKVFqFh0LR3l48FA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.9.4.tgz", + "integrity": "sha512-DP193Z3nUXQ92AwmmkIAhVLxv2qj8rWAAAODownCwUk0wKrmnyH9km9Gd4NSmntBYG/Kv0P5btN6qcO1JXgEdw==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-parser/binding-linux-x64-gnu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.6.1.tgz", - "integrity": "sha512-gw3d81RdUHSYwjDW2IG6gEtm4VDoPP4ZOqpuC6Nc8+UBfos+4gTWOgzmuxIOVhkSV2fJCcUDpSJIlPzEU0FLZw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.9.4.tgz", + "integrity": "sha512-tjoxmuNz+xmSt/Or+US5aaKpRZcptQsWYaPtDp1/0QUvhyg8VS6mOrizKkzVBJKYVNZ7eDTleOBquYVm+Haz6w==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-parser/binding-linux-x64-musl": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.6.1.tgz", - "integrity": "sha512-nzU+Doq9UgZvYYvald36lZJ2Neeyheije6WE/YpoFt/oJiNmnjArRgr2CMtb/7gWBl80YSMwcHK4Ju0E+7wfWg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.9.4.tgz", + "integrity": "sha512-kHXf72EM6oHN58Swwruf9plXlCVY4mOlgqIjpXenEAY87cVcH3VxMZdCQG7rIKa+k0Hf3E/WS/8ufqZSCER7Gw==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@yuku-parser/binding-win32-arm64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-win32-arm64/-/binding-win32-arm64-0.6.1.tgz", - "integrity": "sha512-r3tXFVDliWCPe7TL6DVxUkT4rkqnXyeFVSEDf+V9My6Gztq99/gIe3POQqFbshTRuSrpEYMGMbGxeFh+m+stxA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-win32-arm64/-/binding-win32-arm64-0.9.4.tgz", + "integrity": "sha512-Yj6+bbGDZrLbzp1Qr7hiaIjYagslUrRy6t3TIxfiXUeJWNH8ydx7birM0UJiIInqUld0mk9qBz1kei/T8gcKvw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@yuku-parser/binding-win32-x64": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@yuku-parser/binding-win32-x64/-/binding-win32-x64-0.6.1.tgz", - "integrity": "sha512-FqYMOqeCS2XTdn5yvaKlOhtSQ84mVO3aTXp6LGfMd9Zq8RsV4H8qLWv+sxJsgPCXfuBV64u8/f+CTr3uIwNLWA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-parser/binding-win32-x64/-/binding-win32-x64-0.9.4.tgz", + "integrity": "sha512-B9D+Z1/jVfoEd1SgbuaYTPH6onVlSsSaK151mW8Rb6Yv+OrTOocNnv2w3peBicS6MB3VI+mJG8YqxRI4ONd1OQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@yuku-toolchain/types": { - "version": "0.5.43", - "resolved": "https://registry.npmjs.org/@yuku-toolchain/types/-/types-0.5.43.tgz", - "integrity": "sha512-kSpvPntnXw5+lYjO71ffBEnQ5ycQ74KGIYknh0TS4xeyCuBkOqxyJumxZkMhLBBUCLjDAbx2+Icnr3Zh4ftjpQ==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@yuku-toolchain/types/-/types-0.9.4.tgz", + "integrity": "sha512-dqnMswJWE7YBbPEvGstgFlWFTRn20V/Hu82XTDjWxzaU18rGpxBqxhKlBlgyWrPARRvNLIqY2XA6S9edR+2AsA==", "dev": true, "license": "MIT" }, @@ -5179,19 +5270,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "acorn": "^8.14.0" - } - }, "node_modules/ajv": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", @@ -5269,16 +5347,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ansis": { - "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": { - "node": ">=14" - } - }, "node_modules/asn1js": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", @@ -5360,9 +5428,9 @@ } }, "node_modules/body-parser/node_modules/content-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", "dev": true, "license": "MIT", "engines": { @@ -5983,9 +6051,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.24.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.2.tgz", - "integrity": "sha512-rpsZEGT1jFuve6QlpyRp9ckQ+kN61hvF9BzCPyMdaKTm8UJce96KBn3sorXOFXlzjPrs3Vc4T1NsSroZ3PxlFw==", + "version": "5.24.5", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz", + "integrity": "sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==", "dev": true, "license": "MIT", "dependencies": { @@ -6043,9 +6111,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", - "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", + "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", "dev": true, "license": "MIT" }, @@ -6079,53 +6147,6 @@ "dev": true, "license": "MIT" }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/estree-walker": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", @@ -6267,13 +6288,34 @@ "license": "MIT" }, "node_modules/express/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.1.0.tgz", + "integrity": "sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==", "dev": true, "license": "MIT", + "dependencies": { + "content-type": "^2.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/negotiator/node_modules/content-type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/fast-deep-equal": { @@ -6318,6 +6360,13 @@ } } }, + "node_modules/fflate": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", + "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", + "dev": true, + "license": "MIT" + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -6402,6 +6451,13 @@ "flat": "cli.js" } }, + "node_modules/flatted": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.4.tgz", + "integrity": "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==", + "dev": true, + "license": "ISC" + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -6423,9 +6479,9 @@ } }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -6497,9 +6553,9 @@ } }, "node_modules/get-tsconfig": { - "version": "5.0.0-beta.5", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.5.tgz", - "integrity": "sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==", + "version": "5.0.0-beta.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.6.tgz", + "integrity": "sha512-X6fBC0pmImC70gvX2zm56go9hx0MyoGVdG0tUCkg/D+Xnh5TJsOZ7iDbOdI3PvmtrDxnu1YdDufpK2QJX1Meqw==", "dev": true, "license": "MIT", "dependencies": { @@ -6566,9 +6622,9 @@ "license": "ISC" }, "node_modules/happy-dom": { - "version": "20.10.6", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-20.10.6.tgz", - "integrity": "sha512-6QD0ilzDDt93tX44y8tbmZdAcdTRYDhUP+Asgi6pC8Pp5IA3cvaZGyoVN/EGtlq9ziT65iPuBBn3ASLr6hCgVw==", + "version": "20.14.0", + "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-20.14.0.tgz", + "integrity": "sha512-4bRh1KzRvKDnFNTlLhzT1RZTpkKhQbQDl9j+7GXszWsvuspYdo29k6OHRf4PwiM6oLb8r/pMWeYiJjkfod5AvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6775,9 +6831,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.4.0.tgz", - "integrity": "sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.5.0.tgz", + "integrity": "sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==", "dev": true, "license": "MIT", "engines": { @@ -7033,9 +7089,9 @@ } }, "node_modules/lefthook": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-2.1.10.tgz", - "integrity": "sha512-K7mM4WoqMwqfXYK11EHy+lSH1uW8XHni3Yn/bSqyerPkUPygGdf3xn18JoV5HyA06xuQL3ofGAOjG01QX9oJ4w==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-2.1.12.tgz", + "integrity": "sha512-2uOexfsrrRhCiTUWdGyDySxVHHhOFJ8MQejs27dM3hugrQB48/z1ZVlaNoxpZ1SnzQ1GaDIbO5rAvicwyiknYQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -7043,22 +7099,22 @@ "lefthook": "bin/index.js" }, "optionalDependencies": { - "lefthook-darwin-arm64": "2.1.10", - "lefthook-darwin-x64": "2.1.10", - "lefthook-freebsd-arm64": "2.1.10", - "lefthook-freebsd-x64": "2.1.10", - "lefthook-linux-arm64": "2.1.10", - "lefthook-linux-x64": "2.1.10", - "lefthook-openbsd-arm64": "2.1.10", - "lefthook-openbsd-x64": "2.1.10", - "lefthook-windows-arm64": "2.1.10", - "lefthook-windows-x64": "2.1.10" + "lefthook-darwin-arm64": "2.1.12", + "lefthook-darwin-x64": "2.1.12", + "lefthook-freebsd-arm64": "2.1.12", + "lefthook-freebsd-x64": "2.1.12", + "lefthook-linux-arm64": "2.1.12", + "lefthook-linux-x64": "2.1.12", + "lefthook-openbsd-arm64": "2.1.12", + "lefthook-openbsd-x64": "2.1.12", + "lefthook-windows-arm64": "2.1.12", + "lefthook-windows-x64": "2.1.12" } }, "node_modules/lefthook-darwin-arm64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-2.1.10.tgz", - "integrity": "sha512-nw+X8wRNDoUUV6WSteyKBbcLySq+fsmZt5WV/s50ZJpysmsDKJOUMln6SllNfP+60dzUahAO7REco/2633BsLg==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-2.1.12.tgz", + "integrity": "sha512-GSUjqaCuxAYlPOovbjXEWE3HAIa/xOQkTTmZ937zieQldjPLTaC7+s5FHoxKywn+D9riBlofkDqG7Z4f5zzmPA==", "cpu": [ "arm64" ], @@ -7070,9 +7126,9 @@ ] }, "node_modules/lefthook-darwin-x64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-2.1.10.tgz", - "integrity": "sha512-KQ/bHmvpkFdHMn4pZnUdTf+GuSC+aBBgBTxZT4GW+6cSf+qbErKZBhK7cH6BmILsvx43+VzEArvHYY7YOfRFOQ==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-2.1.12.tgz", + "integrity": "sha512-qAUHSSw/7Afi5wxkoLkxORxSicCeTBXyVLnRgD6YZra6udviozpK3Aok9Z6FIWeKc5FBijRMSNDxGPTREhsjcQ==", "cpu": [ "x64" ], @@ -7084,9 +7140,9 @@ ] }, "node_modules/lefthook-freebsd-arm64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-2.1.10.tgz", - "integrity": "sha512-8su6DwydP7+pv7kG0zCtjphqsw4ouOnfexRUErapy5GTxYBoUOhYz3RSHTSWNRsK6W4jva7FPUh2Lp5/PSn30w==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-2.1.12.tgz", + "integrity": "sha512-FHZRfKliFNbyz54zsoGdVe9muq67cNjBTZ6jrPPUjI7xUuyCwSpzA+1OpiwJT00L9pP5ZGONBqnGZKnrpC+7Uw==", "cpu": [ "arm64" ], @@ -7098,9 +7154,9 @@ ] }, "node_modules/lefthook-freebsd-x64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-2.1.10.tgz", - "integrity": "sha512-GeAJEFxko3Lk+AsnS3NleAFrpyMLFUKOlgJvPKuU0xHwVEI/z+ZoCcmuO0BX+4CS0NLbZhC/YQAvBASqDvvVdQ==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-2.1.12.tgz", + "integrity": "sha512-HYQZPGy2DDEx7dbuotusJpujY5q9igOLgx36qeeQcNQuvvdGHPj2ZGSIsGKhoJ0dw5Qa4knKJoPAHEZQWdV/og==", "cpu": [ "x64" ], @@ -7112,9 +7168,9 @@ ] }, "node_modules/lefthook-linux-arm64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-2.1.10.tgz", - "integrity": "sha512-1sHTCmpTWjVMs+yKPBLRNT1kuuIr1yjietlk7rCB6wFPVOS6Ph3o2zPFH2AvW1UymHlqwyHXzBr9EtDpQ7j1mQ==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-2.1.12.tgz", + "integrity": "sha512-ipjOri2PB/sk4noPrHQuM5fcpNBjmlKo4qMtXyLnxeOxGYHWZzf0Xi0OtrXHQ//tOprcv40ADvhUuSdcGqigLw==", "cpu": [ "arm64" ], @@ -7126,9 +7182,9 @@ ] }, "node_modules/lefthook-linux-x64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-2.1.10.tgz", - "integrity": "sha512-z/VlRB3bh6mBvW3r1rwnJ5vP8z+Krx5gJzkZ4veDXh+6FlRTx8wtd3g3fllOv/yZMxkgmL3fQoFXv05Esa7vBQ==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-2.1.12.tgz", + "integrity": "sha512-DmU6xfvqVoFdW+STyc70YI4Ry8vkHGKHx+IJ1Js/Gacq5dv+fiwNzwle3bi28EkL6P8xY67B/CfQfRj4SRU4tg==", "cpu": [ "x64" ], @@ -7140,9 +7196,9 @@ ] }, "node_modules/lefthook-openbsd-arm64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-2.1.10.tgz", - "integrity": "sha512-430zL8sSIKw5P0YXGG6PB+eAhHa06n0PXuaERaAQE4Ss3odfqwnl5Mq9hQmkEnOS1EGiQEKkd0UHv/i4PtMNIQ==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-2.1.12.tgz", + "integrity": "sha512-vb0J7bElLvoaCWQmna3HntsvoNqMsGAhfjjC99ss1OdCteufZKM3RxCVoMBEbD50Itv2c1Ua2AFVToltVFTy1Q==", "cpu": [ "arm64" ], @@ -7154,9 +7210,9 @@ ] }, "node_modules/lefthook-openbsd-x64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-2.1.10.tgz", - "integrity": "sha512-bgkO8PphGZVDhQgCJ524aYYPI5491pVmCiLPGjBIo1AvOSlIyw4N1Y+1C3QfqwEmechzw+Aq16SNc8pqv6UuXg==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-2.1.12.tgz", + "integrity": "sha512-QOmhDWqPPK4+99scanfEmbJjUR+JYC93qhr/0bp5Dj3LaR3kVFNWc6zOQUsOTPy/LC6PG759Lej/mr/BtjUL2Q==", "cpu": [ "x64" ], @@ -7168,9 +7224,9 @@ ] }, "node_modules/lefthook-windows-arm64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-2.1.10.tgz", - "integrity": "sha512-5Q6etF0Fla2DDA4ilDySrdNgiR5+W7cJZwnZ69Je3kvWCaWm4wnkuc8FEdjp3kiL2x3ZXipdI00f5vpO8aWmog==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-2.1.12.tgz", + "integrity": "sha512-eErEyr9AHkRFj6TxpCQeKGd0s6IrtL/VEIZ/ssg8dNfG+ycR4jAW/IAlrJSw6/ZQXb3WtWLaQ6QA5c+TLh7vmg==", "cpu": [ "arm64" ], @@ -7182,9 +7238,9 @@ ] }, "node_modules/lefthook-windows-x64": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-2.1.10.tgz", - "integrity": "sha512-c/XH8YZtylG4XaxzqFfXluvq2LXq2W/p54Bnzn3+Z7E5X2Fk3JlFJAibulMbIt2+w8T7UI/r97ok5GqE4kGaeA==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-2.1.12.tgz", + "integrity": "sha512-0h+WmDVdDriTjloD/UbjPq/ZtqaaJlPAdGcVwMCEdAxfbF0FTgDbKX3igui9g2U/qG2y6QpVhtz1jeiRe7ctaw==", "cpu": [ "x64" ], @@ -7196,9 +7252,9 @@ ] }, "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -7212,23 +7268,23 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" + "lightningcss-android-arm64": "1.33.0", + "lightningcss-darwin-arm64": "1.33.0", + "lightningcss-darwin-x64": "1.33.0", + "lightningcss-freebsd-x64": "1.33.0", + "lightningcss-linux-arm-gnueabihf": "1.33.0", + "lightningcss-linux-arm64-gnu": "1.33.0", + "lightningcss-linux-arm64-musl": "1.33.0", + "lightningcss-linux-x64-gnu": "1.33.0", + "lightningcss-linux-x64-musl": "1.33.0", + "lightningcss-win32-arm64-msvc": "1.33.0", + "lightningcss-win32-x64-msvc": "1.33.0" } }, "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", "cpu": [ "arm64" ], @@ -7247,9 +7303,9 @@ } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", "cpu": [ "arm64" ], @@ -7268,9 +7324,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", "cpu": [ "x64" ], @@ -7289,9 +7345,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", "cpu": [ "x64" ], @@ -7310,9 +7366,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", "cpu": [ "arm" ], @@ -7331,13 +7387,16 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -7352,13 +7411,16 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -7373,13 +7435,16 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -7394,13 +7459,16 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -7415,9 +7483,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", "cpu": [ "arm64" ], @@ -7436,9 +7504,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", "cpu": [ "x64" ], @@ -7489,20 +7557,6 @@ "dev": true, "license": "MIT" }, - "node_modules/loader-runner": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", - "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -7517,9 +7571,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.2.3.tgz", + "integrity": "sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==", "dev": true, "license": "MIT", "dependencies": { @@ -7657,16 +7711,16 @@ } }, "node_modules/minimizer-webpack-plugin": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.6.1.tgz", - "integrity": "sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.10.0.tgz", + "integrity": "sha512-2//60T4S0X1Ug/dqLDOgDaGlZsN1Lv8hf8oB0NOV/KIHSaXlPwXBBIbim79dE2Z7NEs52ES8YHoSv6Lmsk+XNg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", + "@jridgewell/trace-mapping": "^0.3.31", "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "terser": "^5.31.1" + "schema-utils": "^4.3.3", + "terser": "^5.51.0" }, "engines": { "node": ">= 10.13.0" @@ -7682,6 +7736,9 @@ "@minify-html/node": { "optional": true }, + "@napi-rs/image": { + "optional": true + }, "@swc/core": { "optional": true }, @@ -7706,12 +7763,21 @@ "html-minifier-terser": { "optional": true }, + "imagemin": { + "optional": true + }, "lightningcss": { "optional": true }, "postcss": { "optional": true }, + "sharp": { + "optional": true + }, + "svgo": { + "optional": true + }, "uglify-js": { "optional": true } @@ -7807,9 +7873,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.16", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", - "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", "dev": true, "funding": [ { @@ -7892,9 +7958,9 @@ } }, "node_modules/obug": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", - "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz", + "integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==", "dev": true, "funding": [ "https://github.com/sponsors/sxzz", @@ -7967,13 +8033,13 @@ "license": "MIT" }, "node_modules/oxfmt": { - "version": "0.58.0", - "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.58.0.tgz", - "integrity": "sha512-8feG/7NVEHDVwc1OUpP6Pks+TnaDFUw2jLLFIMi5bcmmwxAX2wBQvjSzj62RRTYBf2Op1Wt8xbkmagmPTR5ETg==", + "version": "0.67.0", + "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.67.0.tgz", + "integrity": "sha512-vV7sSiPsaO0mSxdoUdayipVDFPzW/UQ+hrezEHa20+Tx1dnMdZLSRHMT0PdS67FFbhd74M1n08asW21aLGeCrA==", "dev": true, "license": "MIT", "dependencies": { - "tinypool": "2.1.0" + "tinypool": "2.1.2" }, "bin": { "oxfmt": "bin/oxfmt" @@ -7982,28 +8048,28 @@ "node": "^20.19.0 || >=22.12.0" }, "funding": { - "url": "https://github.com/sponsors/Boshen" + "url": "https://github.com/sponsors/oxc-project" }, "optionalDependencies": { - "@oxfmt/binding-android-arm-eabi": "0.58.0", - "@oxfmt/binding-android-arm64": "0.58.0", - "@oxfmt/binding-darwin-arm64": "0.58.0", - "@oxfmt/binding-darwin-x64": "0.58.0", - "@oxfmt/binding-freebsd-x64": "0.58.0", - "@oxfmt/binding-linux-arm-gnueabihf": "0.58.0", - "@oxfmt/binding-linux-arm-musleabihf": "0.58.0", - "@oxfmt/binding-linux-arm64-gnu": "0.58.0", - "@oxfmt/binding-linux-arm64-musl": "0.58.0", - "@oxfmt/binding-linux-ppc64-gnu": "0.58.0", - "@oxfmt/binding-linux-riscv64-gnu": "0.58.0", - "@oxfmt/binding-linux-riscv64-musl": "0.58.0", - "@oxfmt/binding-linux-s390x-gnu": "0.58.0", - "@oxfmt/binding-linux-x64-gnu": "0.58.0", - "@oxfmt/binding-linux-x64-musl": "0.58.0", - "@oxfmt/binding-openharmony-arm64": "0.58.0", - "@oxfmt/binding-win32-arm64-msvc": "0.58.0", - "@oxfmt/binding-win32-ia32-msvc": "0.58.0", - "@oxfmt/binding-win32-x64-msvc": "0.58.0" + "@oxfmt/binding-android-arm-eabi": "0.67.0", + "@oxfmt/binding-android-arm64": "0.67.0", + "@oxfmt/binding-darwin-arm64": "0.67.0", + "@oxfmt/binding-darwin-x64": "0.67.0", + "@oxfmt/binding-freebsd-x64": "0.67.0", + "@oxfmt/binding-linux-arm-gnueabihf": "0.67.0", + "@oxfmt/binding-linux-arm-musleabihf": "0.67.0", + "@oxfmt/binding-linux-arm64-gnu": "0.67.0", + "@oxfmt/binding-linux-arm64-musl": "0.67.0", + "@oxfmt/binding-linux-ppc64-gnu": "0.67.0", + "@oxfmt/binding-linux-riscv64-gnu": "0.67.0", + "@oxfmt/binding-linux-riscv64-musl": "0.67.0", + "@oxfmt/binding-linux-s390x-gnu": "0.67.0", + "@oxfmt/binding-linux-x64-gnu": "0.67.0", + "@oxfmt/binding-linux-x64-musl": "0.67.0", + "@oxfmt/binding-openharmony-arm64": "0.67.0", + "@oxfmt/binding-win32-arm64-msvc": "0.67.0", + "@oxfmt/binding-win32-ia32-msvc": "0.67.0", + "@oxfmt/binding-win32-x64-msvc": "0.67.0" }, "peerDependencies": { "svelte": "^5.0.0", @@ -8074,9 +8140,9 @@ } }, "node_modules/package-manager-detector": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", - "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.8.0.tgz", + "integrity": "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==", "dev": true, "license": "MIT" }, @@ -8177,9 +8243,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", - "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", "dev": true, "license": "MIT", "engines": { @@ -8221,35 +8287,32 @@ } }, "node_modules/playwright": { - "version": "1.61.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.61.1.tgz", - "integrity": "sha512-DWnY5o3YbLWK4GovuAVwpqL+1VwGNdUGrRr++8j8PtQQzvAVZUIMjKQ90fY689sEJZJBbZVw1rXaOKSTitkzPQ==", + "version": "1.63.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz", + "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.61.1" + "playwright-core": "1.63.0" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" + "node": ">=20" } }, "node_modules/playwright-core": { - "version": "1.61.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.61.1.tgz", - "integrity": "sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==", + "version": "1.63.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz", + "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==", "dev": true, "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" }, "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/pngjs": { @@ -8263,9 +8326,9 @@ } }, "node_modules/postcss": { - "version": "8.5.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.19.tgz", - "integrity": "sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==", + "version": "8.5.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz", + "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", "dev": true, "funding": [ { @@ -8283,7 +8346,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.12", + "nanoid": "^3.3.18", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -8336,14 +8399,14 @@ } }, "node_modules/publint": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/publint/-/publint-0.3.21.tgz", - "integrity": "sha512-OqejcnMV6E9zel2oCrUOJEiiFkGiAAni0A6ibfQNh1k9Gu5z4F+Yso8lllam7AzmV6Do0vp7u3UpZNRBwuXaHQ==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/publint/-/publint-0.3.24.tgz", + "integrity": "sha512-9zS56KrKBoqi5Qt8h92uMP8TTM9AYZSgnmCo4u2priMqkOZvQnTsziZ2p5LJ2ywbYkAjoCDp2jda9u4cgFefIw==", "dev": true, "license": "MIT", "dependencies": { - "@publint/pack": "^0.1.4", - "package-manager-detector": "^1.6.0", + "@publint/pack": "^0.1.7", + "package-manager-detector": "^1.8.0", "picocolors": "^1.1.1", "sade": "^1.8.1" }, @@ -8558,13 +8621,13 @@ } }, "node_modules/rolldown": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.5.tgz", - "integrity": "sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.7.tgz", + "integrity": "sha512-g0EtLvBjTUB7jhyV0S/TCup3v/XSVl45vUIGbOGU4QPiyjTenCe4mKuFvW9fEgYmS2Fo42AUssRmNuMziXdrig==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.139.0", + "@oxc-project/types": "=0.148.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -8574,21 +8637,63 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.1.5", - "@rolldown/binding-darwin-arm64": "1.1.5", - "@rolldown/binding-darwin-x64": "1.1.5", - "@rolldown/binding-freebsd-x64": "1.1.5", - "@rolldown/binding-linux-arm-gnueabihf": "1.1.5", - "@rolldown/binding-linux-arm64-gnu": "1.1.5", - "@rolldown/binding-linux-arm64-musl": "1.1.5", - "@rolldown/binding-linux-ppc64-gnu": "1.1.5", - "@rolldown/binding-linux-s390x-gnu": "1.1.5", - "@rolldown/binding-linux-x64-gnu": "1.1.5", - "@rolldown/binding-linux-x64-musl": "1.1.5", - "@rolldown/binding-openharmony-arm64": "1.1.5", - "@rolldown/binding-wasm32-wasi": "1.1.5", - "@rolldown/binding-win32-arm64-msvc": "1.1.5", - "@rolldown/binding-win32-x64-msvc": "1.1.5" + "@rolldown/binding-android-arm-eabi": "1.2.7", + "@rolldown/binding-android-arm64": "1.2.7", + "@rolldown/binding-darwin-arm64": "1.2.7", + "@rolldown/binding-darwin-x64": "1.2.7", + "@rolldown/binding-freebsd-x64": "1.2.7", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.7", + "@rolldown/binding-linux-arm64-gnu": "1.2.7", + "@rolldown/binding-linux-arm64-musl": "1.2.7", + "@rolldown/binding-linux-ppc64-gnu": "1.2.7", + "@rolldown/binding-linux-s390x-gnu": "1.2.7", + "@rolldown/binding-linux-x64-gnu": "1.2.7", + "@rolldown/binding-linux-x64-musl": "1.2.7", + "@rolldown/binding-openharmony-arm64": "1.2.7", + "@rolldown/binding-win32-arm64-msvc": "1.2.7", + "@rolldown/binding-win32-x64-msvc": "1.2.7" + } + }, + "node_modules/rolldown-plugin-dts": { + "version": "0.28.5", + "resolved": "https://registry.npmjs.org/rolldown-plugin-dts/-/rolldown-plugin-dts-0.28.5.tgz", + "integrity": "sha512-yYd3C9CeJwqjOc9X23m0Tyxcqic491uLZlfg51szT287S8zCCqLR2uoySoElgqy2CLn7PdXcEo1dlkBs4n1WHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dts-resolver": "^3.0.0", + "get-tsconfig": "5.0.0-beta.6", + "obug": "^2.1.4", + "yuku-ast": "^0.9.3", + "yuku-codegen": "^0.9.3", + "yuku-parser": "^0.9.3" + }, + "engines": { + "node": "^22.18.0 || ^24.11.0 || >=26.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@typescript/native-preview": "*", + "@volar/typescript": "~2.4.0", + "rolldown": "^1.2.0", + "typescript": "^5.0.0 || ^6.0.0 || ~7.0.0", + "vue-tsc": "~3.2.0 || ~3.3.0" + }, + "peerDependenciesMeta": { + "@typescript/native-preview": { + "optional": true + }, + "@volar/typescript": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vue-tsc": { + "optional": true + } } }, "node_modules/router": { @@ -9145,9 +9250,9 @@ } }, "node_modules/terser": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.1.tgz", - "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", + "version": "5.51.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.51.2.tgz", + "integrity": "sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -9195,16 +9300,19 @@ "license": "MIT" }, "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.1.4.tgz", + "integrity": "sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } }, "node_modules/tinyexec": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", - "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", + "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", "dev": true, "license": "MIT", "engines": { @@ -9229,9 +9337,9 @@ } }, "node_modules/tinypool": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-2.1.0.tgz", - "integrity": "sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-2.1.2.tgz", + "integrity": "sha512-9YodfrxS9g9IbFr/KOjE5bAeJ0p61n3bW6mqvy0jtoeKd1kTW1Cxm0oulm6KX2lyM9Gl6WIe8nEbY7LWv5ZJww==", "dev": true, "license": "MIT", "engines": { @@ -9239,9 +9347,9 @@ } }, "node_modules/tinyrainbow": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", - "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.1.tgz", + "integrity": "sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==", "dev": true, "license": "MIT", "engines": { @@ -9309,46 +9417,45 @@ } }, "node_modules/tsdown": { - "version": "0.22.7", - "resolved": "https://registry.npmjs.org/tsdown/-/tsdown-0.22.7.tgz", - "integrity": "sha512-4egbOzc9dxVv/QS+gDV75FIxDIjQQeOnXBlUuikyjmn0ozuc6FW11djJjEEo3vqkuJRygpnKHurnj+Iwftk4VA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/tsdown/-/tsdown-0.23.0.tgz", + "integrity": "sha512-BaT+ep1xnj5hdyICLd5r5SYYE+TXnI1ATePLykv9vcKpHpFTWUWRH+x1AF/E2qcu3YB6+vI8IdyxIIIffEqw5Q==", "dev": true, "license": "MIT", "dependencies": { - "ansis": "^4.3.1", "cac": "^7.0.0", "defu": "^6.1.7", "empathic": "^2.0.1", "hookable": "^6.1.1", "import-without-cache": "^0.4.0", - "obug": "^2.1.3", - "picomatch": "^4.0.5", - "rolldown": "~1.1.5", - "rolldown-plugin-dts": "^0.27.8", - "semver": "^7.8.5", - "tinyexec": "^1.2.4", + "obug": "^2.1.4", + "picomatch": "^4.0.7", + "rolldown": "~1.2.7", + "rolldown-plugin-dts": "^0.28.5", + "tinyexec": "^1.3.1", "tinyglobby": "^0.2.17", "tree-kill": "^1.2.2", - "unconfig-core": "^7.5.0" + "unconfig-core": "^7.5.0", + "verkit": "^0.4.0" }, "bin": { "tsdown": "dist/run.mjs" }, "engines": { - "node": "^22.18.0 || >=24.11.0" + "node": "^22.18.0 || ^24.11.0 || >=26.0.0" }, "funding": { "url": "https://github.com/sponsors/sxzz" }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", - "@tsdown/css": "0.22.7", - "@tsdown/exe": "0.22.7", + "@tsdown/css": "0.23.0", + "@tsdown/exe": "0.23.0", "@vitejs/devtools": "*", "publint": "^0.3.8", "tsx": "*", "typescript": "^5.0.0 || ^6.0.0 || ^7.0.0", - "unplugin-unused": "^0.5.0", + "unplugin-unused": ">=0.5.0", "unrun": "*" }, "peerDependenciesMeta": { @@ -9381,48 +9488,6 @@ } } }, - "node_modules/tsdown/node_modules/rolldown-plugin-dts": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/rolldown-plugin-dts/-/rolldown-plugin-dts-0.27.8.tgz", - "integrity": "sha512-IjBTFpkrYYJPRUmIjUJFsZdR1zeHskFcEwFDzSfFDoC2pZcSNgLrBUcDFY9K0Q+A1TZJR3q9MlVomxMDP8AuLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dts-resolver": "^3.0.0", - "get-tsconfig": "5.0.0-beta.5", - "obug": "^2.1.3", - "yuku-ast": "^0.1.7", - "yuku-codegen": "^0.6.1", - "yuku-parser": "^0.6.1" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "funding": { - "url": "https://github.com/sponsors/sxzz" - }, - "peerDependencies": { - "@ts-macro/tsc": "^0.3.6", - "@typescript/native-preview": ">=7.0.0-dev.20260325.1", - "rolldown": "^1.0.0", - "typescript": "^5.0.0 || ^6.0.0 || ^7.0.0", - "vue-tsc": "~3.2.0 || ~3.3.0" - }, - "peerDependenciesMeta": { - "@ts-macro/tsc": { - "optional": true - }, - "@typescript/native-preview": { - "optional": true - }, - "typescript": { - "optional": true - }, - "vue-tsc": { - "optional": true - } - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -9483,9 +9548,9 @@ } }, "node_modules/type-is/node_modules/content-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", "dev": true, "license": "MIT", "engines": { @@ -9563,9 +9628,9 @@ } }, "node_modules/undici-types": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", - "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", "dev": true, "license": "MIT" }, @@ -9630,17 +9695,30 @@ "node": ">= 0.8" } }, + "node_modules/verkit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/verkit/-/verkit-0.4.0.tgz", + "integrity": "sha512-sXMwN6DMHeouPfCxkxWkKAmxphWKEenHYY5H1nIBzU3PmDsmJp6kBXJdshjVdpMZuWCmL9SH7KFRx29AylpP6g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, "node_modules/vite": { - "version": "8.1.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.4.tgz", - "integrity": "sha512-bTT9PsdWO+MQMNG9ZXIP/qM9wGh37DFxTV/sPq9cFpHr3w4jkgef032PkAL9jAqhk3Nz8NQw3O8n6/xFkqO4QQ==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.2.2.tgz", + "integrity": "sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q==", "dev": true, "license": "MIT", "dependencies": { - "lightningcss": "^1.32.0", + "lightningcss": "^1.33.0", "picomatch": "^4.0.5", - "postcss": "^8.5.16", - "rolldown": "~1.1.4", + "postcss": "^8.5.26", + "rolldown": "~1.2.4", "tinyglobby": "^0.2.17" }, "bin": { @@ -9657,7 +9735,7 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.3.0", + "@vitejs/devtools": "^0.4.0 || ^0.5.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", @@ -9708,54 +9786,32 @@ } } }, - "node_modules/vite/node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "node_modules/vitest": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.0.tgz", + "integrity": "sha512-gpsMNoRhMjMktVxPtstOH4/PJuPyovVaMDr4oDilXaGH1EcqM2OE96SoHT2VIQ6fTGtTjqmHDrEu2X9RQiXf8Q==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/vitest": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.10.tgz", - "integrity": "sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "4.1.10", - "@vitest/mocker": "4.1.10", - "@vitest/pretty-format": "4.1.10", - "@vitest/runner": "4.1.10", - "@vitest/snapshot": "4.1.10", - "@vitest/spy": "4.1.10", - "@vitest/utils": "4.1.10", - "es-module-lexer": "^2.0.0", - "expect-type": "^1.3.0", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^4.0.0-rc.1", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.1.0", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/mocker": "5.0.0", + "chai": "^6.2.2", + "es-module-lexer": "^2.3.2", + "expect-type": "^1.4.0", + "magic-string": "^1.2.3", + "obug": "^2.1.4", + "picomatch": "^4.0.7", + "std-env": "^4.2.0", + "tinybench": "6.1.4", + "tinyexec": "1.3.0", + "tinyglobby": "^0.2.17", "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^22.12.0 || ^24.0.0 || >=26.0.0" }, "funding": { "url": "https://opencollective.com/vitest" @@ -9763,16 +9819,16 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", - "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.10", - "@vitest/browser-preview": "4.1.10", - "@vitest/browser-webdriverio": "4.1.10", - "@vitest/coverage-istanbul": "4.1.10", - "@vitest/coverage-v8": "4.1.10", - "@vitest/ui": "4.1.10", + "@types/node": "^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "5.0.0", + "@vitest/browser-preview": "5.0.0", + "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", + "@vitest/coverage-istanbul": "5.0.0", + "@vitest/coverage-v8": "5.0.0", + "@vitest/ui": "5.0.0", "happy-dom": "*", "jsdom": "*", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { @@ -9813,6 +9869,16 @@ } } }, + "node_modules/vitest/node_modules/tinyexec": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.0.tgz", + "integrity": "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/watchpack": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.2.tgz", @@ -9834,9 +9900,9 @@ "license": "MIT" }, "node_modules/webpack": { - "version": "5.108.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.108.4.tgz", - "integrity": "sha512-yur8LyJoeiWh47dErD+Ok7vlbmDsJ3UbbRPAoxbGJ54WpE2y5yVo5G/inUzujnYgw3tPmBRdn+G7PoxXaYC33w==", + "version": "5.110.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.110.3.tgz", + "integrity": "sha512-GuizBzRvo9YPpyoNMf3ag7AzxbaW85qrRSqTha345KyJbAFPt3/cMzBM0h+RWg7SK/7DdzRLINP3LvQ0hvr4hg==", "dev": true, "license": "MIT", "dependencies": { @@ -9846,22 +9912,19 @@ "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.16.0", - "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.22.2", + "enhanced-resolve": "^5.24.4", "es-module-lexer": "^2.1.0", - "eslint-scope": "5.1.1", "events": "^3.2.0", "graceful-fs": "^4.2.11", - "loader-runner": "^4.3.2", "mime-db": "^1.54.0", - "minimizer-webpack-plugin": "^5.6.1", + "minimizer-webpack-plugin": "^5.7.0", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", "watchpack": "^2.5.2", - "webpack-sources": "^3.5.0" + "webpack-sources": "^3.5.1" }, "bin": { "webpack": "bin/webpack.js" @@ -9880,9 +9943,9 @@ } }, "node_modules/webpack-cli": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-7.2.1.tgz", - "integrity": "sha512-YwSGbcZdfz12DM8JIseVPr3oBb09IgVCVc4vY3oDvZnI/mALTGPAP1QiqOi4/bBLSJrRHaqDIXeHcNA0+G38aw==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-7.2.3.tgz", + "integrity": "sha512-vDFU7jrfCctnN7jJQWPl+V26B51GLp11prVZXg50oeonsgeBzSTJEWmXkjHsOjTgMjlPOQM8GWLh33X9RN/0ow==", "dev": true, "license": "MIT", "dependencies": { @@ -9908,7 +9971,7 @@ "peerDependencies": { "js-yaml": "^4.0.0 || ^5.0.0", "json5": "^2.2.3", - "toml": "^3.0.0 || ^4.0.0", + "toml": "^3.0.0 || ^4.0.0 || ^5.0.0", "webpack": "^5.101.0", "webpack-bundle-analyzer": "^4.0.0 || ^5.0.0", "webpack-dev-server": "^5.0.0 || ^6.0.0" @@ -10125,9 +10188,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", - "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz", + "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==", "dev": true, "license": "MIT", "engines": { @@ -10164,62 +10227,62 @@ } }, "node_modules/yuku-ast": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/yuku-ast/-/yuku-ast-0.1.7.tgz", - "integrity": "sha512-2RiMEWv500TixY5rJy6OZd4fSy9WYZKWh6gGbIJ7y7vAGcuCugWOWwOLGaQcRZrXcPUfqtLtvpaJ3SdXtWlhKA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/yuku-ast/-/yuku-ast-0.9.4.tgz", + "integrity": "sha512-AeeHDopMAy2mMafUMEIZxmQaCJOPEvBGDSSA23y5iKuzak3H2otfmgo4ObJubuzdHlJrv4eFY3KQ5XZOru5gpw==", "dev": true, "license": "MIT", "dependencies": { - "@yuku-toolchain/types": "0.5.43" - }, - "funding": { - "url": "https://github.com/sponsors/arshad-yaseen" + "@yuku-toolchain/types": "^0.9.4" } }, "node_modules/yuku-codegen": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/yuku-codegen/-/yuku-codegen-0.6.1.tgz", - "integrity": "sha512-6RJqqON2xYhMEp/sZv5oOSI3uOpWwRwzAi2fc/rMcRFjcqedAC5Fyp4AD9Vn2b8SB7hf9ESqVW+YwbDs/KvyKA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/yuku-codegen/-/yuku-codegen-0.9.4.tgz", + "integrity": "sha512-pPr8xA8wBjrebER5VFeqS1XqATED1dQXU7JoAectAi1RBG4YFJz5yBirnmmmHZHldgnMKs/pMGkDtwGVQX+Efg==", "dev": true, "license": "MIT", "dependencies": { - "@yuku-toolchain/types": "0.5.43" + "@yuku-toolchain/types": "^0.9.4" }, "optionalDependencies": { - "@yuku-codegen/binding-darwin-arm64": "0.6.1", - "@yuku-codegen/binding-darwin-x64": "0.6.1", - "@yuku-codegen/binding-freebsd-x64": "0.6.1", - "@yuku-codegen/binding-linux-arm-gnu": "0.6.1", - "@yuku-codegen/binding-linux-arm-musl": "0.6.1", - "@yuku-codegen/binding-linux-arm64-gnu": "0.6.1", - "@yuku-codegen/binding-linux-arm64-musl": "0.6.1", - "@yuku-codegen/binding-linux-x64-gnu": "0.6.1", - "@yuku-codegen/binding-linux-x64-musl": "0.6.1", - "@yuku-codegen/binding-win32-arm64": "0.6.1", - "@yuku-codegen/binding-win32-x64": "0.6.1" + "@yuku-codegen/binding-android-arm64": "0.9.4", + "@yuku-codegen/binding-darwin-arm64": "0.9.4", + "@yuku-codegen/binding-darwin-x64": "0.9.4", + "@yuku-codegen/binding-freebsd-x64": "0.9.4", + "@yuku-codegen/binding-linux-arm-gnu": "0.9.4", + "@yuku-codegen/binding-linux-arm-musl": "0.9.4", + "@yuku-codegen/binding-linux-arm64-gnu": "0.9.4", + "@yuku-codegen/binding-linux-arm64-musl": "0.9.4", + "@yuku-codegen/binding-linux-x64-gnu": "0.9.4", + "@yuku-codegen/binding-linux-x64-musl": "0.9.4", + "@yuku-codegen/binding-win32-arm64": "0.9.4", + "@yuku-codegen/binding-win32-x64": "0.9.4" } }, "node_modules/yuku-parser": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/yuku-parser/-/yuku-parser-0.6.1.tgz", - "integrity": "sha512-dPE3/+H2VBw9LhjoIVeW/axKidYGd+XzNtrwGGseZ0325cQFl0Dpwyh0R74XWe/WqQn4M8CR5YApsv2KF2zN1A==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/yuku-parser/-/yuku-parser-0.9.4.tgz", + "integrity": "sha512-VWnoJzdB2g1JjsMEcB2MxSLoDbgISgOiNRsgiR0qrQKiUw2yyzEfYEYkNHSMNhdGkSo7gtmcN+2UOczzGDLAuw==", "dev": true, "license": "MIT", "dependencies": { - "@yuku-toolchain/types": "0.5.43" + "@yuku-toolchain/types": "^0.9.4", + "yuku-ast": "^0.9.4" }, "optionalDependencies": { - "@yuku-parser/binding-darwin-arm64": "0.6.1", - "@yuku-parser/binding-darwin-x64": "0.6.1", - "@yuku-parser/binding-freebsd-x64": "0.6.1", - "@yuku-parser/binding-linux-arm-gnu": "0.6.1", - "@yuku-parser/binding-linux-arm-musl": "0.6.1", - "@yuku-parser/binding-linux-arm64-gnu": "0.6.1", - "@yuku-parser/binding-linux-arm64-musl": "0.6.1", - "@yuku-parser/binding-linux-x64-gnu": "0.6.1", - "@yuku-parser/binding-linux-x64-musl": "0.6.1", - "@yuku-parser/binding-win32-arm64": "0.6.1", - "@yuku-parser/binding-win32-x64": "0.6.1" + "@yuku-parser/binding-android-arm64": "0.9.4", + "@yuku-parser/binding-darwin-arm64": "0.9.4", + "@yuku-parser/binding-darwin-x64": "0.9.4", + "@yuku-parser/binding-freebsd-x64": "0.9.4", + "@yuku-parser/binding-linux-arm-gnu": "0.9.4", + "@yuku-parser/binding-linux-arm-musl": "0.9.4", + "@yuku-parser/binding-linux-arm64-gnu": "0.9.4", + "@yuku-parser/binding-linux-arm64-musl": "0.9.4", + "@yuku-parser/binding-linux-x64-gnu": "0.9.4", + "@yuku-parser/binding-linux-x64-musl": "0.9.4", + "@yuku-parser/binding-win32-arm64": "0.9.4", + "@yuku-parser/binding-win32-x64": "0.9.4" } } } diff --git a/package.json b/package.json index 3cc94ae..52006f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sqlite.org/sqlite-wasm", - "version": "3.53.0-build1", + "version": "3.53.4-build1", "description": "SQLite Wasm conveniently wrapped as an ES Module.", "type": "module", "repository": { @@ -75,17 +75,17 @@ "node": ">=22" }, "devDependencies": { - "@types/node": "^26.1.1", - "@vitest/browser": "^4.1.10", - "@vitest/browser-playwright": "^4.1.10", - "happy-dom": "20.10.6", - "lefthook": "2.1.10", - "oxfmt": "^0.58.0", - "playwright": "^1.61.1", - "publint": "^0.3.21", - "tsdown": "^0.22.7", + "@types/node": "^26.5.0", + "@vitest/browser": "^5.0.0", + "@vitest/browser-playwright": "^5.0.0", + "happy-dom": "20.14.0", + "lefthook": "2.1.12", + "oxfmt": "^0.67.0", + "playwright": "^1.63.0", + "publint": "^0.3.24", + "tsdown": "^0.23.0", "typescript": "7.0.2", - "vitest": "^4.1.10" + "vitest": "^5.0.0" }, "packageManager": "npm@12.0.1", "allowScripts": { diff --git a/src/bin/sqlite3-bundler-friendly.mjs b/src/bin/sqlite3-bundler-friendly.mjs index fc385ac..e026859 100644 --- a/src/bin/sqlite3-bundler-friendly.mjs +++ b/src/bin/sqlite3-bundler-friendly.mjs @@ -27,9 +27,9 @@ /* @preserve ** This code was built from sqlite3 version... ** -** SQLITE_VERSION "3.53.0" -** SQLITE_VERSION_NUMBER 3053000 -** SQLITE_SOURCE_ID "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b" +** SQLITE_VERSION "3.53.4" +** SQLITE_VERSION_NUMBER 3053004 +** SQLITE_SOURCE_ID "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc" ** ** Emscripten SDK: 5.0.5 */ @@ -249,7 +249,7 @@ function updateMemoryViews() { function initMemory() { - + if (Module['wasmMemory']) { wasmMemory = Module['wasmMemory']; @@ -540,7 +540,7 @@ async function createWasm() { var addOnPreRun = (cb) => onPreRuns.push(cb); - + /** * @param {number} ptr * @param {string} type @@ -562,7 +562,7 @@ async function createWasm() { var noExitRuntime = true; - + /** * @param {number} ptr * @param {number} value @@ -737,14 +737,14 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { * @return {string} */ var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead, ignoreNul) => { - + var endPtr = findStringEnd(heapOrArray, idx, maxBytesToRead, ignoreNul); - + return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr))); }; - + var FS_stdin_getChar_buffer = []; - + var lengthBytesUTF8 = (str) => { var len = 0; for (var i = 0; i < str.length; ++i) { @@ -765,13 +765,13 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } return len; }; - + var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { // Parameter maxBytesToWrite is not optional. Negative values, 0, null, // undefined and false each don't write out any bytes. if (!(maxBytesToWrite > 0)) return 0; - + var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. for (var i = 0; i < str.length; ++i) { @@ -973,10 +973,10 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }, }, }; - - + + var zeroMemory = (ptr, size) => HEAPU8.fill(0, ptr, ptr + size); - + var alignMemory = (size, alignment) => { return Math.ceil(size / alignment) * alignment; }; @@ -1213,11 +1213,11 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { if (buffer.buffer === HEAP8.buffer) { canOwn = false; } - + if (!length) return 0; var node = stream.node; node.mtime = node.ctime = Date.now(); - + if (canOwn) { node.contents = buffer.subarray(offset, offset + length); node.usedBytes = length; @@ -1286,7 +1286,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }, }, }; - + var FS_modeStringToFlags = (str) => { if (typeof str != 'string') return str; var flagModes = { @@ -1303,7 +1303,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } return flags; }; - + var FS_fileDataToTypedArray = (data) => { if (typeof data == 'string') { data = intArrayFromString(data, true); @@ -1313,36 +1313,36 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } return data; }; - + var FS_getMode = (canRead, canWrite) => { var mode = 0; if (canRead) mode |= 292 | 73; if (canWrite) mode |= 146; return mode; }; - - + + var asyncLoad = async (url) => { var arrayBuffer = await readAsync(url); return new Uint8Array(arrayBuffer); }; - - + + var FS_createDataFile = (...args) => FS.createDataFile(...args); - + var getUniqueRunDependency = (id) => { return id; }; - + var runDependencies = 0; - - + + var dependenciesFulfilled = null; var removeRunDependency = (id) => { runDependencies--; - + Module['monitorRunDependencies']?.(runDependencies); - + if (runDependencies == 0) { if (dependenciesFulfilled) { var callback = dependenciesFulfilled; @@ -1353,17 +1353,17 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }; var addRunDependency = (id) => { runDependencies++; - + Module['monitorRunDependencies']?.(runDependencies); - + }; - - + + var preloadPlugins = []; var FS_handledByPreloadPlugin = async (byteArray, fullname) => { // Ensure plugins are ready. if (typeof Browser != 'undefined') Browser.init(); - + for (var plugin of preloadPlugins) { if (plugin['canHandle'](fullname)) { return plugin['handle'](byteArray, fullname); @@ -1379,13 +1379,13 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname addRunDependency(dep); - + try { var byteArray = url; if (typeof url == 'string') { byteArray = await asyncLoad(url); } - + byteArray = await FS_handledByPreloadPlugin(byteArray, fullname); preFinish?.(); if (!dontCreateFile) { @@ -1495,31 +1495,31 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { throw new FS.ErrnoError(44); } opts.follow_mount ??= true - + if (!PATH.isAbs(path)) { path = FS.cwd() + '/' + path; } - + // limit max consecutive symlinks to 40 (SYMLOOP_MAX). linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { // split the absolute path var parts = path.split('/').filter((p) => !!p); - + // start at the root var current = FS.root; var current_path = '/'; - + for (var i = 0; i < parts.length; i++) { var islast = (i === parts.length-1); if (islast && opts.parent) { // stop resolving break; } - + if (parts[i] === '.') { continue; } - + if (parts[i] === '..') { current_path = PATH.dirname(current_path); if (FS.isRoot(current)) { @@ -1533,7 +1533,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } continue; } - + current_path = PATH.join2(current_path, parts[i]); try { current = FS.lookupNode(current, parts[i]); @@ -1546,12 +1546,12 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } throw e; } - + // jump to the mount's root node if this is a mountpoint if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { current = current.mounted.root; } - + // by default, lookupPath will not follow a symlink if it is the final path component. // setting opts.follow = true will override this behavior. if (FS.isLink(current.mode) && (!islast || opts.follow)) { @@ -1584,7 +1584,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }, hashName(parentid, name) { var hash = 0; - + for (var i = 0; i < name.length; i++) { hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } @@ -1627,9 +1627,9 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }, createNode(parent, name, mode, rdev) { var node = new FS.FSNode(parent, name, mode, rdev); - + FS.hashAddNode(node); - + return node; }, destroyNode(node) { @@ -1767,7 +1767,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }, getStream:(fd) => FS.streams[fd], createStream(stream, fd = -1) { - + // clone it, so we can return an instance of FSStream stream = Object.assign(new FS.FSStream(), stream); if (fd == -1) { @@ -1814,15 +1814,15 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { getMounts(mount) { var mounts = []; var check = [mount]; - + while (check.length) { var m = check.pop(); - + mounts.push(m); - + check.push(...m.mounts); } - + return mounts; }, syncfs(populate, callback) { @@ -1830,21 +1830,21 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { callback = populate; populate = false; } - + FS.syncFSRequests++; - + if (FS.syncFSRequests > 1) { err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); } - + var mounts = FS.getMounts(FS.root.mount); var completed = 0; - + function doCallback(errCode) { FS.syncFSRequests--; return callback(errCode); } - + function done(errCode) { if (errCode) { if (!done.errored) { @@ -1857,7 +1857,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { doCallback(null); } }; - + // sync all mounts for (var mount of mounts) { if (mount.type.syncfs) { @@ -1871,77 +1871,77 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var root = mountpoint === '/'; var pseudo = !mountpoint; var node; - + if (root && FS.root) { throw new FS.ErrnoError(10); } else if (!root && !pseudo) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - + mountpoint = lookup.path; // use the absolute path node = lookup.node; - + if (FS.isMountpoint(node)) { throw new FS.ErrnoError(10); } - + if (!FS.isDir(node.mode)) { throw new FS.ErrnoError(54); } } - + var mount = { type, opts, mountpoint, mounts: [] }; - + // create a root node for the fs var mountRoot = type.mount(mount); mountRoot.mount = mount; mount.root = mountRoot; - + if (root) { FS.root = mountRoot; } else if (node) { // set as a mountpoint node.mounted = mount; - + // add the new mount to the current mount's children if (node.mount) { node.mount.mounts.push(mount); } } - + return mountRoot; }, unmount(mountpoint) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - + if (!FS.isMountpoint(lookup.node)) { throw new FS.ErrnoError(28); } - + // destroy the nodes for this mount, and all its child mounts var node = lookup.node; var mount = node.mounted; var mounts = FS.getMounts(mount); - + for (var [hash, current] of Object.entries(FS.nameTable)) { while (current) { var next = current.name_next; - + if (mounts.includes(current.mount)) { FS.destroyNode(current); } - + current = next; } } - + // no longer a mountpoint node.mounted = null; - + // remove this mount from the child mounts var idx = node.mount.mounts.indexOf(mount); node.mount.mounts.splice(idx, 1); @@ -1993,7 +1993,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { flags: 2, namelen: 255, }; - + if (node.node_ops.statfs) { Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); } @@ -2057,13 +2057,13 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var new_name = PATH.basename(new_path); // parents must exist var lookup, old_dir, new_dir; - + // let the errors from non existent directories percolate up lookup = FS.lookupPath(old_path, { parent: true }); old_dir = lookup.node; lookup = FS.lookupPath(new_path, { parent: true }); new_dir = lookup.node; - + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); // need to be part of the same mount if (old_dir.mount !== new_dir.mount) { @@ -2376,7 +2376,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } // we've already handled these, don't pass down to the underlying vfs flags &= ~(128 | 512 | 131072); - + // register the stream with the filesystem var stream = FS.createStream({ node, @@ -2639,7 +2639,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { // TODO deprecate the old functionality of a single // input / output callback and that utilizes FS.createDevice // and instead require a unique set of stream ops - + // by default, we symlink the standard streams to the // default tty devices. however, if the standard streams // have been overwritten we create a unique device for @@ -2659,7 +2659,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } else { FS.symlink('/dev/tty1', '/dev/stderr'); } - + // open default streams for the stdin, stdout and stderr devices var stdin = FS.open('/dev/stdin', 0); var stdout = FS.open('/dev/stdout', 1); @@ -2667,25 +2667,25 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }, staticInit() { FS.nameTable = new Array(4096); - + FS.mount(MEMFS, {}, '/'); - + FS.createDefaultDirectories(); FS.createDefaultDevices(); FS.createSpecialDirectories(); - + FS.filesystems = { 'MEMFS': MEMFS, }; }, init(input, output, error) { FS.initialized = true; - + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here input ??= Module['stdin']; output ??= Module['stdout']; error ??= Module['stderr']; - + FS.createStandardStreams(input, output, error); }, quit() { @@ -2865,27 +2865,27 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var header; var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - + var chunkSize = 1024*1024; // Chunk size in bytes - + if (!hasByteServing) chunkSize = datalength; - + // Function to get a range from the remote URL. var doXHR = (from, to) => { if (from > to) abort("invalid range (" + from + ", " + to + ") or no bytes requested!"); if (to > datalength-1) abort("only " + datalength + " bytes available! programmer error!"); - + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - + // Some hints to the browser that we want binary data. xhr.responseType = 'arraybuffer'; if (xhr.overrideMimeType) { xhr.overrideMimeType('text/plain; charset=x-user-defined'); } - + xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort("Couldn't load " + url + ". Status: " + xhr.status); if (xhr.response !== undefined) { @@ -2904,7 +2904,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { if (typeof lazyArray.chunks[chunkNum] == 'undefined') abort('doXHR failed!'); return lazyArray.chunks[chunkNum]; }); - + if (usesGzip || !datalength) { // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file @@ -2912,7 +2912,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { chunkSize = datalength; out("LazyFiles on gzip forces download of the whole file when length is accessed"); } - + this._length = datalength; this._chunkSize = chunkSize; this.lengthKnown = true; @@ -2930,7 +2930,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { return this._chunkSize; } } - + if (globalThis.XMLHttpRequest) { if (!ENVIRONMENT_IS_WORKER) abort('Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'); var lazyArray = new LazyUint8Array(); @@ -2938,7 +2938,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } else { var properties = { isDevice: false, url: url }; } - + var node = FS.createFile(parent, name, properties, canRead, canWrite); // This is a total hack, but I want to get this lazy file code out of the // core of MEMFS. If we want to keep this lazy file concept I feel it should @@ -2998,9 +2998,9 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { return node; }, }; - - - + + + /** * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the * emscripten HEAP, returns a copy of that string as a Javascript String object. @@ -3097,7 +3097,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }; function ___syscall_chmod(path, mode) { try { - + path = SYSCALLS.getStr(path); FS.chmod(path, mode); return 0; @@ -3109,7 +3109,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_faccessat(dirfd, path, amode, flags) { try { - + path = SYSCALLS.getStr(path); path = SYSCALLS.calculateAt(dirfd, path); if (amode & ~7) { @@ -3137,7 +3137,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_fchmod(fd, mode) { try { - + FS.fchmod(fd, mode); return 0; } catch (e) { @@ -3148,7 +3148,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_fchown32(fd, owner, group) { try { - + FS.fchown(fd, owner, group); return 0; } catch (e) { @@ -3164,12 +3164,12 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { return ret; }; var syscallGetVarargP = syscallGetVarargI; - - + + function ___syscall_fcntl64(fd, cmd, varargs) { SYSCALLS.varargs = varargs; try { - + var stream = SYSCALLS.getStreamFromFD(fd); switch (cmd) { case 0: { @@ -3218,7 +3218,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_fstat64(fd, buf) { try { - + return SYSCALLS.writeStat(buf, FS.fstat(fd)); } catch (e) { if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; @@ -3227,15 +3227,15 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } var INT53_MAX = 9007199254740992; - + var INT53_MIN = -9007199254740992; var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); function ___syscall_ftruncate64(fd, length) { length = bigintToI53Checked(length); - - + + try { - + if (isNaN(length)) return -61; FS.ftruncate(fd, length); return 0; @@ -3246,13 +3246,13 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { ; } - + var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); }; function ___syscall_getcwd(buf, size) { try { - + if (size === 0) return -28; var cwd = FS.cwd(); var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1; @@ -3265,11 +3265,11 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } } - + function ___syscall_ioctl(fd, op, varargs) { SYSCALLS.varargs = varargs; try { - + var stream = SYSCALLS.getStreamFromFD(fd); switch (op) { case 21509: { @@ -3364,7 +3364,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_lstat64(path, buf) { try { - + path = SYSCALLS.getStr(path); return SYSCALLS.writeStat(buf, FS.lstat(path)); } catch (e) { @@ -3375,7 +3375,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_mkdirat(dirfd, path, mode) { try { - + path = SYSCALLS.getStr(path); path = SYSCALLS.calculateAt(dirfd, path); FS.mkdir(path, mode, 0); @@ -3388,7 +3388,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_newfstatat(dirfd, path, buf, flags) { try { - + path = SYSCALLS.getStr(path); var nofollow = flags & 256; var allowEmpty = flags & 4096; @@ -3401,11 +3401,11 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } } - + function ___syscall_openat(dirfd, path, flags, varargs) { SYSCALLS.varargs = varargs; try { - + path = SYSCALLS.getStr(path); path = SYSCALLS.calculateAt(dirfd, path); var mode = varargs ? syscallGetVarargI() : 0; @@ -3416,16 +3416,16 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } } - - + + function ___syscall_readlinkat(dirfd, path, buf, bufsize) { try { - + path = SYSCALLS.getStr(path); path = SYSCALLS.calculateAt(dirfd, path); if (bufsize <= 0) return -28; var ret = FS.readlink(path); - + var len = Math.min(bufsize, lengthBytesUTF8(ret)); var endChar = HEAP8[buf+len]; stringToUTF8(ret, buf, bufsize+1); @@ -3441,7 +3441,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_rmdir(path) { try { - + path = SYSCALLS.getStr(path); FS.rmdir(path); return 0; @@ -3453,7 +3453,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_stat64(path, buf) { try { - + path = SYSCALLS.getStr(path); return SYSCALLS.writeStat(buf, FS.stat(path)); } catch (e) { @@ -3464,7 +3464,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function ___syscall_unlinkat(dirfd, path, flags) { try { - + path = SYSCALLS.getStr(path); path = SYSCALLS.calculateAt(dirfd, path); if (!flags) { @@ -3484,10 +3484,10 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var readI53FromI64 = (ptr) => { return HEAPU32[((ptr)>>2)] + HEAP32[(((ptr)+(4))>>2)] * 4294967296; }; - + function ___syscall_utimensat(dirfd, path, times, flags) { try { - + path = SYSCALLS.getStr(path); path = SYSCALLS.calculateAt(dirfd, path, true); var now = Date.now(), atime, mtime; @@ -3528,22 +3528,22 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - + var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - + var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; var ydayFromDate = (date) => { var leap = isLeapYear(date.getFullYear()); var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - + return yday; }; - + function __localtime_js(time, tmPtr) { time = bigintToI53Checked(time); - - + + var date = new Date(time*1000); HEAP32[((tmPtr)>>2)] = date.getSeconds(); HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); @@ -3552,11 +3552,11 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - + var yday = ydayFromDate(date)|0; HEAP32[(((tmPtr)+(28))>>2)] = yday; HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - + // Attention: DST is in December in South, and some regions don't have DST at all. var start = new Date(date.getFullYear(), 0, 1); var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); @@ -3566,17 +3566,17 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { ; } - - - - - + + + + + function __mmap_js(len, prot, flags, fd, offset, allocated, addr) { offset = bigintToI53Checked(offset); - - + + try { - + var stream = SYSCALLS.getStreamFromFD(fd); var res = FS.mmap(stream, len, offset, prot, flags); var ptr = res.ptr; @@ -3590,13 +3590,13 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { ; } - + function __munmap_js(addr, len, prot, flags, fd, offset) { offset = bigintToI53Checked(offset); - - + + try { - + var stream = SYSCALLS.getStreamFromFD(fd); if (prot & 2) { SYSCALLS.doMsync(addr, stream, len, flags, offset); @@ -3615,7 +3615,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var summer = new Date(currentYear, 6, 1); var winterOffset = winter.getTimezoneOffset(); var summerOffset = summer.getTimezoneOffset(); - + // Local standard timezone offset. Local standard time is not adjusted for // daylight savings. This code uses the fact that getTimezoneOffset returns // a greater value during Standard Time versus Daylight Saving Time (DST). @@ -3623,28 +3623,28 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { // compares whether the output of the given date the same (Standard) or less // (DST). var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - + // timezone is specified as seconds west of UTC ("The external variable // `timezone` shall be set to the difference, in seconds, between // Coordinated Universal Time (UTC) and local standard time."), the same // as returned by stdTimezoneOffset. // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - + HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - + var extractZone = (timezoneOffset) => { // Why inverse sign? // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset var sign = timezoneOffset >= 0 ? "-" : "+"; - + var absOffset = Math.abs(timezoneOffset) var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); var minutes = String(absOffset % 60).padStart(2, "0"); - + return `UTC${sign}${hours}${minutes}`; } - + var winterName = extractZone(winterOffset); var summerName = extractZone(summerOffset); if (summerOffset < winterOffset) { @@ -3658,17 +3658,17 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { }; var _emscripten_get_now = () => performance.now(); - + var _emscripten_date_now = () => Date.now(); - + var nowIsMonotonic = 1; - + var checkWasiClock = (clock_id) => clock_id >= 0 && clock_id <= 3; - + function _clock_time_get(clk_id, ignored_precision, ptime) { ignored_precision = bigintToI53Checked(ignored_precision); - - + + if (!checkWasiClock(clk_id)) { return 28; } @@ -3698,8 +3698,8 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var _emscripten_get_heap_max = () => getHeapMax(); - - + + var growMemory = (size) => { var oldHeapSize = wasmMemory.buffer.byteLength; var pages = ((size - oldHeapSize + 65535) / 65536) | 0; @@ -3719,7 +3719,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { requestedSize >>>= 0; // With multithreaded builds, races can happen (another thread might increase the size // in between), so return a failure, and let the caller retry. - + // Memory resize rules: // 1. Always increase heap size to at least the requested size, rounded up // to next page multiple. @@ -3736,14 +3736,14 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { // over-eager decision to excessively reserve due to (3) above. // Hence if an allocation fails, cut down on the amount of excess // growth, in an attempt to succeed to perform a smaller allocation. - + // A limit is set for how much we can grow. We should not exceed that // (the wasm binary specifies it, so if we tried, we'd fail anyhow). var maxHeapSize = getHeapMax(); if (requestedSize > maxHeapSize) { return false; } - + // Loop through potential heap size increases. If we attempt a too eager // reservation that fails, cut down on the attempted size and reserve a // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) @@ -3751,12 +3751,12 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth // but limit overreserving (default to capping at +96MB overgrowth at most) overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); - + var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536)); - + var replacement = growMemory(newSize); if (replacement) { - + return true; } } @@ -3765,7 +3765,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { var ENV = { }; - + var getExecutableName = () => thisProgram || './this.program'; var getEnvStrings = () => { if (!getEnvStrings.strings) { @@ -3797,7 +3797,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } return getEnvStrings.strings; }; - + var _environ_get = (__environ, environ_buf) => { var bufSize = 0; var envp = 0; @@ -3810,7 +3810,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { return 0; }; - + var _environ_sizes_get = (penviron_count, penviron_buf_size) => { var strings = getEnvStrings(); HEAPU32[((penviron_count)>>2)] = strings.length; @@ -3824,7 +3824,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function _fd_close(fd) { try { - + var stream = SYSCALLS.getStreamFromFD(fd); FS.close(stream); return 0; @@ -3836,7 +3836,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function _fd_fdstat_get(fd, pbuf) { try { - + var rightsBase = 0; var rightsInheriting = 0; var flags = 0; @@ -3877,10 +3877,10 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } return ret; }; - + function _fd_read(fd, iov, iovcnt, pnum) { try { - + var stream = SYSCALLS.getStreamFromFD(fd); var num = doReadv(stream, iov, iovcnt); HEAPU32[((pnum)>>2)] = num; @@ -3891,13 +3891,13 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } } - + function _fd_seek(fd, offset, whence, newOffset) { offset = bigintToI53Checked(offset); - - + + try { - + if (isNaN(offset)) return 61; var stream = SYSCALLS.getStreamFromFD(fd); FS.llseek(stream, offset, whence); @@ -3913,7 +3913,7 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { function _fd_sync(fd) { try { - + var stream = SYSCALLS.getStreamFromFD(fd); var rtn = stream.stream_ops?.fsync?.(stream); return rtn; @@ -3943,10 +3943,10 @@ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { } return ret; }; - + function _fd_write(fd, iov, iovcnt, pnum) { try { - + var stream = SYSCALLS.getStreamFromFD(fd); var num = doWritev(stream, iov, iovcnt); HEAPU32[((pnum)>>2)] = num; @@ -4731,9 +4731,9 @@ Module.runSQLite3PostLoadInit = async function( /* @preserve ** This code was built from sqlite3 version... ** -** SQLITE_VERSION "3.53.0" -** SQLITE_VERSION_NUMBER 3053000 -** SQLITE_SOURCE_ID "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b" +** SQLITE_VERSION "3.53.4" +** SQLITE_VERSION_NUMBER 3053004 +** SQLITE_SOURCE_ID "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc" ** ** Emscripten SDK: 5.0.5 */ @@ -6688,8 +6688,6 @@ globalThis.sqlite3ApiBootstrap = async function sqlite3ApiBootstrap( }/*changeset/preupdate additions*/ /** - EXPERIMENTAL. For tentative addition in 3.53.0. - sqlite3_js_retry_busy(maxTimes,callback[,beforeRetry]) Calls the given _synchronous_ callback function. If that function @@ -6710,11 +6708,14 @@ globalThis.sqlite3ApiBootstrap = async function sqlite3ApiBootstrap( (so it starts with 2, not 1). If it throws, the exception is handled as described above. Its result value is ignored. - To effectively retry "forever", pass a negative maxTimes value, - with the caveat that there is no recovery from that unless the - beforeRetry() can figure out when to throw. + To effectively retry "forever", pass a huge maxTimes value such + as Number.MAX_SAFE_INTEGER, with the caveat that there is no + recovery from that unless the beforeRetry() can figure out when + to throw. + + Added in 3.53.0. - TODO: an async variant of this. + TODO?: an async variant of this. */ capi.sqlite3_js_retry_busy = function(maxTimes, callback, beforeRetry){ for(let n = 1; n <= maxTimes; ++n){ @@ -6977,7 +6978,7 @@ globalThis.sqlite3ApiBootstrap.defaultConfig = Object.create(null); */ globalThis.sqlite3ApiBootstrap.sqlite3 = undefined; globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ - sqlite3.version = {"libVersion": "3.53.0", "libVersionNumber": 3053000, "sourceId": "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b","downloadVersion": 3530000,"scm":{ "sha3-256": "4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b","branch": "trunk","tags": "release major-release version-3.53.0","datetime": "2026-04-09T11:41:38.498Z"}}; + sqlite3.version = {"libVersion": "3.53.4", "libVersionNumber": 3053004, "sourceId": "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc","downloadVersion": 3530400,"scm":{ "sha3-256": "bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc","branch": "branch-3.53","tags": "release version-3.53.4","datetime": "2026-07-24T19:02:57.525Z"}}; }); /** 2022-07-08 @@ -13963,18 +13964,18 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ only argument. On success, returns the result of the callback. Throws on error. - Note that transactions may not be nested, so this will throw if - it is called recursively. For nested transactions, use the + Transactions may not be nested, so this will throw if it is + called recursively. For nested transactions, use the savepoint() method or manually manage SAVEPOINTs using exec(). If called with 2 arguments, the first must be a keyword which is legal immediately after a BEGIN statement, e.g. one of - "DEFERRED", "IMMEDIATE", or "EXCLUSIVE". Though the exact list + "DEFERRED", "IMMEDIATE", or "EXCLUSIVE", though the exact list of supported keywords is not hard-coded here, in order to be future-compatible, if the argument does not look like a single keyword then an exception is triggered with a description of the problem. - */ + */ transaction: function(/* [beginQualifier,] */callback){ let opener = 'BEGIN'; if(arguments.length>1){ @@ -16794,10 +16795,6 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ xOpen: function(pProtoVfs,zName,pProtoFile,flags,pOutFlags){ cache.popError(); let zToFree /* alloc()'d memory for temp db name */; - if( 0 ){ - /* tester1.js makes it a lot further if we do this. */ - flags |= capi.SQLITE_OPEN_CREATE; - } try{ if( !zName ){ zToFree = wasm.allocCString(""+pProtoFile+"." @@ -19172,15 +19169,15 @@ const initS11n = function(){ return promiseResolve_(sqlite3); }; const options = opfsUtil.options; - let proxyUri = options.proxyUri +( - (options.proxyUri.indexOf('?')<0) ? '?' : '&' - )+'vfs='+vfsName; - //sqlite3.config.error("proxyUri",options.proxyUri, (new Error())); - const opfsAsyncProxyUrl = new URL('sqlite3-opfs-async-proxy.js', import.meta.url); - opfsAsyncProxyUrl.searchParams.set('vfs', vfsName); - - const W = opfsVfs.worker = new Worker(opfsAsyncProxyUrl.toString()); - + const W = opfsVfs.worker = + (()=>{ + /* _Sigh_... */ + /* Discussion explaining this formulation: + https://github.com/sqlite/sqlite-wasm/pull/159 */ + const url = new URL('sqlite3-opfs-async-proxy.js', import.meta.url); + url.searchParams.set('vfs', vfsName); + return new Worker(url.toString()); + })(); let zombieTimer = setTimeout(()=>{ /* At attempt to work around a browser-specific quirk in which the Worker load is failing in such a way that we neither diff --git a/src/bin/sqlite3-node.mjs b/src/bin/sqlite3-node.mjs index 09e55f4..fe47aaa 100644 --- a/src/bin/sqlite3-node.mjs +++ b/src/bin/sqlite3-node.mjs @@ -27,9 +27,9 @@ /* @preserve ** This code was built from sqlite3 version... ** -** SQLITE_VERSION "3.53.0" -** SQLITE_VERSION_NUMBER 3053000 -** SQLITE_SOURCE_ID "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b" +** SQLITE_VERSION "3.53.4" +** SQLITE_VERSION_NUMBER 3053004 +** SQLITE_SOURCE_ID "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc" ** ** Emscripten SDK: 5.0.5 */ @@ -4790,9 +4790,9 @@ Module.runSQLite3PostLoadInit = async function( /* @preserve ** This code was built from sqlite3 version... ** -** SQLITE_VERSION "3.53.0" -** SQLITE_VERSION_NUMBER 3053000 -** SQLITE_SOURCE_ID "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b" +** SQLITE_VERSION "3.53.4" +** SQLITE_VERSION_NUMBER 3053004 +** SQLITE_SOURCE_ID "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc" ** ** Emscripten SDK: 5.0.5 */ @@ -6747,8 +6747,6 @@ globalThis.sqlite3ApiBootstrap = async function sqlite3ApiBootstrap( }/*changeset/preupdate additions*/ /** - EXPERIMENTAL. For tentative addition in 3.53.0. - sqlite3_js_retry_busy(maxTimes,callback[,beforeRetry]) Calls the given _synchronous_ callback function. If that function @@ -6769,11 +6767,14 @@ globalThis.sqlite3ApiBootstrap = async function sqlite3ApiBootstrap( (so it starts with 2, not 1). If it throws, the exception is handled as described above. Its result value is ignored. - To effectively retry "forever", pass a negative maxTimes value, - with the caveat that there is no recovery from that unless the - beforeRetry() can figure out when to throw. + To effectively retry "forever", pass a huge maxTimes value such + as Number.MAX_SAFE_INTEGER, with the caveat that there is no + recovery from that unless the beforeRetry() can figure out when + to throw. + + Added in 3.53.0. - TODO: an async variant of this. + TODO?: an async variant of this. */ capi.sqlite3_js_retry_busy = function(maxTimes, callback, beforeRetry){ for(let n = 1; n <= maxTimes; ++n){ @@ -7036,7 +7037,7 @@ globalThis.sqlite3ApiBootstrap.defaultConfig = Object.create(null); */ globalThis.sqlite3ApiBootstrap.sqlite3 = undefined; globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ - sqlite3.version = {"libVersion": "3.53.0", "libVersionNumber": 3053000, "sourceId": "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b","downloadVersion": 3530000,"scm":{ "sha3-256": "4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b","branch": "trunk","tags": "release major-release version-3.53.0","datetime": "2026-04-09T11:41:38.498Z"}}; + sqlite3.version = {"libVersion": "3.53.4", "libVersionNumber": 3053004, "sourceId": "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc","downloadVersion": 3530400,"scm":{ "sha3-256": "bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc","branch": "branch-3.53","tags": "release version-3.53.4","datetime": "2026-07-24T19:02:57.525Z"}}; }); /** 2022-07-08 @@ -14022,18 +14023,18 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ only argument. On success, returns the result of the callback. Throws on error. - Note that transactions may not be nested, so this will throw if - it is called recursively. For nested transactions, use the + Transactions may not be nested, so this will throw if it is + called recursively. For nested transactions, use the savepoint() method or manually manage SAVEPOINTs using exec(). If called with 2 arguments, the first must be a keyword which is legal immediately after a BEGIN statement, e.g. one of - "DEFERRED", "IMMEDIATE", or "EXCLUSIVE". Though the exact list + "DEFERRED", "IMMEDIATE", or "EXCLUSIVE", though the exact list of supported keywords is not hard-coded here, in order to be future-compatible, if the argument does not look like a single keyword then an exception is triggered with a description of the problem. - */ + */ transaction: function(/* [beginQualifier,] */callback){ let opener = 'BEGIN'; if(arguments.length>1){ @@ -16853,10 +16854,6 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ xOpen: function(pProtoVfs,zName,pProtoFile,flags,pOutFlags){ cache.popError(); let zToFree /* alloc()'d memory for temp db name */; - if( 0 ){ - /* tester1.js makes it a lot further if we do this. */ - flags |= capi.SQLITE_OPEN_CREATE; - } try{ if( !zName ){ zToFree = wasm.allocCString(""+pProtoFile+"." diff --git a/src/bin/sqlite3.mjs b/src/bin/sqlite3.mjs index 1b7c6ab..4f4fa6c 100644 --- a/src/bin/sqlite3.mjs +++ b/src/bin/sqlite3.mjs @@ -27,9 +27,9 @@ /* @preserve ** This code was built from sqlite3 version... ** -** SQLITE_VERSION "3.53.0" -** SQLITE_VERSION_NUMBER 3053000 -** SQLITE_SOURCE_ID "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b" +** SQLITE_VERSION "3.53.4" +** SQLITE_VERSION_NUMBER 3053004 +** SQLITE_SOURCE_ID "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc" ** ** Emscripten SDK: 5.0.5 */ @@ -4822,9 +4822,9 @@ Module.runSQLite3PostLoadInit = async function( /* @preserve ** This code was built from sqlite3 version... ** -** SQLITE_VERSION "3.53.0" -** SQLITE_VERSION_NUMBER 3053000 -** SQLITE_SOURCE_ID "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b" +** SQLITE_VERSION "3.53.4" +** SQLITE_VERSION_NUMBER 3053004 +** SQLITE_SOURCE_ID "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc" ** ** Emscripten SDK: 5.0.5 */ @@ -6779,8 +6779,6 @@ globalThis.sqlite3ApiBootstrap = async function sqlite3ApiBootstrap( }/*changeset/preupdate additions*/ /** - EXPERIMENTAL. For tentative addition in 3.53.0. - sqlite3_js_retry_busy(maxTimes,callback[,beforeRetry]) Calls the given _synchronous_ callback function. If that function @@ -6801,11 +6799,14 @@ globalThis.sqlite3ApiBootstrap = async function sqlite3ApiBootstrap( (so it starts with 2, not 1). If it throws, the exception is handled as described above. Its result value is ignored. - To effectively retry "forever", pass a negative maxTimes value, - with the caveat that there is no recovery from that unless the - beforeRetry() can figure out when to throw. + To effectively retry "forever", pass a huge maxTimes value such + as Number.MAX_SAFE_INTEGER, with the caveat that there is no + recovery from that unless the beforeRetry() can figure out when + to throw. + + Added in 3.53.0. - TODO: an async variant of this. + TODO?: an async variant of this. */ capi.sqlite3_js_retry_busy = function(maxTimes, callback, beforeRetry){ for(let n = 1; n <= maxTimes; ++n){ @@ -7068,7 +7069,7 @@ globalThis.sqlite3ApiBootstrap.defaultConfig = Object.create(null); */ globalThis.sqlite3ApiBootstrap.sqlite3 = undefined; globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ - sqlite3.version = {"libVersion": "3.53.0", "libVersionNumber": 3053000, "sourceId": "2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b","downloadVersion": 3530000,"scm":{ "sha3-256": "4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b","branch": "trunk","tags": "release major-release version-3.53.0","datetime": "2026-04-09T11:41:38.498Z"}}; + sqlite3.version = {"libVersion": "3.53.4", "libVersionNumber": 3053004, "sourceId": "2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc","downloadVersion": 3530400,"scm":{ "sha3-256": "bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc","branch": "branch-3.53","tags": "release version-3.53.4","datetime": "2026-07-24T19:02:57.525Z"}}; }); /** 2022-07-08 @@ -14054,18 +14055,18 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ only argument. On success, returns the result of the callback. Throws on error. - Note that transactions may not be nested, so this will throw if - it is called recursively. For nested transactions, use the + Transactions may not be nested, so this will throw if it is + called recursively. For nested transactions, use the savepoint() method or manually manage SAVEPOINTs using exec(). If called with 2 arguments, the first must be a keyword which is legal immediately after a BEGIN statement, e.g. one of - "DEFERRED", "IMMEDIATE", or "EXCLUSIVE". Though the exact list + "DEFERRED", "IMMEDIATE", or "EXCLUSIVE", though the exact list of supported keywords is not hard-coded here, in order to be future-compatible, if the argument does not look like a single keyword then an exception is triggered with a description of the problem. - */ + */ transaction: function(/* [beginQualifier,] */callback){ let opener = 'BEGIN'; if(arguments.length>1){ @@ -16885,10 +16886,6 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){ xOpen: function(pProtoVfs,zName,pProtoFile,flags,pOutFlags){ cache.popError(); let zToFree /* alloc()'d memory for temp db name */; - if( 0 ){ - /* tester1.js makes it a lot further if we do this. */ - flags |= capi.SQLITE_OPEN_CREATE; - } try{ if( !zName ){ zToFree = wasm.allocCString(""+pProtoFile+"." @@ -19263,7 +19260,7 @@ const initS11n = function(){ return promiseResolve_(sqlite3); }; const options = opfsUtil.options; - let proxyUri = options.proxyUri +( + const proxyUri = options.proxyUri +( (options.proxyUri.indexOf('?')<0) ? '?' : '&' )+'vfs='+vfsName; //sqlite3.config.error("proxyUri",options.proxyUri, (new Error())); diff --git a/src/bin/sqlite3.wasm b/src/bin/sqlite3.wasm index c7336e9..2ea991b 100644 Binary files a/src/bin/sqlite3.wasm and b/src/bin/sqlite3.wasm differ diff --git a/src/index.d.ts b/src/index.d.ts index 9419820..dc016a2 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -2350,9 +2350,9 @@ export type Sqlite3Static = { io?: { struct: sqlite3_io_methods; methods: { - [K in keyof sqlite3_io_methods as K extends `x${string}` - ? K - : never]?: sqlite3_io_methods[K]; + [ + K in keyof sqlite3_io_methods as K extends `x${string}` ? K : never + ]?: sqlite3_io_methods[K]; }; applyArgcCheck?: boolean; }; @@ -3851,7 +3851,8 @@ export type CAPI = { | CAPI['SQLITE_DBCONFIG_REVERSE_SCANORDER'] | CAPI['SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE'] | CAPI['SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE'] - | CAPI['SQLITE_DBCONFIG_ENABLE_COMMENTS'], + | CAPI['SQLITE_DBCONFIG_ENABLE_COMMENTS'] + | CAPI['SQLITE_DBCONFIG_FP_DIGITS'], onoff: number, pOut?: WasmPointer | number, ): Sqlite3Result; @@ -4412,7 +4413,8 @@ export type CAPI = { | CAPI['SQLITE_LIMIT_LIKE_PATTERN_LENGTH'] | CAPI['SQLITE_LIMIT_VARIABLE_NUMBER'] | CAPI['SQLITE_LIMIT_TRIGGER_DEPTH'] - | CAPI['SQLITE_LIMIT_WORKER_THREADS'], + | CAPI['SQLITE_LIMIT_WORKER_THREADS'] + | CAPI['SQLITE_LIMIT_PARSER_DEPTH'], newVal: number, ) => Sqlite3Result; @@ -6271,6 +6273,7 @@ export type CAPI = { | CAPI['SQLITE_DBSTATUS_DEFERRED_FKS'] | CAPI['SQLITE_DBSTATUS_CACHE_USED_SHARED'] | CAPI['SQLITE_DBSTATUS_CACHE_SPILL'] + | CAPI['SQLITE_DBSTATUS_TEMPBUF_SPILL'] | CAPI['SQLITE_DBSTATUS_MAX'], pCur: WasmPointer, pHighWater: WasmPointer, @@ -6309,6 +6312,7 @@ export type CAPI = { | CAPI['SQLITE_DBSTATUS_DEFERRED_FKS'] | CAPI['SQLITE_DBSTATUS_CACHE_USED_SHARED'] | CAPI['SQLITE_DBSTATUS_CACHE_SPILL'] + | CAPI['SQLITE_DBSTATUS_TEMPBUF_SPILL'] | CAPI['SQLITE_DBSTATUS_MAX'], pCurrent: WasmPointer, pHighwtr: WasmPointer, @@ -8140,7 +8144,8 @@ export type CAPI = { SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE: 1020; SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE: 1021; SQLITE_DBCONFIG_ENABLE_COMMENTS: 1022; - SQLITE_DBCONFIG_MAX: 1022; + SQLITE_DBCONFIG_FP_DIGITS: 1023; + SQLITE_DBCONFIG_MAX: 1023; SQLITE_DBSTATUS_LOOKASIDE_USED: 0; SQLITE_DBSTATUS_CACHE_USED: 1; SQLITE_DBSTATUS_SCHEMA_USED: 2; @@ -8154,12 +8159,14 @@ export type CAPI = { SQLITE_DBSTATUS_DEFERRED_FKS: 10; SQLITE_DBSTATUS_CACHE_USED_SHARED: 11; SQLITE_DBSTATUS_CACHE_SPILL: 12; - SQLITE_DBSTATUS_MAX: 12; + SQLITE_DBSTATUS_TEMPBUF_SPILL: 13; + SQLITE_DBSTATUS_MAX: 13; SQLITE_UTF8: 1; SQLITE_UTF16LE: 2; SQLITE_UTF16BE: 3; SQLITE_UTF16: 4; SQLITE_UTF16_ALIGNED: 8; + SQLITE_UTF8_ZT: 16; SQLITE_FCNTL_LOCKSTATE: 1; SQLITE_FCNTL_GET_LOCKPROXYFILE: 2; SQLITE_FCNTL_SET_LOCKPROXYFILE: 3; @@ -8246,6 +8253,8 @@ export type CAPI = { SQLITE_MAX_TRIGGER_DEPTH: 1000; SQLITE_LIMIT_WORKER_THREADS: 11; SQLITE_MAX_WORKER_THREADS: 0; + SQLITE_LIMIT_PARSER_DEPTH: 12; + SQLITE_MAX_PARSER_DEPTH: 2500; SQLITE_OPEN_READONLY: 1; SQLITE_OPEN_READWRITE: 2; SQLITE_OPEN_CREATE: 4; @@ -8270,6 +8279,7 @@ export type CAPI = { SQLITE_PREPARE_PERSISTENT: 1; SQLITE_PREPARE_NORMALIZE: 2; SQLITE_PREPARE_NO_VTAB: 4; + SQLITE_PREPARE_FROM_DDL: 32; SQLITE_OK: 0; SQLITE_ERROR: 1; SQLITE_INTERNAL: 2;