From 8c8073ccbbf81723fb13121ae516adf5adea6b84 Mon Sep 17 00:00:00 2001 From: wan9chi Date: Tue, 14 Jul 2026 16:42:19 +0800 Subject: [PATCH 1/2] test real package read-write overlaps --- .../cases/dts-self-resolution/package.json | 14 + .../cases/dts-self-resolution/src/index.ts | 3 + .../cases/dts-self-resolution/tsconfig.json | 9 + .../dts-self-resolution/tsdown.config.ts | 11 + .../cases/oxfmt-in-place/.oxfmtrc.json | 1 + .../cases/oxfmt-in-place/package.json | 7 + .../cases/oxfmt-in-place/source.ts | 1 + .../cases/tailwind-output/input.css | 3 + .../cases/tailwind-output/package.json | 7 + .../cases/tsdown-clean/package.json | 8 + .../cases/tsdown-clean/src/index.ts | 1 + .../cases/tsdown-clean/tsdown.config.ts | 11 + .../cases/tsdown-shebang/package.json | 8 + .../cases/tsdown-shebang/src/index.ts | 3 + .../cases/tsdown-shebang/tsdown.config.ts | 11 + .../package.json | 4 + .../pnpm-workspace.yaml | 2 + .../snapshots.toml | 44 + ...solution_reads_and_rewrites_declaration.md | 23 + .../oxfmt_reads_and_rewrites_source.md | 24 + .../tailwind_reads_and_rewrites_output.md | 26 + .../tsdown_clean_reads_and_rewrites_dist.md | 23 + ...shebang_reads_and_changes_emitted_entry.md | 23 + .../vite-task.json | 3 + packages/tools/package.json | 3 + pnpm-lock.yaml | 1292 ++++++++++++++++- pnpm-workspace.yaml | 4 + vite.config.ts | 1 + 28 files changed, 1500 insertions(+), 70 deletions(-) create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/package.json create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/src/index.ts create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/tsconfig.json create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/tsdown.config.ts create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/.oxfmtrc.json create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/package.json create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/source.ts create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/input.css create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/package.json create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/package.json create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/src/index.ts create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/tsdown.config.ts create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/package.json create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/src/index.ts create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/tsdown.config.ts create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/package.json create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/pnpm-workspace.yaml create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots.toml create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/dts_self_resolution_reads_and_rewrites_declaration.md create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/oxfmt_reads_and_rewrites_source.md create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tailwind_reads_and_rewrites_output.md create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tsdown_clean_reads_and_rewrites_dist.md create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tsdown_shebang_reads_and_changes_emitted_entry.md create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/vite-task.json diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/package.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/package.json new file mode 100644 index 000000000..deec4b403 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/package.json @@ -0,0 +1,14 @@ +{ + "name": "dts-self-resolution-overlap", + "private": true, + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + } + }, + "scripts": { + "overlap": "tsdown --logLevel silent" + } +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/src/index.ts b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/src/index.ts new file mode 100644 index 000000000..02018aa4d --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/src/index.ts @@ -0,0 +1,3 @@ +import type { Existing } from 'dts-self-resolution-overlap'; + +export type Public = Existing; diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/tsconfig.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/tsconfig.json new file mode 100644 index 000000000..d9252c65a --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "target": "ES2023" + }, + "include": ["src"] +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/tsdown.config.ts b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/tsdown.config.ts new file mode 100644 index 000000000..151837244 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/tsdown.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'tsdown'; + +export default defineConfig({ + clean: false, + dts: { emitDtsOnly: true }, + entry: ['src/index.ts'], + fixedExtension: false, + format: 'esm', + logLevel: 'silent', + outDir: 'dist', +}); diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/.oxfmtrc.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/.oxfmtrc.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/.oxfmtrc.json @@ -0,0 +1 @@ +{} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/package.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/package.json new file mode 100644 index 000000000..4f2daba1a --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/package.json @@ -0,0 +1,7 @@ +{ + "name": "oxfmt-in-place-overlap", + "private": true, + "scripts": { + "overlap": "oxfmt --threads=1 source.ts" + } +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/source.ts b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/source.ts new file mode 100644 index 000000000..2c1b221af --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/source.ts @@ -0,0 +1 @@ +export const value={answer:42} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/input.css b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/input.css new file mode 100644 index 000000000..71ef8a1e3 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/input.css @@ -0,0 +1,3 @@ +.fixture { + color: red; +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/package.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/package.json new file mode 100644 index 000000000..98beeb466 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/package.json @@ -0,0 +1,7 @@ +{ + "name": "tailwind-output-overlap", + "private": true, + "scripts": { + "overlap": "tailwindcss -i input.css -o dist/output.css --minify" + } +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/package.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/package.json new file mode 100644 index 000000000..e006ea3c4 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/package.json @@ -0,0 +1,8 @@ +{ + "name": "tsdown-clean-overlap", + "private": true, + "type": "module", + "scripts": { + "overlap": "tsdown --logLevel silent" + } +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/src/index.ts b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/src/index.ts new file mode 100644 index 000000000..8d11354e7 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/src/index.ts @@ -0,0 +1 @@ +export const answer: number = 42; diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/tsdown.config.ts b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/tsdown.config.ts new file mode 100644 index 000000000..6dc62e25c --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/tsdown.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'tsdown'; + +export default defineConfig({ + clean: true, + dts: false, + entry: ['src/index.ts'], + fixedExtension: false, + format: 'esm', + logLevel: 'silent', + outDir: 'dist', +}); diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/package.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/package.json new file mode 100644 index 000000000..c54d4a2f7 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/package.json @@ -0,0 +1,8 @@ +{ + "name": "tsdown-shebang-overlap", + "private": true, + "type": "module", + "scripts": { + "overlap": "tsdown --logLevel silent" + } +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/src/index.ts b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/src/index.ts new file mode 100644 index 000000000..2c3bdd854 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/src/index.ts @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +export const answer: number = 42; diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/tsdown.config.ts b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/tsdown.config.ts new file mode 100644 index 000000000..27bfd489c --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-shebang/tsdown.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'tsdown'; + +export default defineConfig({ + clean: false, + dts: false, + entry: ['src/index.ts'], + fixedExtension: false, + format: 'esm', + logLevel: 'silent', + outDir: 'dist', +}); diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/package.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/package.json new file mode 100644 index 000000000..5dfa8d7af --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/package.json @@ -0,0 +1,4 @@ +{ + "name": "real-package-read-write-overlaps", + "private": true +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/pnpm-workspace.yaml b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/pnpm-workspace.yaml new file mode 100644 index 000000000..c6959470d --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - cases/* diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots.toml b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots.toml new file mode 100644 index 000000000..264c72a4f --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots.toml @@ -0,0 +1,44 @@ +[[e2e]] +name = "tsdown_clean_reads_and_rewrites_dist" +comment = """ +tsdown expands the configured clean paths with `tinyglobby` and removes every matched entry before the bundle writes its replacement. With an existing `dist/index.js`, the build therefore observes and removes that path before emitting `dist/index.js` again. See [`cleanOutDir`](https://github.com/rolldown/tsdown/blob/49cc5f953f1b6ab13968fef8509d69767373253b/src/features/clean.ts#L14-L45). +""" +cwd = "cases/tsdown-clean" +ignore = true +steps = [{ argv = ["vt", "run", "-v", "overlap"] }] + +[[e2e]] +name = "tsdown_shebang_reads_and_changes_emitted_entry" +comment = """ +After Rolldown writes a shebang entry, tsdown checks that emitted file with `access` and then changes its mode with `chmod`. The same `dist/index.js` is consequently read and mutated during one build. See [the shebang plugin](https://github.com/rolldown/tsdown/blob/49cc5f953f1b6ab13968fef8509d69767373253b/src/features/shebang.ts#L18-L34) and [`fsExists`](https://github.com/rolldown/tsdown/blob/49cc5f953f1b6ab13968fef8509d69767373253b/src/utils/fs.ts#L5-L9). +""" +cwd = "cases/tsdown-shebang" +ignore = true +steps = [{ argv = ["vt", "run", "-v", "overlap"] }] + +[[e2e]] +name = "dts_self_resolution_reads_and_rewrites_declaration" +comment = """ +The source imports a type through its own package name, whose `exports.types` target is the existing `dist/index.d.ts`. rolldown-plugin-dts delegates that import to TypeScript's bundler resolver and creates a TypeScript program, so the declaration is resolved and read before the declaration bundle replaces the same path. See [`tscResolve`](https://github.com/sxzz/rolldown-plugin-dts/blob/363cc09b660675e15ec8791ce0f05f1044a7048a/src/tsc/resolver.ts#L7-L38) and [the TypeScript program construction](https://github.com/sxzz/rolldown-plugin-dts/blob/363cc09b660675e15ec8791ce0f05f1044a7048a/src/tsc/emit-compiler.ts#L112-L128). +""" +cwd = "cases/dts-self-resolution" +ignore = true +steps = [{ argv = ["vt", "run", "-v", "overlap"] }] + +[[e2e]] +name = "tailwind_reads_and_rewrites_output" +comment = """ +Tailwind's CLI stats and reads an existing output file to compare its contents with the newly generated CSS, then writes the file when the contents differ. This makes `dist/output.css` both a read and a write in one command. See [`outputFile`](https://github.com/tailwindlabs/tailwindcss/blob/8a14a710102cae195f6811e8578bef9477bc6be9/packages/%40tailwindcss-cli/src/commands/build/utils.ts#L15-L34). +""" +cwd = "cases/tailwind-output" +ignore = true +steps = [{ argv = ["vt", "run", "-v", "overlap"] }] + +[[e2e]] +name = "oxfmt_reads_and_rewrites_source" +comment = """ +In write mode, oxfmt reads each source file, formats the text, and writes changed text back to that same path. The checked-in `source.ts` is intentionally unformatted, so the file is both read and written. See [the formatter service's read and write sequence](https://github.com/oxc-project/oxc/blob/5306f24d9e82ae36ad9c3c964f33075bc589c799/apps/oxfmt/src/cli/service.rs#L42-L82) and [`read_to_string`](https://github.com/oxc-project/oxc/blob/5306f24d9e82ae36ad9c3c964f33075bc589c799/apps/oxfmt/src/core/utils.rs#L50-L53). +""" +cwd = "cases/oxfmt-in-place" +ignore = true +steps = [{ argv = ["vt", "run", "-v", "overlap"] }] diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/dts_self_resolution_reads_and_rewrites_declaration.md b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/dts_self_resolution_reads_and_rewrites_declaration.md new file mode 100644 index 000000000..b5c74390e --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/dts_self_resolution_reads_and_rewrites_declaration.md @@ -0,0 +1,23 @@ +# dts_self_resolution_reads_and_rewrites_declaration + +The source imports a type through its own package name, whose `exports.types` target is the existing `dist/index.d.ts`. rolldown-plugin-dts delegates that import to TypeScript's bundler resolver and creates a TypeScript program, so the declaration is resolved and read before the declaration bundle replaces the same path. See [`tscResolve`](https://github.com/sxzz/rolldown-plugin-dts/blob/363cc09b660675e15ec8791ce0f05f1044a7048a/src/tsc/resolver.ts#L7-L38) and [the TypeScript program construction](https://github.com/sxzz/rolldown-plugin-dts/blob/363cc09b660675e15ec8791ce0f05f1044a7048a/src/tsc/emit-compiler.ts#L112-L128). + +## `vt run -v overlap` + +``` +~/cases/dts-self-resolution$ tsdown --logLevel silent + + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + Vite+ Task Runner • Execution Summary +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Statistics: 1 tasks • 0 cache hits • 1 cache misses +Performance: 0% cache hit rate + +Task Details: +──────────────────────────────────────────────── + [1] dts-self-resolution-overlap#overlap: ~/cases/dts-self-resolution$ tsdown --logLevel silent ✓ + → Not cached: read and wrote 'cases/dts-self-resolution/dist/index.d.ts' +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +``` diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/oxfmt_reads_and_rewrites_source.md b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/oxfmt_reads_and_rewrites_source.md new file mode 100644 index 000000000..810c9b42e --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/oxfmt_reads_and_rewrites_source.md @@ -0,0 +1,24 @@ +# oxfmt_reads_and_rewrites_source + +In write mode, oxfmt reads each source file, formats the text, and writes changed text back to that same path. The checked-in `source.ts` is intentionally unformatted, so the file is both read and written. See [the formatter service's read and write sequence](https://github.com/oxc-project/oxc/blob/5306f24d9e82ae36ad9c3c964f33075bc589c799/apps/oxfmt/src/cli/service.rs#L42-L82) and [`read_to_string`](https://github.com/oxc-project/oxc/blob/5306f24d9e82ae36ad9c3c964f33075bc589c799/apps/oxfmt/src/core/utils.rs#L50-L53). + +## `vt run -v overlap` + +``` +~/cases/oxfmt-in-place$ oxfmt --threads=1 source.ts +Finished in on 1 files using threads. + + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + Vite+ Task Runner • Execution Summary +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Statistics: 1 tasks • 0 cache hits • 1 cache misses +Performance: 0% cache hit rate + +Task Details: +──────────────────────────────────────────────── + [1] oxfmt-in-place-overlap#overlap: ~/cases/oxfmt-in-place$ oxfmt --threads=1 source.ts ✓ + → Not cached: read and wrote 'cases/oxfmt-in-place/source.ts' +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +``` diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tailwind_reads_and_rewrites_output.md b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tailwind_reads_and_rewrites_output.md new file mode 100644 index 000000000..80310d0fe --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tailwind_reads_and_rewrites_output.md @@ -0,0 +1,26 @@ +# tailwind_reads_and_rewrites_output + +Tailwind's CLI stats and reads an existing output file to compare its contents with the newly generated CSS, then writes the file when the contents differ. This makes `dist/output.css` both a read and a write in one command. See [`outputFile`](https://github.com/tailwindlabs/tailwindcss/blob/8a14a710102cae195f6811e8578bef9477bc6be9/packages/%40tailwindcss-cli/src/commands/build/utils.ts#L15-L34). + +## `vt run -v overlap` + +``` +~/cases/tailwind-output$ tailwindcss -i input.css -o dist/output.css --minify +≈ tailwindcss v4.3.1 + +Done in + + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + Vite+ Task Runner • Execution Summary +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Statistics: 1 tasks • 0 cache hits • 1 cache misses +Performance: 0% cache hit rate + +Task Details: +──────────────────────────────────────────────── + [1] tailwind-output-overlap#overlap: ~/cases/tailwind-output$ tailwindcss -i input.css -o dist/output.css --minify ✓ + → Not cached: read and wrote 'cases/tailwind-output/dist/output.css' +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +``` diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tsdown_clean_reads_and_rewrites_dist.md b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tsdown_clean_reads_and_rewrites_dist.md new file mode 100644 index 000000000..04e880455 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tsdown_clean_reads_and_rewrites_dist.md @@ -0,0 +1,23 @@ +# tsdown_clean_reads_and_rewrites_dist + +tsdown expands the configured clean paths with `tinyglobby` and removes every matched entry before the bundle writes its replacement. With an existing `dist/index.js`, the build therefore observes and removes that path before emitting `dist/index.js` again. See [`cleanOutDir`](https://github.com/rolldown/tsdown/blob/49cc5f953f1b6ab13968fef8509d69767373253b/src/features/clean.ts#L14-L45). + +## `vt run -v overlap` + +``` +~/cases/tsdown-clean$ tsdown --logLevel silent + + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + Vite+ Task Runner • Execution Summary +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Statistics: 1 tasks • 0 cache hits • 1 cache misses +Performance: 0% cache hit rate + +Task Details: +──────────────────────────────────────────────── + [1] tsdown-clean-overlap#overlap: ~/cases/tsdown-clean$ tsdown --logLevel silent ✓ + → Not cached: read and wrote 'cases/tsdown-clean/dist/index.js' +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +``` diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tsdown_shebang_reads_and_changes_emitted_entry.md b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tsdown_shebang_reads_and_changes_emitted_entry.md new file mode 100644 index 000000000..525ad3953 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/snapshots/tsdown_shebang_reads_and_changes_emitted_entry.md @@ -0,0 +1,23 @@ +# tsdown_shebang_reads_and_changes_emitted_entry + +After Rolldown writes a shebang entry, tsdown checks that emitted file with `access` and then changes its mode with `chmod`. The same `dist/index.js` is consequently read and mutated during one build. See [the shebang plugin](https://github.com/rolldown/tsdown/blob/49cc5f953f1b6ab13968fef8509d69767373253b/src/features/shebang.ts#L18-L34) and [`fsExists`](https://github.com/rolldown/tsdown/blob/49cc5f953f1b6ab13968fef8509d69767373253b/src/utils/fs.ts#L5-L9). + +## `vt run -v overlap` + +``` +~/cases/tsdown-shebang$ tsdown --logLevel silent + + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + Vite+ Task Runner • Execution Summary +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Statistics: 1 tasks • 0 cache hits • 1 cache misses +Performance: 0% cache hit rate + +Task Details: +──────────────────────────────────────────────── + [1] tsdown-shebang-overlap#overlap: ~/cases/tsdown-shebang$ tsdown --logLevel silent ✓ + → Not cached: read and wrote 'cases/tsdown-shebang/dist/index.js' +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +``` diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/vite-task.json b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/vite-task.json new file mode 100644 index 000000000..d548edfac --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/vite-task.json @@ -0,0 +1,3 @@ +{ + "cache": true +} diff --git a/packages/tools/package.json b/packages/tools/package.json index 0fb97185d..a9a13fcbf 100644 --- a/packages/tools/package.json +++ b/packages/tools/package.json @@ -4,6 +4,7 @@ "type": "module", "dependencies": { "@playwright/browser-chromium": "catalog:", + "@tailwindcss/cli": "catalog:", "@vitest/browser-playwright": "catalog:", "@voidzero-dev/vite-task-client": "workspace:*", "bun": "catalog:", @@ -13,6 +14,8 @@ "oxlint": "catalog:", "oxlint-tsgolint": "catalog:", "playwright": "catalog:", + "rolldown-plugin-dts": "catalog:", + "tsdown": "catalog:", "vite": "catalog:", "vitest": "catalog:" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 44979759a..9c2426c1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,6 +9,9 @@ catalogs: '@playwright/browser-chromium': specifier: 1.52.0 version: 1.52.0 + '@tailwindcss/cli': + specifier: 4.3.1 + version: 4.3.1 '@tsconfig/strictest': specifier: ^2.0.8 version: 2.0.8 @@ -36,6 +39,12 @@ catalogs: oxlint-tsgolint: specifier: ^0.24.0 version: 0.24.0 + rolldown-plugin-dts: + specifier: 0.22.2 + version: 0.22.2 + tsdown: + specifier: 0.20.3 + version: 0.20.3 typescript: specifier: ^6.0.3 version: 6.0.3 @@ -66,19 +75,22 @@ importers: version: 6.0.3 vite: specifier: npm:@voidzero-dev/vite-plus-core@0.2.2 - version: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)' + version: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)' vite-plus: specifier: 'catalog:' - version: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(typescript@6.0.3) + version: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39) packages/tools: dependencies: '@playwright/browser-chromium': specifier: 'catalog:' version: 1.52.0 + '@tailwindcss/cli': + specifier: 'catalog:' + version: 4.3.1 '@vitest/browser-playwright': specifier: 'catalog:' - version: 4.1.10(playwright@1.52.0)(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10) + version: 4.1.10(playwright@1.52.0)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10) '@voidzero-dev/vite-task-client': specifier: workspace:* version: link:../vite-task-client @@ -93,22 +105,28 @@ importers: version: 2.9.2 oxfmt: specifier: 'catalog:' - version: 0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3))) + version: 0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))) oxlint: specifier: 'catalog:' - version: 1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3))) + version: 1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))) oxlint-tsgolint: specifier: 'catalog:' version: 0.24.0 playwright: specifier: 1.52.0 version: 1.52.0 + rolldown-plugin-dts: + specifier: 'catalog:' + version: 0.22.2(rolldown@1.1.3)(typescript@6.0.3) + tsdown: + specifier: 'catalog:' + version: 0.20.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(typescript@6.0.3) vite: specifier: 8.1.3 - version: 8.1.3(@types/node@25.0.3) + version: 8.1.3(@types/node@25.0.3)(jiti@2.7.0) vitest: specifier: 'catalog:' - version: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)) + version: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) packages/vite-task-client: {} @@ -118,14 +136,48 @@ packages: resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} + '@babel/generator@8.0.0-rc.1': + resolution: {integrity: sha512-3ypWOOiC4AYHKr8vYRVtWtWmyvcoItHtVqF8paFax+ydpmUdPsJpLBkBBs5ItmhdrwC3a0ZSqqFAdzls4ODP3w==} + engines: {node: ^20.19.0 || >=22.12.0} + + '@babel/helper-string-parser@8.0.0': + resolution: {integrity: sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-identifier@7.29.7': resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@8.0.0-rc.1': + resolution: {integrity: sha512-I4YnARytXC2RzkLNVnf5qFNFMzp679qZpmtw/V3Jt2uGnWiIxyJtaukjG7R8pSx8nG2NamICpGfljQsogj+FbQ==} + engines: {node: ^20.19.0 || >=22.12.0} + + '@babel/helper-validator-identifier@8.0.4': + resolution: {integrity: sha512-4wFaiLd0bVo4cIoTXI3zKI038NIWE/cr3jvBjejOVYVxV/m8Ltav1USiGzG1fmS5J2RhgEOgXNNK46cRPnRsrg==} + engines: {node: ^22.18.0 || >=24.11.0} + + '@babel/parser@8.0.0-rc.1': + resolution: {integrity: sha512-6HyyU5l1yK/7h9Ki52i5h6mDAx4qJdiLQO4FdCyJNoB/gy3T3GGJdhQzzbZgvgZCugYBvwtQiWRt94QKedHnkA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + '@babel/parser@8.0.4': + resolution: {integrity: sha512-srpptsAkEbbNIC/q8nT7o+m6CQe8CJUTV/t7MYc9NnWlgYVtHOb7JH6SorxMhN0kuRJjVqXbKClG6xSbPtzz+g==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true + '@babel/runtime@7.29.7': resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} engines: {node: '>=6.9.0'} + '@babel/types@8.0.0-rc.1': + resolution: {integrity: sha512-ubmJ6TShyaD69VE9DQrlXcdkvJbmwWPB8qYj0H2kaJi29O7vJT9ajSdBd2W8CG34pwL9pYA74fi7RHC1qbLoVQ==} + engines: {node: ^20.19.0 || >=22.12.0} + + '@babel/types@8.0.4': + resolution: {integrity: sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g==} + engines: {node: ^22.18.0 || >=24.11.0} + '@blazediff/core@1.9.1': resolution: {integrity: sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==} @@ -161,21 +213,43 @@ packages: cpu: [x64] os: [win32] + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + '@emnapi/core@1.11.1': resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.11.1': resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@emnapi/wasi-threads@1.2.2': resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} '@epic-web/invariant@1.0.0': resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@napi-rs/wasm-runtime@1.1.6': resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} peerDependencies: @@ -266,6 +340,12 @@ packages: resolution: {integrity: sha512-yHhoXsN8tYxgdJCdD91PbySNjEEaBX/tH2OQRDXJpsQv5b184oC4/qVbU7qlblvfil/JP15Lh2HW7+HN5DS90Q==} engines: {node: ^20.19.0 || >=22.12.0} + '@oxc-project/types@0.112.0': + resolution: {integrity: sha512-m6RebKHIRsax2iCwVpYW2ErQwa4ywHJrE4sCK3/8JK8ZZAWOKXaRJFl/uP51gaVyyXlaS4+chU1nSCdzYf6QqQ==} + + '@oxc-project/types@0.127.0': + resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} + '@oxc-project/types@0.137.0': resolution: {integrity: sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==} @@ -550,6 +630,94 @@ packages: resolution: {integrity: sha512-titLmukUt/h8ho7Svlf0xSBjoy2ccZKrXjpXpZCj+v6V4CJccC2KyP45BLSCMx8YIpifMyiDyUptM4+5sruKbQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + '@playwright/browser-chromium@1.52.0': resolution: {integrity: sha512-n2/e2Q0dFACFg/1JZ0t2IYLorDdno6q1QwKnNbPICHwCkAtW7+fSMqCvJ9FSMWSyPugxZqIFhownSpyATxtiTw==} engines: {node: '>=18'} @@ -557,36 +725,113 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + + '@rolldown/binding-android-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-android-arm64@1.0.0-rc.3': + resolution: {integrity: sha512-0T1k9FinuBZ/t7rZ8jN6OpUKPnUjNdYHoj/cESWrQ3ZraAJ4OMm6z7QjSfCxqj8mOp9kTKc1zHK3kGz5vMu+nQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@rolldown/binding-android-arm64@1.1.3': resolution: {integrity: sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@rolldown/binding-darwin-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-arm64@1.0.0-rc.3': + resolution: {integrity: sha512-JWWLzvcmc/3pe7qdJqPpuPk91SoE/N+f3PcWx/6ZwuyDVyungAEJPvKm/eEldiDdwTmaEzWfIR+HORxYWrCi1A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@rolldown/binding-darwin-arm64@1.1.3': resolution: {integrity: sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@rolldown/binding-darwin-x64@1.0.0-rc.17': + resolution: {integrity: sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.0-rc.3': + resolution: {integrity: sha512-MTakBxfx3tde5WSmbHxuqlDsIW0EzQym+PJYGF4P6lG2NmKzi128OGynoFUqoD5ryCySEY85dug4v+LWGBElIw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@rolldown/binding-darwin-x64@1.1.3': resolution: {integrity: sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@rolldown/binding-freebsd-x64@1.0.0-rc.17': + resolution: {integrity: sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-freebsd-x64@1.0.0-rc.3': + resolution: {integrity: sha512-jje3oopyOLs7IwfvXoS6Lxnmie5JJO7vW29fdGFu5YGY1EDbVDhD+P9vDihqS5X6fFiqL3ZQZCMBg6jyHkSVww==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@rolldown/binding-freebsd-x64@1.1.3': resolution: {integrity: sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': + resolution: {integrity: sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.3': + resolution: {integrity: sha512-A0n8P3hdLAaqzSFrQoA42p23ZKBYQOw+8EH5r15Sa9X1kD9/JXe0YT2gph2QTWvdr0CVK2BOXiK6ENfy6DXOag==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@rolldown/binding-linux-arm-gnueabihf@1.1.3': resolution: {integrity: sha512-c+8vieQbsD7HNAHKIA34w0GJ9FedFFuJGD+7E6vz7Q3uqAIugL5p45fhlsj4UaAsHpcmlqugBWMhA0/j7o0sIg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.3': + resolution: {integrity: sha512-kWXkoxxarYISBJ4bLNf5vFkEbb4JvccOwxWDxuK9yee8lg5XA7OpvlTptfRuwEvYcOZf+7VS69Uenpmpyo5Bjw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-arm64-gnu@1.1.3': resolution: {integrity: sha512-50jD0uUwLvur7Zz9LHz17kaAdTPjn5wN93hEgjvmYFRZwiR7ZJYovTd5ipyWJDAnXKvZ+wgc+/Ika6dwSF5OcA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -594,6 +839,20 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': + resolution: {integrity: sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.3': + resolution: {integrity: sha512-Z03/wrqau9Bicfgb3Dbs6SYTHliELk2PM2LpG2nFd+cGupTMF5kanLEcj2vuuJLLhptNyS61rtk7SOZ+lPsTUA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@rolldown/binding-linux-arm64-musl@1.1.3': resolution: {integrity: sha512-BO9+oPL8K9poZJBfYPsXNtYjPE5uM3qeehT3aFcW4LITOl+iSqhp0abzjR2nWBUNjIZeKXjAEWBZ64WjNoHd6w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -601,6 +860,13 @@ packages: os: [linux] libc: [musl] + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-ppc64-gnu@1.1.3': resolution: {integrity: sha512-f3VpLB1vQ0Eo6ecr/6cekLnvYMFF4YBFoVGkfkvPLq1bAkbAwHYQPZKoAmG6OJyTcxxoC+AvezGx/S1obNC0Mw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -608,6 +874,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-s390x-gnu@1.1.3': resolution: {integrity: sha512-AmurZ26Pqx/RI9N1gzEOCklkKXl927yjfXWUUS0O7Puh8ARM/Ob8qfrD3qnWksScdw6cSrW5PSHE9DyLu7+PtA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -615,6 +888,20 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.3': + resolution: {integrity: sha512-iSXXZsQp08CSilff/DCTFZHSVEpEwdicV3W8idHyrByrcsRDVh9sGC3sev6d8BygSGj3vt8GvUKBPCoyMA4tgQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-x64-gnu@1.1.3': resolution: {integrity: sha512-JJpqs8bRGITDOdbkNKnlojzBabbOHrqjSvDr0IVsZObE1lBcPjxItUEY9eWIDbxaJ3cGrXPWGfGkIxFijg/URg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -622,6 +909,20 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': + resolution: {integrity: sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-x64-musl@1.0.0-rc.3': + resolution: {integrity: sha512-qaj+MFudtdCv9xZo9znFvkgoajLdc+vwf0Kz5N44g+LU5XMe+IsACgn3UG7uTRlCCvhMAGXm1XlpEA5bZBrOcw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@rolldown/binding-linux-x64-musl@1.1.3': resolution: {integrity: sha512-rSJcdjPxzA/by/6/rYs+v+bXU7UjvnbUWz8MJb6kh6+knqB1dCrtHg0uu7C/4haqJvqdkYHQ5IGn+tCH9GLW/g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -629,35 +930,180 @@ packages: os: [linux] libc: [musl] + '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-openharmony-arm64@1.0.0-rc.3': + resolution: {integrity: sha512-U662UnMETyjT65gFmG9ma+XziENrs7BBnENi/27swZPYagubfHRirXHG2oMl+pEax2WvO7Kb9gHZmMakpYqBHQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@rolldown/binding-openharmony-arm64@1.1.3': resolution: {integrity: sha512-hQ3/PYkDJICgevvyNcVrihVeqq7k1Pp3VZ9lY+dauAYUJKO+auqApvANhvR1An9BhmqYKvW2Mu1F9u4DXSMLxQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': + resolution: {integrity: sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@rolldown/binding-wasm32-wasi@1.0.0-rc.3': + resolution: {integrity: sha512-gekrQ3Q2HiC1T5njGyuUJoGpK/l6B/TNXKed3fZXNf9YRTJn3L5MOZsFBn4bN2+UX+8+7hgdlTcEsexX988G4g==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + '@rolldown/binding-wasm32-wasi@1.1.3': resolution: {integrity: sha512-Elcv/BtML9lXrV6JuKITc/grN2kYV9gjsQpW8Jfw4ioK0TOkjBjye0nnyqQNy9STNaI20lXNaQBRrD5gSgR0Yg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': + resolution: {integrity: sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.3': + resolution: {integrity: sha512-85y5JifyMgs8m5K2XzR/VDsapKbiFiohl7s5lEj7nmNGO0pkTXE7q6TQScei96BNAsoK7JC3pA7ukA8WRHVJpg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@rolldown/binding-win32-arm64-msvc@1.1.3': resolution: {integrity: sha512-2DrEfhluH9yhiaFApmsjsjwrSYbNcY1oFTzYSP1a535jDbV98zCFanA/96TBUd0iDFcxGmw9QRExwGCXz3U+/g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': + resolution: {integrity: sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.3': + resolution: {integrity: sha512-a4VUQZH7LxGbUJ3qJ/TzQG8HxdHvf+jOnqf7B7oFx1TEBm+j2KNL2zr5SQ7wHkNAcaPevF6gf9tQnVBnC4mD+A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@rolldown/binding-win32-x64-msvc@1.1.3': resolution: {integrity: sha512-OL4OMk7UPXOeVGGd3qo5zJyPIljf4AFgk5QAkPPS+OoLuOOozhuaQGC18MxVTnw/06q93gShAJzlwnSCY9YtqA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@rolldown/pluginutils@1.0.0-rc.17': + resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==} + + '@rolldown/pluginutils@1.0.0-rc.3': + resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} + '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@tailwindcss/cli@4.3.1': + resolution: {integrity: sha512-ZWPy20rF+TBfTImxDMG3Wr75Y3RpaPlo9lc+oJbInlMyjT+XPkTVKVIL5RZ7JirXuIahcfHoLNFRmDorKi+JQQ==} + hasBin: true + + '@tailwindcss/node@4.3.1': + resolution: {integrity: sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==} + + '@tailwindcss/oxide-android-arm64@4.3.1': + resolution: {integrity: sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.1': + resolution: {integrity: sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.1': + resolution: {integrity: sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.1': + resolution: {integrity: sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1': + resolution: {integrity: sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.1': + resolution: {integrity: sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.1': + resolution: {integrity: sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.1': + resolution: {integrity: sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.3.1': + resolution: {integrity: sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.3.1': + resolution: {integrity: sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.1': + resolution: {integrity: sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.1': + resolution: {integrity: sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.1': + resolution: {integrity: sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==} + engines: {node: '>= 20'} + '@testing-library/dom@10.4.1': resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} @@ -686,6 +1132,9 @@ packages: '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + '@types/jsesc@2.5.1': + resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} + '@types/node@25.0.3': resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} @@ -908,6 +1357,10 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + ansis@4.3.1: + resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==} + engines: {node: '>=14'} + aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} @@ -915,12 +1368,27 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + ast-kit@3.0.0: + resolution: {integrity: sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==} + engines: {node: ^22.18.0 || >=24.11.0} + + birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + bun@1.3.14: resolution: {integrity: sha512-aB6GVd42x1Y5ie1K16SF+oLGtgSkwX9hgoDdIW88pjvfTccU8F1vfpoOt34QLv0dZ1v3XimtaxPlZUG81Gx9Zg==} cpu: [arm64, x64] os: [darwin, linux, android, freebsd, win32] hasBin: true + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} @@ -937,6 +1405,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + deno@2.9.2: resolution: {integrity: sha512-9+QTuIC400Zg/iVJ0OkwqbafMbhAFXaJjLaGGe9/dSk535yzBSorQPKCnz9Jnu3V1Erb3enRQzHKzRAKPOVrmw==} hasBin: true @@ -945,6 +1416,11 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -952,6 +1428,23 @@ packages: dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dts-resolver@2.1.3: + resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} + engines: {node: '>=20.19.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + + empathic@2.0.1: + resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} + engines: {node: '>=14'} + + enhanced-resolve@5.21.6: + resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==} + engines: {node: '>=10.13.0'} + es-module-lexer@2.1.0: resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} @@ -971,6 +1464,10 @@ packages: picomatch: optional: true + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -981,12 +1478,46 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + get-tsconfig@4.14.0: + resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + hookable@6.1.1: + resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} + + import-without-cache@0.2.5: + resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==} + engines: {node: '>=20.19.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} engines: {node: '>= 12.0.0'} @@ -1068,6 +1599,14 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -1077,6 +1616,9 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + obug@2.1.1: resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} @@ -1120,6 +1662,10 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + picomatch@4.0.4: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} @@ -1146,14 +1692,54 @@ packages: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + rolldown-plugin-dts@0.22.2: + resolution: {integrity: sha512-Ge+XF962Kobjr0hRPx1neVnLU2jpKkD2zevZTfPKf/0el4eYo9SyGPm0stiHDG2JQuL0Q3HLD0Kn+ST8esvVdA==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20250601.1' + rolldown: ^1.0.0-rc.3 + typescript: ^5.0.0 || ^6.0.0-beta + vue-tsc: ~3.2.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.0.0-rc.17: + resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + rolldown@1.0.0-rc.3: + resolution: {integrity: sha512-Po/YZECDOqVXjIXrtC5h++a5NLvKAQNrd9ggrIG3sbDfGO5BqTUsrI6l8zdniKRp3r5Tp/2JTrXqx4GIguFCMw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + rolldown@1.1.3: resolution: {integrity: sha512-1F1eEtUBtFvcGm1HQ9TiUIUHPQG7mSAODrhIzjxoUEFuo8OcbrGLiVLkevNgj84TE4lnHvnumwFjhJO5Eu135g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1179,6 +1765,13 @@ packages: std-env@4.1.0: resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + tailwindcss@4.3.1: + resolution: {integrity: sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -1198,10 +1791,43 @@ packages: resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} engines: {node: '>=14.0.0'} + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + tsdown@0.20.3: + resolution: {integrity: sha512-qWOUXSbe4jN8JZEgrkc/uhJpC8VN2QpNu3eZkBWwNuTEjc/Ik1kcc54ycfcQ5QPRHeu9OQXaLfCI3o7pEJgB2w==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@vitejs/devtools': '*' + publint: ^0.3.0 + typescript: ^5.0.0 + unplugin-lightningcss: ^0.4.0 + unplugin-unused: ^0.5.0 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + typescript: + optional: true + unplugin-lightningcss: + optional: true + unplugin-unused: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -1210,9 +1836,22 @@ packages: engines: {node: '>=14.17'} hasBin: true + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} + undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + unrun@0.2.39: + resolution: {integrity: sha512-h9FxYVpztY/wwq+bauLOh6Y3CWu2IVeRLq5lxzneBiIU9Tn86OGp9xiQrGhnYspAmg5dzdY0Cc8+Y70kuTARCg==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + synckit: ^0.11.11 + peerDependenciesMeta: + synckit: + optional: true + vite-plus@0.2.4: resolution: {integrity: sha512-gaBBjOXIq9lLRU44oAYdIr99p+JBLX1kxs+l/6LqGgSXwcVKAdDa1boSrOTELqYCkQQ0fpppXUGWi9o6JDT5zw==} engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} @@ -1340,10 +1979,43 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/generator@8.0.0-rc.1': + dependencies: + '@babel/parser': 8.0.0-rc.1 + '@babel/types': 8.0.0-rc.1 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@types/jsesc': 2.5.1 + jsesc: 3.1.0 + + '@babel/helper-string-parser@8.0.0': {} + '@babel/helper-validator-identifier@7.29.7': {} + '@babel/helper-validator-identifier@8.0.0-rc.1': {} + + '@babel/helper-validator-identifier@8.0.4': {} + + '@babel/parser@8.0.0-rc.1': + dependencies: + '@babel/types': 8.0.0-rc.1 + + '@babel/parser@8.0.4': + dependencies: + '@babel/types': 8.0.4 + '@babel/runtime@7.29.7': {} + '@babel/types@8.0.0-rc.1': + dependencies: + '@babel/helper-string-parser': 8.0.0 + '@babel/helper-validator-identifier': 8.0.0-rc.1 + + '@babel/types@8.0.4': + dependencies: + '@babel/helper-string-parser': 8.0.0 + '@babel/helper-validator-identifier': 8.0.4 + '@blazediff/core@1.9.1': {} '@deno/darwin-arm64@2.9.2': @@ -1364,17 +2036,33 @@ snapshots: '@deno/win32-x64@2.9.2': optional: true + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + '@emnapi/core@1.11.1': dependencies: '@emnapi/wasi-threads': 1.2.2 tslib: 2.8.1 optional: true + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.11.1': dependencies: tslib: 2.8.1 optional: true + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 @@ -1382,8 +2070,32 @@ snapshots: '@epic-web/invariant@1.0.0': {} + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.3 + optional: true + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: '@emnapi/core': 1.11.1 @@ -1441,6 +2153,10 @@ snapshots: '@oxc-project/runtime@0.138.0': {} + '@oxc-project/types@0.112.0': {} + + '@oxc-project/types@0.127.0': {} + '@oxc-project/types@0.137.0': {} '@oxc-project/types@0.138.0': {} @@ -1579,48 +2295,193 @@ snapshots: '@oxlint/plugins@1.68.0': {} + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + '@playwright/browser-chromium@1.52.0': dependencies: playwright-core: 1.52.0 '@polka/url@1.0.0-next.29': {} + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + + '@rolldown/binding-android-arm64@1.0.0-rc.17': + optional: true + + '@rolldown/binding-android-arm64@1.0.0-rc.3': + optional: true + '@rolldown/binding-android-arm64@1.1.3': optional: true + '@rolldown/binding-darwin-arm64@1.0.0-rc.17': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.0-rc.3': + optional: true + '@rolldown/binding-darwin-arm64@1.1.3': optional: true + '@rolldown/binding-darwin-x64@1.0.0-rc.17': + optional: true + + '@rolldown/binding-darwin-x64@1.0.0-rc.3': + optional: true + '@rolldown/binding-darwin-x64@1.1.3': optional: true + '@rolldown/binding-freebsd-x64@1.0.0-rc.17': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.0-rc.3': + optional: true + '@rolldown/binding-freebsd-x64@1.1.3': optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.3': + optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.1.3': optional: true + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.3': + optional: true + '@rolldown/binding-linux-arm64-gnu@1.1.3': optional: true + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.3': + optional: true + '@rolldown/binding-linux-arm64-musl@1.1.3': optional: true + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': + optional: true + '@rolldown/binding-linux-ppc64-gnu@1.1.3': optional: true + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': + optional: true + '@rolldown/binding-linux-s390x-gnu@1.1.3': optional: true + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.3': + optional: true + '@rolldown/binding-linux-x64-gnu@1.1.3': optional: true + '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.0-rc.3': + optional: true + '@rolldown/binding-linux-x64-musl@1.1.3': optional: true + '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.0-rc.3': + optional: true + '@rolldown/binding-openharmony-arm64@1.1.3': optional: true + '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + dependencies: + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + optional: true + '@rolldown/binding-wasm32-wasi@1.1.3': dependencies: '@emnapi/core': 1.11.1 @@ -1628,16 +2489,103 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.3': + optional: true + '@rolldown/binding-win32-arm64-msvc@1.1.3': optional: true + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.3': + optional: true + '@rolldown/binding-win32-x64-msvc@1.1.3': optional: true + '@rolldown/pluginutils@1.0.0-rc.17': {} + + '@rolldown/pluginutils@1.0.0-rc.3': {} + '@rolldown/pluginutils@1.0.1': {} '@standard-schema/spec@1.1.0': {} + '@tailwindcss/cli@4.3.1': + dependencies: + '@parcel/watcher': 2.5.1 + '@tailwindcss/node': 4.3.1 + '@tailwindcss/oxide': 4.3.1 + enhanced-resolve: 5.21.6 + mri: 1.2.0 + picocolors: 1.1.1 + tailwindcss: 4.3.1 + + '@tailwindcss/node@4.3.1': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.21.6 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.1 + + '@tailwindcss/oxide-android-arm64@4.3.1': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.1': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.1': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.1': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.1': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.1': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.1': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.1': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.1': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.1': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.1': + optional: true + + '@tailwindcss/oxide@4.3.1': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.1 + '@tailwindcss/oxide-darwin-arm64': 4.3.1 + '@tailwindcss/oxide-darwin-x64': 4.3.1 + '@tailwindcss/oxide-freebsd-x64': 4.3.1 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.1 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.1 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.1 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.1 + '@tailwindcss/oxide-linux-x64-musl': 4.3.1 + '@tailwindcss/oxide-wasm32-wasi': 4.3.1 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.1 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.1 + '@testing-library/dom@10.4.1': dependencies: '@babel/code-frame': 7.29.7 @@ -1671,17 +2619,19 @@ snapshots: '@types/estree@1.0.9': {} + '@types/jsesc@2.5.1': {} + '@types/node@25.0.3': dependencies: undici-types: 7.16.0 - '@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10)': + '@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10)': dependencies: - '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(vitest@4.1.10) - '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)) + '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(vitest@4.1.10) + '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) playwright: 1.52.0 tinyrainbow: 3.1.0 - vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)) + vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) transitivePeerDependencies: - bufferutil - msw @@ -1689,37 +2639,37 @@ snapshots: - vite optional: true - '@vitest/browser-playwright@4.1.10(playwright@1.52.0)(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10)': + '@vitest/browser-playwright@4.1.10(playwright@1.52.0)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10)': dependencies: - '@vitest/browser': 4.1.10(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10) - '@vitest/mocker': 4.1.10(vite@8.1.3(@types/node@25.0.3)) + '@vitest/browser': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10) + '@vitest/mocker': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) playwright: 1.52.0 tinyrainbow: 3.1.0 - vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)) + vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser-preview@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(vitest@4.1.10)': + '@vitest/browser-preview@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(vitest@4.1.10)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(vitest@4.1.10) - vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)) + '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(vitest@4.1.10) + vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser-preview@4.1.10(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10)': + '@vitest/browser-preview@4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/browser': 4.1.10(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10) - vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)) + '@vitest/browser': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10) + vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) transitivePeerDependencies: - bufferutil - msw @@ -1727,16 +2677,16 @@ snapshots: - vite optional: true - '@vitest/browser@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(vitest@4.1.10)': + '@vitest/browser@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(vitest@4.1.10)': dependencies: '@blazediff/core': 1.9.1 - '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)) + '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) '@vitest/utils': 4.1.10 magic-string: 0.30.21 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.0 - vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)) + vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) ws: 8.21.0 transitivePeerDependencies: - bufferutil @@ -1744,16 +2694,16 @@ snapshots: - utf-8-validate - vite - '@vitest/browser@4.1.10(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10)': + '@vitest/browser@4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10)': dependencies: '@blazediff/core': 1.9.1 - '@vitest/mocker': 4.1.10(vite@8.1.3(@types/node@25.0.3)) + '@vitest/mocker': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) '@vitest/utils': 4.1.10 magic-string: 0.30.21 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.0 - vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)) + vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) ws: 8.21.0 transitivePeerDependencies: - bufferutil @@ -1770,21 +2720,21 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))': + '@vitest/mocker@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)' + vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)' - '@vitest/mocker@4.1.10(vite@8.1.3(@types/node@25.0.3))': + '@vitest/mocker@4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.1.3(@types/node@25.0.3) + vite: 8.1.3(@types/node@25.0.3)(jiti@2.7.0) '@vitest/pretty-format@4.1.10': dependencies: @@ -1810,7 +2760,7 @@ snapshots: convert-source-map: 2.0.0 tinyrainbow: 3.1.0 - '@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)': + '@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)': dependencies: '@oxc-project/runtime': 0.138.0 '@oxc-project/types': 0.138.0 @@ -1819,9 +2769,11 @@ snapshots: optionalDependencies: '@types/node': 25.0.3 fsevents: 2.3.3 + jiti: 2.7.0 typescript: 6.0.3 + unrun: 0.2.39 - '@voidzero-dev/vite-plus-core@0.2.4(@types/node@25.0.3)(typescript@6.0.3)': + '@voidzero-dev/vite-plus-core@0.2.4(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)': dependencies: '@oxc-project/runtime': 0.138.0 '@oxc-project/types': 0.138.0 @@ -1830,7 +2782,9 @@ snapshots: optionalDependencies: '@types/node': 25.0.3 fsevents: 2.3.3 + jiti: 2.7.0 typescript: 6.0.3 + unrun: 0.2.39 '@voidzero-dev/vite-plus-darwin-arm64@0.2.4': optional: true @@ -1860,12 +2814,26 @@ snapshots: ansi-styles@5.2.0: {} + ansis@4.3.1: {} + aria-query@5.3.0: dependencies: dequal: 2.0.3 assertion-error@2.0.1: {} + ast-kit@3.0.0: + dependencies: + '@babel/parser': 8.0.4 + estree-walker: 3.0.3 + pathe: 2.0.3 + + birpc@4.0.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + bun@1.3.14: optionalDependencies: '@oven/bun-darwin-aarch64': 1.3.14 @@ -1885,6 +2853,8 @@ snapshots: '@oven/bun-windows-x64': 1.3.14 '@oven/bun-windows-x64-baseline': 1.3.14 + cac@6.7.14: {} + chai@6.2.2: {} convert-source-map@2.0.0: {} @@ -1900,6 +2870,8 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + defu@6.1.7: {} + deno@2.9.2: optionalDependencies: '@deno/darwin-arm64': 2.9.2 @@ -1911,10 +2883,21 @@ snapshots: dequal@2.0.3: {} + detect-libc@1.0.3: {} + detect-libc@2.1.2: {} dom-accessibility-api@0.5.16: {} + dts-resolver@2.1.3: {} + + empathic@2.0.1: {} + + enhanced-resolve@5.21.6: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + es-module-lexer@2.1.0: {} estree-walker@3.0.3: @@ -1927,16 +2910,42 @@ snapshots: optionalDependencies: picomatch: 4.0.4 + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + fsevents@2.3.2: optional: true fsevents@2.3.3: optional: true + get-tsconfig@4.14.0: + dependencies: + resolve-pkg-maps: 1.0.0 + + graceful-fs@4.2.11: {} + + hookable@6.1.1: {} + + import-without-cache@0.2.5: {} + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + isexe@2.0.0: {} + jiti@2.7.0: {} + js-tokens@4.0.0: {} + jsesc@3.1.0: {} + lightningcss-android-arm64@1.32.0: optional: true @@ -1992,13 +3001,22 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + + mri@1.2.0: {} + mrmime@2.0.1: {} nanoid@3.3.12: {} + node-addon-api@7.1.1: {} + obug@2.1.1: {} - oxfmt@0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(typescript@6.0.3)): + oxfmt@0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)): dependencies: tinypool: 2.1.0 optionalDependencies: @@ -2021,9 +3039,9 @@ snapshots: '@oxfmt/binding-win32-arm64-msvc': 0.57.0 '@oxfmt/binding-win32-ia32-msvc': 0.57.0 '@oxfmt/binding-win32-x64-msvc': 0.57.0 - vite-plus: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(typescript@6.0.3) + vite-plus: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39) - oxfmt@0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3))): + oxfmt@0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))): dependencies: tinypool: 2.1.0 optionalDependencies: @@ -2046,7 +3064,7 @@ snapshots: '@oxfmt/binding-win32-arm64-msvc': 0.57.0 '@oxfmt/binding-win32-ia32-msvc': 0.57.0 '@oxfmt/binding-win32-x64-msvc': 0.57.0 - vite-plus: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3)) + vite-plus: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) oxlint-tsgolint@0.24.0: optionalDependencies: @@ -2057,7 +3075,7 @@ snapshots: '@oxlint-tsgolint/win32-arm64': 0.24.0 '@oxlint-tsgolint/win32-x64': 0.24.0 - oxlint@1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(typescript@6.0.3)): + oxlint@1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.72.0 '@oxlint/binding-android-arm64': 1.72.0 @@ -2079,9 +3097,9 @@ snapshots: '@oxlint/binding-win32-ia32-msvc': 1.72.0 '@oxlint/binding-win32-x64-msvc': 1.72.0 oxlint-tsgolint: 0.24.0 - vite-plus: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(typescript@6.0.3) + vite-plus: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39) - oxlint@1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3))): + oxlint@1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.72.0 '@oxlint/binding-android-arm64': 1.72.0 @@ -2103,7 +3121,7 @@ snapshots: '@oxlint/binding-win32-ia32-msvc': 1.72.0 '@oxlint/binding-win32-x64-msvc': 1.72.0 oxlint-tsgolint: 0.24.0 - vite-plus: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3)) + vite-plus: 0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) path-key@3.1.1: {} @@ -2111,6 +3129,8 @@ snapshots: picocolors@1.1.1: {} + picomatch@2.3.2: {} + picomatch@4.0.4: {} playwright-core@1.52.0: {} @@ -2135,8 +3155,89 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 + quansync@1.0.0: {} + react-is@17.0.2: {} + resolve-pkg-maps@1.0.0: {} + + rolldown-plugin-dts@0.22.2(rolldown@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1))(typescript@6.0.3): + dependencies: + '@babel/generator': 8.0.0-rc.1 + '@babel/helper-validator-identifier': 8.0.0-rc.1 + '@babel/parser': 8.0.0-rc.1 + '@babel/types': 8.0.0-rc.1 + ast-kit: 3.0.0 + birpc: 4.0.0 + dts-resolver: 2.1.3 + get-tsconfig: 4.14.0 + obug: 2.1.1 + rolldown: 1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - oxc-resolver + + rolldown-plugin-dts@0.22.2(rolldown@1.1.3)(typescript@6.0.3): + dependencies: + '@babel/generator': 8.0.0-rc.1 + '@babel/helper-validator-identifier': 8.0.0-rc.1 + '@babel/parser': 8.0.0-rc.1 + '@babel/types': 8.0.0-rc.1 + ast-kit: 3.0.0 + birpc: 4.0.0 + dts-resolver: 2.1.3 + get-tsconfig: 4.14.0 + obug: 2.1.1 + rolldown: 1.1.3 + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - oxc-resolver + + rolldown@1.0.0-rc.17: + dependencies: + '@oxc-project/types': 0.127.0 + '@rolldown/pluginutils': 1.0.0-rc.17 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-rc.17 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.17 + '@rolldown/binding-darwin-x64': 1.0.0-rc.17 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.17 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.17 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.17 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.17 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.17 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.17 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17 + + rolldown@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1): + dependencies: + '@oxc-project/types': 0.112.0 + '@rolldown/pluginutils': 1.0.0-rc.3 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-rc.3 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.3 + '@rolldown/binding-darwin-x64': 1.0.0-rc.3 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.3 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.3 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.3 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.3 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.3 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.3 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.3 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.3 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + rolldown@1.1.3: dependencies: '@oxc-project/types': 0.137.0 @@ -2158,6 +3259,8 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.1.3 '@rolldown/binding-win32-x64-msvc': 1.1.3 + semver@7.8.5: {} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -2178,6 +3281,10 @@ snapshots: std-env@4.1.0: {} + tailwindcss@4.3.1: {} + + tapable@2.3.3: {} + tinybench@2.9.0: {} tinyexec@1.1.2: {} @@ -2191,35 +3298,79 @@ snapshots: tinyrainbow@3.1.0: {} + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + totalist@3.0.1: {} + tree-kill@1.2.2: {} + + tsdown@0.20.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(typescript@6.0.3): + dependencies: + ansis: 4.3.1 + cac: 6.7.14 + defu: 6.1.7 + empathic: 2.0.1 + hookable: 6.1.1 + import-without-cache: 0.2.5 + obug: 2.1.1 + picomatch: 4.0.4 + rolldown: 1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + rolldown-plugin-dts: 0.22.2(rolldown@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1))(typescript@6.0.3) + semver: 7.8.5 + tinyexec: 1.1.2 + tinyglobby: 0.2.17 + tree-kill: 1.2.2 + unconfig-core: 7.5.0 + unrun: 0.2.39 + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - synckit + - vue-tsc + tslib@2.8.1: optional: true typescript@6.0.3: {} + unconfig-core@7.5.0: + dependencies: + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + undici-types@7.16.0: {} - vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(typescript@6.0.3): + unrun@0.2.39: + dependencies: + rolldown: 1.0.0-rc.17 + + vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39): dependencies: '@oxc-project/types': 0.138.0 '@oxlint/plugins': 1.68.0 - '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(vitest@4.1.10) - '@vitest/browser-preview': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(vitest@4.1.10) + '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(vitest@4.1.10) + '@vitest/browser-preview': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(vitest@4.1.10) '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)) + '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) '@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 - '@voidzero-dev/vite-plus-core': 0.2.4(@types/node@25.0.3)(typescript@6.0.3) - oxfmt: 0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(typescript@6.0.3)) - oxlint: 1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(typescript@6.0.3)) + '@voidzero-dev/vite-plus-core': 0.2.4(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39) + oxfmt: 0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) + oxlint: 1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) oxlint-tsgolint: 0.24.0 - vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)) + vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) optionalDependencies: - '@vitest/browser-playwright': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10) + '@vitest/browser-playwright': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10) '@voidzero-dev/vite-plus-darwin-arm64': 0.2.4 '@voidzero-dev/vite-plus-darwin-x64': 0.2.4 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.2.4 @@ -2259,26 +3410,26 @@ snapshots: - vite - yaml - vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3)): + vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)): dependencies: '@oxc-project/types': 0.138.0 '@oxlint/plugins': 1.68.0 - '@vitest/browser': 4.1.10(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10) - '@vitest/browser-preview': 4.1.10(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10) + '@vitest/browser': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10) + '@vitest/browser-preview': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10) '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(vite@8.1.3(@types/node@25.0.3)) + '@vitest/mocker': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) '@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 - '@voidzero-dev/vite-plus-core': 0.2.4(@types/node@25.0.3)(typescript@6.0.3) - oxfmt: 0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3))) - oxlint: 1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(typescript@6.0.3)(vite@8.1.3(@types/node@25.0.3))) + '@voidzero-dev/vite-plus-core': 0.2.4(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39) + oxfmt: 0.57.0(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))) + oxlint: 1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.4(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))) oxlint-tsgolint: 0.24.0 - vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)) + vitest: 4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) optionalDependencies: - '@vitest/browser-playwright': 4.1.10(playwright@1.52.0)(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10) + '@vitest/browser-playwright': 4.1.10(playwright@1.52.0)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10) '@voidzero-dev/vite-plus-darwin-arm64': 0.2.4 '@voidzero-dev/vite-plus-darwin-x64': 0.2.4 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.2.4 @@ -2319,7 +3470,7 @@ snapshots: - yaml optional: true - vite@8.1.3(@types/node@25.0.3): + vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -2329,11 +3480,12 @@ snapshots: optionalDependencies: '@types/node': 25.0.3 fsevents: 2.3.3 + jiti: 2.7.0 - vitest@4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)): + vitest@4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10))(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)) + '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -2350,19 +3502,19 @@ snapshots: tinyexec: 1.1.2 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3)' + vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39)' why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 25.0.3 - '@vitest/browser-playwright': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(playwright@1.52.0)(vitest@4.1.10) - '@vitest/browser-preview': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(typescript@6.0.3))(vitest@4.1.10) + '@vitest/browser-playwright': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(playwright@1.52.0)(vitest@4.1.10) + '@vitest/browser-preview': 4.1.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@25.0.3)(jiti@2.7.0)(typescript@6.0.3)(unrun@0.2.39))(vitest@4.1.10) transitivePeerDependencies: - msw - vitest@4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)): + vitest@4.1.10(@types/node@25.0.3)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(vite@8.1.3(@types/node@25.0.3)) + '@vitest/mocker': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -2379,12 +3531,12 @@ snapshots: tinyexec: 1.1.2 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.1.3(@types/node@25.0.3) + vite: 8.1.3(@types/node@25.0.3)(jiti@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 25.0.3 - '@vitest/browser-playwright': 4.1.10(playwright@1.52.0)(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10) - '@vitest/browser-preview': 4.1.10(vite@8.1.3(@types/node@25.0.3))(vitest@4.1.10) + '@vitest/browser-playwright': 4.1.10(playwright@1.52.0)(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10) + '@vitest/browser-preview': 4.1.10(vite@8.1.3(@types/node@25.0.3)(jiti@2.7.0))(vitest@4.1.10) transitivePeerDependencies: - msw diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4869bffbf..e19bf3491 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -4,11 +4,13 @@ packages: - packages/vite-task-client allowBuilds: + '@parcel/watcher': true '@playwright/browser-chromium': true bun: true deno: true catalog: + '@tailwindcss/cli': 4.3.1 '@tsconfig/strictest': ^2.0.8 '@types/node': 25.0.3 '@playwright/browser-chromium': 1.52.0 @@ -23,6 +25,8 @@ catalog: oxlint-tsgolint: ^0.24.0 # Playwright 1.52 pins the browser package to Chromium 136. playwright: 1.52.0 + rolldown-plugin-dts: 0.22.2 + tsdown: 0.20.3 typescript: ^6.0.3 vite: npm:@voidzero-dev/vite-plus-core@0.2.2 vite-plus: 0.2.4 diff --git a/vite.config.ts b/vite.config.ts index a933166c4..59822e6d1 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -15,6 +15,7 @@ export default defineConfig({ singleQuote: true, ignorePatterns: [ 'crates/fspy_detours_sys/detours', + 'crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/oxfmt-in-place/source.ts', 'crates/vite_task_graph/run-config.ts', '**/fixtures/*/snapshots', 'packages/vite-task-client/src/index.d.ts', From a8920e6616b8f8af405a53dcd61327762a8a945a Mon Sep 17 00:00:00 2001 From: wan9chi Date: Tue, 14 Jul 2026 16:47:43 +0800 Subject: [PATCH 2/2] fix CI fixture seeds and lockfile --- .../cases/dts-self-resolution/dist/index.d.ts | 3 +++ .../cases/tailwind-output/dist/output.css | 3 +++ .../cases/tsdown-clean/dist/index.js | 1 + pnpm-lock.yaml | 8 ++++---- 4 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/dist/index.d.ts create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/dist/output.css create mode 100644 crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/dist/index.js diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/dist/index.d.ts b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/dist/index.d.ts new file mode 100644 index 000000000..7cd1b22ff --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/dts-self-resolution/dist/index.d.ts @@ -0,0 +1,3 @@ +export interface Existing { + value: string; +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/dist/output.css b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/dist/output.css new file mode 100644 index 000000000..104b01212 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tailwind-output/dist/output.css @@ -0,0 +1,3 @@ +.stale { + color: blue; +} diff --git a/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/dist/index.js b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/dist/index.js new file mode 100644 index 000000000..6cf3cee22 --- /dev/null +++ b/crates/vite_task_bin/tests/e2e_snapshots/fixtures/real_package_read_write_overlaps/cases/tsdown-clean/dist/index.js @@ -0,0 +1 @@ +export const stale = true; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9c2426c1d..1141a1ad5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1981,8 +1981,8 @@ snapshots: '@babel/generator@8.0.0-rc.1': dependencies: - '@babel/parser': 8.0.0-rc.1 - '@babel/types': 8.0.0-rc.1 + '@babel/parser': 8.0.4 + '@babel/types': 8.0.4 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 '@types/jsesc': 2.5.1 @@ -1998,7 +1998,7 @@ snapshots: '@babel/parser@8.0.0-rc.1': dependencies: - '@babel/types': 8.0.0-rc.1 + '@babel/types': 8.0.4 '@babel/parser@8.0.4': dependencies: @@ -2009,7 +2009,7 @@ snapshots: '@babel/types@8.0.0-rc.1': dependencies: '@babel/helper-string-parser': 8.0.0 - '@babel/helper-validator-identifier': 8.0.0-rc.1 + '@babel/helper-validator-identifier': 8.0.4 '@babel/types@8.0.4': dependencies: