diff --git a/__snapshots__/tsnapi/index.snapshot.d.ts b/__snapshots__/tsnapi/index.snapshot.d.ts index e536986af..0c9453826 100644 --- a/__snapshots__/tsnapi/index.snapshot.d.ts +++ b/__snapshots__/tsnapi/index.snapshot.d.ts @@ -60,7 +60,7 @@ export interface ExportsOptions { } export interface InlineConfig extends UserConfig { config?: boolean | string; - configLoader?: "auto" | "native" | "unrun"; + configLoader?: "auto" | "native" | "tsx" | "unrun"; filter?: RegExp | Arrayable; } export interface Logger { diff --git a/docs/guide/getting-started.md b/docs/guide/getting-started.md index 605589914..a2785b399 100644 --- a/docs/guide/getting-started.md +++ b/docs/guide/getting-started.md @@ -59,11 +59,7 @@ bun add -D typescript ::: :::tip Compatibility Note -`tsdown` requires Node.js version 20.19 or higher. Please ensure your development environment meets this requirement before installing. While `tsdown` is primarily tested with Node.js, support for Deno and Bun is experimental and may not work as expected. -::: - -:::warning Node.js Deprecation -Node.js versions below 22.18.0 are deprecated and support will be removed in the next minor release. Please upgrade to Node.js 22.18.0 or later. +`tsdown` requires Node.js version 22.18.0 or higher. Please ensure your development environment meets this requirement before installing. While `tsdown` is primarily tested with Node.js, support for Deno and Bun is experimental and may not work as expected. ::: ### Starter Templates {#starter-templates} diff --git a/docs/options/config-file.md b/docs/options/config-file.md index abe7ba384..33c71068e 100644 --- a/docs/options/config-file.md +++ b/docs/options/config-file.md @@ -67,11 +67,12 @@ This is useful if you want to rely solely on command-line options or default set `tsdown` supports multiple config loaders to accommodate various file formats. You can select a config loader using the `--config-loader` option. The available loaders are: - `auto` (default): Utilizes native runtime loading for TypeScript if supported; otherwise, defaults to `unrun`. -- `native`: Loads TypeScript configuration files using native runtime support. Requires a compatible environment, such as the latest Node.js, Deno, or Bun. -- `unrun`: Loads configuration files using the [`unrun`](https://gugustinette.github.io/unrun/) library. It provides more powerful and flexible loading capabilities. +- `native`: Loads TypeScript configuration files using native runtime support. Requires a compatible environment, such as Node.js 22.18.0+, Deno, or Bun. +- `tsx`: Loads configuration files using the [`tsx`](https://tsx.is/) library via its [tsImport API](https://tsx.is/dev-api/ts-import). Note that `tsx` is an optional peer dependency — you need to install it manually if you want to use this loader. +- `unrun`: Loads configuration files using the [`unrun`](https://gugustinette.github.io/unrun/) library. It provides more powerful and flexible loading capabilities. Note that `unrun` is an optional peer dependency — you need to install it manually if you want to use this loader. > [!TIP] -> Node.js does not natively support importing TypeScript files without specifying the file extension. If you are using Node.js and want to load a TypeScript config file without including the `.ts` extension, consider using the `unrun` loader for seamless compatibility. +> Node.js does not natively support importing TypeScript files without specifying the file extension. If you are using Node.js and want to load a TypeScript config file without including the `.ts` extension, consider installing and using the `tsx` or `unrun` loader for seamless compatibility. ## Extending Vite or Vitest Config (Experimental) diff --git a/docs/zh-CN/guide/getting-started.md b/docs/zh-CN/guide/getting-started.md index 27850c551..37506b6ad 100644 --- a/docs/zh-CN/guide/getting-started.md +++ b/docs/zh-CN/guide/getting-started.md @@ -59,11 +59,7 @@ bun add -D typescript ::: :::tip 兼容性说明 -`tsdown` 需要 Node.js 20.19 或更高版本。请确保您的开发环境满足此要求后再进行安装。虽然 `tsdown` 主要在 Node.js 下测试,但对 Deno 和 Bun 的支持仍为实验性,可能无法正常工作。 -::: - -:::warning Node.js 弃用警告 -低于 22.18.0 的 Node.js 版本已被弃用,将在下一个 minor 版本中移除支持。请升级到 Node.js 22.18.0 或更高版本。 +`tsdown` 需要 Node.js 22.18.0 或更高版本。请确保您的开发环境满足此要求后再进行安装。虽然 `tsdown` 主要在 Node.js 下测试,但对 Deno 和 Bun 的支持仍为实验性,可能无法正常工作。 ::: ### 起步模板 {#starter-templates} diff --git a/docs/zh-CN/options/config-file.md b/docs/zh-CN/options/config-file.md index 8dce5bb9f..7fe8e2302 100644 --- a/docs/zh-CN/options/config-file.md +++ b/docs/zh-CN/options/config-file.md @@ -67,11 +67,12 @@ tsdown --no-config `tsdown` 支持多种配置加载器,以适配不同的文件格式。您可以通过 `--config-loader` 选项选择配置加载器。可用的加载器包括: - `auto`(默认):如果运行时支持,则使用原生方式加载 TypeScript,否则回退到 `unrun`。 -- `native`:通过原生运行时支持加载 TypeScript 配置文件。需要兼容的环境,如最新版 Node.js、Deno 或 Bun。 -- `unrun`:使用 [`unrun`](https://gugustinette.github.io/unrun/) 库加载配置文件,提供更强大和灵活的加载能力。 +- `native`:通过原生运行时支持加载 TypeScript 配置文件。需要兼容的环境,如 Node.js 22.18.0+、Deno 或 Bun。 +- `tsx`:使用 [`tsx`](https://tsx.is/) 库通过其 [tsImport API](https://tsx.is/dev-api/ts-import) 加载配置文件。注意 `tsx` 是可选的 peer dependency,需要手动安装后才能使用。 +- `unrun`:使用 [`unrun`](https://gugustinette.github.io/unrun/) 库加载配置文件,提供更强大和灵活的加载能力。注意 `unrun` 是可选的 peer dependency,需要手动安装后才能使用。 > [!TIP] -> Node.js 原生需要指定文件扩展名才能导入 TypeScript 文件。如果您在 Node.js 环境下希望加载不带 `.ts` 扩展名的 TypeScript 配置文件,建议使用 `unrun` 加载器以获得更好的兼容性。 +> Node.js 原生需要指定文件扩展名才能导入 TypeScript 文件。如果您在 Node.js 环境下希望加载不带 `.ts` 扩展名的 TypeScript 配置文件,建议安装并使用 `tsx` 或 `unrun` 加载器以获得更好的兼容性。 ## 扩展 Vite 或 Vitest 配置(实验性功能){#extending-vite-or-vitest-config-experimental} diff --git a/package.json b/package.json index ada38e69a..8aca121fc 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "tsdown", "type": "module", - "version": "0.21.10", - "packageManager": "pnpm@10.33.2", + "version": "0.22.0-beta.2", + "packageManager": "pnpm@11.0.0", "description": "The Elegant Bundler for Libraries", "author": "Kevin Deng ", "license": "MIT", @@ -72,7 +72,7 @@ } }, "engines": { - "node": ">=20.19.0" + "node": ">=22.18.0" }, "scripts": { "lint": "eslint --cache --max-warnings 0 .", @@ -93,9 +93,11 @@ "@tsdown/css": "workspace:*", "@tsdown/exe": "workspace:*", "@vitejs/devtools": "*", - "publint": "^0.3.0", + "publint": "^0.3.8", + "tsx": "*", "typescript": "^5.0.0 || ^6.0.0", - "unplugin-unused": "^0.5.0" + "unplugin-unused": "^0.5.0", + "unrun": "*" }, "peerDependenciesMeta": { "@arethetypeswrong/core": { @@ -113,11 +115,17 @@ "publint": { "optional": true }, + "tsx": { + "optional": true + }, "typescript": { "optional": true }, "unplugin-unused": { "optional": true + }, + "unrun": { + "optional": true } }, "dependencies": { @@ -135,13 +143,12 @@ "tinyexec": "catalog:prod", "tinyglobby": "catalog:prod", "tree-kill": "catalog:prod", - "unconfig-core": "catalog:prod", - "unrun": "catalog:prod" + "unconfig-core": "catalog:prod" }, "inlinedDependencies": { "is-in-ci": "2.0.0", "package-manager-detector": "1.6.0", - "pkg-types": "2.3.0" + "pkg-types": "2.3.1" }, "devDependencies": { "@arethetypeswrong/core": "catalog:peer", @@ -174,12 +181,14 @@ "rolldown-plugin-require-cjs": "catalog:dev", "sass": "catalog:dev", "tsnapi": "catalog:dev", + "tsx": "catalog:dev", "typescript": "catalog:dev", "unocss": "catalog:docs", "unplugin-ast": "catalog:dev", "unplugin-raw": "catalog:dev", "unplugin-unused": "catalog:peer", "unplugin-vue": "catalog:dev", + "unrun": "catalog:dev", "vite": "catalog:docs", "vitest": "catalog:dev", "vue": "catalog:docs" diff --git a/packages/create-tsdown/package.json b/packages/create-tsdown/package.json index 826ba6c00..b3a3dc0f4 100644 --- a/packages/create-tsdown/package.json +++ b/packages/create-tsdown/package.json @@ -1,7 +1,7 @@ { "name": "create-tsdown", "type": "module", - "version": "0.21.10", + "version": "0.22.0-beta.2", "description": "Create a new tsdown project", "author": "Kevin Deng ", "license": "MIT", @@ -53,7 +53,7 @@ } }, "engines": { - "node": ">=20.19.0" + "node": ">=22.18.0" }, "scripts": { "dev": "node ./src/run.ts", diff --git a/packages/css/package.json b/packages/css/package.json index 51be3badb..16839e995 100644 --- a/packages/css/package.json +++ b/packages/css/package.json @@ -1,7 +1,7 @@ { "name": "@tsdown/css", "type": "module", - "version": "0.21.10", + "version": "0.22.0-beta.2", "description": "Advanced CSS pipeline for tsdown powered by Lightning CSS", "author": "Kevin Deng ", "license": "MIT", @@ -42,7 +42,7 @@ } }, "engines": { - "node": ">=20.19.0" + "node": ">=22.18.0" }, "scripts": { "build": "node -C dev ../../src/run.ts -c ../../tsdown.config.ts -F ." diff --git a/packages/exe/package.json b/packages/exe/package.json index 45004cb01..24ea3fc48 100644 --- a/packages/exe/package.json +++ b/packages/exe/package.json @@ -1,7 +1,7 @@ { "name": "@tsdown/exe", "type": "module", - "version": "0.21.10", + "version": "0.22.0-beta.2", "description": "Cross-platform executable building for tsdown", "author": "Kevin Deng ", "license": "MIT", @@ -42,7 +42,7 @@ } }, "engines": { - "node": ">=20.19.0" + "node": ">=22.18.0" }, "scripts": { "build": "node -C dev ../../src/run.ts -c ../../tsdown.config.ts -F ." diff --git a/packages/migrate/package.json b/packages/migrate/package.json index 1a1dced76..09cb83547 100644 --- a/packages/migrate/package.json +++ b/packages/migrate/package.json @@ -1,7 +1,7 @@ { "name": "tsdown-migrate", "type": "module", - "version": "0.21.10", + "version": "0.22.0-beta.2", "description": "A CLI tool to help migrate your project to tsdown.", "author": "Kevin Deng ", "license": "MIT", @@ -53,7 +53,7 @@ } }, "engines": { - "node": ">=20.19.0" + "node": ">=22.18.0" }, "scripts": { "dev": "node ./src/run.ts", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 12c70728a..5ae196081 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,15 +7,15 @@ settings: catalogs: create: '@clack/prompts': - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.3.0 + version: 1.3.0 giget: specifier: ^3.2.0 version: 3.2.0 dev: '@sxzz/eslint-config': - specifier: ^7.8.4 - version: 7.8.4 + specifier: ^8.0.0 + version: 8.0.0 '@sxzz/prettier-config': specifier: ^2.3.1 version: 2.3.1 @@ -32,8 +32,8 @@ catalogs: specifier: ^7.7.1 version: 7.7.1 '@typescript/native-preview': - specifier: 7.0.0-dev.20260425.1 - version: 7.0.0-dev.20260425.1 + specifier: 7.0.0-dev.20260430.1 + version: 7.0.0-dev.20260430.1 '@vitest/coverage-v8': specifier: ^4.1.5 version: 4.1.5 @@ -41,8 +41,8 @@ catalogs: specifier: ^4.1.5 version: 4.1.5 baseline-browser-mapping: - specifier: ^2.10.22 - version: 2.10.22 + specifier: ^2.10.24 + version: 2.10.24 bumpp: specifier: ^11.0.1 version: 11.0.1 @@ -56,11 +56,11 @@ catalogs: specifier: ^4.57.2 version: 4.57.2 pkg-types: - specifier: ^2.3.0 - version: 2.3.0 + specifier: ^2.3.1 + version: 2.3.1 postcss: - specifier: ^8.5.10 - version: 8.5.10 + specifier: ^8.5.12 + version: 8.5.12 postcss-import: specifier: ^16.1.1 version: 16.1.1 @@ -76,6 +76,9 @@ catalogs: tsnapi: specifier: ^0.3.2 version: 0.3.2 + tsx: + specifier: ^4.21.0 + version: 4.21.0 typescript: specifier: ~6.0.3 version: 6.0.3 @@ -86,8 +89,11 @@ catalogs: specifier: ^0.7.0 version: 0.7.0 unplugin-vue: - specifier: ^7.1.1 - version: 7.1.1 + specifier: ^7.2.0 + version: 7.2.0 + unrun: + specifier: ^0.2.37 + version: 0.2.37 vitest: specifier: ^4.1.5 version: 4.1.5 @@ -105,8 +111,8 @@ catalogs: specifier: ^14.2.1 version: 14.2.1 oxc-minify: - specifier: ^0.127.0 - version: 0.127.0 + specifier: ^0.128.0 + version: 0.128.0 typedoc: specifier: ^0.28.19 version: 0.28.19 @@ -152,8 +158,8 @@ catalogs: specifier: ^0.18.2 version: 0.18.2 '@vitejs/devtools': - specifier: ^0.1.15 - version: 0.1.15 + specifier: ^0.1.16 + version: 0.1.16 publint: specifier: ^0.3.18 version: 0.3.18 @@ -198,14 +204,14 @@ catalogs: specifier: ^6.0.1 version: 6.0.1 rolldown-plugin-dts: - specifier: ^0.23.2 - version: 0.23.2 + specifier: ^0.24.0-beta.2 + version: 0.24.0-beta.2 semver: specifier: ^7.7.4 version: 7.7.4 tinyexec: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 tinyglobby: specifier: ^0.2.16 version: 0.2.16 @@ -215,13 +221,10 @@ catalogs: unconfig-core: specifier: ^7.5.0 version: 7.5.0 - unrun: - specifier: ^0.2.37 - version: 0.2.37 overrides: '@docsearch/react': '-' - rolldown: 1.0.0-rc.17 + rolldown: 1.0.0-rc.18 vite: ^8.0.10 importers: @@ -253,17 +256,17 @@ importers: specifier: catalog:prod version: 4.0.4 rolldown: - specifier: 1.0.0-rc.17 - version: 1.0.0-rc.17 + specifier: 1.0.0-rc.18 + version: 1.0.0-rc.18 rolldown-plugin-dts: specifier: catalog:prod - version: 0.23.2(@typescript/native-preview@7.0.0-dev.20260425.1)(rolldown@1.0.0-rc.17)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3)) + version: 0.24.0-beta.2(@typescript/native-preview@7.0.0-dev.20260430.1)(rolldown@1.0.0-rc.18)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3)) semver: specifier: catalog:prod version: 7.7.4 tinyexec: specifier: catalog:prod - version: 1.1.1 + version: 1.1.2 tinyglobby: specifier: catalog:prod version: 0.2.16 @@ -273,22 +276,19 @@ importers: unconfig-core: specifier: catalog:prod version: 7.5.0 - unrun: - specifier: catalog:prod - version: 0.2.37(synckit@0.11.12) devDependencies: '@arethetypeswrong/core': specifier: catalog:peer version: 0.18.2 '@sxzz/eslint-config': specifier: catalog:dev - version: 7.8.4(@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.0(typescript@6.0.3))(@typescript-eslint/utils@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@unocss/eslint-plugin@66.6.8(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(prettier@3.8.3)(typescript@6.0.3) + version: 8.0.0(@typescript-eslint/eslint-plugin@8.59.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/rule-tester@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.1(typescript@6.0.3))(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@unocss/eslint-plugin@66.6.8(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(prettier@3.8.3)(typescript@6.0.3) '@sxzz/prettier-config': specifier: catalog:dev version: 2.3.1 '@sxzz/test-utils': specifier: catalog:dev - version: 0.5.18(@volar/typescript@2.4.28)(@vue/language-core@3.2.7)(rolldown@1.0.0-rc.17)(typescript@6.0.3)(vitest@4.1.5) + version: 0.5.18(@volar/typescript@2.4.28)(@vue/language-core@3.2.7)(esbuild@0.27.7)(rolldown@1.0.0-rc.18)(typescript@6.0.3)(vitest@4.1.5) '@tsdown/css': specifier: workspace:* version: link:packages/css @@ -306,13 +306,13 @@ importers: version: 7.7.1 '@typescript/native-preview': specifier: catalog:dev - version: 7.0.0-dev.20260425.1 + version: 7.0.0-dev.20260430.1 '@unocss/eslint-plugin': specifier: catalog:docs version: 66.6.8(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) '@vitejs/devtools': specifier: catalog:peer - version: 0.1.15(@pnpm/logger@1001.0.1)(typescript@6.0.3)(vite@8.0.10) + version: 0.1.16(@pnpm/logger@1001.0.1)(typescript@6.0.3)(vite@8.0.10) '@vitest/coverage-v8': specifier: catalog:dev version: 4.1.5(vitest@4.1.5) @@ -324,7 +324,7 @@ importers: version: 14.2.1(vue@3.5.33(typescript@6.0.3)) baseline-browser-mapping: specifier: catalog:dev - version: 2.10.22 + version: 2.10.24 bumpp: specifier: catalog:dev version: 11.0.1 @@ -345,13 +345,13 @@ importers: version: 1.6.0 pkg-types: specifier: catalog:dev - version: 2.3.0 + version: 2.3.1 postcss: specifier: catalog:dev - version: 8.5.10 + version: 8.5.12 postcss-import: specifier: catalog:dev - version: 16.1.1(postcss@8.5.10) + version: 16.1.1(postcss@8.5.12) prettier: specifier: catalog:dev version: 3.8.3 @@ -360,13 +360,16 @@ importers: version: 0.3.18 rolldown-plugin-require-cjs: specifier: catalog:dev - version: 0.4.0(rolldown@1.0.0-rc.17) + version: 0.4.0(rolldown@1.0.0-rc.18) sass: specifier: catalog:dev version: 1.99.0 tsnapi: specifier: catalog:dev version: 0.3.2(vitest@4.1.5) + tsx: + specifier: catalog:dev + version: 4.21.0 typescript: specifier: catalog:dev version: 6.0.3 @@ -378,16 +381,19 @@ importers: version: 0.16.0 unplugin-raw: specifier: catalog:dev - version: 0.7.0 + version: 0.7.0(esbuild@0.27.7) unplugin-unused: specifier: catalog:peer version: 0.5.7 unplugin-vue: specifier: catalog:dev - version: 7.1.1(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(vue@3.5.33(typescript@6.0.3))(yaml@2.8.3) + version: 7.2.0(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(vue@3.5.33(typescript@6.0.3))(yaml@2.8.3) + unrun: + specifier: catalog:dev + version: 0.2.37(synckit@0.11.12) vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + version: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) vitest: specifier: catalog:dev version: 4.1.5(@types/node@25.6.0)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(vite@8.0.10) @@ -412,7 +418,7 @@ importers: version: 4.0.2(typescript@6.0.3) oxc-minify: specifier: catalog:docs - version: 0.127.0 + version: 0.128.0 typedoc: specifier: catalog:docs version: 0.28.19(typescript@6.0.3) @@ -424,10 +430,10 @@ importers: version: 1.1.2(typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@6.0.3))) vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + version: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) vitepress: specifier: catalog:docs - version: 2.0.0-alpha.17(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(change-case@5.4.4)(jiti@2.6.1)(oxc-minify@0.127.0)(postcss@8.5.10)(sass-embedded@1.99.0)(sass@1.99.0)(typescript@6.0.3)(yaml@2.8.3) + version: 2.0.0-alpha.17(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(change-case@5.4.4)(esbuild@0.27.7)(jiti@2.6.1)(oxc-minify@0.128.0)(postcss@8.5.12)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(typescript@6.0.3)(yaml@2.8.3) vitepress-plugin-group-icons: specifier: catalog:docs version: 1.7.5(vite@8.0.10) @@ -442,7 +448,7 @@ importers: dependencies: '@clack/prompts': specifier: catalog:create - version: 1.2.0 + version: 1.3.0 cac: specifier: catalog:prod version: 7.0.0 @@ -460,19 +466,19 @@ importers: version: 1.32.0 postcss: specifier: ^8.4.0 - version: 8.5.10 + version: 8.5.12 postcss-import: specifier: ^16.0.0 - version: 16.1.1(postcss@8.5.10) + version: 16.1.1(postcss@8.5.12) postcss-load-config: specifier: catalog:prod - version: 6.0.1(jiti@2.6.1)(postcss@8.5.10)(yaml@2.8.3) + version: 6.0.1(jiti@2.6.1)(postcss@8.5.12)(tsx@4.21.0)(yaml@2.8.3) postcss-modules: specifier: ^6.0.0 - version: 6.0.1(postcss@8.5.10) + version: 6.0.1(postcss@8.5.12) rolldown: - specifier: 1.0.0-rc.17 - version: 1.0.0-rc.17 + specifier: 1.0.0-rc.18 + version: 1.0.0-rc.18 sass: specifier: '*' version: 1.99.0 @@ -493,7 +499,7 @@ importers: version: 7.7.4 tinyexec: specifier: catalog:prod - version: 1.1.1 + version: 1.1.2 tsdown: specifier: workspace:* version: link:../.. @@ -609,6 +615,10 @@ packages: resolution: {integrity: sha512-em37/13/nR320G4jab/nIIHZgc2Wz2y/D39lxnTyxB4/D/omPQncl/lSdlnJY1OhQcRGugTSIF2l/69o31C9dA==} engines: {node: ^20.19.0 || >=22.12.0} + '@babel/generator@8.0.0-rc.4': + resolution: {integrity: sha512-YZ+FuIgkj7KrIb2a2X1XiY0QYgDxAbVbYP64SjwJzOK3euCsUerzenh2oqdsmKuPSlhzmFOOklnxzHAzXagvpw==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} @@ -617,6 +627,10 @@ packages: resolution: {integrity: sha512-AmwWFx1m8G/a5cXkxLxTiWl+YEoWuoFLUCwqMlNuWO1tqAYITQAbCRPUkyBHv1VOFgfjVOqEj6L3u15J5ZCzTA==} engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-string-parser@8.0.0-rc.4': + resolution: {integrity: sha512-dluR3v287dp6YPF57kyKKrHPKffUeuxH1zQcF1WD30TeFzWXhDiVi1U6PkqaDB0++H1PeCwRhmYl4DvoerlPIw==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} @@ -625,6 +639,10 @@ packages: resolution: {integrity: sha512-8AWCJ2VJJyDFlGBep5GpaaQ9AAaE/FjAcrqI7jyssYhtL7WGV0DOKpJsQqM037xDbpRLHXsY8TwU7zDma7coOw==} engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-validator-identifier@8.0.0-rc.4': + resolution: {integrity: sha512-HTD3bskipk5MSm08twTW6832jzIXUhxMddy4NPPzIMuyMEsrs0ZgwAaMj5ubB5+6hMlUjDu17vNconEmwsmpYg==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/parser@7.29.2': resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} engines: {node: '>=6.0.0'} @@ -635,6 +653,11 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true + '@babel/parser@8.0.0-rc.4': + resolution: {integrity: sha512-0S/1yefMa15N4i2v3t8Fw9pgMHhf2gF6Lc1UEXI96Ls6FNAjqvHHZouZ2ZS/deqLhbMFtmfVeFac6iTsvFbLwA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} @@ -643,6 +666,10 @@ packages: resolution: {integrity: sha512-mOm5ZrYmphGfqVWoH5YYMTITb3cDXsFgmvFlvkvWDMsR9X8RFnt7a0Wb6yNIdoFsiMO9WjYLq+U/FMtqIYAF8Q==} engines: {node: ^20.19.0 || >=22.12.0} + '@babel/types@8.0.0-rc.4': + resolution: {integrity: sha512-bw30DV880P/VYtsjWWdoWmJpb9S2Vn1/PqayyccTELzRQ/HslIO7+BD9rNoZ4AAFOAjC1vrNeBCkAsyh6Ibfww==} + engines: {node: ^20.19.0 || >=22.12.0} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -653,20 +680,22 @@ packages: '@bufbuild/protobuf@2.12.0': resolution: {integrity: sha512-B/XlCaFIP8LOwzo+bz5uFzATYokcwCKQcghqnlfwSmM5eX/qTkvDBnDPs+gXtX/RyjxJ4DRikECcPJbyALA8FA==} - '@clack/core@1.2.0': - resolution: {integrity: sha512-qfxof/3T3t9DPU/Rj3OmcFyZInceqj/NVtO9rwIuJqCUgh32gwPjpFQQp/ben07qKlhpwq7GzfWpST4qdJ5Drg==} + '@clack/core@1.3.0': + resolution: {integrity: sha512-xJPHpAmEQUBrXSLx0gF+q5K/IyihXpsHZcha+jB+tyahsKRK3Dxo4D0coZDewHo12NhiuzC3dTtMPbm53GEAAA==} + engines: {node: '>= 20.12.0'} - '@clack/prompts@1.2.0': - resolution: {integrity: sha512-4jmztR9fMqPMjz6H/UZXj0zEmE43ha1euENwkckKKel4XpSfokExPo5AiVStdHSAlHekz4d0CA/r45Ok1E4D3w==} + '@clack/prompts@1.3.0': + resolution: {integrity: sha512-GgcWwRCs/xPtaqlMy8qRhPnZf9vlWcWZNHAitnVQ3yk7JmSralSiq5q07yaffYE8SogtDm7zFeKccx1QNVARpw==} + engines: {node: '>= 20.12.0'} - '@docsearch/css@4.6.2': - resolution: {integrity: sha512-fH/cn8BjEEdM2nJdjNMHIvOVYupG6AIDtFVDgIZrNzdCSj4KXr9kd+hsehqsNGYjpUjObeKYKvgy/IwCb1jZYQ==} + '@docsearch/css@4.6.3': + resolution: {integrity: sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==} - '@docsearch/js@4.6.2': - resolution: {integrity: sha512-qj1yoxl3y4GKoK7+VM6fq/rQqPnvUmg3IKzJ9x0VzN14QVzdB/SG/J6VfV1BWT5RcPUFxIcVwoY1fwHM2fSRRw==} + '@docsearch/js@4.6.3': + resolution: {integrity: sha512-qUIX2b4Apew3tv4F0qhmgShsl/Lfw4m6mqv/5/5dWNxwTcDdLMp2s3YwZ+NMGh3IKCg0pBaXm7Q5VdyU5Rj+cQ==} - '@docsearch/sidepanel-js@4.6.2': - resolution: {integrity: sha512-Pni85AP/GwRj7fFg8cBJp0U04tzbueBvWSd3gysgnOsVnQVSZwSYncfErUScLE1CAtR+qocPDFjmYR9AMRNJtQ==} + '@docsearch/sidepanel-js@4.6.3': + resolution: {integrity: sha512-grGSmvXzG0if+mrzdIKykvpIAuEQ9u0sEJ2eLRRCaQfJvsWqh2C2/aY04bIzWvDh7myi5rvl8D+tUNsVrjYQ3A==} '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} @@ -695,6 +724,162 @@ packages: resolution: {integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==} engines: {node: '>=10'} + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-plugin-eslint-comments@4.7.1': resolution: {integrity: sha512-Ql2nJFwA8wUGpILYGOQaT1glPsmvEwE0d+a+l7AALLzQvInqdbXJdx7aSu0DpUX9dB1wMVBMhm99/++S3MdEtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -799,8 +984,8 @@ packages: '@iconify-json/logos@1.2.11': resolution: {integrity: sha512-fOo4pGEatuyuCFNL+cwquYMa2Im0oJHRHV7lt/Qqs5Ode/lPImHCQcfTtPzZj7qYMPb/h8YHN3TG54uEowrjNQ==} - '@iconify-json/simple-icons@1.2.79': - resolution: {integrity: sha512-aNyO7Fd1qej9oQfIyohYFRv0lhQLaZ+6UkK1c1qwax0MDPUOZOdq65MlU500kow97pD/W+b2u1And3e25eE24Q==} + '@iconify-json/simple-icons@1.2.80': + resolution: {integrity: sha512-iglncJJ6X/dVuzFDU32MrHwwo4RBwivGf108dgyYg+HKS78ifx0h7sTenpDZMVT+UhdS6CSgZcvY/SvRXlIEUg==} '@iconify-json/vscode-icons@1.2.46': resolution: {integrity: sha512-ZuLQscdXzGfUy1BtpNE74rNRjhNkcT/BLUbclQpY7aNLS2ByBuF9RzSjJQ1c0nqRyyInBFWmEL8DbTufw6w5Vw==} @@ -960,129 +1145,129 @@ packages: resolution: {integrity: sha512-XRO0zi2NIUKq2lUk3T1ecFSld1fMWRKE6naRFGkgkdeosx7IslyUKNv5Dcb5PJTja9tHJoFu0v/7yEpAkrkrTg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@oxc-minify/binding-android-arm-eabi@0.127.0': - resolution: {integrity: sha512-Nqv7JYcuQIH2faCuZWanGiMH9JDbBGXzeFg1XGX/KHDKcHP5yjWdMgDg0mKicO5Y7IfkpqZgGrsRAA7tnuhgSQ==} + '@oxc-minify/binding-android-arm-eabi@0.128.0': + resolution: {integrity: sha512-EwdDhZLRmXxSnfy0v9gdOru7TutM8ItRg1Xv8e2B4boWMnHlFCIH38JfwgQnenbkF8SVTwVJtDCkmwEzN4q3xA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxc-minify/binding-android-arm64@0.127.0': - resolution: {integrity: sha512-iCszKlx3On+e8occoIpvwFPPfqsb8lZBIpUUMWXiTq+7kT89eJbiT4YPT7v+R6RACKnyyyvtJGRjdXhEFm9Mhg==} + '@oxc-minify/binding-android-arm64@0.128.0': + resolution: {integrity: sha512-kwJ8YxWTzty8hD36jXxKiB+Po/ecmHZvT1xAYklkATbr0A4NUqV32sV+3Wfm8TecdA6jX34/mc+4CKK2+Hha2Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-minify/binding-darwin-arm64@0.127.0': - resolution: {integrity: sha512-WyrwCZh7ALq3G1ZEvODm+kDAaiBoxSUy7jsu42enGdetN/+kHPrURox1553iJRMmx2phZbpU9GNlkLQfMOR9gQ==} + '@oxc-minify/binding-darwin-arm64@0.128.0': + resolution: {integrity: sha512-WBV8j5EZ7/3rvFbiJ8LxowmobR/XH+l2iRzkE7zRYLD5VC+TvZayYGrVGGDXQvXm6cGED0B1NweByTmeT4lpGQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.127.0': - resolution: {integrity: sha512-Zkuxqu43BI5+t86kpaAOqfRwv64OwDAYFMijiOsPB9XAxTaebigIyZmzL2yy7DSgNdwVsLnHNrlotFDw+LFsZw==} + '@oxc-minify/binding-darwin-x64@0.128.0': + resolution: {integrity: sha512-U4k1CSBsY1uf6yHE+vCNJp0mHzjsUUXgOZXMyhRN3sE2ovBDT9Gl8oACmLWPjg0R68jwP+1vhnNPsSqpTEOycg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.127.0': - resolution: {integrity: sha512-3tyfvXfNJ5NP3vsaM5PnOmnAR7dWM6Qivsnxrrfqx29VxZu99l+08dAAarnyyY+DXkw4qlPLxiygF26S9gqO5w==} + '@oxc-minify/binding-freebsd-x64@0.128.0': + resolution: {integrity: sha512-NT1GtcWpX4sOuU5dMdSNpdXJRpk9BGAHHnKc42IUId8E+jEhZUrg9vqIRIlspZG5O9Y7FjO2r6GBK93bpyIIUg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.127.0': - resolution: {integrity: sha512-SvnlsgSzITSXYxqCRLC+sljje7s+bOvoblGVb6eVmtOYbDiYyNMv7n8IgKSSKNZpU/vv5qgfv/fSAHKQm/O+yA==} + '@oxc-minify/binding-linux-arm-gnueabihf@0.128.0': + resolution: {integrity: sha512-OskPMYMH2KtkqvRMULF2/+55hFo/qmRz2p/g7Cp7XNiqdjZ/DvQDiVbME63rVoX3dYjgS15DolGbo54mHTyA9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm-musleabihf@0.127.0': - resolution: {integrity: sha512-RB/g7T3oiibYwpPueO4bfGGwtzHZ6bq5AjoStKCeeo9q2B1iC3kftu/hKi0A+6iFgSiAWi7SfEUV6D9Nx4VLpw==} + '@oxc-minify/binding-linux-arm-musleabihf@0.128.0': + resolution: {integrity: sha512-fKUY7Y1vb8CYlGnS5FzqTeeM5zQz1Fleyaqz/T9iNHYAYNJ0Os9iT0rACLfAVCQKP9yOqPSwZ80xgZdVVGD61w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.127.0': - resolution: {integrity: sha512-Y1NcLMUWgJ4dH1oryOt/hstvjsYaIk5eePbNOFbkwInvCzguth2jaG6zO0kj74x3UjYyjj1kbWsUQQDflo4gbw==} + '@oxc-minify/binding-linux-arm64-gnu@0.128.0': + resolution: {integrity: sha512-T+CQQZ3BoWY/TxQk9LZsXZYj3madR/5tCErV6wzphTYZJfVjvKmQxnxMaT+TKE40Jha6+iGgwzxwcYWJfltULQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-arm64-musl@0.127.0': - resolution: {integrity: sha512-EVMGYld+Ca+NeaLymrnWo3rvbNVti9wqqvsnFZLPhrRpd5sL9GFLEUffg8En4GDl6CwtILJspoOVFL/mNDgbWQ==} + '@oxc-minify/binding-linux-arm64-musl@0.128.0': + resolution: {integrity: sha512-F6RkJ90S1Xt25Mk7/wPUmddsE4RZ7Nei+HlEa2FAjfhpoaTciOwV6E/Gtp7wPIYbwft7UfhMYwuEuZiZQytVWw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-minify/binding-linux-ppc64-gnu@0.127.0': - resolution: {integrity: sha512-gRAfy9iqrI2QP6j9XV40iCyelHdY59cYWE0cPn9N/bEBvVTYSks3tacxCZoVb+YsxuoYvag8JyVAaxujBK+j2Q==} + '@oxc-minify/binding-linux-ppc64-gnu@0.128.0': + resolution: {integrity: sha512-0HP2FBGMlquLjShIIJvS4cebc6sdRRYL04GtxVpg96MtpejrkHYI2gQWcezsTUaGgg+eNRsuv2tdZPENu5+iWA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-riscv64-gnu@0.127.0': - resolution: {integrity: sha512-3C1Oqslf10gFzuaBW5K63Vs72JNeSTFCRpbZKSFkd9F5xrNvtAAowhNEUv6dbetoM0DbsKxwH/1r8mrjyLUK0Q==} + '@oxc-minify/binding-linux-riscv64-gnu@0.128.0': + resolution: {integrity: sha512-2j6Bd340IZqZbu4KUI28z87Ao9aHhq56HH1Qz5/+EdE732ajFYIoDF3z+QcxHXY0CFOG/Ur1ZOKTBEIWQ6BYIw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-riscv64-musl@0.127.0': - resolution: {integrity: sha512-mKuBqbHLZIpiodCpfviUfGkz+xXfLZKL9/GXGuhWDIH6ICbxNmesuD94yB/DTAvqF7Kt0SuV3GeM7Hf+sT2rQQ==} + '@oxc-minify/binding-linux-riscv64-musl@0.128.0': + resolution: {integrity: sha512-z5HSppdxNwB6//3Eo7mDWbTrLeyuTKvL/iLXaKEgocrJg1MhZLbRR7P5ore9gKvS4lF4EtEpA24xzilFxQK0iw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-minify/binding-linux-s390x-gnu@0.127.0': - resolution: {integrity: sha512-MaciI97IVhGD1AVM5yB+jyEoJSk4bg2qu3g5qHQc/dYKgMFx1Wb7GHrTXLYY8cyjTpu2lOKVenoQANAGazuplg==} + '@oxc-minify/binding-linux-s390x-gnu@0.128.0': + resolution: {integrity: sha512-9rxYqH7P8NiYqRlLxlnNjJSF8BYADOmihM5ZHVkmlE4tqjHkoLNevdAyAP2ZBkL8QJflm1WGOXFWmFnWA54EvA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-x64-gnu@0.127.0': - resolution: {integrity: sha512-c8GW3zLzfIbx+k5V0ZO1cqq+LDoLnRlTHf5qWbXLYu+SXgLpnjjK9ig7pMCa1fFnKj29sJRcMP85q0/PxGmGGA==} + '@oxc-minify/binding-linux-x64-gnu@0.128.0': + resolution: {integrity: sha512-sy5+4Oamw6Ly5gUNUIDQ7346Lryt7AhqjKhOtWl5dzYZnTIwwoI0V2DeIl3bR/vU8D629ZMYQOqhquRtSyBUOA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-x64-musl@0.127.0': - resolution: {integrity: sha512-bHPjgV3TTfplFVXqgaaEZBtOeyqkuEE+OztqHl4AZ5FUuNwPTjCbn0ir/TsiBuy1F1o5Q4b/UJ86WojFO0qYCQ==} + '@oxc-minify/binding-linux-x64-musl@0.128.0': + resolution: {integrity: sha512-59Cxvjppy09TsaB15gr6rA9Bf87rm9t0bD1EW9dCZsdxWElnAC+TvWZ7v9dFUIeYeZUkhAAMPtpdqa3Y9CI2zA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-minify/binding-openharmony-arm64@0.127.0': - resolution: {integrity: sha512-o7G4W7w32BQrfyc1wEMak0ROu4IdSsfYpnU5woAz3jkXvEEAPJtjFydt8ZdLBwo+QY9zrt6gi6s+e0P6DZOCeQ==} + '@oxc-minify/binding-openharmony-arm64@0.128.0': + resolution: {integrity: sha512-XGa03zmiYpD7Kf1aXy6vjgkjfaCR90qH0TzGplnUXo6FF6gNe6sH9Zgneo9kxOyYt8CKKzXYD4VudT/nDTXq8Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxc-minify/binding-wasm32-wasi@0.127.0': - resolution: {integrity: sha512-RaVzU86yyUaRIGNPx+8uNZHy7rUWAA5cpdNSsln9Iu9pQrLZkmAlG6SvbEt6hy9OJ+YCQSqcmrIz3bbwhUXCOA==} + '@oxc-minify/binding-wasm32-wasi@0.128.0': + resolution: {integrity: sha512-W+fK3cWhu/cUgx3NIAmDYcAyJs01aULlr3E3n/ZN79Q1/CX+FS+yWfwt/IysIi4FhpVL7z58azbJHDzhEx4X4g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.127.0': - resolution: {integrity: sha512-hKck5qLZAYu6ELCfqBI5ZPak3BI3BYSGurQtAwEhQlc65hp0yABOFkC/bWVXE+ZadfqwtL/Q1hwuAmTzB6YIPw==} + '@oxc-minify/binding-win32-arm64-msvc@0.128.0': + resolution: {integrity: sha512-pwMZd27FF+j4tHLYKtu4QBl6KI0gkt6xTNGLffs8VlH5vfDPHUvLo/AS6y66tdEjQ3chhs8OGg1mAFhPoQldDw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-ia32-msvc@0.127.0': - resolution: {integrity: sha512-bnfY+upjKaALeAYB5+r3WY62qW2vYT0hPU8DNYaqZTw5TMJrNlBk6VU4cvY00pelMdKcARAJznDyQ3KOx8/8HQ==} + '@oxc-minify/binding-win32-ia32-msvc@0.128.0': + resolution: {integrity: sha512-GskPdx/Fsn3ttkJbzxh51LYhla4N4p1sMufJKgf6PHupt5RukBaHI/GKM/2ni6ObxUI0b9UK37fROdV+5ekpMQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.127.0': - resolution: {integrity: sha512-hWyUPJ4QxHdMc7fwLY9IZMrppZ1IDLYJ9LdTH4kVpen76jyl48hqIDtbSF4Ci6rZYAmj5p9Rq+bjwZ3J+cw+HQ==} + '@oxc-minify/binding-win32-x64-msvc@0.128.0': + resolution: {integrity: sha512-m8oakspZCbCod3WuY0U9DvwQlhMYaU31bK+Way1Rb+JGs455WLtkebEie/luSuN5DeF+aZyRH/zt1AY4weKQQg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1477,8 +1662,8 @@ packages: '@oxc-project/types@0.126.0': resolution: {integrity: sha512-oGfVtjAgwQVVpfBrbtk4e1XDyWHRFta6BS3GWVzrF8xYBT2VGQAk39yJS/wFSMrZqoiCU4oghT3Ch0HaHGIHcQ==} - '@oxc-project/types@0.127.0': - resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} + '@oxc-project/types@0.128.0': + resolution: {integrity: sha512-huv1Y/LzBJkBVHt3OlC7u0zHBW9qXf1FdD7sGmc1rXc2P1mTwHssYv7jyGx5KAACSCH+9B3Bhn6Z9luHRvf7pQ==} '@parcel/watcher-android-arm64@2.5.6': resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} @@ -1636,109 +1821,109 @@ packages: '@quansync/fs@1.0.0': resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} - '@rolldown/binding-android-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==} + '@rolldown/binding-android-arm64@1.0.0-rc.18': + resolution: {integrity: sha512-lIDyUAfD7U3+BWKzdxMbJcsYHuqXqmGz40aeRqvuAm3y5TkJSYTBW2RDrn65DJFPQqVjUAUqq5uz8urzQ8aBdQ==} 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==} + '@rolldown/binding-darwin-arm64@1.0.0-rc.18': + resolution: {integrity: sha512-apJq2ktnGp27nSInMR5Vcj8kY6xJzDAvfdIFlpDcAK/w4cDO58qVoi1YQsES/SKiFNge/6e4CUzgjfHduYqWpQ==} 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==} + '@rolldown/binding-darwin-x64@1.0.0-rc.18': + resolution: {integrity: sha512-5Ofot8xbs+pxRHJqm9/9N/4sTQOvdrwEsmPE9pdLEEoAbdZtG6F2LMDfO1sp6ZAtXJuJV/21ew2srq3W8NXB5g==} 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==} + '@rolldown/binding-freebsd-x64@1.0.0-rc.18': + resolution: {integrity: sha512-7h8eeOTT1eyqJyx64BFCnWZpNm486hGWt2sqeLLgDxA0xI1oGZ9H7gK1S85uNGmBhkdPwa/6reTxfFFKvIsebw==} 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==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.18': + resolution: {integrity: sha512-eRcm/HVt9U/JFu5RKAEKwGQYtDCKWLiaH6wOnsSEp6NMBb/3Os8LgHZlNyzMpFVNmiiMFlfb2zEnebfzJrHFmg==} 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==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.18': + resolution: {integrity: sha512-SOrT/cT4ukTmgnrEz/Hg3m7LBnuCLW9psDeMKrimRWY4I8DmnO7Lco8W2vtqPmMkbVu8iJ+g4GFLVLLOVjJ9DQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': - resolution: {integrity: sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==} + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.18': + resolution: {integrity: sha512-QWjdxN1HJCpBTAcZ5N5F7wju3gVPzRzSpmGzx7na0c/1qpN9CFil+xt+l9lV/1M6/gqHSNXCiqPfwhVJPeLnug==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==} + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18': + resolution: {integrity: sha512-ugCOyj7a4d9h3q9B+wXmf6g3a68UsjGh6dob5DHevHGMwDUbhsYNbSPxJsENcIttJZ9jv7qGM2UesLw5jqIhdg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==} + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18': + resolution: {integrity: sha512-kKWRhbsotpXkGbcd5dllUWg5gEXcDAa8u5YnP9AV5DYNbvJHGzzuwv7dpmhc8NqKMJldl0a+x76IHbspEpEmdA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==} + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.18': + resolution: {integrity: sha512-uCo8ElcCIAMyYAZyuIZ81oFkhTSIllNvUCHCAlbhlN4ji3uC28h7IIdlXyIvGO7HsuqnV9p3rD/bpH7XhIyhRw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': - resolution: {integrity: sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==} + '@rolldown/binding-linux-x64-musl@1.0.0-rc.18': + resolution: {integrity: sha512-XNOQZtuE6yUIvx4rwGemwh8kpL1xvU41FXy/s9K7T/3JVcqGzo3NfKM2HrbrGgfPYGFW42f07Wk++aOC6B9NWA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==} + '@rolldown/binding-openharmony-arm64@1.0.0-rc.18': + resolution: {integrity: sha512-tSn/kzrfa7tNOXr7sEacDBN4YsIqTyLqh45IO0nHDwtpKIDNDJr+VFojt+4klSpChxB29JLyduSsE0MKEwa65A==} 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==} + '@rolldown/binding-wasm32-wasi@1.0.0-rc.18': + resolution: {integrity: sha512-+J9YGmc+czgqlhYmwun3S3O0FIZhsH8ep2456xwjAdIOmuJxM7xz4P4PtrxU+Bz17a/5bqPA8o3HAAoX0teUdg==} 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==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.18': + resolution: {integrity: sha512-zsu47DgU0FQzSwi6sU9dZoEdUv7pc1AptSEz/Z8HBg54sV0Pbs3N0+CrIbTsgiu6EyoaNN9CHboqbLaz9lhOyQ==} 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==} + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.18': + resolution: {integrity: sha512-7H+3yqGgmnlDTRRhw/xpYY9J1kf4GC681nVc4GqKhExZTDrVVrV2tsOR9kso0fvgBdcTCcQShx4SLLoHgaLwhg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/debug@1.0.0-rc.17': - resolution: {integrity: sha512-4ZPkkHYar4T6+nG0UII9nVCaAqjnKp2fVkk5JqHzS27mOpsf2fs0COeX4yDMLEPj2S60B7QoGEk1b4kGhCgb3A==} + '@rolldown/debug@1.0.0-rc.18': + resolution: {integrity: sha512-TpVI38fXLiuQhkfQaj4Lh0bFzj9tsaPR5vtK3r+ouWgWhNCsr5tjyKvhGmtcp+PoS7l5gad5il6F4prYatLPQA==} '@rolldown/pluginutils@1.0.0-rc.13': resolution: {integrity: sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==} - '@rolldown/pluginutils@1.0.0-rc.17': - resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==} + '@rolldown/pluginutils@1.0.0-rc.18': + resolution: {integrity: sha512-CUY5Mnhe64xQBGZEEXQ5WyZwsc1JU3vAZLIxtrsBt3LO6UOb+C8GunVKqe9sT8NeWb4lqSaoJtp2xo6GxT1MNw==} '@shikijs/core@3.23.0': resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==} @@ -1809,9 +1994,9 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@sxzz/eslint-config@7.8.4': - resolution: {integrity: sha512-54DGJBv+PMYU7I0baupvwibijMjOhm6u1zGWgB/Ubxfm7Evn4zF2zbr27jWJF2Z8mHDPH0QfqGRTH6VeM5j4Ag==} - engines: {node: '>=20.19.0'} + '@sxzz/eslint-config@8.0.0': + resolution: {integrity: sha512-FYosu5uBhRNlfHJ1nKVhpgZQjl4Rcnx0C11MND7wnV+zzwo7VbwhWx+h2aBxu2aGQzXU7sZjO9wqGx/JG2IU/w==} + engines: {node: ^22.18.0 || >=24.0.0} peerDependencies: '@unocss/eslint-plugin': '>=65.0.0' eslint: ^9.5.0 || ^10.0.0 @@ -1838,7 +2023,7 @@ packages: '@volar/typescript': '*' '@vue/language-core': ^3.1.0 esbuild: '>=0.20.0' - rolldown: 1.0.0-rc.17 + rolldown: 1.0.0-rc.18 rollup: ^4.1.0 typescript: ^5.8.0 || ^6.0.0 vitest: ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -1918,115 +2103,115 @@ packages: '@types/web-bluetooth@0.0.21': resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} - '@typescript-eslint/eslint-plugin@8.59.0': - resolution: {integrity: sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==} + '@typescript-eslint/eslint-plugin@8.59.1': + resolution: {integrity: sha512-BOziFIfE+6osHO9FoJG4zjoHUcvI7fTNBSpdAwrNH0/TLvzjsk2oo8XSSOT2HhqUyhZPfHv4UOffoJ9oEEQ7Ag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.59.0 + '@typescript-eslint/parser': ^8.59.1 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.59.0': - resolution: {integrity: sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==} + '@typescript-eslint/parser@8.59.1': + resolution: {integrity: sha512-HDQH9O/47Dxi1ceDhBXdaldtf/WV9yRYMjbjCuNk3qnaTD564qwv61Y7+gTxwxRKzSrgO5uhtw584igXVuuZkA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.59.0': - resolution: {integrity: sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==} + '@typescript-eslint/project-service@8.59.1': + resolution: {integrity: sha512-+MuHQlHiEr00Of/IQbE/MmEoi44znZHbR/Pz7Opq4HryUOlRi+/44dro9Ycy8Fyo+/024IWtw8m4JUMCGTYxDg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/rule-tester@8.59.0': - resolution: {integrity: sha512-2Ej6W28DqObFuEUQ+puEpDZFWFXAW7jIZ4TsgfLUCTNz1FID0NMfp1sXc+fQq8m5ysfPdhXAPjti6jYEu1oRcg==} + '@typescript-eslint/rule-tester@8.59.1': + resolution: {integrity: sha512-VAlTRylRP+zh2jepYylwEllQSI8yP0QWQqUKc3xcPbuSlnDeC0CjbpWAOp5CrqfGl9ZMGw74BjZnutb7mILOzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - '@typescript-eslint/scope-manager@8.59.0': - resolution: {integrity: sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==} + '@typescript-eslint/scope-manager@8.59.1': + resolution: {integrity: sha512-LwuHQI4pDOYVKvmH2dkaJo6YZCSgouVgnS/z7yBPKBMvgtBvyLqiLy9Z6b7+m/TRcX1NFYUqZetI5Y+aT4GEfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.59.0': - resolution: {integrity: sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==} + '@typescript-eslint/tsconfig-utils@8.59.1': + resolution: {integrity: sha512-/0nEyPbX7gRsk0Uwfe4ALwwgxuA66d/l2mhRDNlAvaj4U3juhUtJNq0DsY8M2AYwwb9rEq2hrC3IcIcEt++iJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.59.0': - resolution: {integrity: sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==} + '@typescript-eslint/type-utils@8.59.1': + resolution: {integrity: sha512-klWPBR2ciQHS3f++ug/mVnWKPjBUo7icEL3FAO1lhAR1Z1i5NQYZ1EannMSRYcq5qCv5wNALlXr6fksRHyYl7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.59.0': - resolution: {integrity: sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==} + '@typescript-eslint/types@8.59.1': + resolution: {integrity: sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.59.0': - resolution: {integrity: sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==} + '@typescript-eslint/typescript-estree@8.59.1': + resolution: {integrity: sha512-OUd+vJS05sSkOip+BkZ/2NS8RMxrAAJemsC6vU3kmfLyeaJT0TftHkV9mcx2107MmsBVXXexhVu4F0TZXyMl4g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.59.0': - resolution: {integrity: sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==} + '@typescript-eslint/utils@8.59.1': + resolution: {integrity: sha512-3pIeoXhCeYH9FSCBI8P3iNwJlGuzPlYKkTlen2O9T1DSeeg8UG8jstq6BLk+Mda0qup7mgk4z4XL4OzRaxZ8LA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.59.0': - resolution: {integrity: sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==} + '@typescript-eslint/visitor-keys@8.59.1': + resolution: {integrity: sha512-LdDNl6C5iJExcM0Yh0PwAIBb9PrSiCsWamF/JyEZawm3kFDnRoaq3LGE4bpyRao/fWeGKKyw7icx0YxrLFC5Cg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-vM7O+PlxHRUT4Dv0VkxEmU3N2uyWeSFrhu57O7s3SE9TX1ENljwQlCFG0oQdBGLBRo+SZSoedxKL5jOGlD1eiw==} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260430.1': + resolution: {integrity: sha512-1Rk5JoMlmlF4GzeNxQmpaZSSPFa056DCrGLjhXwVIqRf8+pGNKKxyD2ugGSyOeLShqYb1XUoE9LhsAhdh1xgSA==} engines: {node: '>=16.20.0'} cpu: [arm64] os: [darwin] - '@typescript/native-preview-darwin-x64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-EiikklZSuEvMhZEeN0VRb0vmedhLgtKwz5p4Oz9e8hlJ4lLrslgvX7Z7JWb2YSKlhm14dUlRMvdoe+6t+56rSA==} + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260430.1': + resolution: {integrity: sha512-wjXJtELfI0QIYxGCqqKMR3DonPUlMP4aWOYRPiN5ylDtdV+OqCC16zvH7C+No7xvlf8dDxlV1ZTyuRCWL6CQmw==} engines: {node: '>=16.20.0'} cpu: [x64] os: [darwin] - '@typescript/native-preview-linux-arm64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-5KJ++prl1dscJtxnkE7Cb6rjud4T3nO4mcnKhkCfYcQaFtFrvcZhBtDobwcpSzHbfsW0MeM+QCy1UfWoK4gjUQ==} + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260430.1': + resolution: {integrity: sha512-PeCFDB1glivpkqqKsQJ1RrM4f5B1yXzXFF+eKwgEZ+evcQ3N+BgeR7BpuRhOpHU9ixJchKjU1bXgcHOAaM+Rkw==} engines: {node: '>=16.20.0'} cpu: [arm64] os: [linux] - '@typescript/native-preview-linux-arm@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-9eWInaHqhfTu1Mt/1M85p5M+HlSStahAQkqYaW9rJzUWRe+AcVUKsN6I7U7iwxbkCT8gFZsMCRqABcwBUWw3kg==} + '@typescript/native-preview-linux-arm@7.0.0-dev.20260430.1': + resolution: {integrity: sha512-3eqYkqy1XpbIJC1XkGbkwAvTtSCw6dSjYzJaw9bvow4fS1totTFZP/2K9ecXQ3gIZaPS4Ome/SpkZHl1cy9eZA==} engines: {node: '>=16.20.0'} cpu: [arm] os: [linux] - '@typescript/native-preview-linux-x64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-a/E/8UL2x6nWmIJwrrbEvLz938RMcrFfm5hLRKaPMjCE32bgwesBZEG5jRn8fzQes+4HICRXKEaL544jtb/Syg==} + '@typescript/native-preview-linux-x64@7.0.0-dev.20260430.1': + resolution: {integrity: sha512-Eg7nbRV57ayq0Pjuott/36UbQlVlpz2YRVLM5h8RyXx6SwvgrdYxNv/1zULLB0UlWdyKkK3bXILmR8YmNvbl+g==} engines: {node: '>=16.20.0'} cpu: [x64] os: [linux] - '@typescript/native-preview-win32-arm64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-BZ7jEnaNZHkHbq9LWuqqIgYMmMb2E2NReMybjOyl3ASFmJHYekDnytXIT3Zbp4dyPLJV55faGzLqMw2MMS81NA==} + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260430.1': + resolution: {integrity: sha512-0LAjufJKUZnHmp0bxlndjphDQlIeUXA0czZCrKENtKySeGMXrM9PAFtSx94ldWVXDTZ9ZP1r+FxbIvP9pRORzA==} engines: {node: '>=16.20.0'} cpu: [arm64] os: [win32] - '@typescript/native-preview-win32-x64@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-/iwK50mO31lKr1KVDRCqW5xGyKArZuq9jQr2b/PJ3e0xEuV6hoJ4Kok11LA1lhx1uctqr3UXKmfwQF3HWqcZTQ==} + '@typescript/native-preview-win32-x64@7.0.0-dev.20260430.1': + resolution: {integrity: sha512-FvLWX7d3b/IhL0656tnjep7dOMnI7CPrg+5oI1MKIY74qgvR+8VRo6aGj0IRCwtAJeklpxBpljEcIGuS5Yc/pQ==} engines: {node: '>=16.20.0'} cpu: [x64] os: [win32] - '@typescript/native-preview@7.0.0-dev.20260425.1': - resolution: {integrity: sha512-qhSVDT9DsoKPBeEm777eUUkiCDjBFlF7wwjfMvcPctZFVHfD6b1O1icpfCdQHPqzjrSXWu2YaNiY0DXbljTmgw==} + '@typescript/native-preview@7.0.0-dev.20260430.1': + resolution: {integrity: sha512-HHk3tPpzPKqHY4AHMxGK6i960Dd1kIvnSnT3mzD1hNO/sUVG2YdWvWBIActGkRnKS94AZBpekOr1bQP7O2OwIg==} engines: {node: '>=16.20.0'} hasBin: true @@ -2111,19 +2296,21 @@ packages: peerDependencies: vite: ^8.0.10 - '@vitejs/devtools-kit@0.1.15': - resolution: {integrity: sha512-6OCgoAW7HeJFMpxiNqIZLoBtG+jGTwXBwNgmxPi2KT77nCFUUvnDHrXSOZ8ErmQ7WdrDPLnUeBq/TWyi9xdAyA==} + '@valibot/to-json-schema@1.6.0': + resolution: {integrity: sha512-d6rYyK5KVa2XdqamWgZ4/Nr+cXhxjy7lmpe6Iajw15J/jmU+gyxl2IEd1Otg1d7Rl3gOQL5reulnSypzBtYy1A==} peerDependencies: - vite: ^8.0.10 + valibot: ^1.3.0 - '@vitejs/devtools-rolldown@0.1.15': - resolution: {integrity: sha512-PYojc9gQrd9bszNv+t20ocDG1zcrdryPA9XyxlZOO9EHbz+W50IW+22y+9+u8cat39cHsYuuChF6WqOYrM5hpg==} + '@vitejs/devtools-kit@0.1.16': + resolution: {integrity: sha512-NUcR5+3y7w5ZKt470guvOThDx/0SN9rQgfHKaI0FmJ9wuunUwSaYM170G/YeJeFZGqlJm3Dkaytk5dm9jgxXHg==} + peerDependencies: + vite: ^8.0.10 - '@vitejs/devtools-rpc@0.1.15': - resolution: {integrity: sha512-pHDz3bcK0dlpLzI2ve2Xwnnx6iSASRMuEFJDbe64LAZJPVCBW/Pb0IeEpodI58O9xVpB0EBZykZftz8/oTeVtQ==} + '@vitejs/devtools-rolldown@0.1.16': + resolution: {integrity: sha512-LQPHxv9YLBthKLpDbXymkpAzRqMYStXXusIBGPkJVUsAi4lTcmwd/6beLvuEEBEyifiPHBEhV653VZZ2f7UjwQ==} - '@vitejs/devtools@0.1.15': - resolution: {integrity: sha512-LKE2HgsRMR25ordyXEjXCILO/IOrtHDzBc4Vzfg+ntvR8lF09I0XIX73GS7LQHO+Bzfpb0m3PrgnyThyaa2J0Q==} + '@vitejs/devtools@0.1.16': + resolution: {integrity: sha512-qpT9hZMEtpK/YFdE+MHIE4pAfONIV8b4GjU9FWzEBAEsp88ajdTXCmDK/bOw2hZq06bNPSW6P/tEahXVQtmVWA==} hasBin: true peerDependencies: vite: ^8.0.10 @@ -2346,8 +2533,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.22: - resolution: {integrity: sha512-6qruVrb5rse6WylFkU0FhBKKGuecWseqdpQfhkawn6ztyk2QlfwSRjsDxMCLJrkfmfN21qvhl9ABgaMeRkuwww==} + baseline-browser-mapping@2.10.24: + resolution: {integrity: sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==} engines: {node: '>=6.0.0'} hasBin: true @@ -2357,8 +2544,8 @@ packages: birpc@4.0.0: resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} - bole@5.0.28: - resolution: {integrity: sha512-l+yybyZLV7zTD6EuGxoXsilpER1ctMCpdOqjSYNigJJma39ha85fzCtYccPx06oR1u7uCQLOcUAFFzvfXVBmuQ==} + bole@5.0.29: + resolution: {integrity: sha512-eYR9i2ubLv5/4TFGyZsQ1cVH4jF9+qLJA72Aow+E7ZZQfqHqQNUZeX3w+pVWF76PQyjl5eDKf2xylyOOX76ozA==} boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -2389,8 +2576,8 @@ packages: resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} engines: {node: '>=20.19.0'} - caniuse-lite@1.0.30001790: - resolution: {integrity: sha512-bOoxfJPyYo+ds6W0YfptaCWbFnJYjh2Y1Eow5lRv+vI2u8ganPZqNm1JwNh0t2ELQCqIWg4B3dWEusgAmsoyOw==} + caniuse-lite@1.0.30001791: + resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2560,6 +2747,20 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} + devframe@0.1.16: + resolution: {integrity: sha512-fcGQzigWNHzGnjeuOvLOlusQ+SWm+wsGNGF9I1lGEw2ohV/1TKhY94cKebIeEDTndxDRXdRhtOAhMyVfhU5Cbw==} + peerDependencies: + '@modelcontextprotocol/sdk': ^1.0.0 + '@nuxt/kit': ^3.0.0 || ^4.0.0 + launch-editor: ^2.0.0 + peerDependenciesMeta: + '@modelcontextprotocol/sdk': + optional: true + '@nuxt/kit': + optional: true + launch-editor: + optional: true + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -2615,6 +2816,11 @@ packages: es-module-lexer@2.1.0: resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -2760,8 +2966,8 @@ packages: peerDependencies: eslint: ^9.15.0 || ^10.0.0 - eslint-plugin-unicorn@63.0.0: - resolution: {integrity: sha512-Iqecl9118uQEXYh7adylgEmGfkn5es3/mlQTLLkd4pXkIk9CTGrAbeUux+YljSa2ohXCBmQQ0+Ej1kZaFgcfkA==} + eslint-plugin-unicorn@64.0.0: + resolution: {integrity: sha512-rNZwalHh8i0UfPlhNwg5BTUO1CMdKNmjqe+TgzOTZnpKoi8VBgsW7u9qCHIdpxEzZ1uwrJrPF0uRb7l//K38gA==} engines: {node: ^20.10.0 || >=21.0.0} peerDependencies: eslint: '>=9.38.0' @@ -2883,14 +3089,14 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-string-truncated-width@1.2.1: - resolution: {integrity: sha512-Q9acT/+Uu3GwGj+5w/zsGuQjh9O1TyywhIwAxHudtWrgF09nHOPrvTLhQevPbttcxjr/SNN7mJmfOw/B1bXgow==} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} - fast-string-width@1.1.0: - resolution: {integrity: sha512-O3fwIVIH5gKB38QNbdg+3760ZmGz0SZMgvwJbA1b2TGXceKE6A2cOlfogh1iw8lr049zPyd7YADHy+B7U4W9bQ==} + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} - fast-wrap-ansi@0.1.6: - resolution: {integrity: sha512-HlUwET7a5gqjURj70D5jl7aC3Zmy4weA1SHUfM0JFI0Ptq987NH2TwbBFLoERhfwk+E+eaq4EK3jXoT+R3yp3w==} + fast-wrap-ansi@0.2.0: + resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==} fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} @@ -2966,6 +3172,10 @@ packages: get-tsconfig@4.14.0: resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + get-tsconfig@5.0.0-beta.5: + resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} + engines: {node: '>=20.20.0'} + giget@3.2.0: resolution: {integrity: sha512-GvHTWcykIR/fP8cj8dMpuMMkvaeJfPvYnhq0oW+chSeIr+ldX21ifU2Ms6KBoyKZQZmVaUAAhQ2EZ68KJF8a7A==} hasBin: true @@ -2987,10 +3197,6 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@16.5.0: - resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} - engines: {node: '>=18'} - globals@17.5.0: resolution: {integrity: sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==} engines: {node: '>=18'} @@ -3532,9 +3738,6 @@ packages: minisearch@7.2.0: resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==} - mitt@2.1.0: - resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} - mlly@1.8.2: resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} @@ -3609,8 +3812,8 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxc-minify@0.127.0: - resolution: {integrity: sha512-wrimObw3SzDvKccmPezJ3EAYXg3QVwuBZ54RJZ5YcKbwJ3NAl+QB2034Yvawo3m4CidE7D7soFD5/NIqKA1IOQ==} + oxc-minify@0.128.0: + resolution: {integrity: sha512-VIXQO2W886aB+N17yV55Sack6aCpbUqtuNAYhNcPV6dFiWIZ5+kwOjvvw36igWwoljfjWhasu99CQ5wtvPJDYg==} engines: {node: ^20.19.0 || >=22.12.0} oxc-parser@0.124.0: @@ -3696,8 +3899,8 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.3.0: - resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + pkg-types@2.3.1: + resolution: {integrity: sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==} pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} @@ -3766,8 +3969,8 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.10: - resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} + postcss@8.5.12: + resolution: {integrity: sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==} engines: {node: ^10 || ^12 || >=14} powershell-utils@0.1.0: @@ -3881,14 +4084,14 @@ packages: engines: {node: '>= 0.4'} hasBin: true - rolldown-plugin-dts@0.23.2: - resolution: {integrity: sha512-PbSqLawLgZBGcOGT3yqWBGn4cX+wh2nt5FuBGdcMHyOhoukmjbhYAl8NT9sE4U38Cm9tqLOIQeOrvzeayM0DLQ==} - engines: {node: '>=20.19.0'} + rolldown-plugin-dts@0.24.0-beta.2: + resolution: {integrity: sha512-qTvQA3IPvpgiCWPG68+qtEkS4W8XbipKN4Y8VEB7mnBoinX3/gCMkOSHUjZD4ixd+z9WZgkqrtDN9mF4k2N2Vw==} + engines: {node: '>=22.18.0'} peerDependencies: '@ts-macro/tsc': ^0.3.6 '@typescript/native-preview': '>=7.0.0-dev.20260325.1' - rolldown: 1.0.0-rc.17 - typescript: ^5.0.0 || ^6.0.0 + rolldown: 1.0.0-rc.18 + typescript: ^6.0.0 vue-tsc: ~3.2.0 peerDependenciesMeta: '@ts-macro/tsc': @@ -3904,10 +4107,10 @@ packages: resolution: {integrity: sha512-ZG2oKzLHyTSZL9HeUSf/zUlb9IjcgKBJZTCgYsnBhVWkzHtXj1uzi1pv2qmpSfcbmTgR6D1MRSXlyYWjPWyYtg==} engines: {node: '>=20.19.0'} peerDependencies: - rolldown: 1.0.0-rc.17 + rolldown: 1.0.0-rc.18 - rolldown@1.0.0-rc.17: - resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==} + rolldown@1.0.0-rc.18: + resolution: {integrity: sha512-phmyKBpuBdRYDf4hgyynGAYn/rDDe+iZXKVJ7WX5b1zQzpLkP5oJRPGsfJuHdzPMlyyEO/4sPW6yfSx2gf7lVg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -4191,8 +4394,8 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@1.1.1: - resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==} + tinyexec@1.1.2: + resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} engines: {node: '>=18'} tinyglobby@0.2.16: @@ -4253,6 +4456,11 @@ packages: vitest: optional: true + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} + hasBin: true + twoslash-protocol@0.3.8: resolution: {integrity: sha512-HmvAHoiEviK8LqvAQyc9/irkdvwTUiR1fHmNwH/0gq8EHxyBt4PWVPixjEXg6wJu1u6yBrILEWXGK9Kw58/8yQ==} @@ -4291,8 +4499,8 @@ packages: peerDependencies: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x - typescript-eslint@8.59.0: - resolution: {integrity: sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==} + typescript-eslint@8.59.1: + resolution: {integrity: sha512-xqDcFVBmlrltH64lklOVp1wYxgJr6LVdg3NamBgH2OOQDLFdTKfIZXF5PfghrnXQKXZGTQs8tr1vL7fJvq8CTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -4311,8 +4519,8 @@ packages: uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - ufo@1.6.3: - resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + ufo@1.6.4: + resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} unconfig-core@7.5.0: resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} @@ -4386,8 +4594,8 @@ packages: resolution: {integrity: sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==} engines: {node: '>=20.19.0'} - unplugin-vue@7.1.1: - resolution: {integrity: sha512-0171rToKyJtoz+faE9CSGtAhCF7//t8sJueyyfZujf4RcKtoHLU/wqcsnuH5aq3tDB+I/Tg6IXiWgPvI+TK/zw==} + unplugin-vue@7.2.0: + resolution: {integrity: sha512-6JHWcRbLO3bySOsipQSW9n2VRoPqsx9GLSWBfp7QLPCvpUr/edeAXR7pSl44EEJ+FIp9bG8Zm+xm5dnM/yir4Q==} engines: {node: '>=20.19.0'} peerDependencies: vue: ^3.2.25 @@ -4636,8 +4844,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue-virtual-scroller@2.0.1: - resolution: {integrity: sha512-3Drq8C61C4B3reSaZJr5nXBf/B7Beq1+h5/kYZB25MLYljTy97ISeUufRX9z6ZSZlFDXyafAOLK9XwajOWJY1A==} + vue-virtual-scroller@3.0.2: + resolution: {integrity: sha512-zneKxsBecfFBpH2NAk8zF0IWBRSYRaXnXK/dPQ/AnXE9xlbRyW6sSO9EUb5L5cSFz2Dpfb2giN30/y+/Xvu5PQ==} peerDependencies: vue: ^3.3.0 @@ -4737,13 +4945,13 @@ snapshots: '@antfu/install-pkg@1.1.0': dependencies: package-manager-detector: 1.6.0 - tinyexec: 1.1.1 + tinyexec: 1.1.2 '@antfu/ni@30.1.0': dependencies: fzf: 0.5.2 package-manager-detector: 1.6.0 - tinyexec: 1.1.1 + tinyexec: 1.1.2 tinyglobby: 0.2.16 '@arethetypeswrong/core@0.18.2': @@ -4811,14 +5019,27 @@ snapshots: '@types/jsesc': 2.5.1 jsesc: 3.1.0 + '@babel/generator@8.0.0-rc.4': + dependencies: + '@babel/parser': 8.0.0-rc.4 + '@babel/types': 8.0.0-rc.4 + '@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@7.27.1': {} '@babel/helper-string-parser@8.0.0-rc.3': {} + '@babel/helper-string-parser@8.0.0-rc.4': {} + '@babel/helper-validator-identifier@7.28.5': {} '@babel/helper-validator-identifier@8.0.0-rc.3': {} + '@babel/helper-validator-identifier@8.0.0-rc.4': {} + '@babel/parser@7.29.2': dependencies: '@babel/types': 7.29.0 @@ -4827,6 +5048,10 @@ snapshots: dependencies: '@babel/types': 8.0.0-rc.3 + '@babel/parser@8.0.0-rc.4': + dependencies: + '@babel/types': 8.0.0-rc.4 + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -4837,29 +5062,34 @@ snapshots: '@babel/helper-string-parser': 8.0.0-rc.3 '@babel/helper-validator-identifier': 8.0.0-rc.3 + '@babel/types@8.0.0-rc.4': + dependencies: + '@babel/helper-string-parser': 8.0.0-rc.4 + '@babel/helper-validator-identifier': 8.0.0-rc.4 + '@bcoe/v8-coverage@1.0.2': {} '@braidai/lang@1.1.2': {} '@bufbuild/protobuf@2.12.0': {} - '@clack/core@1.2.0': + '@clack/core@1.3.0': dependencies: - fast-wrap-ansi: 0.1.6 + fast-wrap-ansi: 0.2.0 sisteransi: 1.0.5 - '@clack/prompts@1.2.0': + '@clack/prompts@1.3.0': dependencies: - '@clack/core': 1.2.0 - fast-string-width: 1.1.0 - fast-wrap-ansi: 0.1.6 + '@clack/core': 1.3.0 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.0 sisteransi: 1.0.5 - '@docsearch/css@4.6.2': {} + '@docsearch/css@4.6.3': {} - '@docsearch/js@4.6.2': {} + '@docsearch/js@4.6.3': {} - '@docsearch/sidepanel-js@4.6.2': {} + '@docsearch/sidepanel-js@4.6.3': {} '@emnapi/core@1.10.0': dependencies: @@ -4891,7 +5121,7 @@ snapshots: '@es-joy/jsdoccomment@0.84.0': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/types': 8.59.1 comment-parser: 1.4.5 esquery: 1.7.0 jsdoc-type-pratt-parser: 7.1.1 @@ -4899,13 +5129,91 @@ snapshots: '@es-joy/jsdoccomment@0.86.0': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/types': 8.59.1 comment-parser: 1.4.6 esquery: 1.7.0 jsdoc-type-pratt-parser: 7.2.0 '@es-joy/resolve.exports@1.2.0': {} + '@esbuild/aix-ppc64@0.27.7': + optional: true + + '@esbuild/android-arm64@0.27.7': + optional: true + + '@esbuild/android-arm@0.27.7': + optional: true + + '@esbuild/android-x64@0.27.7': + optional: true + + '@esbuild/darwin-arm64@0.27.7': + optional: true + + '@esbuild/darwin-x64@0.27.7': + optional: true + + '@esbuild/freebsd-arm64@0.27.7': + optional: true + + '@esbuild/freebsd-x64@0.27.7': + optional: true + + '@esbuild/linux-arm64@0.27.7': + optional: true + + '@esbuild/linux-arm@0.27.7': + optional: true + + '@esbuild/linux-ia32@0.27.7': + optional: true + + '@esbuild/linux-loong64@0.27.7': + optional: true + + '@esbuild/linux-mips64el@0.27.7': + optional: true + + '@esbuild/linux-ppc64@0.27.7': + optional: true + + '@esbuild/linux-riscv64@0.27.7': + optional: true + + '@esbuild/linux-s390x@0.27.7': + optional: true + + '@esbuild/linux-x64@0.27.7': + optional: true + + '@esbuild/netbsd-arm64@0.27.7': + optional: true + + '@esbuild/netbsd-x64@0.27.7': + optional: true + + '@esbuild/openbsd-arm64@0.27.7': + optional: true + + '@esbuild/openbsd-x64@0.27.7': + optional: true + + '@esbuild/openharmony-arm64@0.27.7': + optional: true + + '@esbuild/sunos-x64@0.27.7': + optional: true + + '@esbuild/win32-arm64@0.27.7': + optional: true + + '@esbuild/win32-ia32@0.27.7': + optional: true + + '@esbuild/win32-x64@0.27.7': + optional: true + '@eslint-community/eslint-plugin-eslint-comments@4.7.1(eslint@10.2.1(jiti@2.6.1))': dependencies: escape-string-regexp: 4.0.0 @@ -5018,7 +5326,7 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/simple-icons@1.2.79': + '@iconify-json/simple-icons@1.2.80': dependencies: '@iconify/types': 2.0.0 @@ -5200,68 +5508,68 @@ snapshots: '@ota-meshi/ast-token-store@0.3.0': {} - '@oxc-minify/binding-android-arm-eabi@0.127.0': + '@oxc-minify/binding-android-arm-eabi@0.128.0': optional: true - '@oxc-minify/binding-android-arm64@0.127.0': + '@oxc-minify/binding-android-arm64@0.128.0': optional: true - '@oxc-minify/binding-darwin-arm64@0.127.0': + '@oxc-minify/binding-darwin-arm64@0.128.0': optional: true - '@oxc-minify/binding-darwin-x64@0.127.0': + '@oxc-minify/binding-darwin-x64@0.128.0': optional: true - '@oxc-minify/binding-freebsd-x64@0.127.0': + '@oxc-minify/binding-freebsd-x64@0.128.0': optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.127.0': + '@oxc-minify/binding-linux-arm-gnueabihf@0.128.0': optional: true - '@oxc-minify/binding-linux-arm-musleabihf@0.127.0': + '@oxc-minify/binding-linux-arm-musleabihf@0.128.0': optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.127.0': + '@oxc-minify/binding-linux-arm64-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-arm64-musl@0.127.0': + '@oxc-minify/binding-linux-arm64-musl@0.128.0': optional: true - '@oxc-minify/binding-linux-ppc64-gnu@0.127.0': + '@oxc-minify/binding-linux-ppc64-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.127.0': + '@oxc-minify/binding-linux-riscv64-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-riscv64-musl@0.127.0': + '@oxc-minify/binding-linux-riscv64-musl@0.128.0': optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.127.0': + '@oxc-minify/binding-linux-s390x-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-x64-gnu@0.127.0': + '@oxc-minify/binding-linux-x64-gnu@0.128.0': optional: true - '@oxc-minify/binding-linux-x64-musl@0.127.0': + '@oxc-minify/binding-linux-x64-musl@0.128.0': optional: true - '@oxc-minify/binding-openharmony-arm64@0.127.0': + '@oxc-minify/binding-openharmony-arm64@0.128.0': optional: true - '@oxc-minify/binding-wasm32-wasi@0.127.0': + '@oxc-minify/binding-wasm32-wasi@0.128.0': dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.127.0': + '@oxc-minify/binding-win32-arm64-msvc@0.128.0': optional: true - '@oxc-minify/binding-win32-ia32-msvc@0.127.0': + '@oxc-minify/binding-win32-ia32-msvc@0.128.0': optional: true - '@oxc-minify/binding-win32-x64-msvc@0.127.0': + '@oxc-minify/binding-win32-x64-msvc@0.128.0': optional: true '@oxc-parser/binding-android-arm-eabi@0.124.0': @@ -5463,7 +5771,7 @@ snapshots: '@oxc-project/types@0.126.0': {} - '@oxc-project/types@0.127.0': {} + '@oxc-project/types@0.128.0': {} '@parcel/watcher-android-arm64@2.5.6': optional: true @@ -5545,7 +5853,7 @@ snapshots: '@pnpm/logger@1001.0.1': dependencies: - bole: 5.0.28 + bole: 5.0.29 split2: 4.2.0 '@pnpm/manifest-utils@1002.0.5(@pnpm/logger@1001.0.1)': @@ -5604,60 +5912,60 @@ snapshots: dependencies: quansync: 1.0.0 - '@rolldown/binding-android-arm64@1.0.0-rc.17': + '@rolldown/binding-android-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.17': + '@rolldown/binding-darwin-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.17': + '@rolldown/binding-darwin-x64@1.0.0-rc.18': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.17': + '@rolldown/binding-freebsd-x64@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': + '@rolldown/binding-linux-x64-musl@1.0.0-rc.18': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': + '@rolldown/binding-openharmony-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.18': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.18': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.18': optional: true - '@rolldown/debug@1.0.0-rc.17': {} + '@rolldown/debug@1.0.0-rc.18': {} '@rolldown/pluginutils@1.0.0-rc.13': {} - '@rolldown/pluginutils@1.0.0-rc.17': {} + '@rolldown/pluginutils@1.0.0-rc.18': {} '@shikijs/core@3.23.0': dependencies: @@ -5768,7 +6076,7 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@sxzz/eslint-config@7.8.4(@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.0(typescript@6.0.3))(@typescript-eslint/utils@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@unocss/eslint-plugin@66.6.8(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(prettier@3.8.3)(typescript@6.0.3)': + '@sxzz/eslint-config@8.0.0(@typescript-eslint/eslint-plugin@8.59.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/rule-tester@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.1(typescript@6.0.3))(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@unocss/eslint-plugin@66.6.8(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(prettier@3.8.3)(typescript@6.0.3)': dependencies: '@eslint-community/eslint-plugin-eslint-comments': 4.7.1(eslint@10.2.1(jiti@2.6.1)) '@eslint/js': 10.0.1(eslint@10.2.1(jiti@2.6.1)) @@ -5779,7 +6087,7 @@ snapshots: eslint-flat-config-utils: 3.1.0 eslint-plugin-antfu: 3.2.2(eslint@10.2.1(jiti@2.6.1)) eslint-plugin-baseline-js: 0.6.2(eslint@10.2.1(jiti@2.6.1)) - eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.0(typescript@6.0.3))(@typescript-eslint/utils@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1)) + eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.1(typescript@6.0.3))(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1)) eslint-plugin-de-morgan: 2.1.1(eslint@10.2.1(jiti@2.6.1)) eslint-plugin-importer: 0.3.0(eslint@10.2.1(jiti@2.6.1)) eslint-plugin-jsdoc: 62.9.0(eslint@10.2.1(jiti@2.6.1)) @@ -5790,13 +6098,13 @@ snapshots: eslint-plugin-prettier: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.1(jiti@2.6.1)))(eslint@10.2.1(jiti@2.6.1))(prettier@3.8.3) eslint-plugin-regexp: 3.1.0(eslint@10.2.1(jiti@2.6.1)) eslint-plugin-sxzz: 0.4.4(eslint@10.2.1(jiti@2.6.1)) - eslint-plugin-unicorn: 63.0.0(eslint@10.2.1(jiti@2.6.1)) - eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1)) - eslint-plugin-vue: 10.9.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.2.1(jiti@2.6.1))) + eslint-plugin-unicorn: 64.0.0(eslint@10.2.1(jiti@2.6.1)) + eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.59.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1)) + eslint-plugin-vue: 10.9.0(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.2.1(jiti@2.6.1))) eslint-plugin-yml: 3.3.1(eslint@10.2.1(jiti@2.6.1)) globals: 17.5.0 jsonc-eslint-parser: 3.1.0 - typescript-eslint: 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + typescript-eslint: 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) vue-eslint-parser: 10.4.0(eslint@10.2.1(jiti@2.6.1)) optionalDependencies: '@unocss/eslint-plugin': 66.6.8(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) @@ -5817,7 +6125,7 @@ snapshots: dependencies: '@prettier/plugin-oxc': 0.1.4 - '@sxzz/test-utils@0.5.18(@volar/typescript@2.4.28)(@vue/language-core@3.2.7)(rolldown@1.0.0-rc.17)(typescript@6.0.3)(vitest@4.1.5)': + '@sxzz/test-utils@0.5.18(@volar/typescript@2.4.28)(@vue/language-core@3.2.7)(esbuild@0.27.7)(rolldown@1.0.0-rc.18)(typescript@6.0.3)(vitest@4.1.5)': dependencies: tinyglobby: 0.2.16 unplugin-utils: 0.3.1 @@ -5825,7 +6133,8 @@ snapshots: optionalDependencies: '@volar/typescript': 2.4.28 '@vue/language-core': 3.2.7 - rolldown: 1.0.0-rc.17 + esbuild: 0.27.7 + rolldown: 1.0.0-rc.18 typescript: 6.0.3 '@tybys/wasm-util@0.10.1': @@ -5885,14 +6194,14 @@ snapshots: '@types/web-bluetooth@0.0.21': {} - '@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.59.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.59.0 - '@typescript-eslint/type-utils': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.59.0 + '@typescript-eslint/parser': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.59.1 + '@typescript-eslint/type-utils': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.59.1 eslint: 10.2.1(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 @@ -5901,32 +6210,32 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.59.0 - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/typescript-estree': 8.59.0(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.59.0 + '@typescript-eslint/scope-manager': 8.59.1 + '@typescript-eslint/types': 8.59.1 + '@typescript-eslint/typescript-estree': 8.59.1(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.59.1 debug: 4.4.3 eslint: 10.2.1(jiti@2.6.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.59.0(typescript@6.0.3)': + '@typescript-eslint/project-service@8.59.1(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.59.0(typescript@6.0.3) - '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/tsconfig-utils': 8.59.1(typescript@6.0.3) + '@typescript-eslint/types': 8.59.1 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/rule-tester@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': dependencies: - '@typescript-eslint/parser': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.59.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/parser': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.59.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) ajv: 6.15.0 eslint: 10.2.1(jiti@2.6.1) json-stable-stringify-without-jsonify: 1.0.1 @@ -5936,20 +6245,20 @@ snapshots: - supports-color - typescript - '@typescript-eslint/scope-manager@8.59.0': + '@typescript-eslint/scope-manager@8.59.1': dependencies: - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/visitor-keys': 8.59.0 + '@typescript-eslint/types': 8.59.1 + '@typescript-eslint/visitor-keys': 8.59.1 - '@typescript-eslint/tsconfig-utils@8.59.0(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.59.1(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/typescript-estree': 8.59.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/types': 8.59.1 + '@typescript-eslint/typescript-estree': 8.59.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) debug: 4.4.3 eslint: 10.2.1(jiti@2.6.1) ts-api-utils: 2.5.0(typescript@6.0.3) @@ -5957,14 +6266,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.59.0': {} + '@typescript-eslint/types@8.59.1': {} - '@typescript-eslint/typescript-estree@8.59.0(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.59.1(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.59.0(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.59.0(typescript@6.0.3) - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/visitor-keys': 8.59.0 + '@typescript-eslint/project-service': 8.59.1(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.59.1(typescript@6.0.3) + '@typescript-eslint/types': 8.59.1 + '@typescript-eslint/visitor-keys': 8.59.1 debug: 4.4.3 minimatch: 10.2.5 semver: 7.7.4 @@ -5974,52 +6283,52 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.59.0 - '@typescript-eslint/types': 8.59.0 - '@typescript-eslint/typescript-estree': 8.59.0(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.59.1 + '@typescript-eslint/types': 8.59.1 + '@typescript-eslint/typescript-estree': 8.59.1(typescript@6.0.3) eslint: 10.2.1(jiti@2.6.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.59.0': + '@typescript-eslint/visitor-keys@8.59.1': dependencies: - '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/types': 8.59.1 eslint-visitor-keys: 5.0.1 - '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260425.1': + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260430.1': optional: true - '@typescript/native-preview-darwin-x64@7.0.0-dev.20260425.1': + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260430.1': optional: true - '@typescript/native-preview-linux-arm64@7.0.0-dev.20260425.1': + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260430.1': optional: true - '@typescript/native-preview-linux-arm@7.0.0-dev.20260425.1': + '@typescript/native-preview-linux-arm@7.0.0-dev.20260430.1': optional: true - '@typescript/native-preview-linux-x64@7.0.0-dev.20260425.1': + '@typescript/native-preview-linux-x64@7.0.0-dev.20260430.1': optional: true - '@typescript/native-preview-win32-arm64@7.0.0-dev.20260425.1': + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260430.1': optional: true - '@typescript/native-preview-win32-x64@7.0.0-dev.20260425.1': + '@typescript/native-preview-win32-x64@7.0.0-dev.20260430.1': optional: true - '@typescript/native-preview@7.0.0-dev.20260425.1': + '@typescript/native-preview@7.0.0-dev.20260430.1': optionalDependencies: - '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-linux-arm': 7.0.0-dev.20260425.1 - '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-linux-x64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260425.1 - '@typescript/native-preview-win32-x64': 7.0.0-dev.20260425.1 + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260430.1 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260430.1 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20260430.1 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260430.1 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20260430.1 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260430.1 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20260430.1 '@typescript/vfs@1.6.4(typescript@6.0.3)': dependencies: @@ -6059,7 +6368,7 @@ snapshots: '@unocss/eslint-plugin@66.6.8(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)': dependencies: - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) '@unocss/config': 66.6.8 '@unocss/core': 66.6.8 '@unocss/rule-utils': 66.6.8 @@ -6173,30 +6482,38 @@ snapshots: pathe: 2.0.3 tinyglobby: 0.2.16 unplugin-utils: 0.3.1 - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) - '@vitejs/devtools-kit@0.1.15(typescript@6.0.3)(vite@8.0.10)': + '@valibot/to-json-schema@1.6.0(valibot@1.3.1(typescript@6.0.3))': + dependencies: + valibot: 1.3.1(typescript@6.0.3) + + '@vitejs/devtools-kit@0.1.16(launch-editor@2.13.2)(typescript@6.0.3)(vite@8.0.10)': dependencies: - '@vitejs/devtools-rpc': 0.1.15(typescript@6.0.3) birpc: 4.0.0 + devframe: 0.1.16(launch-editor@2.13.2)(typescript@6.0.3) ohash: 2.0.11 - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + sirv: 3.0.2 + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) transitivePeerDependencies: + - '@modelcontextprotocol/sdk' + - '@nuxt/kit' - bufferutil + - launch-editor - typescript - utf-8-validate - '@vitejs/devtools-rolldown@0.1.15(@pnpm/logger@1001.0.1)(typescript@6.0.3)(vite@8.0.10)(vue@3.5.33(typescript@6.0.3))': + '@vitejs/devtools-rolldown@0.1.16(@pnpm/logger@1001.0.1)(launch-editor@2.13.2)(typescript@6.0.3)(vite@8.0.10)(vue@3.5.33(typescript@6.0.3))': dependencies: '@floating-ui/dom': 1.7.6 '@pnpm/read-project-manifest': 1001.2.6(@pnpm/logger@1001.0.1) - '@rolldown/debug': 1.0.0-rc.17 - '@vitejs/devtools-kit': 0.1.15(typescript@6.0.3)(vite@8.0.10) - '@vitejs/devtools-rpc': 0.1.15(typescript@6.0.3) + '@rolldown/debug': 1.0.0-rc.18 + '@vitejs/devtools-kit': 0.1.16(launch-editor@2.13.2)(typescript@6.0.3)(vite@8.0.10) ansis: 4.2.0 birpc: 4.0.0 cac: 7.0.0 d3-shape: 3.2.0 + devframe: 0.1.16(launch-editor@2.13.2)(typescript@6.0.3) diff: 9.0.0 get-port-please: 3.2.0 h3: 1.15.11 @@ -6213,7 +6530,7 @@ snapshots: tinyglobby: 0.2.16 unconfig: 7.5.0 unstorage: 1.17.5 - vue-virtual-scroller: 2.0.1(vue@3.5.33(typescript@6.0.3)) + vue-virtual-scroller: 3.0.2(vue@3.5.33(typescript@6.0.3)) ws: 8.20.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -6224,7 +6541,9 @@ snapshots: - '@azure/storage-blob' - '@capacitor/preferences' - '@deno/kv' + - '@modelcontextprotocol/sdk' - '@netlify/blobs' + - '@nuxt/kit' - '@planetscale/database' - '@pnpm/logger' - '@upstash/redis' @@ -6236,33 +6555,20 @@ snapshots: - db0 - idb-keyval - ioredis + - launch-editor - typescript - uploadthing - utf-8-validate - vite - vue - '@vitejs/devtools-rpc@0.1.15(typescript@6.0.3)': + '@vitejs/devtools@0.1.16(@pnpm/logger@1001.0.1)(typescript@6.0.3)(vite@8.0.10)': dependencies: - birpc: 4.0.0 - logs-sdk: 0.0.6 - ohash: 2.0.11 - p-limit: 7.3.0 - structured-clone-es: 2.0.0 - valibot: 1.3.1(typescript@6.0.3) - ws: 8.20.0 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - '@vitejs/devtools@0.1.15(@pnpm/logger@1001.0.1)(typescript@6.0.3)(vite@8.0.10)': - dependencies: - '@vitejs/devtools-kit': 0.1.15(typescript@6.0.3)(vite@8.0.10) - '@vitejs/devtools-rolldown': 0.1.15(@pnpm/logger@1001.0.1)(typescript@6.0.3)(vite@8.0.10)(vue@3.5.33(typescript@6.0.3)) - '@vitejs/devtools-rpc': 0.1.15(typescript@6.0.3) + '@vitejs/devtools-kit': 0.1.16(launch-editor@2.13.2)(typescript@6.0.3)(vite@8.0.10) + '@vitejs/devtools-rolldown': 0.1.16(@pnpm/logger@1001.0.1)(launch-editor@2.13.2)(typescript@6.0.3)(vite@8.0.10)(vue@3.5.33(typescript@6.0.3)) birpc: 4.0.0 cac: 7.0.0 + devframe: 0.1.16(launch-editor@2.13.2)(typescript@6.0.3) h3: 1.15.11 immer: 11.1.4 launch-editor: 2.13.2 @@ -6273,8 +6579,8 @@ snapshots: pathe: 2.0.3 perfect-debounce: 2.1.0 sirv: 3.0.2 - tinyexec: 1.1.1 - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + tinyexec: 1.1.2 + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) vue: 3.5.33(typescript@6.0.3) ws: 8.20.0 transitivePeerDependencies: @@ -6286,7 +6592,9 @@ snapshots: - '@azure/storage-blob' - '@capacitor/preferences' - '@deno/kv' + - '@modelcontextprotocol/sdk' - '@netlify/blobs' + - '@nuxt/kit' - '@planetscale/database' - '@pnpm/logger' - '@upstash/redis' @@ -6305,7 +6613,7 @@ snapshots: '@vitejs/plugin-vue@6.0.6(vite@8.0.10)(vue@3.5.33(typescript@6.0.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) vue: 3.5.33(typescript@6.0.3) '@vitest/coverage-v8@4.1.5(vitest@4.1.5)': @@ -6337,7 +6645,7 @@ snapshots: estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) '@vitest/pretty-format@4.1.5': dependencies: @@ -6408,7 +6716,7 @@ snapshots: '@vue/shared': 3.5.33 estree-walker: 2.0.2 magic-string: 0.30.21 - postcss: 8.5.10 + postcss: 8.5.12 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.33': @@ -6541,13 +6849,13 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.22: {} + baseline-browser-mapping@2.10.24: {} birpc@2.9.0: {} birpc@4.0.0: {} - bole@5.0.28: + bole@5.0.29: dependencies: fast-safe-stringify: 2.1.1 individual: 3.0.0 @@ -6560,8 +6868,8 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.22 - caniuse-lite: 1.0.30001790 + baseline-browser-mapping: 2.10.24 + caniuse-lite: 1.0.30001791 electron-to-chromium: 1.5.344 node-releases: 2.0.38 update-browserslist-db: 1.2.3(browserslist@4.28.2) @@ -6575,7 +6883,7 @@ snapshots: jsonc-parser: 3.3.1 package-manager-detector: 1.6.0 semver: 7.7.4 - tinyexec: 1.1.1 + tinyexec: 1.1.2 tinyglobby: 0.2.16 unconfig: 7.5.0 yaml: 2.8.3 @@ -6586,7 +6894,7 @@ snapshots: cac@7.0.0: {} - caniuse-lite@1.0.30001790: {} + caniuse-lite@1.0.30001791: {} ccount@2.0.1: {} @@ -6710,6 +7018,27 @@ snapshots: detect-libc@2.1.2: {} + devframe@0.1.16(launch-editor@2.13.2)(typescript@6.0.3): + dependencies: + '@valibot/to-json-schema': 1.6.0(valibot@1.3.1(typescript@6.0.3)) + ansis: 4.2.0 + birpc: 4.0.0 + cac: 7.0.0 + h3: 1.15.11 + logs-sdk: 0.0.6 + ohash: 2.0.11 + pathe: 2.0.3 + sirv: 3.0.2 + structured-clone-es: 2.0.0 + valibot: 1.3.1(typescript@6.0.3) + ws: 8.20.0 + optionalDependencies: + launch-editor: 2.13.2 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -6745,6 +7074,35 @@ snapshots: es-module-lexer@2.1.0: {} + esbuild@0.27.7: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 + escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -6787,12 +7145,12 @@ snapshots: eslint: 10.2.1(jiti@2.6.1) eslint-plugin-es-x: 9.6.0(eslint@10.2.1(jiti@2.6.1)) - eslint-plugin-command@3.5.2(@typescript-eslint/rule-tester@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.0(typescript@6.0.3))(@typescript-eslint/utils@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1)): + eslint-plugin-command@3.5.2(@typescript-eslint/rule-tester@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(@typescript-eslint/typescript-estree@8.59.1(typescript@6.0.3))(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1)): dependencies: '@es-joy/jsdoccomment': 0.84.0 - '@typescript-eslint/rule-tester': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.59.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/rule-tester': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.59.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) eslint: 10.2.1(jiti@2.6.1) eslint-plugin-de-morgan@2.1.1(eslint@10.2.1(jiti@2.6.1)): @@ -6869,7 +7227,7 @@ snapshots: eslint-plugin-perfectionist@5.9.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3): dependencies: - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) eslint: 10.2.1(jiti@2.6.1) natural-orderby: 5.0.0 transitivePeerDependencies: @@ -6911,7 +7269,7 @@ snapshots: dependencies: eslint: 10.2.1(jiti@2.6.1) - eslint-plugin-unicorn@63.0.0(eslint@10.2.1(jiti@2.6.1)): + eslint-plugin-unicorn@64.0.0(eslint@10.2.1(jiti@2.6.1)): dependencies: '@babel/helper-validator-identifier': 7.28.5 '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1(jiti@2.6.1)) @@ -6921,7 +7279,7 @@ snapshots: core-js-compat: 3.49.0 eslint: 10.2.1(jiti@2.6.1) find-up-simple: 1.0.1 - globals: 16.5.0 + globals: 17.5.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 jsesc: 3.1.0 @@ -6931,13 +7289,13 @@ snapshots: semver: 7.7.4 strip-indent: 4.1.1 - eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1)): + eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.59.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1)): dependencies: eslint: 10.2.1(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/eslint-plugin': 8.59.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) - eslint-plugin-vue@10.9.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.2.1(jiti@2.6.1))): + eslint-plugin-vue@10.9.0(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.2.1(jiti@2.6.1))): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1(jiti@2.6.1)) eslint: 10.2.1(jiti@2.6.1) @@ -6948,7 +7306,7 @@ snapshots: vue-eslint-parser: 10.4.0(eslint@10.2.1(jiti@2.6.1)) xml-name-validator: 4.0.0 optionalDependencies: - '@typescript-eslint/parser': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/parser': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) eslint-plugin-yml@3.3.1(eslint@10.2.1(jiti@2.6.1)): dependencies: @@ -7063,15 +7421,15 @@ snapshots: fast-safe-stringify@2.1.1: {} - fast-string-truncated-width@1.2.1: {} + fast-string-truncated-width@3.0.3: {} - fast-string-width@1.1.0: + fast-string-width@3.0.2: dependencies: - fast-string-truncated-width: 1.2.1 + fast-string-truncated-width: 3.0.3 - fast-wrap-ansi@0.1.6: + fast-wrap-ansi@0.2.0: dependencies: - fast-string-width: 1.1.0 + fast-string-width: 3.0.2 fault@2.0.1: dependencies: @@ -7132,6 +7490,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@5.0.0-beta.5: + dependencies: + resolve-pkg-maps: 1.0.0 + giget@3.2.0: {} github-slugger@2.0.0: {} @@ -7146,8 +7508,6 @@ snapshots: globals@15.15.0: {} - globals@16.5.0: {} - globals@17.5.0: {} globrex@0.1.2: {} @@ -7174,7 +7534,7 @@ snapshots: iron-webcrypto: 1.2.1 node-mock-http: 1.0.4 radix3: 1.1.2 - ufo: 1.6.3 + ufo: 1.6.4 uncrypto: 0.1.3 has-flag@4.0.0: {} @@ -7213,9 +7573,9 @@ snapshots: hyperdyperid@1.2.0: {} - icss-utils@5.1.0(postcss@8.5.10): + icss-utils@5.1.0(postcss@8.5.12): dependencies: - postcss: 8.5.10 + postcss: 8.5.12 ignore@5.3.2: {} @@ -7437,7 +7797,7 @@ snapshots: mlly: 1.8.2 regexp-tree: 0.1.27 type-level-regexp: 0.1.17 - ufo: 1.6.3 + ufo: 1.6.4 unplugin: 2.3.11 magic-string-ast@1.0.3: @@ -7849,14 +8209,12 @@ snapshots: minisearch@7.2.0: {} - mitt@2.1.0: {} - mlly@1.8.2: dependencies: acorn: 8.16.0 pathe: 2.0.3 pkg-types: 1.3.1 - ufo: 1.6.3 + ufo: 1.6.4 mri@1.2.0: {} @@ -7895,7 +8253,7 @@ snapshots: dependencies: destr: 2.0.5 node-fetch-native: 1.6.7 - ufo: 1.6.3 + ufo: 1.6.4 ohash@2.0.11: {} @@ -7925,28 +8283,28 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxc-minify@0.127.0: + oxc-minify@0.128.0: optionalDependencies: - '@oxc-minify/binding-android-arm-eabi': 0.127.0 - '@oxc-minify/binding-android-arm64': 0.127.0 - '@oxc-minify/binding-darwin-arm64': 0.127.0 - '@oxc-minify/binding-darwin-x64': 0.127.0 - '@oxc-minify/binding-freebsd-x64': 0.127.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.127.0 - '@oxc-minify/binding-linux-arm-musleabihf': 0.127.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.127.0 - '@oxc-minify/binding-linux-arm64-musl': 0.127.0 - '@oxc-minify/binding-linux-ppc64-gnu': 0.127.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.127.0 - '@oxc-minify/binding-linux-riscv64-musl': 0.127.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.127.0 - '@oxc-minify/binding-linux-x64-gnu': 0.127.0 - '@oxc-minify/binding-linux-x64-musl': 0.127.0 - '@oxc-minify/binding-openharmony-arm64': 0.127.0 - '@oxc-minify/binding-wasm32-wasi': 0.127.0 - '@oxc-minify/binding-win32-arm64-msvc': 0.127.0 - '@oxc-minify/binding-win32-ia32-msvc': 0.127.0 - '@oxc-minify/binding-win32-x64-msvc': 0.127.0 + '@oxc-minify/binding-android-arm-eabi': 0.128.0 + '@oxc-minify/binding-android-arm64': 0.128.0 + '@oxc-minify/binding-darwin-arm64': 0.128.0 + '@oxc-minify/binding-darwin-x64': 0.128.0 + '@oxc-minify/binding-freebsd-x64': 0.128.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.128.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.128.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.128.0 + '@oxc-minify/binding-linux-arm64-musl': 0.128.0 + '@oxc-minify/binding-linux-ppc64-gnu': 0.128.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.128.0 + '@oxc-minify/binding-linux-riscv64-musl': 0.128.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.128.0 + '@oxc-minify/binding-linux-x64-gnu': 0.128.0 + '@oxc-minify/binding-linux-x64-musl': 0.128.0 + '@oxc-minify/binding-openharmony-arm64': 0.128.0 + '@oxc-minify/binding-wasm32-wasi': 0.128.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.128.0 + '@oxc-minify/binding-win32-ia32-msvc': 0.128.0 + '@oxc-minify/binding-win32-x64-msvc': 0.128.0 oxc-parser@0.124.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: @@ -8086,7 +8444,7 @@ snapshots: mlly: 1.8.2 pathe: 2.0.3 - pkg-types@2.3.0: + pkg-types@2.3.1: dependencies: confbox: 0.2.4 exsolve: 1.0.8 @@ -8098,52 +8456,53 @@ snapshots: dependencies: yaml: 2.8.3 - postcss-import@16.1.1(postcss@8.5.10): + postcss-import@16.1.1(postcss@8.5.12): dependencies: - postcss: 8.5.10 + postcss: 8.5.12 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.12 - postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.10)(yaml@2.8.3): + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.12)(tsx@4.21.0)(yaml@2.8.3): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 2.6.1 - postcss: 8.5.10 + postcss: 8.5.12 + tsx: 4.21.0 yaml: 2.8.3 - postcss-modules-extract-imports@3.1.0(postcss@8.5.10): + postcss-modules-extract-imports@3.1.0(postcss@8.5.12): dependencies: - postcss: 8.5.10 + postcss: 8.5.12 - postcss-modules-local-by-default@4.2.0(postcss@8.5.10): + postcss-modules-local-by-default@4.2.0(postcss@8.5.12): dependencies: - icss-utils: 5.1.0(postcss@8.5.10) - postcss: 8.5.10 + icss-utils: 5.1.0(postcss@8.5.12) + postcss: 8.5.12 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.10): + postcss-modules-scope@3.2.1(postcss@8.5.12): dependencies: - postcss: 8.5.10 + postcss: 8.5.12 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.10): + postcss-modules-values@4.0.0(postcss@8.5.12): dependencies: - icss-utils: 5.1.0(postcss@8.5.10) - postcss: 8.5.10 + icss-utils: 5.1.0(postcss@8.5.12) + postcss: 8.5.12 - postcss-modules@6.0.1(postcss@8.5.10): + postcss-modules@6.0.1(postcss@8.5.12): dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.5.10) + icss-utils: 5.1.0(postcss@8.5.12) lodash.camelcase: 4.3.0 - postcss: 8.5.10 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.10) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.10) - postcss-modules-scope: 3.2.1(postcss@8.5.10) - postcss-modules-values: 4.0.0(postcss@8.5.10) + postcss: 8.5.12 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.12) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.12) + postcss-modules-scope: 3.2.1(postcss@8.5.12) + postcss-modules-values: 4.0.0(postcss@8.5.12) string-hash: 1.1.3 postcss-selector-parser@7.1.1: @@ -8153,7 +8512,7 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.5.10: + postcss@8.5.12: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -8272,55 +8631,54 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - rolldown-plugin-dts@0.23.2(@typescript/native-preview@7.0.0-dev.20260425.1)(rolldown@1.0.0-rc.17)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3)): + rolldown-plugin-dts@0.24.0-beta.2(@typescript/native-preview@7.0.0-dev.20260430.1)(rolldown@1.0.0-rc.18)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3)): dependencies: - '@babel/generator': 8.0.0-rc.3 - '@babel/helper-validator-identifier': 8.0.0-rc.3 - '@babel/parser': 8.0.0-rc.3 - '@babel/types': 8.0.0-rc.3 + '@babel/generator': 8.0.0-rc.4 + '@babel/helper-validator-identifier': 8.0.0-rc.4 + '@babel/parser': 8.0.0-rc.4 ast-kit: 3.0.0-beta.1 birpc: 4.0.0 dts-resolver: 2.1.3 - get-tsconfig: 4.14.0 + get-tsconfig: 5.0.0-beta.5 obug: 2.1.1 picomatch: 4.0.4 - rolldown: 1.0.0-rc.17 + rolldown: 1.0.0-rc.18 optionalDependencies: - '@typescript/native-preview': 7.0.0-dev.20260425.1 + '@typescript/native-preview': 7.0.0-dev.20260430.1 typescript: 6.0.3 vue-tsc: 3.2.7(typescript@6.0.3) transitivePeerDependencies: - oxc-resolver - rolldown-plugin-require-cjs@0.4.0(rolldown@1.0.0-rc.17): + rolldown-plugin-require-cjs@0.4.0(rolldown@1.0.0-rc.18): dependencies: cjs-module-lexer: 2.2.0 empathic: 2.0.0 import-meta-resolve: 4.2.0 magic-string-ast: 1.0.3 - rolldown: 1.0.0-rc.17 + rolldown: 1.0.0-rc.18 unplugin-utils: 0.3.1 - rolldown@1.0.0-rc.17: + rolldown@1.0.0-rc.18: dependencies: - '@oxc-project/types': 0.127.0 - '@rolldown/pluginutils': 1.0.0-rc.17 + '@oxc-project/types': 0.128.0 + '@rolldown/pluginutils': 1.0.0-rc.18 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/binding-android-arm64': 1.0.0-rc.18 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.18 + '@rolldown/binding-darwin-x64': 1.0.0-rc.18 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.18 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.18 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.18 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.18 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.18 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.18 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.18 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.18 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.18 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.18 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.18 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.18 run-applescript@7.1.0: {} @@ -8560,7 +8918,7 @@ snapshots: tinybench@2.9.0: {} - tinyexec@1.1.1: {} + tinyexec@1.1.2: {} tinyglobby@0.2.16: dependencies: @@ -8609,6 +8967,13 @@ snapshots: optionalDependencies: vitest: 4.1.5(@types/node@25.6.0)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(vite@8.0.10) + tsx@4.21.0: + dependencies: + esbuild: 0.27.7 + get-tsconfig: 4.14.0 + optionalDependencies: + fsevents: 2.3.3 + twoslash-protocol@0.3.8: {} twoslash-vue@0.3.8(typescript@6.0.3): @@ -8651,12 +9016,12 @@ snapshots: typescript: 6.0.3 yaml: 2.8.3 - typescript-eslint@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3): + typescript-eslint@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.59.0(@typescript-eslint/parser@8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/parser': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.59.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/eslint-plugin': 8.59.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/parser': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.59.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3) eslint: 10.2.1(jiti@2.6.1) typescript: 6.0.3 transitivePeerDependencies: @@ -8668,7 +9033,7 @@ snapshots: uc.micro@2.1.0: {} - ufo@1.6.3: {} + ufo@1.6.4: {} unconfig-core@7.5.0: dependencies: @@ -8764,10 +9129,12 @@ snapshots: magic-string-ast: 1.0.3 unplugin: 3.0.0 - unplugin-raw@0.7.0: + unplugin-raw@0.7.0(esbuild@0.27.7): dependencies: unplugin: 3.0.0 unplugin-utils: 0.3.1 + optionalDependencies: + esbuild: 0.27.7 unplugin-unused@0.5.7: dependencies: @@ -8781,14 +9148,14 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.4 - unplugin-vue@7.1.1(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(vue@3.5.33(typescript@6.0.3))(yaml@2.8.3): + unplugin-vue@7.2.0(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(vue@3.5.33(typescript@6.0.3))(yaml@2.8.3): dependencies: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 '@vue/reactivity': 3.5.33 obug: 2.1.1 unplugin: 3.0.0 - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: - '@types/node' @@ -8819,7 +9186,7 @@ snapshots: unrun@0.2.37(synckit@0.11.12): dependencies: - rolldown: 1.0.0-rc.17 + rolldown: 1.0.0-rc.18 optionalDependencies: synckit: 0.11.12 @@ -8832,7 +9199,7 @@ snapshots: lru-cache: 11.3.5 node-fetch-native: 1.6.7 ofetch: 1.5.1 - ufo: 1.6.3 + ufo: 1.6.4 update-browserslist-db@1.2.3(browserslist@4.28.2): dependencies: @@ -8864,20 +9231,22 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3): + vite@8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 - postcss: 8.5.10 - rolldown: 1.0.0-rc.17 + postcss: 8.5.12 + rolldown: 1.0.0-rc.18 tinyglobby: 0.2.16 optionalDependencies: '@types/node': 25.6.0 - '@vitejs/devtools': 0.1.15(@pnpm/logger@1001.0.1)(typescript@6.0.3)(vite@8.0.10) + '@vitejs/devtools': 0.1.16(@pnpm/logger@1001.0.1)(typescript@6.0.3)(vite@8.0.10) + esbuild: 0.27.7 fsevents: 2.3.3 jiti: 2.6.1 sass: 1.99.0 sass-embedded: 1.99.0 + tsx: 4.21.0 yaml: 2.8.3 vitepress-plugin-group-icons@1.7.5(vite@8.0.10): @@ -8886,7 +9255,7 @@ snapshots: '@iconify-json/vscode-icons': 1.2.46 '@iconify/utils': 3.1.1 optionalDependencies: - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) vitepress-plugin-llms@1.12.1: dependencies: @@ -8907,12 +9276,12 @@ snapshots: transitivePeerDependencies: - supports-color - vitepress@2.0.0-alpha.17(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(change-case@5.4.4)(jiti@2.6.1)(oxc-minify@0.127.0)(postcss@8.5.10)(sass-embedded@1.99.0)(sass@1.99.0)(typescript@6.0.3)(yaml@2.8.3): + vitepress@2.0.0-alpha.17(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(change-case@5.4.4)(esbuild@0.27.7)(jiti@2.6.1)(oxc-minify@0.128.0)(postcss@8.5.12)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(typescript@6.0.3)(yaml@2.8.3): dependencies: - '@docsearch/css': 4.6.2 - '@docsearch/js': 4.6.2 - '@docsearch/sidepanel-js': 4.6.2 - '@iconify-json/simple-icons': 1.2.79 + '@docsearch/css': 4.6.3 + '@docsearch/js': 4.6.3 + '@docsearch/sidepanel-js': 4.6.3 + '@iconify-json/simple-icons': 1.2.80 '@shikijs/core': 3.23.0 '@shikijs/transformers': 3.23.0 '@shikijs/types': 3.23.0 @@ -8926,11 +9295,11 @@ snapshots: mark.js: 8.11.1 minisearch: 7.2.0 shiki: 3.23.0 - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) vue: 3.5.33(typescript@6.0.3) optionalDependencies: - oxc-minify: 0.127.0 - postcss: 8.5.10 + oxc-minify: 0.128.0 + postcss: 8.5.12 transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -8974,10 +9343,10 @@ snapshots: picomatch: 4.0.4 std-env: 4.1.0 tinybench: 2.9.0 - tinyexec: 1.1.1 + tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.15)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(yaml@2.8.3) + vite: 8.0.10(@types/node@25.6.0)(@vitejs/devtools@0.1.16)(esbuild@0.27.7)(jiti@2.6.1)(sass-embedded@1.99.0)(sass@1.99.0)(tsx@4.21.0)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 25.6.0 @@ -9010,9 +9379,8 @@ snapshots: '@vue/language-core': 3.2.7 typescript: 6.0.3 - vue-virtual-scroller@2.0.1(vue@3.5.33(typescript@6.0.3)): + vue-virtual-scroller@3.0.2(vue@3.5.33(typescript@6.0.3)): dependencies: - mitt: 2.1.0 vue: 3.5.33(typescript@6.0.3) vue@3.5.33(typescript@6.0.3): diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1a3a361fd..be15ce516 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,41 +9,43 @@ overrides: catalogs: create: - '@clack/prompts': ^1.2.0 + '@clack/prompts': ^1.3.0 giget: ^3.2.0 dev: - '@sxzz/eslint-config': ^7.8.4 + '@sxzz/eslint-config': ^8.0.0 '@sxzz/prettier-config': ^2.3.1 '@sxzz/test-utils': ^0.5.18 '@types/node': ^25.6.0 '@types/picomatch': ^4.0.3 '@types/semver': ^7.7.1 - '@typescript/native-preview': 7.0.0-dev.20260425.1 + '@typescript/native-preview': 7.0.0-dev.20260430.1 '@vitest/coverage-v8': ^4.1.5 '@vitest/ui': ^4.1.5 - baseline-browser-mapping: ^2.10.22 + baseline-browser-mapping: ^2.10.24 bumpp: ^11.0.1 dedent: ^1.7.2 eslint: ^10.2.1 memfs: ^4.57.2 - pkg-types: ^2.3.0 - postcss: ^8.5.10 + pkg-types: ^2.3.1 + postcss: ^8.5.12 postcss-import: ^16.1.1 prettier: ^3.8.3 rolldown-plugin-require-cjs: ^0.4.0 sass: ^1.99.0 tsnapi: ^0.3.2 + tsx: ^4.21.0 typescript: ~6.0.3 unplugin-ast: ^0.16.0 unplugin-raw: ^0.7.0 - unplugin-vue: ^7.1.1 + unplugin-vue: ^7.2.0 + unrun: ^0.2.37 vitest: ^4.1.5 docs: '@iconify-json/logos': ^1.2.11 '@shikijs/vitepress-twoslash': ^4.0.2 '@unocss/eslint-plugin': ^66.6.8 '@vueuse/core': ^14.2.1 - oxc-minify: ^0.127.0 + oxc-minify: ^0.128.0 typedoc: ^0.28.19 typedoc-plugin-markdown: ^4.11.0 typedoc-vitepress-theme: ^1.1.2 @@ -61,7 +63,7 @@ catalogs: diff: ^9.0.0 peer: '@arethetypeswrong/core': ^0.18.2 - '@vitejs/devtools': ^0.1.15 + '@vitejs/devtools': ^0.1.16 publint: ^0.3.18 unplugin-unused: ^0.5.7 prod: @@ -77,17 +79,17 @@ catalogs: package-manager-detector: ^1.6.0 picomatch: ^4.0.4 postcss-load-config: ^6.0.1 - rolldown: 1.0.0-rc.17 - rolldown-plugin-dts: ^0.23.2 + rolldown: 1.0.0-rc.18 + rolldown-plugin-dts: ^0.24.0-beta.2 semver: ^7.7.4 - tinyexec: ^1.1.1 + tinyexec: ^1.1.2 tinyglobby: ^0.2.16 tree-kill: ^1.2.2 unconfig-core: ^7.5.0 - unrun: ^0.2.37 allowBuilds: '@parcel/watcher': false + esbuild: false ignoreWorkspaceRootCheck: true trustPolicy: no-downgrade diff --git a/skills/tsdown/references/guide-getting-started.md b/skills/tsdown/references/guide-getting-started.md index 4c8c087f1..d3536f4df 100644 --- a/skills/tsdown/references/guide-getting-started.md +++ b/skills/tsdown/references/guide-getting-started.md @@ -14,7 +14,7 @@ pnpm add -D typescript ``` **Requirements:** -- Node.js 20.19 or higher +- Node.js 22.18.0 or higher - Experimental support for Deno and Bun ## Quick Start Templates diff --git a/skills/tsdown/references/guide-migrate-from-tsup.md b/skills/tsdown/references/guide-migrate-from-tsup.md index ac198f618..8164f504e 100644 --- a/skills/tsdown/references/guide-migrate-from-tsup.md +++ b/skills/tsdown/references/guide-migrate-from-tsup.md @@ -160,7 +160,7 @@ Some tsup features are not yet available. Check [GitHub issues](https://github.c ### Build Fails After Migration -1. **Check Node.js version** - Requires Node.js 20.19+ +1. **Check Node.js version** - Requires Node.js 22.18.0+ 2. **Install TypeScript** - Required for DTS generation 3. **Review config changes** - Ensure format and options are correct 4. **Check dependencies** - Verify all dependencies are installed diff --git a/skills/tsdown/references/option-config-file.md b/skills/tsdown/references/option-config-file.md index 38193da3d..85d5909d9 100644 --- a/skills/tsdown/references/option-config-file.md +++ b/skills/tsdown/references/option-config-file.md @@ -131,21 +131,31 @@ tsdown # Uses auto loader ### Native Loader -Uses runtime's native TypeScript support (Node.js 23+, Bun, Deno): +Uses runtime's native TypeScript support (Node.js 22.18.0+, Bun, Deno): ```bash tsdown --config-loader native ``` +### tsx Loader + +Uses [tsx](https://tsx.is/) library for loading via its tsImport API. Note: `tsx` is an optional peer dependency — install it manually first. + +```bash +pnpm add -D tsx +tsdown --config-loader tsx +``` + ### Unrun Loader -Uses [unrun](https://gugustinette.github.io/unrun/) library for loading: +Uses [unrun](https://gugustinette.github.io/unrun/) library for loading. Note: `unrun` is an optional peer dependency — install it manually first. ```bash +pnpm add -D unrun tsdown --config-loader unrun ``` -**Tip:** Use `unrun` loader if you need to load TypeScript configs without file extensions in Node.js. +**Tip:** Use `tsx` or `unrun` loader if you need to load TypeScript configs without file extensions in Node.js. ## Custom Config Path diff --git a/src/cli.ts b/src/cli.ts index c91e41acb..ab2c57d8c 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -19,7 +19,7 @@ cli .option('-c, --config ', 'Use a custom config file') .option( '--config-loader ', - 'Config loader to use: auto, native, unrun', + 'Config loader to use: auto, native, tsx, unrun', { default: 'auto' }, ) .option('--no-config', 'Disable config file') diff --git a/src/config/file.ts b/src/config/file.ts index a4395ff11..e6ba74e7b 100644 --- a/src/config/file.ts +++ b/src/config/file.ts @@ -8,7 +8,7 @@ import isInCi from 'is-in-ci' import { createDebug } from 'obug' import { createConfigCoreLoader } from 'unconfig-core' import { fsStat } from '../utils/fs.ts' -import { toArray } from '../utils/general.ts' +import { importWithError, toArray } from '../utils/general.ts' import { globalLogger } from '../utils/logger.ts' import type { InlineConfig, UserConfig, UserConfigExport } from './types.ts' import type { @@ -160,20 +160,17 @@ export async function loadConfigFile( } } -type Parser = 'native' | 'unrun' +type Parser = 'native' | 'tsx' | 'unrun' const isBun = !!process.versions.bun const nativeTS = process.features.typescript || process.versions.deno -const autoLoader = isBun || (nativeTS && isSupported) ? 'native' : 'unrun' +const autoLoader: Parser = + isBun || (nativeTS && isSupported) ? 'native' : 'unrun' function resolveConfigLoader( configLoader: InlineConfig['configLoader'] = 'auto', ): Parser { - if (configLoader === 'auto') { - return autoLoader - } else { - return configLoader === 'native' ? 'native' : 'unrun' - } + return configLoader === 'auto' ? autoLoader : configLoader } function createParser(loader: Parser) { @@ -189,7 +186,16 @@ function createParser(loader: Parser) { return [config, new Set([filepath])] } - return (loader === 'native' ? nativeImport : unrunImport)(filepath) + switch (loader) { + case 'native': + return nativeImport(filepath) + case 'tsx': + return tsxImport(filepath) + case 'unrun': + return unrunImport(filepath) + default: + throw new Error(`Unknown config loader: ${loader}`) + } } } @@ -214,7 +220,7 @@ async function nativeImport( const cannotFindModule = error?.message?.includes?.('Cannot find module') if (cannotFindModule) { const configError = new Error( - `Failed to load the config file. Try setting the --config-loader CLI flag to \`unrun\`.\n\n${error.message}`, + `Failed to load the config file. Try setting the --config-loader CLI flag to \`tsx\` or \`unrun\`.\n\n${error.message}`, { cause: error }, ) throw configError @@ -225,7 +231,7 @@ async function nativeImport( error.stack.includes('node:internal/modules/esm/translators') if (nodeInternalBug) { const configError = new Error( - `Failed to load the config file due to a known Node.js bug. Try setting the --config-loader CLI flag to \`unrun\` or upgrading Node.js to v24.11.1 or later.\n\n${error.message}`, + `Failed to load the config file due to a known Node.js bug. Try setting the --config-loader CLI flag to \`tsx\` or \`unrun\`, or upgrading Node.js to v24.11.1 or later.\n\n${error.message}`, { cause: error }, ) throw configError @@ -235,14 +241,23 @@ async function nativeImport( }), ) - const config = mod.default || mod + const config = mod?.default || mod return [config, deps] } +async function tsxImport( + id: string, +): Promise<[module: unknown, deps: Set]> { + const { tsImport } = + await importWithError('tsx/esm/api') + const module = await tsImport(pathToFileURL(id).href, import.meta.url) + return [module?.default || module, new Set([id])] +} + async function unrunImport( id: string, ): Promise<[module: unknown, deps: Set]> { - const { unrun } = await import('unrun') + const { unrun } = await importWithError('unrun') const { module, dependencies } = await unrun({ path: pathToFileURL(id).href, }) diff --git a/src/config/options.ts b/src/config/options.ts index 650e58a48..e9a8fc73c 100644 --- a/src/config/options.ts +++ b/src/config/options.ts @@ -5,6 +5,7 @@ import { blue } from 'ansis' import { createDefu } from 'defu' import isInCi from 'is-in-ci' import { createDebug } from 'obug' +import { readTsconfig } from 'rolldown-plugin-dts/internal' import { resolveClean } from '../features/clean.ts' import { resolveDepsConfig } from '../features/deps.ts' import { resolveEntry } from '../features/entry.ts' @@ -171,9 +172,16 @@ export async function resolveUserConfig( exe = resolveFeatureOption(exe, {}) if (dts == null) { - dts = exe - ? false - : !!(pkg?.types || pkg?.typings || hasExportsTypes(pkg?.exports)) + if (exe) { + dts = false + } else if (pkg?.types || pkg?.typings || hasExportsTypes(pkg?.exports)) { + dts = true + } else if (tsconfig) { + const { config } = readTsconfig(tsconfig) + dts = !!config.compilerOptions?.declaration + } else { + dts = false + } } dts = resolveFeatureOption(dts, {}) diff --git a/src/config/types.ts b/src/config/types.ts index a8ad657c0..b33cca6ca 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -690,7 +690,7 @@ export interface InlineConfig extends UserConfig { * Config loader to use. It can only be set via CLI or API. * @default 'auto' */ - configLoader?: 'auto' | 'native' | 'unrun' + configLoader?: 'auto' | 'native' | 'tsx' | 'unrun' /** * Filter configs by cwd or name. diff --git a/src/features/pkg/exports.test.ts b/src/features/pkg/exports.test.ts index 0ea380e7b..a826c2385 100644 --- a/src/features/pkg/exports.test.ts +++ b/src/features/pkg/exports.test.ts @@ -1116,6 +1116,84 @@ describe('generateExports', () => { `) }) + test('bin: implicit auto-detect with single shebang', async ({ expect }) => { + const results = generateExports( + { + es: [ + genChunk( + 'cli.js', + true, + undefined, + '#!/usr/bin/env node\nconsole.log("hello")', + ), + ], + }, + { exports: {} }, + ) + await expect(results).resolves.toMatchObject({ + bin: { 'fake-pkg': './cli.js' }, + }) + }) + + test('bin: implicit auto-detect with multiple shebangs warns', async ({ + expect, + }) => { + const warnings: string[] = [] + const logger = { + ...globalLogger, + warn: (...msgs: any[]) => { + warnings.push(msgs.join(' ')) + }, + } + const results = await generateExports( + { + es: [ + genChunk('cli.js', true, undefined, '#!/usr/bin/env node\n'), + genChunk('tool.js', true, undefined, '#!/usr/bin/env node\n'), + ], + }, + { exports: {}, logger }, + ) + expect(results.bin).toBeUndefined() + expect( + warnings.some((w) => + w.includes('Multiple entry chunks with shebangs found'), + ), + ).toBe(true) + }) + + test('bin: implicit auto-detect with no shebangs silently skips', async ({ + expect, + }) => { + const warnings: string[] = [] + const logger = { + ...globalLogger, + warn: (...msgs: any[]) => { + warnings.push(msgs.join(' ')) + }, + } + const results = await generateExports( + { + es: [genChunk('index.js', true, undefined, 'console.log("hello")')], + }, + { exports: {}, logger }, + ) + expect(results.bin).toBeUndefined() + expect(warnings.filter((w) => w.includes('bin'))).toHaveLength(0) + }) + + test('bin: false disables auto-detection', async ({ expect }) => { + const results = generateExports( + { + es: [genChunk('cli.js', true, undefined, '#!/usr/bin/env node\n')], + }, + { exports: { bin: false } }, + ) + await expect(results).resolves.toMatchObject({ + bin: undefined, + }) + }) + test('generate css publish exports', async ({ expect }) => { const results = generateExports( { es: [genChunk('index.js'), genAsset('style.css')] }, diff --git a/src/features/pkg/exports.ts b/src/features/pkg/exports.ts index 9041e2200..561ba522c 100644 --- a/src/features/pkg/exports.ts +++ b/src/features/pkg/exports.ts @@ -140,12 +140,18 @@ export interface ExportsOptions { /** * Generate the `bin` field in `package.json` for CLI executables. * - * Controls how command names are mapped to built entry files: + * Behavior depends on the value: * - * - `true`: Auto-detect a single CLI entry from entry chunks that contain - * a shebang (for example, `#!/usr/bin/env node`). The command name is - * derived from the package name without its scope. Throws if multiple - * shebang entries are found. Warns and skips generation if none are found. + * - *Unset* (default): Soft auto-detect. Scans entry chunks for shebangs + * (e.g. `#!/usr/bin/env node`). If exactly one is found, it is used as + * the bin entry. If multiple are found, a warning is shown and no `bin` + * field is written. If none are found, nothing happens silently. + * - `true`: Strict auto-detect. Same as the default, but throws if + * multiple shebang entries are found, and warns if none are found. + * Use this when your package is known to ship a CLI and you want to + * fail fast on misconfiguration. + * - `false`: Disable bin generation entirely, even if shebangs are + * present. * - `string`: Use the given source file path (relative to `cwd`) as the * CLI entry. The command name is derived from the package name without * its scope. Warns if the source file does not contain a shebang. @@ -505,9 +511,9 @@ function generateBin( logger: Logger, cwd: string, ): string | Record | undefined { - if (!bin) return + if (bin === false) return - if (bin === true || typeof bin === 'string') { + if (bin === true || bin === undefined || typeof bin === 'string') { if (!pkg.name) throw new Error( 'Package name is required when using string form for `bin`', @@ -515,7 +521,7 @@ function generateBin( const binName = pkg.name[0] === '@' ? pkg.name.split('/', 2)[1] : pkg.name - if (bin === true) { + if (bin === true || bin === undefined) { let detected: string | undefined const seen = new Set() @@ -530,9 +536,15 @@ function generateBin( seen.add(chunk.facadeModuleId) if (detected) { - throw new Error( - 'Multiple entry chunks with shebangs found. Use `exports.bin: { name: "./src/file.ts" }` to specify which one to use.', + if (bin === true) { + throw new Error( + 'Multiple entry chunks with shebangs found. Use `exports.bin: { command: "./src/file.ts" }` to specify which one to use.', + ) + } + logger.warn( + 'Multiple entry chunks with shebangs found. Use `exports.bin: true` or `exports.bin: { command: "./src/file.ts" }` to configure explicitly.', ) + return } detected = devExports ? `./${slash(path.relative(pkgRoot, chunk.facadeModuleId))}` @@ -541,9 +553,11 @@ function generateBin( } if (detected == null) { - logger.warn( - '`exports.bin` is true but no entry chunks with shebangs were found', - ) + if (bin === true) { + logger.warn( + '`exports.bin` is true but no entry chunks with shebangs were found', + ) + } return } return { [binName]: detected } diff --git a/src/features/pkg/publint.ts b/src/features/pkg/publint.ts index 071510fc3..ec274a169 100644 --- a/src/features/pkg/publint.ts +++ b/src/features/pkg/publint.ts @@ -35,7 +35,7 @@ export async function publint( options.publint.module?.[1] || (await importWithError('publint/utils')) - const { messages } = await publint({ + const { messages, pkg } = await publint({ ...options.publint, pack: { tarball: tarball.buffer }, }) @@ -52,7 +52,7 @@ export async function publint( } for (const message of messages) { - const formattedMessage = formatMessage(message, options.pkg) + const formattedMessage = formatMessage(message, pkg) const logType = ( { error: 'error', warning: 'warn', suggestion: 'info' } as const )[message.type] diff --git a/src/run.ts b/src/run.ts index 205196f9c..d7437dca6 100755 --- a/src/run.ts +++ b/src/run.ts @@ -1,16 +1,7 @@ #!/usr/bin/env node import module from 'node:module' -import process from 'node:process' -import { yellow } from 'ansis' -import lt from 'semver/functions/lt.js' import { runCLI } from './cli.ts' -if (!process.versions.bun && lt(process.version, '22.18.0')) { - console.warn( - yellow`[tsdown] Node.js ${process.version} is deprecated. Support will be removed in the next minor release. Please upgrade to Node.js v22.18.0 or later.`, - ) -} - try { module.enableCompileCache?.() } catch {}