From a501df03d6064485afa603b899391f1ad6840fad Mon Sep 17 00:00:00 2001 From: Cong-Cong Date: Mon, 23 Dec 2024 11:11:04 +0800 Subject: [PATCH] feat: bench js by codspeed --- .github/workflows/ci.yml | 40 +- .github/workflows/reusable-build.yml | 61 ++ package.json | 3 +- packages/bench/README.md | 9 + packages/bench/fixtures/ts-react/index.html | 12 + .../bench/fixtures/ts-react/rspack.config.ts | 67 ++ packages/bench/fixtures/ts-react/src/App.css | 41 + packages/bench/fixtures/ts-react/src/App.tsx | 31 + .../fixtures/ts-react/src/assets/react.svg | 1 + .../bench/fixtures/ts-react/src/index.css | 70 ++ .../bench/fixtures/ts-react/src/index.tsx | 10 + .../fixtures/ts-react/src/react-env.d.ts | 213 +++++ .../bench/fixtures/ts-react/tsconfig.json | 27 + packages/bench/index.js | 22 - packages/bench/package.json | 13 +- packages/bench/ts-react.bench.ts | 60 ++ packages/bench/vitest.config.ts | 9 + pnpm-lock.yaml | 825 +++++++++++++----- 18 files changed, 1236 insertions(+), 278 deletions(-) create mode 100644 packages/bench/README.md create mode 100644 packages/bench/fixtures/ts-react/index.html create mode 100644 packages/bench/fixtures/ts-react/rspack.config.ts create mode 100644 packages/bench/fixtures/ts-react/src/App.css create mode 100644 packages/bench/fixtures/ts-react/src/App.tsx create mode 100644 packages/bench/fixtures/ts-react/src/assets/react.svg create mode 100644 packages/bench/fixtures/ts-react/src/index.css create mode 100644 packages/bench/fixtures/ts-react/src/index.tsx create mode 100644 packages/bench/fixtures/ts-react/src/react-env.d.ts create mode 100644 packages/bench/fixtures/ts-react/tsconfig.json delete mode 100644 packages/bench/index.js create mode 100644 packages/bench/ts-react.bench.ts create mode 100644 packages/bench/vitest.config.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f61cf2aa35..18be9b05059 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,10 +61,10 @@ jobs: uses: ./.github/workflows/reusable-build.yml with: target: x86_64-unknown-linux-gnu - profile: "debug" native: ${{ needs.get-runner-labels.outputs.LINUX_RUNNER_LABELS == '"ubuntu-latest"' }} runner: ${{ needs.get-runner-labels.outputs.LINUX_RUNNER_LABELS }} skipable: ${{ needs.check-changed.outputs.changed != 'true' }} + bench: true test-release-linux: name: Test Release Linux @@ -352,44 +352,6 @@ jobs: # reason for excluding https://github.com/napi-rs/napi-rs/issues/2200 run: cargo miri test --workspace --exclude rspack_binding_options --exclude rspack_node -- --nocapture - run_rust_benchmark: - name: Run rust benchmark - runs-on: ubuntu-latest - needs: [rust_changes, rust_check, rust_test] - steps: - - uses: actions/checkout@v4 - - name: Pnpm Cache # Required by some tests - uses: ./.github/actions/pnpm-cache - - - name: Install Rust Toolchain - uses: ./.github/actions/rustup - with: - save-cache: ${{ github.ref_name == 'main' }} - shared-key: check - - - name: Install Tools - uses: taiki-e/install-action@v2 - with: - tool: cargo-codspeed - - - name: Build Benchmark - run: cargo codspeed build -p rspack_benchmark --features codspeed - - - name: Run Rust benchmark - uses: CodSpeedHQ/action@v3 - timeout-minutes: 30 - with: - run: cargo codspeed run - token: ${{ secrets.CODSPEED_TOKEN }} - - - name: Run JavaScript benchmark - uses: CodSpeedHQ/action@v3 - timeout-minutes: 30 - with: - working-directory: "packages/bench" - run: pnpm run bench - token: ${{ secrets.CODSPEED_TOKEN }} - run_benchmark: name: Run benchmark runs-on: ubuntu-latest diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 22d2025b248..64d3fe0fee5 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -54,6 +54,10 @@ on: type: boolean required: false default: true + bench: # Run benchmarks? + type: boolean + required: false + default: false ref: # Git reference to checkout required: false type: string @@ -387,3 +391,60 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} sha: ${{ github.sha }} + + bench: + name: Bench + needs: build + if: ${{ inputs.bench && !inputs.skipable }} + runs-on: ${{ fromJSON(needs.build.outputs.runner-labels) }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref }} + clean: ${{ startsWith(runner.name, 'GitHub Actions') }} + + - name: Clean + if: ${{ !startsWith(runner.name, 'GitHub Actions') }} + uses: ./.github/actions/clean + with: + target: ${{ inputs.target }} + + - name: Download bindings + uses: ./.github/actions/download-artifact + with: + name: bindings-${{ inputs.target }} + path: crates/node_binding/ + try-local-cache: ${{ inputs.profile == 'debug' }} + link-when-local: true + + - name: Show restored binding + shell: bash + run: ls -lah crates/node_binding/*.node + + - name: Install Rust Toolchain + uses: ./.github/actions/rustup + with: + save-cache: ${{ github.ref_name == 'main' }} # This should be safe because we have nightly building the cache every day + shared-key: build-${{ inputs.target }} + + - name: Pnpm Cache + uses: ./.github/actions/pnpm-cache + + - name: Build JS + run: pnpm run build:js + + - name: Install cargo-codspeed binary + uses: taiki-e/install-action@v2 + with: + tool: cargo-codspeed + + - name: Build Benchmark + run: cargo codspeed build -p rspack_benchmark --features codspeed + + - name: Run benchmark + uses: CodSpeedHQ/action@v3 + timeout-minutes: 30 + with: + run: pnpm run bench:ci + token: ${{ secrets.CODSPEED_TOKEN }} diff --git a/package.json b/package.json index fa15bf2cfb3..c30a8180a4d 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,8 @@ "test:webpack": "pnpm --filter \"webpack-test\" test:metric", "doc-coverage": "pnpm --filter \"@rspack/core\" doc-coverage", "api-extractor:local": "pnpm --filter \"@rspack/*\" api-extractor --local", - "api-extractor:ci": "pnpm --filter \"@rspack/*\" api-extractor:ci" + "api-extractor:ci": "pnpm --filter \"@rspack/*\" api-extractor:ci", + "bench:ci": "cargo codspeed run && pnpm --filter bench run bench" }, "homepage": "https://rspack.dev", "bugs": "https://github.com/web-infra-dev/rspack/issues", diff --git a/packages/bench/README.md b/packages/bench/README.md new file mode 100644 index 00000000000..13133d14f91 --- /dev/null +++ b/packages/bench/README.md @@ -0,0 +1,9 @@ +# Rspack JavaScript API benchmarks + +The primary objective of this project is to track the performance of the Rspack JavaScript API and prevent performance degradation. + +## Notes for Writing Benchmark Cases + +CPU instrument is better suited for micro-benchmarks (taking less than a second) focused on CPU-bound tasks, not system calls. + +System calls introduce variability in execution time. This variability is influenced by several factors, including system load, network latency, and disk I/O performance. As a result, the execution time of system calls can fluctuate significantly, making them the most inconsistent part of a program's execution time. diff --git a/packages/bench/fixtures/ts-react/index.html b/packages/bench/fixtures/ts-react/index.html new file mode 100644 index 00000000000..dee28f5be88 --- /dev/null +++ b/packages/bench/fixtures/ts-react/index.html @@ -0,0 +1,12 @@ + + + + + + + Rspack + React + TS + + +
+ + diff --git a/packages/bench/fixtures/ts-react/rspack.config.ts b/packages/bench/fixtures/ts-react/rspack.config.ts new file mode 100644 index 00000000000..17dd5cfd3ca --- /dev/null +++ b/packages/bench/fixtures/ts-react/rspack.config.ts @@ -0,0 +1,67 @@ +import { defineConfig } from "@rspack/cli"; +import { rspack } from "@rspack/core"; +import * as RefreshPlugin from "@rspack/plugin-react-refresh"; + +const isDev = process.env.NODE_ENV === "development"; + +// Target browsers, see: https://github.com/browserslist/browserslist +const targets = ["chrome >= 87", "edge >= 88", "firefox >= 78", "safari >= 14"]; + +export default defineConfig({ + context: __dirname, + entry: { + main: "./src/index.tsx" + }, + resolve: { + extensions: ["...", ".ts", ".tsx", ".jsx"] + }, + module: { + rules: [ + { + test: /\.svg$/, + type: "asset" + }, + { + test: /\.(jsx?|tsx?)$/, + use: [ + { + loader: "builtin:swc-loader", + options: { + jsc: { + parser: { + syntax: "typescript", + tsx: true + }, + transform: { + react: { + runtime: "automatic", + development: isDev, + refresh: isDev + } + } + }, + env: { targets } + } + } + ] + } + ] + }, + plugins: [ + new rspack.HtmlRspackPlugin({ + template: "./index.html" + }), + isDev ? new RefreshPlugin() : null + ].filter(Boolean), + optimization: { + minimizer: [ + new rspack.SwcJsMinimizerRspackPlugin(), + new rspack.LightningCssMinimizerRspackPlugin({ + minimizerOptions: { targets } + }) + ] + }, + experiments: { + css: true + } +}); diff --git a/packages/bench/fixtures/ts-react/src/App.css b/packages/bench/fixtures/ts-react/src/App.css new file mode 100644 index 00000000000..ac0e6c9c957 --- /dev/null +++ b/packages/bench/fixtures/ts-react/src/App.css @@ -0,0 +1,41 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a > .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/packages/bench/fixtures/ts-react/src/App.tsx b/packages/bench/fixtures/ts-react/src/App.tsx new file mode 100644 index 00000000000..b1967dd353f --- /dev/null +++ b/packages/bench/fixtures/ts-react/src/App.tsx @@ -0,0 +1,31 @@ +import { useState } from "react"; +import reactLogo from "./assets/react.svg"; +import "./App.css"; + +function App() { + const [count, setCount] = useState(0); + + return ( +
+
+ + React logo + +
+

Rspack + React + TypeScript

+
+ +

+ Edit src/App.tsx and save to test HMR +

+
+

+ Click on the Rspack and React logos to learn more +

+
+ ); +} + +export default App; diff --git a/packages/bench/fixtures/ts-react/src/assets/react.svg b/packages/bench/fixtures/ts-react/src/assets/react.svg new file mode 100644 index 00000000000..8e0e0f15c01 --- /dev/null +++ b/packages/bench/fixtures/ts-react/src/assets/react.svg @@ -0,0 +1 @@ + diff --git a/packages/bench/fixtures/ts-react/src/index.css b/packages/bench/fixtures/ts-react/src/index.css new file mode 100644 index 00000000000..fbc96a7ac49 --- /dev/null +++ b/packages/bench/fixtures/ts-react/src/index.css @@ -0,0 +1,70 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/bench/fixtures/ts-react/src/index.tsx b/packages/bench/fixtures/ts-react/src/index.tsx new file mode 100644 index 00000000000..29baf78c550 --- /dev/null +++ b/packages/bench/fixtures/ts-react/src/index.tsx @@ -0,0 +1,10 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App.tsx"; +import "./index.css"; + +ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + + + +); diff --git a/packages/bench/fixtures/ts-react/src/react-env.d.ts b/packages/bench/fixtures/ts-react/src/react-env.d.ts new file mode 100644 index 00000000000..49c347bae23 --- /dev/null +++ b/packages/bench/fixtures/ts-react/src/react-env.d.ts @@ -0,0 +1,213 @@ +// CSS modules +type CSSModuleClasses = { readonly [key: string]: string }; + +declare module "*.module.css" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.scss" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.sass" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.less" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.styl" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.stylus" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.pcss" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.sss" { + const classes: CSSModuleClasses; + export default classes; +} + +// CSS +declare module "*.css" { + /** + * @deprecated Use `import style from './style.css?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.scss" { + /** + * @deprecated Use `import style from './style.scss?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.sass" { + /** + * @deprecated Use `import style from './style.sass?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.less" { + /** + * @deprecated Use `import style from './style.less?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.styl" { + /** + * @deprecated Use `import style from './style.styl?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.stylus" { + /** + * @deprecated Use `import style from './style.stylus?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.pcss" { + /** + * @deprecated Use `import style from './style.pcss?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.sss" { + /** + * @deprecated Use `import style from './style.sss?inline'` instead. + */ + const css: string; + export default css; +} + +// images +declare module "*.png" { + const src: string; + export default src; +} +declare module "*.jpg" { + const src: string; + export default src; +} +declare module "*.jpeg" { + const src: string; + export default src; +} +declare module "*.jfif" { + const src: string; + export default src; +} +declare module "*.pjpeg" { + const src: string; + export default src; +} +declare module "*.pjp" { + const src: string; + export default src; +} +declare module "*.gif" { + const src: string; + export default src; +} +declare module "*.svg" { + const ReactComponent: React.FC>; + const content: string; + + export { ReactComponent }; + export default content; +} +declare module "*.ico" { + const src: string; + export default src; +} +declare module "*.webp" { + const src: string; + export default src; +} +declare module "*.avif" { + const src: string; + export default src; +} + +// media +declare module "*.mp4" { + const src: string; + export default src; +} +declare module "*.webm" { + const src: string; + export default src; +} +declare module "*.ogg" { + const src: string; + export default src; +} +declare module "*.mp3" { + const src: string; + export default src; +} +declare module "*.wav" { + const src: string; + export default src; +} +declare module "*.flac" { + const src: string; + export default src; +} +declare module "*.aac" { + const src: string; + export default src; +} + +declare module "*.opus" { + const src: string; + export default src; +} + +// fonts +declare module "*.woff" { + const src: string; + export default src; +} +declare module "*.woff2" { + const src: string; + export default src; +} +declare module "*.eot" { + const src: string; + export default src; +} +declare module "*.ttf" { + const src: string; + export default src; +} +declare module "*.otf" { + const src: string; + export default src; +} + +// other +declare module "*.webmanifest" { + const src: string; + export default src; +} +declare module "*.pdf" { + const src: string; + export default src; +} +declare module "*.txt" { + const src: string; + export default src; +} diff --git a/packages/bench/fixtures/ts-react/tsconfig.json b/packages/bench/fixtures/ts-react/tsconfig.json new file mode 100644 index 00000000000..aa9a37d8bac --- /dev/null +++ b/packages/bench/fixtures/ts-react/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": [ + "DOM", + "ES2020" + ], + "module": "ESNext", + "jsx": "react-jsx", + "strict": true, + "noEmit": true, + "skipLibCheck": true, + "isolatedModules": true, + "resolveJsonModule": true, + "moduleResolution": "bundler", + "useDefineForClassFields": true, + "allowImportingTsExtensions": true + }, + "include": [ + "src" + ], + "ts-node": { + "compilerOptions": { + "module": "CommonJS" + } + } +} \ No newline at end of file diff --git a/packages/bench/index.js b/packages/bench/index.js deleted file mode 100644 index 0a9e051546a..00000000000 --- a/packages/bench/index.js +++ /dev/null @@ -1,22 +0,0 @@ -import { Bench } from "tinybench"; -import { withCodSpeed } from "@codspeed/tinybench-plugin"; - -function fibonacci(n) { - if (n < 2) { - return n; - } - return fibonacci(n - 1) + fibonacci(n - 2); -} - -const bench = withCodSpeed(new Bench()); - -bench - .add("fibonacci10", () => { - fibonacci(10); - }) - .add("fibonacci15", () => { - fibonacci(15); - }); - -await bench.run(); -console.table(bench.table()); diff --git a/packages/bench/package.json b/packages/bench/package.json index a64322b953b..bc517af32a0 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -4,12 +4,19 @@ "license": "MIT", "type": "module", "scripts": { - "bench": "node index.js" + "bench": "vitest bench --run" }, "devDependencies": { - "@codspeed/tinybench-plugin": "^4.0.0", + "@codspeed/vitest-plugin": "^4.0.0", "@rspack/cli": "workspace:*", "@rspack/core": "workspace:*", - "tinybench": "^3.0.7" + "@rspack/plugin-react-refresh": "1.0.0", + "@types/react": "^18.2.48", + "@types/react-dom": "^18.2.18", + "vitest": "^2.1.8" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" } } \ No newline at end of file diff --git a/packages/bench/ts-react.bench.ts b/packages/bench/ts-react.bench.ts new file mode 100644 index 00000000000..8a124cb554a --- /dev/null +++ b/packages/bench/ts-react.bench.ts @@ -0,0 +1,60 @@ +import { type Compilation, rspack } from "@rspack/core"; +import { beforeAll, bench, describe } from "vitest"; +import rspackConfig from "./fixtures/ts-react/rspack.config"; + +let theCompilation: Compilation; + +beforeAll(() => { + return new Promise((resolve, reject) => + rspack( + { + ...rspackConfig, + mode: "production", + plugins: [ + ...(rspackConfig.plugins ?? []), + compiler => { + compiler.hooks.compilation.tap("PLUGIN", compilation => { + theCompilation = compilation; + }); + } + ] + }, + (err, stats) => { + if (err) { + reject(err); + } + if (stats?.hasErrors()) { + reject(new Error(stats.toString({}))); + } + resolve(undefined); + } + ) + ); +}); + +describe("TypeScript React project", () => { + bench("Traverse module graph by dependencies", () => { + const entries = theCompilation.entries.values(); + + const visitedModules = new Set(); + + function traverse(dependency) { + const module = theCompilation.moduleGraph.getModule(dependency); + if (module) { + if (visitedModules.has(module)) { + return; + } + visitedModules.add(module); + for (const dep of module.dependencies) { + traverse(dep); + } + } + } + + for (const entry of entries) { + for (const dependency of entry.dependencies) { + traverse(dependency); + } + } + }); +}); diff --git a/packages/bench/vitest.config.ts b/packages/bench/vitest.config.ts new file mode 100644 index 00000000000..a1850b3956d --- /dev/null +++ b/packages/bench/vitest.config.ts @@ -0,0 +1,9 @@ +import codspeedPlugin from "@codspeed/vitest-plugin"; +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + plugins: [codspeedPlugin()], + test: { + fileParallelism: true + } +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6e91810b1c..a54a3f4440a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,7 +87,7 @@ importers: version: 5.7.2 webpack: specifier: ^5.94.0 - version: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + version: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) webpack-cli: specifier: 5.1.4 version: 5.1.4(webpack@5.94.0) @@ -135,19 +135,35 @@ importers: npm/win32-x64-msvc: {} packages/bench: + dependencies: + react: + specifier: ^18.2.0 + version: 18.3.1 + react-dom: + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) devDependencies: - '@codspeed/tinybench-plugin': + '@codspeed/vitest-plugin': specifier: ^4.0.0 - version: 4.0.0(tinybench@3.0.7) + version: 4.0.0(vite@5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0))(vitest@2.1.8(@types/node@20.12.7)(jsdom@25.0.1)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0)) '@rspack/cli': specifier: workspace:* version: link:../rspack-cli '@rspack/core': specifier: workspace:* version: link:../rspack - tinybench: - specifier: ^3.0.7 - version: 3.0.7 + '@rspack/plugin-react-refresh': + specifier: 1.0.0 + version: 1.0.0(react-refresh@0.16.0) + '@types/react': + specifier: ^18.2.48 + version: 18.2.75 + '@types/react-dom': + specifier: ^18.2.18 + version: 18.2.24 + vitest: + specifier: ^2.1.8 + version: 2.1.8(@types/node@20.12.7)(jsdom@25.0.1)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0) packages/create-rspack: dependencies: @@ -277,7 +293,7 @@ importers: version: 7.0.3 vue-loader: specifier: ^17.3.1 - version: 17.4.2(vue@3.5.12(typescript@5.7.2))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 17.4.2(vue@3.5.12(typescript@5.7.2))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) packages/create-rspack/template-vue-ts: dependencies: @@ -387,7 +403,7 @@ importers: version: 0.5.7 '@rspack/dev-server': specifier: 1.0.10 - version: 1.0.10(@rspack/core@packages+rspack)(@types/express@4.17.21)(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 1.0.10(@rspack/core@packages+rspack)(@types/express@4.17.21)(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) colorette: specifier: 2.0.19 version: 2.0.19 @@ -508,7 +524,7 @@ importers: version: 5.0.10 webpack: specifier: ^5.94.0 - version: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + version: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) webpack-merge: specifier: 5.9.0 version: 5.9.0 @@ -569,7 +585,7 @@ importers: version: 8.11.3 babel-loader: specifier: ^9.1.3 - version: 9.1.3(@babel/core@7.24.4)(webpack@5.94.0) + version: 9.1.3(@babel/core@7.24.4)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) babel-plugin-import: specifier: ^1.13.5 version: 1.13.8 @@ -578,31 +594,31 @@ importers: version: 4.1.2 coffee-loader: specifier: ^5.0.0 - version: 5.0.0(coffeescript@2.7.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 5.0.0(coffeescript@2.7.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) coffeescript: specifier: ^2.5.1 version: 2.7.0 copy-webpack-plugin: specifier: 5.1.2 - version: 5.1.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 5.1.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) core-js: specifier: 3.38.1 version: 3.38.1 css-loader: specifier: ^6.11.0 - version: 6.11.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 6.11.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 6.2.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) html-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 5.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) html-webpack-plugin: specifier: ^5.5.0 - version: 5.6.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 5.6.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) less-loader: specifier: ^12.2.0 - version: 12.2.0(@rspack/core@packages+rspack)(less@4.2.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 12.2.0(@rspack/core@packages+rspack)(less@4.2.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -611,13 +627,13 @@ importers: version: 0.52.0 monaco-editor-webpack-plugin: specifier: 7.1.0 - version: 7.1.0(monaco-editor@0.52.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 7.1.0(monaco-editor@0.52.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) normalize.css: specifier: ^8.0.0 version: 8.0.1 postcss-loader: specifier: ^8.0.0 - version: 8.1.1(@rspack/core@packages+rspack)(postcss@8.4.49)(typescript@5.7.2)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 8.1.1(@rspack/core@packages+rspack)(postcss@8.4.49)(typescript@5.7.2)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) postcss-pxtorem: specifier: ^6.0.0 version: 6.1.0(postcss@8.4.49) @@ -626,7 +642,7 @@ importers: version: 2.4.0(pug@2.0.4) raw-loader: specifier: ^4.0.2 - version: 4.0.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 4.0.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) react: specifier: ^18.2.0 version: 18.3.1 @@ -641,13 +657,13 @@ importers: version: 1.81.0 sass-loader: specifier: ^16.0.0 - version: 16.0.1(@rspack/core@packages+rspack)(sass-embedded@1.81.0)(sass@1.56.2)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 16.0.1(@rspack/core@packages+rspack)(sass-embedded@1.81.0)(sass@1.56.2)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 5.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.94.0) + version: 4.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) terser: specifier: 5.36.0 version: 5.36.0 @@ -659,7 +675,7 @@ importers: version: 1.12.1 worker-rspack-loader: specifier: ^3.1.2 - version: 3.1.2(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 3.1.2(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) packages/rspack-test-tools/tests/normalCases/resolve/pnpm-workspace/packages/app: dependencies: @@ -788,16 +804,16 @@ importers: version: 0.2.37(@swc/core@1.10.1(@swc/helpers@0.5.15)) css-loader: specifier: ^6.11.0 - version: 6.11.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 6.11.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) del: specifier: ^6.0.0 version: 6.1.1 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 6.2.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) html-loader: specifier: 2.1.1 - version: 2.1.1(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 2.1.1(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) jsdom: specifier: ^25.0.0 version: 25.0.1 @@ -815,7 +831,7 @@ importers: version: 1.81.0 sass-loader: specifier: ^16.0.0 - version: 16.0.1(@rspack/core@packages+rspack)(sass-embedded@1.81.0)(sass@1.56.2)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) + version: 16.0.1(@rspack/core@packages+rspack)(sass-embedded@1.81.0)(sass@1.56.2)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))) tests/webpack-cli-test: dependencies: @@ -1507,10 +1523,11 @@ packages: '@codspeed/core@4.0.0': resolution: {integrity: sha512-B3zwdwLG8rcV0ORfYKX1wDP6ZCWf9C6ySidSf61q2vm9v5Lj2cWwRvj7vX+w/UyFHWKjp/zSyWTEed/r3Fv4Tg==} - '@codspeed/tinybench-plugin@4.0.0': - resolution: {integrity: sha512-h31pWeN1yrxAnkL5UYyBLTt0abrWFbdEIFzuO11lGqYp6BQn8OitaJFsDWo5SAk5od+hb/tKTtjGpDm5UnQ5Sw==} + '@codspeed/vitest-plugin@4.0.0': + resolution: {integrity: sha512-L7oCOuVL2xI1/z+HLt56+7Xs/MGzbaf5aaOys6vOMDAs1PmxbmyAz6g1Y0x1TrP1+dvR9LUZQCKM/CsXHCrNxg==} peerDependencies: - tinybench: ^2.3.0 + vite: ^4.2.0 || ^5.0.0 + vitest: '>=1.2.2' '@cspell/cspell-bundled-dicts@8.15.2': resolution: {integrity: sha512-e+hxoD/GW7iyK1zMeRFd10yBr9tcClnnqFLxJM+tH1cSzLQ66ouXMIMuJpcd8LOCm7zMRdjTm4R72LehMgL79g==} @@ -1741,108 +1758,216 @@ packages: '@emotion/unitless@0.7.5': resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.23.1': resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.23.1': resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.23.1': resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.23.1': resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.23.1': resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.23.1': resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.23.1': resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.23.1': resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.23.1': resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.23.1': resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.23.1': resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.23.1': resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.23.1': resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.23.1': resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.23.1': resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.23.1': resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.23.1': resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.23.1': resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} engines: {node: '>=18'} @@ -1855,30 +1980,60 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.23.1': resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.23.1': resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.23.1': resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.23.1': resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.23.1': resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} engines: {node: '>=18'} @@ -3611,6 +3766,35 @@ packages: resolution: {integrity: sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw==} hasBin: true + '@vitest/expect@2.1.8': + resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} + + '@vitest/mocker@2.1.8': + resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@2.1.8': + resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} + + '@vitest/runner@2.1.8': + resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} + + '@vitest/snapshot@2.1.8': + resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} + + '@vitest/spy@2.1.8': + resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} + + '@vitest/utils@2.1.8': + resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} + '@vue/compiler-core@3.5.12': resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} @@ -3951,6 +4135,10 @@ packages: assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -4215,6 +4403,10 @@ packages: resolution: {integrity: sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==} engines: {node: '>=0.10.0'} + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + chalk-template@1.1.0: resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} engines: {node: '>=14.16'} @@ -4267,6 +4459,10 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + chevrotain-allstar@0.3.1: resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} peerDependencies: @@ -4958,6 +5154,10 @@ packages: babel-plugin-macros: optional: true + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -5212,6 +5412,9 @@ packages: es-module-lexer@1.5.0: resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es5-ext@0.10.64: resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} engines: {node: '>=0.10'} @@ -5223,6 +5426,11 @@ packages: resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} engines: {node: '>=0.12'} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.23.1: resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} engines: {node: '>=18'} @@ -5349,6 +5557,10 @@ packages: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} + expect-type@1.1.0: + resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + engines: {node: '>=12.0.0'} + expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6718,6 +6930,9 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -7461,6 +7676,10 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + pause-stream@0.0.11: resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} @@ -8823,6 +9042,9 @@ packages: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -8936,14 +9158,13 @@ packages: ssri@6.0.2: resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==} - stack-trace@1.0.0-pre2: - resolution: {integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==} - engines: {node: '>=16'} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} @@ -8961,6 +9182,9 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} @@ -9168,9 +9392,8 @@ packages: resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} engines: {node: '>=0.6.0'} - tinybench@3.0.7: - resolution: {integrity: sha512-soxV7Dp8eDKvPDv3c4qPJbUjLm1cZxFlsTaIH+FqalsazJzFrLG59dpiIN8OfgVcl11Hfj2b7apD73inCB67Mw==} - engines: {node: '>=18.0.0'} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinyexec@0.3.1: resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} @@ -9179,6 +9402,18 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + tldts-core@6.1.50: resolution: {integrity: sha512-na2EcZqmdA2iV9zHV7OHQDxxdciEpxrjbkp+aHmZgnZKHzoElLajP59np5/4+sare9fQBfixgvXKx8ev1d7ytw==} @@ -9595,6 +9830,67 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-node@2.1.8: + resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite@5.4.11: + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitest@2.1.8: + resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.8 + '@vitest/ui': 2.1.8 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vm-browserify@1.1.2: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} @@ -9814,6 +10110,11 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + widest-line@3.1.0: resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} engines: {node: '>=8'} @@ -10450,11 +10751,11 @@ snapshots: transitivePeerDependencies: - debug - '@codspeed/tinybench-plugin@4.0.0(tinybench@3.0.7)': + '@codspeed/vitest-plugin@4.0.0(vite@5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0))(vitest@2.1.8(@types/node@20.12.7)(jsdom@25.0.1)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0))': dependencies: '@codspeed/core': 4.0.0 - stack-trace: 1.0.0-pre2 - tinybench: 3.0.7 + vite: 5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0) + vitest: 2.1.8(@types/node@20.12.7)(jsdom@25.0.1)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0) transitivePeerDependencies: - debug @@ -10676,75 +10977,144 @@ snapshots: '@emotion/unitless@0.7.5': {} + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/aix-ppc64@0.23.1': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm64@0.23.1': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-arm@0.23.1': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/android-x64@0.23.1': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.23.1': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.23.1': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.23.1': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.23.1': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.23.1': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-arm@0.23.1': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-ia32@0.23.1': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-loong64@0.23.1': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.23.1': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.23.1': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.23.1': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-s390x@0.23.1': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/linux-x64@0.23.1': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.23.1': optional: true '@esbuild/openbsd-arm64@0.23.1': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.23.1': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.23.1': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.23.1': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-ia32@0.23.1': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@esbuild/win32-x64@0.23.1': optional: true @@ -12074,27 +12444,6 @@ snapshots: - webpack - webpack-cli - '@rspack/dev-server@1.0.10(@rspack/core@packages+rspack)(@types/express@4.17.21)(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4))': - dependencies: - '@rspack/core': link:packages/rspack - chokidar: 3.6.0 - connect-history-api-fallback: 2.0.0 - express: 4.19.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) - mime-types: 2.1.35 - p-retry: 4.6.2 - webpack-dev-middleware: 7.4.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) - webpack-dev-server: 5.0.4(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) - ws: 8.18.0 - transitivePeerDependencies: - - '@types/express' - - bufferutil - - debug - - supports-color - - utf-8-validate - - webpack - - webpack-cli - '@rspack/lite-tapable@1.0.1': {} '@rspack/plugin-preact-refresh@1.1.0(@prefresh/core@1.5.2(preact@10.23.2))(@prefresh/utils@1.2.0)': @@ -12776,7 +13125,7 @@ snapshots: dependencies: '@types/node': 20.12.7 tapable: 2.2.1 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -12793,7 +13142,7 @@ snapshots: dependencies: '@types/node': 20.12.7 tapable: 2.2.1 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -12816,6 +13165,46 @@ snapshots: '@vercel/ncc@0.38.1': {} + '@vitest/expect@2.1.8': + dependencies: + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 + chai: 5.1.2 + tinyrainbow: 1.2.0 + + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0))': + dependencies: + '@vitest/spy': 2.1.8 + estree-walker: 3.0.3 + magic-string: 0.30.12 + optionalDependencies: + vite: 5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0) + + '@vitest/pretty-format@2.1.8': + dependencies: + tinyrainbow: 1.2.0 + + '@vitest/runner@2.1.8': + dependencies: + '@vitest/utils': 2.1.8 + pathe: 1.1.2 + + '@vitest/snapshot@2.1.8': + dependencies: + '@vitest/pretty-format': 2.1.8 + magic-string: 0.30.12 + pathe: 1.1.2 + + '@vitest/spy@2.1.8': + dependencies: + tinyspy: 3.0.2 + + '@vitest/utils@2.1.8': + dependencies: + '@vitest/pretty-format': 2.1.8 + loupe: 3.1.2 + tinyrainbow: 1.2.0 + '@vue/compiler-core@3.5.12': dependencies: '@babel/parser': 7.26.2 @@ -13009,13 +13398,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color agent-base@7.1.1: dependencies: - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -13224,6 +13613,8 @@ snapshots: object.assign: 4.1.5 util: 0.12.5 + assertion-error@2.0.1: {} + astral-regex@2.0.0: {} astring@1.9.0: {} @@ -13568,6 +13959,14 @@ snapshots: align-text: 0.1.4 lazy-cache: 1.0.4 + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 + chalk-template@1.1.0: dependencies: chalk: 5.3.0 @@ -13615,6 +14014,8 @@ snapshots: table: 6.8.2 type-fest: 4.30.1 + check-error@2.1.1: {} + chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: chevrotain: 11.0.3 @@ -13729,10 +14130,10 @@ snapshots: schema-utils: 3.3.0 webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - coffee-loader@5.0.0(coffeescript@2.7.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): + coffee-loader@5.0.0(coffeescript@2.7.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: coffeescript: 2.7.0 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) coffeescript@2.7.0: {} @@ -13907,22 +14308,6 @@ snapshots: webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) webpack-log: 2.0.0 - copy-webpack-plugin@5.1.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - cacache: 12.0.4 - find-cache-dir: 2.1.0 - glob-parent: 3.1.0 - globby: 7.1.1 - is-glob: 4.0.3 - loader-utils: 1.4.2 - minimatch: 3.1.2 - normalize-path: 3.0.0 - p-limit: 2.3.0 - schema-utils: 1.0.0 - serialize-javascript: 4.0.0 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - webpack-log: 2.0.0 - core-js@2.6.12: {} core-js@3.36.1: {} @@ -14165,20 +14550,6 @@ snapshots: '@rspack/core': link:packages/rspack webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) - css-loader@6.11.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - icss-utils: 5.1.0(postcss@8.4.49) - postcss: 8.4.49 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.49) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.49) - postcss-modules-scope: 3.2.0(postcss@8.4.49) - postcss-modules-values: 4.0.0(postcss@8.4.49) - postcss-value-parser: 4.2.0 - semver: 7.6.3 - optionalDependencies: - '@rspack/core': link:packages/rspack - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - css-select@4.3.0: dependencies: boolbase: 1.0.0 @@ -14447,6 +14818,8 @@ snapshots: dedent@1.5.1: {} + deep-eql@5.0.2: {} + deepmerge@4.3.1: {} default-browser-id@5.0.0: {} @@ -14698,6 +15071,8 @@ snapshots: es-module-lexer@1.5.0: {} + es-module-lexer@1.5.4: {} + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 @@ -14716,6 +15091,32 @@ snapshots: d: 1.0.2 ext: 1.7.0 + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + esbuild@0.23.1: optionalDependencies: '@esbuild/aix-ppc64': 0.23.1 @@ -14874,6 +15275,8 @@ snapshots: exit@0.1.2: {} + expect-type@1.1.0: {} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 @@ -15007,12 +15410,6 @@ snapshots: schema-utils: 3.3.0 webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) - file-loader@6.2.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - filelist@1.0.4: dependencies: minimatch: 5.1.6 @@ -15440,17 +15837,17 @@ snapshots: html-escaper@2.0.2: {} - html-loader@2.1.1(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): + html-loader@2.1.1(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: html-minifier-terser: 5.1.1 parse5: 6.0.1 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) - html-loader@5.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): + html-loader@5.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: html-minifier-terser: 7.2.0 parse5: 7.1.2 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) html-minifier-terser@5.1.1: dependencies: @@ -15490,7 +15887,7 @@ snapshots: htmlparser2: 8.0.2 selderee: 0.11.0 - html-webpack-plugin@5.6.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): + html-webpack-plugin@5.6.0(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -15499,7 +15896,7 @@ snapshots: tapable: 2.2.1 optionalDependencies: '@rspack/core': link:packages/rspack - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) htmlparser2@6.1.0: dependencies: @@ -15544,7 +15941,7 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -15580,7 +15977,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -16416,12 +16813,12 @@ snapshots: less: 4.1.3 webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) - less-loader@12.2.0(@rspack/core@packages+rspack)(less@4.2.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): + less-loader@12.2.0(@rspack/core@packages+rspack)(less@4.2.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: less: 4.2.0 optionalDependencies: '@rspack/core': link:packages/rspack - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) less@4.1.3: dependencies: @@ -16556,6 +16953,8 @@ snapshots: dependencies: js-tokens: 4.0.0 + loupe@3.1.2: {} + lower-case@2.0.2: dependencies: tslib: 2.8.0 @@ -17070,7 +17469,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.7 + debug: 4.4.0 decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -17172,11 +17571,11 @@ snapshots: pkg-types: 1.2.1 ufo: 1.5.4 - monaco-editor-webpack-plugin@7.1.0(monaco-editor@0.52.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): + monaco-editor-webpack-plugin@7.1.0(monaco-editor@0.52.0)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: loader-utils: 2.0.4 monaco-editor: 0.52.0 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) monaco-editor@0.52.0: {} @@ -17560,6 +17959,8 @@ snapshots: pathe@1.1.2: {} + pathval@2.0.0: {} + pause-stream@0.0.11: dependencies: through: 2.3.8 @@ -17685,18 +18086,6 @@ snapshots: transitivePeerDependencies: - typescript - postcss-loader@8.1.1(@rspack/core@packages+rspack)(postcss@8.4.49)(typescript@5.7.2)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - cosmiconfig: 9.0.0(typescript@5.7.2) - jiti: 1.21.6 - postcss: 8.4.49 - semver: 7.6.3 - optionalDependencies: - '@rspack/core': link:packages/rspack - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - transitivePeerDependencies: - - typescript - postcss-modules-extract-imports@3.1.0(postcss@8.4.49): dependencies: postcss: 8.4.49 @@ -17977,12 +18366,6 @@ snapshots: schema-utils: 3.3.0 webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) - raw-loader@4.0.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - rc-cascader@3.27.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.7 @@ -18899,15 +19282,6 @@ snapshots: sass-embedded: 1.81.0 webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) - sass-loader@16.0.1(@rspack/core@packages+rspack)(sass-embedded@1.81.0)(sass@1.56.2)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - neo-async: 2.6.2 - optionalDependencies: - '@rspack/core': link:packages/rspack - sass: 1.56.2 - sass-embedded: 1.81.0 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - sass@1.56.2: dependencies: chokidar: 3.6.0 @@ -19071,6 +19445,8 @@ snapshots: get-intrinsic: 1.2.4 object-inspect: 1.13.1 + siginfo@2.0.0: {} + signal-exit@3.0.7: {} signal-exit@4.1.0: {} @@ -19125,11 +19501,11 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): + source-map-loader@5.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) source-map-support@0.5.13: dependencies: @@ -19157,7 +19533,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.3.7 + debug: 4.4.0 detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -19190,12 +19566,12 @@ snapshots: dependencies: figgy-pudding: 3.5.2 - stack-trace@1.0.0-pre2: {} - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 + stackback@0.0.2: {} + stackframe@1.3.4: {} stacktracey@2.1.8: @@ -19209,6 +19585,8 @@ snapshots: statuses@2.0.1: {} + std-env@3.8.0: {} + stream-browserify@3.0.0: dependencies: inherits: 2.0.4 @@ -19301,6 +19679,10 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + style-loader@4.0.0(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): + dependencies: + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) + style-loader@4.0.0(webpack@5.94.0): dependencies: webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) @@ -19469,7 +19851,7 @@ snapshots: dependencies: setimmediate: 1.0.5 - tinybench@3.0.7: {} + tinybench@2.9.0: {} tinyexec@0.3.1: {} @@ -19478,6 +19860,12 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 + tinypool@1.0.2: {} + + tinyrainbow@1.2.0: {} + + tinyspy@3.0.2: {} + tldts-core@6.1.50: {} tldts@6.1.50: @@ -19904,6 +20292,73 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + vite-node@2.1.8(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.5.4 + pathe: 1.1.2 + vite: 5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite@5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.49 + rollup: 4.24.0 + optionalDependencies: + '@types/node': 20.12.7 + fsevents: 2.3.3 + less: 4.2.0 + sass: 1.56.2 + sass-embedded: 1.83.0 + terser: 5.36.0 + + vitest@2.1.8(@types/node@20.12.7)(jsdom@25.0.1)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0): + dependencies: + '@vitest/expect': 2.1.8 + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.8 + '@vitest/snapshot': 2.1.8 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.12 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.1 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.11(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0) + vite-node: 2.1.8(@types/node@20.12.7)(less@4.2.0)(sass-embedded@1.83.0)(sass@1.56.2)(terser@5.36.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 20.12.7 + jsdom: 25.0.1 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vm-browserify@1.1.2: {} void-elements@2.0.1: {} @@ -19934,15 +20389,6 @@ snapshots: optionalDependencies: vue: 3.5.12(typescript@5.7.2) - vue-loader@17.4.2(vue@3.5.12(typescript@5.7.2))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - chalk: 4.1.2 - hash-sum: 2.0.0 - watchpack: 2.4.1 - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - optionalDependencies: - vue: 3.5.12(typescript@5.7.2) - vue@3.5.12(typescript@5.7.2): dependencies: '@vue/compiler-dom': 3.5.12 @@ -20050,17 +20496,6 @@ snapshots: optionalDependencies: webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) - webpack-dev-middleware@7.4.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - colorette: 2.0.19 - memfs: 4.14.0 - mime-types: 2.1.35 - on-finished: 2.4.1 - range-parser: 1.2.1 - schema-utils: 4.2.0 - optionalDependencies: - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - webpack-dev-server@5.0.4(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.13))(esbuild@0.23.1)(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: '@types/bonjour': 3.5.13 @@ -20143,47 +20578,6 @@ snapshots: - supports-color - utf-8-validate - webpack-dev-server@5.0.4(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.21 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.7 - '@types/sockjs': 0.3.36 - '@types/ws': 8.5.10 - ansi-html-community: 0.0.8 - bonjour-service: 1.2.1 - chokidar: 3.6.0 - colorette: 2.0.19 - compression: 1.7.4 - connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.19.2 - graceful-fs: 4.2.11 - html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) - ipaddr.js: 2.1.0 - launch-editor: 2.6.1 - open: 10.1.0 - p-retry: 6.2.0 - rimraf: 5.0.9 - schema-utils: 4.2.0 - selfsigned: 2.4.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)) - ws: 8.18.0 - optionalDependencies: - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.94.0) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - webpack-log@2.0.0: dependencies: ansi-colors: 3.2.4 @@ -20352,6 +20746,11 @@ snapshots: dependencies: isexe: 2.0.0 + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + widest-line@3.1.0: dependencies: string-width: 4.2.3 @@ -20367,13 +20766,13 @@ snapshots: wordwrap@0.0.2: {} - worker-rspack-loader@3.1.2(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4)): + worker-rspack-loader@3.1.2(@rspack/core@packages+rspack)(webpack@5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 optionalDependencies: '@rspack/core': link:packages/rspack - webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack@5.94.0)) wrap-ansi@6.2.0: dependencies: