diff --git a/.gitignore b/.gitignore index b6f21cb0..5d0a162b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ package-lock.json .idea/ example/playground/.nuxtrc .temp* +.eslintcache diff --git a/build.config.ts b/build.config.ts deleted file mode 100644 index 4c4cd2ce..00000000 --- a/build.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { defineBuildConfig } from 'unbuild' - -export default defineBuildConfig({ - declaration: true, - entries: [ - './src/cli', - './src/index', - ], -}) diff --git a/package.json b/package.json index 3d7dad6b..13f601aa 100644 --- a/package.json +++ b/package.json @@ -27,11 +27,13 @@ "dist" ], "scripts": { - "build": "unbuild", - "dev:prepare": "unbuild --stub && pnpm -r dev:prepare", + "build": "rolldown -c", + "build:watch": "pnpm build -w", + "dev:prepare": "pnpm -r dev:prepare", "example:build": "pnpm nuxt-module-build build ./example", "example:stub": "pnpm nuxt-module-build build --stub ./example", - "lint": "eslint .", + "lint": "eslint . --cache", + "lint:fix": "eslint . --cache --fix", "nuxt-module-build": "JITI_ESM_RESOLVE=1 jiti ./src/cli.ts", "prepack": "pnpm build", "release": "pnpm vitest run && pnpm build && changelogen --release && pnpm publish && git push --follow-tags", @@ -48,13 +50,13 @@ "consola": "^3.4.2", "defu": "^6.1.7", "jiti": "^2.7.0", - "magic-regexp": "^0.11.0", - "mkdist": "^2.4.1", "mlly": "^1.8.2", "pathe": "^2.0.3", "pkg-types": "^2.3.1", + "rolldown": "^1.1.0", + "rolldown-plugin-dts": "^0.25.2", + "tinyglobby": "^0.2.17", "tsconfck": "^3.1.6", - "unbuild": "^3.6.1", "vue-sfc-transformer": "^0.2.3" }, "peerDependencies": { @@ -85,6 +87,6 @@ "vue-tsc": "^3.3.3" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^22.18.0 || >=24.0.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 46d3673f..f4527ac7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,12 +29,6 @@ importers: jiti: specifier: ^2.7.0 version: 2.7.0 - magic-regexp: - specifier: ^0.11.0 - version: 0.11.0 - mkdist: - specifier: ^2.4.1 - version: 2.4.1(typescript@5.9.3)(vue-sfc-transformer@0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)))(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3)) mlly: specifier: ^1.8.2 version: 1.8.2 @@ -44,15 +38,21 @@ importers: pkg-types: specifier: ^2.3.1 version: 2.3.1 + rolldown: + specifier: ^1.1.0 + version: 1.1.0 + rolldown-plugin-dts: + specifier: ^0.25.2 + version: 0.25.2(oxc-resolver@11.20.0)(rolldown@1.1.0)(typescript@5.9.3)(vue-tsc@3.3.3(typescript@5.9.3)) + tinyglobby: + specifier: ^0.2.17 + version: 0.2.17 tsconfck: specifier: ^3.1.6 version: 3.1.6(typescript@5.9.3) - unbuild: - specifier: ^3.6.1 - version: 3.6.1(typescript@5.9.3)(vue-sfc-transformer@0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)))(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3)) vue-sfc-transformer: specifier: ^0.2.3 - version: 0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)) + version: 0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(rolldown@1.1.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)) devDependencies: '@arethetypeswrong/cli': specifier: ^0.18.3 @@ -89,7 +89,7 @@ importers: version: 6.15.0 nuxt: specifier: ~4.4.7 - version: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) + version: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) ofetch: specifier: ^1.5.1 version: 1.5.1 @@ -129,7 +129,7 @@ importers: version: link:.. nuxt: specifier: ~4.4.7 - version: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) + version: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) example/playground: dependencies: @@ -138,7 +138,7 @@ importers: version: link:.. nuxt: specifier: ~4.4.7 - version: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) + version: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) devDependencies: typescript: specifier: ~5.9.3 @@ -180,8 +180,8 @@ packages: resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} engines: {node: '>=6.9.0'} - '@babel/generator@8.0.0-rc.5': - resolution: {integrity: sha512-nFZPWz3FHIS7y6rMIVoa/WBwjdutfIaRJIBQjzn+t3RnecZoRNlGmGcyR2wb0T/IgSd50Kz/6dG8/LvMCRunjg==} + '@babel/generator@8.0.0-rc.6': + resolution: {integrity: sha512-6mIzgVK8DgEzvIapoQwhXTMnnkuE4STQmVv9H03i/tZ2ml8oev3TRvZJgTenK2Bsq0YWNtzOrFdTyNzCMFtjJQ==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-annotate-as-pure@7.27.3': @@ -242,6 +242,10 @@ packages: resolution: {integrity: sha512-sN7R8rBvDurfaziNfDEIjIntlazmlkCDGO4SNl2RJ3wRCn+QxspLV7hzYAE8WWVd2joVuT8sUxeePdLp2idI1A==} engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-string-parser@8.0.0-rc.6': + resolution: {integrity: sha512-BCkFy+zN6kXQed3YOT7aJl93NfDSzQc3pBfsvTVPs9gU9X3V0aefEF5kwBT0E+mDWH9QgKaZstYUQN9VdQZT4g==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} @@ -250,6 +254,10 @@ packages: resolution: {integrity: sha512-ehJDxHvtbZ85RtX/L2fi0h9AGsBNqB5Euv1EB8RMAvGYvD+2X+QbpzzOpbklnNXO+WSZJNOaetw2BBj27xsWVg==} engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-identifier@8.0.0-rc.6': + resolution: {integrity: sha512-nVJ+1JcCgntv8d78rRo++o2wuODT0Irknx2BF8Np4Ft2CRgjLqIs4qzSZ8b66yGbBdMWGmZBO9WEZv1hhNiSpg==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} @@ -268,6 +276,11 @@ packages: engines: {node: ^22.18.0 || >=24.11.0} hasBin: true + '@babel/parser@8.0.0-rc.6': + resolution: {integrity: sha512-rOS8IpdO7mQELkTPlCsTgPejO0bFuZdEDCGQJouYbYf9e1FLTym7Fei2pEjq8q7MWbX0ravcd7QQYKs1TxOuog==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true + '@babel/plugin-syntax-jsx@7.28.6': resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} engines: {node: '>=6.9.0'} @@ -302,6 +315,10 @@ packages: resolution: {integrity: sha512-JeSVu/m8x/zpp4CLjYHVNXuhEyOkhPXuxM8YOXjh6L4LlvQNKuUNOTo5KdBuKAcTDHw8DquToTaEkhsBqPXOaA==} engines: {node: ^22.18.0 || >=24.11.0} + '@babel/types@8.0.0-rc.6': + resolution: {integrity: sha512-p7/ABylAYlexb31wtRdIfH9L9A0Z2T/9H6zAqzqndkY2PLkvNNc580wGhp/gGKN4Sp9sQvSkhc6Oga8/O+wTyw==} + engines: {node: ^22.18.0 || >=24.11.0} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -371,12 +388,6 @@ packages: resolution: {integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==} engines: {node: '>=10'} - '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.27.7': resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} @@ -389,12 +400,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.27.7': resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} engines: {node: '>=18'} @@ -407,12 +412,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.27.7': resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} engines: {node: '>=18'} @@ -425,12 +424,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.27.7': resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} engines: {node: '>=18'} @@ -443,12 +436,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.27.7': resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} engines: {node: '>=18'} @@ -461,12 +448,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.27.7': resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} engines: {node: '>=18'} @@ -479,12 +460,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.27.7': resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} engines: {node: '>=18'} @@ -497,12 +472,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.27.7': resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} engines: {node: '>=18'} @@ -515,12 +484,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.27.7': resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} engines: {node: '>=18'} @@ -533,12 +496,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.27.7': resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} engines: {node: '>=18'} @@ -551,12 +508,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.27.7': resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} engines: {node: '>=18'} @@ -569,12 +520,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.27.7': resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} engines: {node: '>=18'} @@ -587,12 +532,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.27.7': resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} engines: {node: '>=18'} @@ -605,12 +544,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.27.7': resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} engines: {node: '>=18'} @@ -623,12 +556,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.27.7': resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} engines: {node: '>=18'} @@ -641,12 +568,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.27.7': resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} engines: {node: '>=18'} @@ -659,12 +580,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.27.7': resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} engines: {node: '>=18'} @@ -677,12 +592,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.27.7': resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} engines: {node: '>=18'} @@ -695,12 +604,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.27.7': resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} engines: {node: '>=18'} @@ -713,12 +616,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.27.7': resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} engines: {node: '>=18'} @@ -731,12 +628,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.27.7': resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} engines: {node: '>=18'} @@ -749,12 +640,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.27.7': resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} engines: {node: '>=18'} @@ -767,12 +652,6 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.27.7': resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} engines: {node: '>=18'} @@ -785,12 +664,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.27.7': resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} engines: {node: '>=18'} @@ -803,12 +676,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.27.7': resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} engines: {node: '>=18'} @@ -821,12 +688,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.27.7': resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} engines: {node: '>=18'} @@ -1333,6 +1194,9 @@ packages: '@oxc-project/types@0.133.0': resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} + '@oxc-project/types@0.134.0': + resolution: {integrity: sha512-T0xuRRKrQFmocH8y+jGfpmSkGcheaJExY9lEihmR1Gm2aH+75B8CzgU2rABRQSzzDxLjZ15Sc0bRVLj5lVeNXQ==} + '@oxc-resolver/binding-android-arm-eabi@11.20.0': resolution: {integrity: sha512-IjfWOXRgJFNdORDl+Uf1aibNgZY2guOD3zmOhx1BGVb/MIiqlFTdmjpQNplSN58lhWehnX4UNqC3QwpUo8pjJg==} cpu: [arm] @@ -1692,18 +1556,104 @@ packages: resolution: {integrity: sha512-HDVTWq3H0uTXiU0eeSQntcVUTPP3GamzeXI41+x7uU9J65JgWQh3qWZHblR1i0npXfFtF+mxBiU2nJH8znxWnQ==} engines: {node: '>=18'} + '@rolldown/binding-android-arm64@1.1.0': + resolution: {integrity: sha512-gCYzGOSkYY6Z034suzd20euvds7lPzMEEla62DJGE/ZAlR4OMBnNbvnBSsIGUCAr52gaWMsloGxP4tVGtN5aCA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.1.0': + resolution: {integrity: sha512-JQBD77MNgu+4Z6RAyg69acugdrhhVoWesr3l47zohYZ2YV2fwkWMArkN/2p4l6Ei+Sno7W5q+UsKdVWq5Ens0w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.1.0': + resolution: {integrity: sha512-p/8cXUTK4Sob604e+xxPhVSbDFf29E6J0l/xESM9rdCfn3aDai3nEs6TnMHUsdD5aNlFz0+gDbiGlozLKGa2YA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.1.0': + resolution: {integrity: sha512-KbtOSlVv6fElujiZWMcC3aQYhEwLVVf073RcwlSmpGQvIsKZFUqc0ef4sjUuurRwfbiI6JJXji9DQn+86hawmQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.1.0': + resolution: {integrity: sha512-9fZ9i0o0/MQaw7om6Z6TsT7tfCk0jtbEFtC+aPqZL5RNsGWNcHvn6EHgL3dAprjq+AZzPTAQjg2JtpJaMt+6pg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.1.0': + resolution: {integrity: sha512-+tog7T66i+yFyIuuAnjL6xmW182W/qTBOUt6BtQ6lBIM1Eikh/fSMz4HGgvuCp5uU0zuIVWng7kDYthjCMOHcg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-musl@1.1.0': + resolution: {integrity: sha512-4b7yruLIIj/oZ3GpcLOvxcLCLDMraohn3IhQfN2hBP4w9UekG0DTIajWguJosRGfySf/+h/NwRUiMKoCpxCrqQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-ppc64-gnu@1.1.0': + resolution: {integrity: sha512-QRDOVZd0bhQ5jLsUsCC3dUxDWdTSVY9WMznowZgCGOrZfLLgctWpelhUASEiBwsXfat/JwYnVd1EaxMhqyT+UQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.1.0': + resolution: {integrity: sha512-ypxT+Hq76NFG7woFbNbySnGEajFuYuIXeKz/jfCU+lXUoxfi3zLE6OG/ZQNeK3RpZSYJlAe2bokpsQ046CaieQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.1.0': + resolution: {integrity: sha512-IdovCmfROFmpTLahdecTDFL74aLERVYN68F/mLZjfVh6LfoplPfI6deyHNMTcVujbokDV5k05XrFO22zfv+qjg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-musl@1.1.0': + resolution: {integrity: sha512-pcA8xlFp2tyk9T2R6Fi/rPe3bQ1MA+sSMDNUU5Ogu80GHOatkE4P8YCreGAvZErm5Ho2YRXnyvNrWiRncfVysQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-openharmony-arm64@1.1.0': + resolution: {integrity: sha512-4+fexHayrLCWpriPh4c6dNvL4an34DEZCG7zOM/FD5QNF6h8DT+bDXzyB/kfC8lDJbaFb7jKShtnjDQFXVQEjg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.1.0': + resolution: {integrity: sha512-SbL++MNmOw6QamrwIGDMSSfM4ceTzFr+RjbOExJSLLBinScU4WI5OdA413h1qwPw2yH7lVF1+H4svQ+6mSXKTQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.1.0': + resolution: {integrity: sha512-+xTE6XC7wBgk0VKRXGG+QAnyW5S9b8vfsFpiMjf0waQTmSQSU8onsH/beyZ8X4aXVveJnotiy7VDjLOaW8bTrg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.1.0': + resolution: {integrity: sha512-Ogji1TQNqH3ACLnYr+1Ns1nyrJ0CO2P585u9Hsh02pXvtFiFpgtgT2b3P4PnCOU86VVCvqtAeCN4OftMT8KU4w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/plugin-alias@5.1.1': - resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/plugin-alias@6.0.0': resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==} engines: {node: '>=20.19.0'} @@ -1713,15 +1663,6 @@ packages: rollup: optional: true - '@rollup/plugin-commonjs@28.0.9': - resolution: {integrity: sha512-PIR4/OHZ79romx0BVVll/PkwWpJ7e5lsqFa3gFfcrFPWwLXLV39JVUzQV9RKjWerE7B845Hqjj9VYlQeieZ2dA==} - engines: {node: '>=16.0.0 || 14 >= 14.17'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/plugin-commonjs@29.0.2': resolution: {integrity: sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==} engines: {node: '>=16.0.0 || 14 >= 14.17'} @@ -2280,9 +2221,15 @@ packages: peerDependencies: vue: ^3.5.35 + '@vue/devtools-kit@8.1.1': + resolution: {integrity: sha512-gVBaBv++i+adg4JpH71k9ppl4soyR7Y2McEqO5YNgv0BI1kMZ7BDX5gnwkZ5COYgiCyhejZG+yGNrBAjj6Coqg==} + '@vue/devtools-kit@8.1.2': resolution: {integrity: sha512-f75/upc+GCyjXErpgPGz4582ujS0L/adAltGy+tqXMGUJpgAcfGr6CxnnhpZY8BHuMYt6KpbF8uaFrrQG66rGQ==} + '@vue/devtools-shared@8.1.1': + resolution: {integrity: sha512-+h4ttmJYl/txpxHKaoZcaKpC+pvckgLzIDiSQlaQ7kKthKh8KuwoLW2D8hPJEnqKzXOvu15UHEoGyngAXCz0EQ==} + '@vue/devtools-shared@8.1.2': resolution: {integrity: sha512-X9RyVFYAdkBe4IUf5v48TxBF/6QPmF8CmWrDAjXzfUHrgQ/HGfTC1A6TqgXqZ03ye66l3AD51BAGD69IvKM9sw==} @@ -2393,6 +2340,10 @@ packages: resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==} engines: {node: '>=20.19.0'} + ast-kit@3.0.0-beta.1: + resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==} + engines: {node: '>=20.19.0'} + ast-v8-to-istanbul@1.0.0: resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==} @@ -2704,12 +2655,6 @@ packages: srvx: optional: true - css-declaration-sorter@7.4.0: - resolution: {integrity: sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.0.9 - css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} @@ -2730,36 +2675,18 @@ packages: engines: {node: '>=4'} hasBin: true - cssnano-preset-default@7.0.17: - resolution: {integrity: sha512-11qO63A+czwguQFJCaTdICvbaxn0pJzz/XghLlv+OT7WyToDxAMR0Xb3/26/l0y0hQJywwNbj/SLSQlGBHE1OA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - cssnano-preset-default@8.0.1: resolution: {integrity: sha512-OTdKeYMlvQ8KBgyej5ysktnWJoeyo7rGrVnm+bdpIHGvxhbTGPsOkB+7T1EdTuX00dGlQQb2UEbSPB1OpMXULw==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - cssnano-utils@5.0.3: - resolution: {integrity: sha512-ynIREMICLxkxm7e9bCR9sh75s4Q5drICi0ua1yxo5jH2XPBqSKkl4dOh4EbFqtUmnTMhRffHgYL0EKKkMjtJTg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - cssnano-utils@6.0.0: resolution: {integrity: sha512-ztS9W/+uaDn+bkYmDhs+GdMveHJ3CL8IPNHpRqDUQXv5GJOTQAJjV1XUOInr9esLXSabQV1pLRZlJpyUwEqDyQ==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - cssnano@7.1.9: - resolution: {integrity: sha512-uPR75+5Dk/WJ/YSPR1/YDHdwMM9c5FsaARljfKWgeCKLKOtJ0we21xy/RcCjn53fZnD/f6yYEIZ8pu18+GnbNQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - cssnano@8.0.1: resolution: {integrity: sha512-oSiOnPQNNYjusTUlYJiE6xvFQG4don3N0QavaoV1BxIsC1zjvxOwikXlR7lG1EVmZNDDaJkHbQx1VRB8kaoMHA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} @@ -2870,6 +2797,15 @@ packages: resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} engines: {node: '>=12'} + dts-resolver@3.0.0: + resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} + engines: {node: ^22.18.0 || >=24.0.0} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -2923,11 +2859,6 @@ packages: es-module-lexer@2.1.0: resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} - esbuild@0.25.12: - resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.27.7: resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} engines: {node: '>=18'} @@ -3184,9 +3115,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - fix-dts-default-cjs-exports@1.0.1: - resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} - flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -3247,6 +3175,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 @@ -3481,10 +3413,6 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jiti@1.21.7: - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} - hasBin: true - jiti@2.7.0: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true @@ -3689,27 +3617,6 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} - mkdist@2.4.1: - resolution: {integrity: sha512-Ezk0gi04GJBkqMfsksICU5Rjoemc4biIekwgrONWVPor2EO/N9nBgN6MZXAf7Yw4mDDhrNyKbdETaHNevfumKg==} - hasBin: true - peerDependencies: - sass: ^1.92.1 - typescript: ~5.9.3 - vue: ^3.5.35 - vue-sfc-transformer: ^0.1.1 - vue-tsc: ^3.3.3 - peerDependenciesMeta: - sass: - optional: true - typescript: - optional: true - vue: - optional: true - vue-sfc-transformer: - optional: true - vue-tsc: - optional: true - mlly@1.8.2: resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} @@ -4018,294 +3925,144 @@ packages: peerDependencies: postcss: ^8.4.38 - postcss-colormin@7.0.10: - resolution: {integrity: sha512-yFr6JezOolHLta/buLE71VKPh2mXursp4saVe98/ol8ZnEWhL+racShqPKlvd/DKWLre/39B6HhcMXf7RZ3hxg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-colormin@8.0.0: resolution: {integrity: sha512-KKwMmsSgsmdYXqrjQeqL3tnuIFtctiR1GEMHdjNpDpz/TCRkkkok2mMcreK2zVV3l7POWOmAkR2xYHUpRUK1DA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-convert-values@7.0.12: - resolution: {integrity: sha512-xurKu5qqk4viR3Cp3p4xBR4KfnZm4w4ys6+UBwBmeuBSNkH7+DtLnYOYnOffgtE4yx8sH9S1VZ6RAAvROXzP2Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-convert-values@8.0.0: resolution: {integrity: sha512-Ohtj3rNZWawTRePv5NCHTy8VJSdJ/G/uKuxcxJreOMichuqcT6uEl2TAnopVeJCJ/c13jaSqg7m63yFLM5zBsA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-discard-comments@7.0.8: - resolution: {integrity: sha512-CvvS5S9WrXblFXCEJ9nVo+4z+eA7zSC7Z88V1HEJuwlQhlFnYTIjg1xJY+BCUiG2bvICap2tXii4mP22BD108Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-discard-comments@8.0.0: resolution: {integrity: sha512-zGpvVLj2sbagEp+BTVETvAfkZdGVA6rALNujDK/WTIjdf1/rQOxOG8BBzkI8UQgnw8SkL6xffAfbtGMHFypadw==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-discard-duplicates@7.0.4: - resolution: {integrity: sha512-VBNn1+EuMZkeGVVtz0gRfbNGtx9IFgAsAV+E2pHtXPrp4qfGBkhTIiAuE/wrb+Y6Pakg9NewAlfTpYIFAWODtw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-discard-duplicates@8.0.0: resolution: {integrity: sha512-zjRyYmNGI3PTipKBBtCgExlmZXQn49KvKoaiNnR2g+iXxeNk7GY5Js2ULtZXPrCYeqjPagrzKIBNcBocvXCR7g==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-discard-empty@7.0.3: - resolution: {integrity: sha512-M2pyjQCU+/7cMHVtL6bKTHjv0lZnPLMpicgr67Dlth7AbuV9gjVTtUqaRwn6Pp6BwSDspUzhz8SaUrRykJU5Dw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-discard-empty@8.0.0: resolution: {integrity: sha512-kxPJg6EqahbBvm+l7hpYYCtpsv8dlz7Tv6wJXUXZaeuY0WGS61DxfGdZR4uVB/Cx+yi3iOHQVSqpSHKMFaBg6Q==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-discard-overridden@7.0.3: - resolution: {integrity: sha512-aNovXo9UsZuRNLzHJtp13lHIvinDPfiXBPePpXkSjCbgp++iU2FqE+YxvjIsg6EdyPZsASFbfu+JcBFVsErXIQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-discard-overridden@8.0.0: resolution: {integrity: sha512-sW2OWH3l9p0FmBSVr228uztFseqroZxwgD7SGF0Ks0dRPDttSo3P8FK5ZBLtWBH2A5+chpB0J2fB/T8heKHLBw==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-merge-longhand@7.0.7: - resolution: {integrity: sha512-b3mfYUxR388u5Pt0HPcVIUtUDn/k15UfTY9M+ORW+meCR6JLNxoZffiYvXyOYQoRYQNZyX/UFkMCM/mNHxe1qA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-merge-longhand@8.0.0: resolution: {integrity: sha512-YDmAmQ8H+ljfomVpSXvr9NA0GP01fraQJqjWBYoMVGg6rOT+PJLwPyeVo2ekn4WB4ZVSH5ddtK3DTRxbz6CFzg==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-merge-rules@7.0.11: - resolution: {integrity: sha512-SJUPM18g2BmPhf8BVlbwqWz4aK3pLu6u6xjfwEzra7xL6IBR10sUaiB++EzqcVfadPHrKBSMlNdP+XieykhI+Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-merge-rules@8.0.0: resolution: {integrity: sha512-bgstL5mpi41dDpnYGDUcI3M814NWkCMcIWpwDqEHXkHg3BT7b4XRAfNEuwJncZOVn/67kVKvWzhfv/7xyrp2uQ==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-minify-font-values@7.0.3: - resolution: {integrity: sha512-yilG/VOaNI74IylQvAQQxm3/wZVBkXyYUqNUAdxqwtbWUXPsbK1q8Ms0mL83v+f8YicgcyfYCRZtWACUdYajpA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-minify-font-values@8.0.0: resolution: {integrity: sha512-EnOHQEnSt6oH5NrL1DMFAQuwB2IOimFXTCzc9bKfUeH1jREbqIF5MAK4gQJQOC4mPUwJt4sWifAmNZ1qLu6j3Q==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-minify-gradients@7.0.5: - resolution: {integrity: sha512-YraROyQRg3BI1+Hg8E05B/JPdnTm8EDSVu4P2BxdM+CRiOyfmou809+chGIqo6fQqwjPGQ947nbGncSjmTU1WQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-minify-gradients@8.0.0: resolution: {integrity: sha512-43iAnYIGk0ZjNx5X/rkIcHi6dhmu/vEjY0kqfUfxPuJRO+V7jx8uKIdcnL0dpfNoC5J9TSh3EtzLWbq0gpqnWA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-minify-params@7.0.9: - resolution: {integrity: sha512-R8itbB8BhlpoYyBm1ou0dD+vJnQ3F6adQipR4UnkCHUwlo+S9WXJaDRg1RHjC8YVAtIdrQzSWvJl40HnGDTKjA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-minify-params@8.0.0: resolution: {integrity: sha512-z7w4QO7G55l4vMUK1Lmx03GW7iyRLgf2V5Dz/7ioSPLnXRjeD+b7m0XfAXUGrbBYYrJ6bXPk+3LoX5u4JfAcSg==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-minify-selectors@7.1.2: - resolution: {integrity: sha512-aQtrEWKwqafNlExcKHQvPGsXR2+vlUqqJtf5XsCQcgsSb5PL4wlujWBYDJuWsP4UnQX1YHDHU8qRlD+1PzTQ+Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-minify-selectors@8.0.1: resolution: {integrity: sha512-c31D46811kTkQDxV1KTTow79axX6gj/01AY5G7cGZg3s31KvAwP13jEFXGAzQbJ7NvOFV1pRqEia6nrAdHU7qg==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-nested@7.0.2: - resolution: {integrity: sha512-5osppouFc0VR9/VYzYxO03VaDa3e8F23Kfd6/9qcZTUI8P58GIYlArOET2Wq0ywSl2o2PjELhYOFI4W7l5QHKw==} - engines: {node: '>=18.0'} - peerDependencies: - postcss: ^8.2.14 - - postcss-normalize-charset@7.0.3: - resolution: {integrity: sha512-NoBfZu8PR4c2NlmjvrqQTzCzLY79hwcSRgNQ3ZiNK0ABzf9kYKloE/jNj+/8GQY1wsm8pRRgANk6ydLH8cwo0Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-charset@8.0.0: resolution: {integrity: sha512-s88FUNDSUD8m0wBYvTQQcubVts6zhXwBU8zCD4vkRKiecd0v8cOjHVIF9r/i+5xzS/WG3f98qq4XsOM0JqvfLA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-normalize-display-values@7.0.3: - resolution: {integrity: sha512-ldsCX0QIt05pKIOobZtVQ48wXJecr+czw4+e1/YjVhLMqslShgpVxgPtI2CefURR8oyVoYaU/l829MMwExDMLw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-display-values@8.0.0: resolution: {integrity: sha512-gG2nBxD27fiw6Luinb1QYKdM/Co5GornRJgSD+JTwNH4PGKxImP0qyruDDav49aHUPLY3qrL3qN3LvybO7IzxQ==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-normalize-positions@7.0.4: - resolution: {integrity: sha512-VEvlpeGd3Ju1Hqa/oN4jaP3+ms4laYwkEL9N9u+B6k54PZjXbW1n6wI+aVprf1BQXlCYpS5+1pl/7/vHiKgARg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-positions@8.0.0: resolution: {integrity: sha512-t/wGqpehS20Ke7kc4QAsWpH+AJjUdMK/V5qV2RhrXkj8hO/fT1t1MJ8NL7sedWYk7ZqC7eISEJQonW5j0tU1MQ==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-normalize-repeat-style@7.0.4: - resolution: {integrity: sha512-6mPKlY/8cSaDHxX502wERADarJsccwlky6yIrOapHH2ZgfoKAV94SbiTKfKEs4EEpdazuc3J72WsqeYk7hp9+Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-repeat-style@8.0.0: resolution: {integrity: sha512-3ebOmGdCYKrBYyGKc1xhj0unEnW7beZpVU7JohVeGl7mTxR+7T6egpaawTWAVsB0pEIhcsbJVOjPKCJSoRO6Zg==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-normalize-string@7.0.3: - resolution: {integrity: sha512-HnEQPUchi1eznmDKEYrKUTqrprEq97SrpUYClgUkv7V2zRODD9DFoUsYU+m9ZOetmD5ku7fEMZB/lwy8IT6xVQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-string@8.0.0: resolution: {integrity: sha512-TvWCGZ/e04Tv31uJvOUtbexkfgUnqmQ3M2P5DkAaVzvOj+BvTkG2QjpA5Y71SL1SPxJcj4M23fNh+RDVCmG8kA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-normalize-timing-functions@7.0.3: - resolution: {integrity: sha512-zmEzHdvpZBZu0OKlbJSfgASQvaayyAoVuWtvyr34IJ/LyS+DaOKvvR3EvFJ9RWWtNIx+CMvO125OVophaxNYew==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-timing-functions@8.0.0: resolution: {integrity: sha512-uEfaXst5Xgqxv7geYUuz6vs9mn88K2NPY2RoIzM3BMmSjsdTSeppV9x2qIgrxsisdbSqF6IVhzI2occcte3hTA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-normalize-unicode@7.0.9: - resolution: {integrity: sha512-DRAdWfeh/TjmhLJsw91vdiWCnUod9iwvM7xyS02/nF/sLsCR3A8l3pztrSUrWG8DSBqfX7yEk9FM0USaVJ2mSg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-unicode@8.0.0: resolution: {integrity: sha512-+WYngZaChEeTHZmWhmKtnJ4gTzWdINEaFcgWBnu6WdVu8Ftim8OBTcw768DuCC/3Aax9bZ9WkwrLGHym2Lzf+A==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-normalize-url@7.0.3: - resolution: {integrity: sha512-CL93wmloq5qsffmFv+bw24MIRbmhHrp53qoh1LDAb/5TtjWEXI/np4xcP/Gw9oWCb2XyWnqHYLDUwiKRoJBA1Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-url@8.0.0: resolution: {integrity: sha512-4Mz9hZHn/QIB+YtFqTXrDmE2193GYxGb3F8uMfLvMicaEXCCUlDIJ658gFFJbqEGl9FYzwPtRiuNgbwlO9kkBg==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-normalize-whitespace@7.0.3: - resolution: {integrity: sha512-FdHjjn+Ht5Z2ZRjNOmeCbNq6lq09sUYKpmlF/Aq0XjVNSLTL6fmHlA/3swN2wP2caY9GV/tjSDcIIyS7aN7W0A==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-normalize-whitespace@8.0.0: resolution: {integrity: sha512-V1f8tYnwIP5tscOXQFTKK8Y5EJ+R2GMpFJ6FjzwoKoQnhbqQy3IeSrDjJJb8JjVos8ut6Osi80Zybpayv/XjIQ==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-ordered-values@7.0.4: - resolution: {integrity: sha512-nubSi49hDHQk4E8KIj+IbLY8Bg+8OcSUEhgyolgM+atnOvXjV7EjaR6bac4YGZoFyPa9mWoAF3EaYbWdFkKqVg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-ordered-values@8.0.0: resolution: {integrity: sha512-Dg9+itb6lmD0bxqhQyHCtXAwYRh0wUrx6Mp4/BNXgkLoJmdYMmWi+V+Pypw79Q6iQhxA8KFMHqLBITQJV2gKMA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-reduce-initial@7.0.9: - resolution: {integrity: sha512-ztTNPdIxXTxtBcG03E9u8v44M4ElXbMIRT7pf2onlquGula0Y83nKKxqM22FA/hMgkfCjN7ohevkVlaNwI8iOQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-reduce-initial@8.0.0: resolution: {integrity: sha512-DChcE9d528AKrlpCTHjhsAiOsWCk4H9ApHPS1QqRT3praObWTiWyn6W1UddGpc46K9LQnHwUu4YwaPUukGtXVA==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-reduce-transforms@7.0.3: - resolution: {integrity: sha512-FXsnN9ZwcZTT8Yf8cAHA8qIGUXcX6WfLd9JoYhrdDfmvsVhhfqkkv7m4AC3rwFOfz+GzkUa87OCKF9dUcicd+g==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-reduce-transforms@8.0.0: resolution: {integrity: sha512-cLZT0som7vvumQT9XQCnSKOSnRinNQZd1Hm+J723Ney13E8CIydDhw6JwzsjPtgnYThTqn9Q45906gz6wxaAsw==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} @@ -4316,24 +4073,12 @@ packages: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} - postcss-svgo@7.1.3: - resolution: {integrity: sha512-2QfoFOYMcj8lwcVEf9WeTlkVIAm7u2QvOEhMzkQU3KUhhGX/l8hVV9EtjMv4iq3E9iI3OeeMN0YoMLbGusuigw==} - engines: {node: ^18.12.0 || ^20.9.0 || >= 18} - peerDependencies: - postcss: ^8.5.13 - postcss-svgo@8.0.0: resolution: {integrity: sha512-Q2fMSYEiNE1ioDc/3sxvI24NdgA/MJno2XLNpOxgv8aCcJbym8mZY10/lDY5+AWCIc3Aiqzy2Wcp9/zaIXBZgQ==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} peerDependencies: postcss: ^8.5.14 - postcss-unique-selectors@7.0.7: - resolution: {integrity: sha512-d+sCkaRnSefghOUdH8CMJZV9yUQhj2ojpe8Nw/lA+LV1UOfeleGkLTl6XdCFFSai9UJ+DJPb69FFuqthXYsY8w==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - postcss-unique-selectors@8.0.0: resolution: {integrity: sha512-iObuolUX+ITJfMU2QQFQdh31JgSjNLPNjVs6YGAqBHvOvAWXMMNget6donQl83aQaeS32i5XeKZURUW/WBxIUw==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} @@ -4479,12 +4224,29 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup-plugin-dts@6.4.1: - resolution: {integrity: sha512-l//F3Zf7ID5GoOfLfD8kroBjQKEKpy1qfhtAdnpibFZMffPaylrg1CoDC2vGkPeTeyxUe4bVFCln2EFuL7IGGg==} - engines: {node: '>=20'} + rolldown-plugin-dts@0.25.2: + resolution: {integrity: sha512-nMhN/R+vmR8GM45ZW1FWMSjRTSDDn/6w4GTf8RNrEFCBdl8B1kySWrU1ixPtbwzXoRlcO+R/S88VgXuJQwfdDg==} + engines: {node: ^22.18.0 || >=24.0.0} peerDependencies: - rollup: ^3.29.4 || ^4 + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20260325.1' + rolldown: ^1.0.0 typescript: ~5.9.3 + vue-tsc: ^3.3.3 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.1.0: + resolution: {integrity: sha512-zpMvlJhs5PkXRTtKc0CaLBVI9AR/VDiJFpM+kx//hgToEca7FgMlGjaRIisXBcb19T76LswgmKECSQ96hjWr5A==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true rollup-plugin-visualizer@7.0.1: resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==} @@ -4720,12 +4482,6 @@ packages: structured-clone-es@2.0.0: resolution: {integrity: sha512-5UuAHmBLXYPCl22xWJrFuGmIhBKQzxISPVz6E7nmTmTcAOpUzlbjKJsRrCE4vADmMQ0dzeCnlWn9XufnAGf76Q==} - stylehacks@7.0.11: - resolution: {integrity: sha512-iODNfhXVLqc5LADs+Y6Oh5wJuK5ZcHbVng8aiK3y9pjMQdc5hLrBW0eFU6FtnpNrE6PoEg/MmFTU4waotj5WNg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.5.13 - stylehacks@8.0.0: resolution: {integrity: sha512-sWyjaJvBqHoVKYPbQ8JRvrGSPaYWtWrJsU+fGVtwKB1GE1rRPu3rC7T6UCuXLoL00Dwb+tsHe2T904r8Vnsx8w==} engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} @@ -4796,6 +4552,10 @@ packages: resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} + tinyglobby@0.2.16: + resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + engines: {node: '>=12.0.0'} + tinyglobby@0.2.17: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} @@ -4872,15 +4632,6 @@ packages: resolution: {integrity: sha512-FeFPZ/WFT0mbRCuydiZzpPFlrYN8ZUpphQKoq4EeElVIYjYyGzPMxQR/simUwCOJIyVhpFk4RbtyO7RuMpMnHA==} engines: {node: '>=14'} - unbuild@3.6.1: - resolution: {integrity: sha512-+U5CdtrdjfWkZhuO4N9l5UhyiccoeMEXIc2Lbs30Haxb+tRwB3VwB8AoZRxlAzORXunenSo+j6lh45jx+xkKgg==} - hasBin: true - peerDependencies: - typescript: ~5.9.3 - peerDependenciesMeta: - typescript: - optional: true - uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -5443,10 +5194,10 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/generator@8.0.0-rc.5': + '@babel/generator@8.0.0-rc.6': dependencies: - '@babel/parser': 8.0.0-rc.5 - '@babel/types': 8.0.0-rc.5 + '@babel/parser': 8.0.0-rc.6 + '@babel/types': 8.0.0-rc.6 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 '@types/jsesc': 2.5.1 @@ -5528,10 +5279,14 @@ snapshots: '@babel/helper-string-parser@8.0.0-rc.5': {} + '@babel/helper-string-parser@8.0.0-rc.6': {} + '@babel/helper-validator-identifier@7.28.5': {} '@babel/helper-validator-identifier@8.0.0-rc.5': {} + '@babel/helper-validator-identifier@8.0.0-rc.6': {} + '@babel/helper-validator-option@7.27.1': {} '@babel/helpers@7.29.2': @@ -5547,6 +5302,10 @@ snapshots: dependencies: '@babel/types': 8.0.0-rc.5 + '@babel/parser@8.0.0-rc.6': + dependencies: + '@babel/types': 8.0.0-rc.6 + '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -5596,6 +5355,11 @@ snapshots: '@babel/helper-string-parser': 8.0.0-rc.5 '@babel/helper-validator-identifier': 8.0.0-rc.5 + '@babel/types@8.0.0-rc.6': + dependencies: + '@babel/helper-string-parser': 8.0.0-rc.6 + '@babel/helper-validator-identifier': 8.0.0-rc.6 + '@bcoe/v8-coverage@1.0.2': {} '@bomb.sh/tab@0.0.15(cac@6.7.14)(citty@0.2.2)': @@ -5664,234 +5428,156 @@ snapshots: '@es-joy/resolve.exports@1.2.0': {} - '@esbuild/aix-ppc64@0.25.12': - optional: true - '@esbuild/aix-ppc64@0.27.7': optional: true '@esbuild/aix-ppc64@0.28.0': optional: true - '@esbuild/android-arm64@0.25.12': - optional: true - '@esbuild/android-arm64@0.27.7': optional: true '@esbuild/android-arm64@0.28.0': optional: true - '@esbuild/android-arm@0.25.12': - optional: true - '@esbuild/android-arm@0.27.7': optional: true '@esbuild/android-arm@0.28.0': optional: true - '@esbuild/android-x64@0.25.12': - optional: true - '@esbuild/android-x64@0.27.7': optional: true '@esbuild/android-x64@0.28.0': optional: true - '@esbuild/darwin-arm64@0.25.12': - optional: true - '@esbuild/darwin-arm64@0.27.7': optional: true '@esbuild/darwin-arm64@0.28.0': optional: true - '@esbuild/darwin-x64@0.25.12': - optional: true - '@esbuild/darwin-x64@0.27.7': optional: true '@esbuild/darwin-x64@0.28.0': optional: true - '@esbuild/freebsd-arm64@0.25.12': - optional: true - '@esbuild/freebsd-arm64@0.27.7': optional: true '@esbuild/freebsd-arm64@0.28.0': optional: true - '@esbuild/freebsd-x64@0.25.12': - optional: true - '@esbuild/freebsd-x64@0.27.7': optional: true '@esbuild/freebsd-x64@0.28.0': optional: true - '@esbuild/linux-arm64@0.25.12': - optional: true - '@esbuild/linux-arm64@0.27.7': optional: true '@esbuild/linux-arm64@0.28.0': optional: true - '@esbuild/linux-arm@0.25.12': - optional: true - '@esbuild/linux-arm@0.27.7': optional: true '@esbuild/linux-arm@0.28.0': optional: true - '@esbuild/linux-ia32@0.25.12': - optional: true - '@esbuild/linux-ia32@0.27.7': optional: true '@esbuild/linux-ia32@0.28.0': optional: true - '@esbuild/linux-loong64@0.25.12': - optional: true - '@esbuild/linux-loong64@0.27.7': optional: true '@esbuild/linux-loong64@0.28.0': optional: true - '@esbuild/linux-mips64el@0.25.12': - optional: true - '@esbuild/linux-mips64el@0.27.7': optional: true '@esbuild/linux-mips64el@0.28.0': optional: true - '@esbuild/linux-ppc64@0.25.12': - optional: true - '@esbuild/linux-ppc64@0.27.7': optional: true '@esbuild/linux-ppc64@0.28.0': optional: true - '@esbuild/linux-riscv64@0.25.12': - optional: true - '@esbuild/linux-riscv64@0.27.7': optional: true '@esbuild/linux-riscv64@0.28.0': optional: true - '@esbuild/linux-s390x@0.25.12': - optional: true - '@esbuild/linux-s390x@0.27.7': optional: true '@esbuild/linux-s390x@0.28.0': optional: true - '@esbuild/linux-x64@0.25.12': - optional: true - '@esbuild/linux-x64@0.27.7': optional: true '@esbuild/linux-x64@0.28.0': optional: true - '@esbuild/netbsd-arm64@0.25.12': - optional: true - '@esbuild/netbsd-arm64@0.27.7': optional: true '@esbuild/netbsd-arm64@0.28.0': optional: true - '@esbuild/netbsd-x64@0.25.12': - optional: true - '@esbuild/netbsd-x64@0.27.7': optional: true '@esbuild/netbsd-x64@0.28.0': optional: true - '@esbuild/openbsd-arm64@0.25.12': - optional: true - '@esbuild/openbsd-arm64@0.27.7': optional: true '@esbuild/openbsd-arm64@0.28.0': optional: true - '@esbuild/openbsd-x64@0.25.12': - optional: true - '@esbuild/openbsd-x64@0.27.7': optional: true '@esbuild/openbsd-x64@0.28.0': optional: true - '@esbuild/openharmony-arm64@0.25.12': - optional: true - '@esbuild/openharmony-arm64@0.27.7': optional: true '@esbuild/openharmony-arm64@0.28.0': optional: true - '@esbuild/sunos-x64@0.25.12': - optional: true - '@esbuild/sunos-x64@0.27.7': optional: true '@esbuild/sunos-x64@0.28.0': optional: true - '@esbuild/win32-arm64@0.25.12': - optional: true - '@esbuild/win32-arm64@0.27.7': optional: true '@esbuild/win32-arm64@0.28.0': optional: true - '@esbuild/win32-ia32@0.25.12': - optional: true - '@esbuild/win32-ia32@0.27.7': optional: true '@esbuild/win32-ia32@0.28.0': optional: true - '@esbuild/win32-x64@0.25.12': - optional: true - '@esbuild/win32-x64@0.27.7': optional: true @@ -6120,7 +5806,7 @@ snapshots: '@nuxt/devtools-wizard': 3.2.4 '@nuxt/kit': 4.4.7(magicast@0.5.2) '@vue/devtools-core': 8.1.1(vue@3.5.35(typescript@5.9.3)) - '@vue/devtools-kit': 8.1.2 + '@vue/devtools-kit': 8.1.1 birpc: 4.0.0 consola: 3.4.2 destr: 2.0.5 @@ -6220,7 +5906,7 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/nitro-server@4.4.7(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.133.0)(srvx@0.11.15)(typescript@5.9.3)': + '@nuxt/nitro-server@4.4.7(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.133.0)(rolldown@1.1.0)(srvx@0.11.15)(typescript@5.9.3)': dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.4.7(magicast@0.5.2) @@ -6237,8 +5923,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(oxc-parser@0.133.0)(srvx@0.11.15) - nuxt: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) + nitropack: 2.13.4(oxc-parser@0.133.0)(rolldown@1.1.0)(srvx@0.11.15) + nuxt: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -6307,7 +5993,7 @@ snapshots: rc9: 3.0.1 std-env: 4.1.0 - '@nuxt/vite-builder@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@24.12.4)(eslint@10.4.1(jiti@2.7.0))(magicast@0.5.2)(nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(typescript@5.9.3)(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3))(yaml@2.9.0)': + '@nuxt/vite-builder@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@24.12.4)(eslint@10.4.1(jiti@2.7.0))(magicast@0.5.2)(nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(typescript@5.9.3)(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3))(yaml@2.9.0)': dependencies: '@nuxt/kit': 4.4.7(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) @@ -6325,7 +6011,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) + nuxt: 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -6341,7 +6027,8 @@ snapshots: vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rollup-plugin-visualizer: 7.0.1(rollup@4.60.2) + rolldown: 1.1.0 + rollup-plugin-visualizer: 7.0.1(rolldown@1.1.0)(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -6495,6 +6182,8 @@ snapshots: '@oxc-project/types@0.133.0': {} + '@oxc-project/types@0.134.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.20.0': optional: true @@ -6718,25 +6407,58 @@ snapshots: '@publint/pack@0.1.4': {} - '@rolldown/pluginutils@1.0.1': {} + '@rolldown/binding-android-arm64@1.1.0': + optional: true - '@rollup/plugin-alias@5.1.1(rollup@4.60.2)': - optionalDependencies: - rollup: 4.60.2 + '@rolldown/binding-darwin-arm64@1.1.0': + optional: true - '@rollup/plugin-alias@6.0.0(rollup@4.60.2)': - optionalDependencies: - rollup: 4.60.2 + '@rolldown/binding-darwin-x64@1.1.0': + optional: true + + '@rolldown/binding-freebsd-x64@1.1.0': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.1.0': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.1.0': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.1.0': + optional: true - '@rollup/plugin-commonjs@28.0.9(rollup@4.60.2)': + '@rolldown/binding-linux-ppc64-gnu@1.1.0': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.1.0': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.1.0': + optional: true + + '@rolldown/binding-linux-x64-musl@1.1.0': + optional: true + + '@rolldown/binding-openharmony-arm64@1.1.0': + optional: true + + '@rolldown/binding-wasm32-wasi@1.1.0': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.2) - commondir: 1.0.1 - estree-walker: 2.0.2 - fdir: 6.5.0(picomatch@4.0.4) - is-reference: 1.2.1 - magic-string: 0.30.21 - picomatch: 4.0.4 + '@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.1.0': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.1.0': + optional: true + + '@rolldown/pluginutils@1.0.1': {} + + '@rollup/plugin-alias@6.0.0(rollup@4.60.2)': optionalDependencies: rollup: 4.60.2 @@ -7277,10 +6999,17 @@ snapshots: '@vue/devtools-core@8.1.1(vue@3.5.35(typescript@5.9.3))': dependencies: - '@vue/devtools-kit': 8.1.2 - '@vue/devtools-shared': 8.1.2 + '@vue/devtools-kit': 8.1.1 + '@vue/devtools-shared': 8.1.1 vue: 3.5.35(typescript@5.9.3) + '@vue/devtools-kit@8.1.1': + dependencies: + '@vue/devtools-shared': 8.1.1 + birpc: 2.9.0 + hookable: 5.5.3 + perfect-debounce: 2.1.0 + '@vue/devtools-kit@8.1.2': dependencies: '@vue/devtools-shared': 8.1.2 @@ -7288,6 +7017,8 @@ snapshots: hookable: 5.5.3 perfect-debounce: 2.1.0 + '@vue/devtools-shared@8.1.1': {} + '@vue/devtools-shared@8.1.2': {} '@vue/language-core@3.3.3': @@ -7409,6 +7140,12 @@ snapshots: '@babel/parser': 7.29.3 pathe: 2.0.3 + ast-kit@3.0.0-beta.1: + dependencies: + '@babel/parser': 8.0.0-rc.5 + estree-walker: 3.0.3 + pathe: 2.0.3 + ast-v8-to-istanbul@1.0.0: dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -7702,10 +7439,6 @@ snapshots: optionalDependencies: srvx: 0.11.15 - css-declaration-sorter@7.4.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - css-select@5.2.2: dependencies: boolbase: 1.0.0 @@ -7728,40 +7461,6 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-default@7.0.17(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - css-declaration-sorter: 7.4.0(postcss@8.5.15) - cssnano-utils: 5.0.3(postcss@8.5.15) - postcss: 8.5.15 - postcss-calc: 10.1.1(postcss@8.5.15) - postcss-colormin: 7.0.10(postcss@8.5.15) - postcss-convert-values: 7.0.12(postcss@8.5.15) - postcss-discard-comments: 7.0.8(postcss@8.5.15) - postcss-discard-duplicates: 7.0.4(postcss@8.5.15) - postcss-discard-empty: 7.0.3(postcss@8.5.15) - postcss-discard-overridden: 7.0.3(postcss@8.5.15) - postcss-merge-longhand: 7.0.7(postcss@8.5.15) - postcss-merge-rules: 7.0.11(postcss@8.5.15) - postcss-minify-font-values: 7.0.3(postcss@8.5.15) - postcss-minify-gradients: 7.0.5(postcss@8.5.15) - postcss-minify-params: 7.0.9(postcss@8.5.15) - postcss-minify-selectors: 7.1.2(postcss@8.5.15) - postcss-normalize-charset: 7.0.3(postcss@8.5.15) - postcss-normalize-display-values: 7.0.3(postcss@8.5.15) - postcss-normalize-positions: 7.0.4(postcss@8.5.15) - postcss-normalize-repeat-style: 7.0.4(postcss@8.5.15) - postcss-normalize-string: 7.0.3(postcss@8.5.15) - postcss-normalize-timing-functions: 7.0.3(postcss@8.5.15) - postcss-normalize-unicode: 7.0.9(postcss@8.5.15) - postcss-normalize-url: 7.0.3(postcss@8.5.15) - postcss-normalize-whitespace: 7.0.3(postcss@8.5.15) - postcss-ordered-values: 7.0.4(postcss@8.5.15) - postcss-reduce-initial: 7.0.9(postcss@8.5.15) - postcss-reduce-transforms: 7.0.3(postcss@8.5.15) - postcss-svgo: 7.1.3(postcss@8.5.15) - postcss-unique-selectors: 7.0.7(postcss@8.5.15) - cssnano-preset-default@8.0.1(postcss@8.5.15): dependencies: browserslist: 4.28.2 @@ -7795,20 +7494,10 @@ snapshots: postcss-svgo: 8.0.0(postcss@8.5.15) postcss-unique-selectors: 8.0.0(postcss@8.5.15) - cssnano-utils@5.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - cssnano-utils@6.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 - cssnano@7.1.9(postcss@8.5.15): - dependencies: - cssnano-preset-default: 7.0.17(postcss@8.5.15) - lilconfig: 3.1.3 - postcss: 8.5.15 - cssnano@8.0.1(postcss@8.5.15): dependencies: cssnano-preset-default: 8.0.1(postcss@8.5.15) @@ -7878,6 +7567,10 @@ snapshots: dotenv@17.4.2: {} + dts-resolver@3.0.0(oxc-resolver@11.20.0): + optionalDependencies: + oxc-resolver: 11.20.0 + duplexer@0.1.2: {} eastasianwidth@0.2.0: {} @@ -7910,35 +7603,6 @@ snapshots: es-module-lexer@2.1.0: {} - esbuild@0.25.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.12 - '@esbuild/android-arm': 0.25.12 - '@esbuild/android-arm64': 0.25.12 - '@esbuild/android-x64': 0.25.12 - '@esbuild/darwin-arm64': 0.25.12 - '@esbuild/darwin-x64': 0.25.12 - '@esbuild/freebsd-arm64': 0.25.12 - '@esbuild/freebsd-x64': 0.25.12 - '@esbuild/linux-arm': 0.25.12 - '@esbuild/linux-arm64': 0.25.12 - '@esbuild/linux-ia32': 0.25.12 - '@esbuild/linux-loong64': 0.25.12 - '@esbuild/linux-mips64el': 0.25.12 - '@esbuild/linux-ppc64': 0.25.12 - '@esbuild/linux-riscv64': 0.25.12 - '@esbuild/linux-s390x': 0.25.12 - '@esbuild/linux-x64': 0.25.12 - '@esbuild/netbsd-arm64': 0.25.12 - '@esbuild/netbsd-x64': 0.25.12 - '@esbuild/openbsd-arm64': 0.25.12 - '@esbuild/openbsd-x64': 0.25.12 - '@esbuild/openharmony-arm64': 0.25.12 - '@esbuild/sunos-x64': 0.25.12 - '@esbuild/win32-arm64': 0.25.12 - '@esbuild/win32-ia32': 0.25.12 - '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.7: optionalDependencies: '@esbuild/aix-ppc64': 0.27.7 @@ -8287,12 +7951,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - fix-dts-default-cjs-exports@1.0.1: - dependencies: - magic-string: 0.30.21 - mlly: 1.8.2 - rollup: 4.60.2 - flat-cache@4.0.1: dependencies: flatted: 3.4.2 @@ -8336,6 +7994,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: {} glob-parent@5.1.2: @@ -8569,8 +8231,6 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@1.21.7: {} - jiti@2.7.0: {} js-tokens@10.0.0: {} @@ -8617,7 +8277,7 @@ snapshots: picomatch: 4.0.4 smol-toml: 1.6.1 strip-json-comments: 5.0.3 - tinyglobby: 0.2.17 + tinyglobby: 0.2.16 unbash: 3.0.0 yaml: 2.9.0 zod: 4.3.6 @@ -8779,27 +8439,6 @@ snapshots: dependencies: minipass: 7.1.3 - mkdist@2.4.1(typescript@5.9.3)(vue-sfc-transformer@0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)))(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3)): - dependencies: - autoprefixer: 10.5.0(postcss@8.5.15) - citty: 0.1.6 - cssnano: 7.1.9(postcss@8.5.15) - defu: 6.1.7 - esbuild: 0.25.12 - jiti: 1.21.7 - mlly: 1.8.2 - pathe: 2.0.3 - pkg-types: 2.3.1 - postcss: 8.5.15 - postcss-nested: 7.0.2(postcss@8.5.15) - semver: 7.8.1 - tinyglobby: 0.2.17 - optionalDependencies: - typescript: 5.9.3 - vue: 3.5.35(typescript@5.9.3) - vue-sfc-transformer: 0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)) - vue-tsc: 3.3.3(typescript@5.9.3) - mlly@1.8.2: dependencies: acorn: 8.16.0 @@ -8831,7 +8470,7 @@ snapshots: natural-compare@1.4.0: {} - nitropack@2.13.4(oxc-parser@0.133.0)(srvx@0.11.15): + nitropack@2.13.4(oxc-parser@0.133.0)(rolldown@1.1.0)(srvx@0.11.15): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@rollup/plugin-alias': 6.0.0(rollup@4.60.2) @@ -8884,7 +8523,7 @@ snapshots: pretty-bytes: 7.1.0 radix3: 1.1.2 rollup: 4.60.2 - rollup-plugin-visualizer: 7.0.1(rollup@4.60.2) + rollup-plugin-visualizer: 7.0.1(rolldown@1.1.0)(rollup@4.60.2) scule: 1.3.0 semver: 7.8.1 serve-placeholder: 2.0.2 @@ -8896,7 +8535,7 @@ snapshots: uncrypto: 0.1.3 unctx: 2.5.0 unenv: 2.0.0-rc.24 - unimport: 6.3.0(oxc-parser@0.133.0) + unimport: 6.3.0(oxc-parser@0.133.0)(rolldown@1.1.0) unplugin-utils: 0.3.1 unstorage: 1.17.5(db0@0.3.4)(ioredis@5.10.1) untyped: 2.0.0 @@ -8986,16 +8625,16 @@ snapshots: dependencies: boolbase: 1.0.0 - nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0): + nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0): dependencies: '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@5.9.3) '@nuxt/cli': 3.35.2(@nuxt/schema@4.4.7)(cac@6.7.14)(magicast@0.5.2) '@nuxt/devtools': 3.2.4(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue@3.5.35(typescript@5.9.3)) '@nuxt/kit': 4.4.7(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.7(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.133.0)(srvx@0.11.15)(typescript@5.9.3) + '@nuxt/nitro-server': 4.4.7(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.133.0)(rolldown@1.1.0)(srvx@0.11.15)(typescript@5.9.3) '@nuxt/schema': 4.4.7 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.7(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@24.12.4)(eslint@10.4.1(jiti@2.7.0))(magicast@0.5.2)(nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rollup-plugin-visualizer@7.0.1(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(typescript@5.9.3)(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3))(yaml@2.9.0) + '@nuxt/vite-builder': 4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@24.12.4)(eslint@10.4.1(jiti@2.7.0))(magicast@0.5.2)(nuxt@4.4.7(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@parcel/watcher@2.5.6)(@types/node@24.12.4)(@vue/compiler-sfc@3.5.35)(cac@6.7.14)(db0@0.3.4)(eslint@10.4.1(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.2)(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(srvx@0.11.15)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue-tsc@3.3.3(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(typescript@5.9.3)(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3))(yaml@2.9.0) '@unhead/vue': 2.1.15(vue@3.5.35(typescript@5.9.3)) '@vue/shared': 3.5.35 chokidar: 5.0.0 @@ -9023,7 +8662,7 @@ snapshots: oxc-minify: 0.133.0 oxc-parser: 0.133.0 oxc-transform: 0.133.0 - oxc-walker: 1.0.0(oxc-parser@0.133.0) + oxc-walker: 1.0.0(oxc-parser@0.133.0)(rolldown@1.1.0) pathe: 2.0.3 perfect-debounce: 2.1.0 picomatch: 4.0.4 @@ -9038,7 +8677,7 @@ snapshots: uncrypto: 0.1.3 unctx: 2.5.0 unhead: 3.1.1(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0)) - unimport: 6.3.0(oxc-parser@0.133.0) + unimport: 6.3.0(oxc-parser@0.133.0)(rolldown@1.1.0) unplugin: 3.0.0 unrouting: 0.1.7 untyped: 2.0.0 @@ -9265,11 +8904,12 @@ snapshots: '@oxc-transform/binding-win32-ia32-msvc': 0.133.0 '@oxc-transform/binding-win32-x64-msvc': 0.133.0 - oxc-walker@1.0.0(oxc-parser@0.133.0): + oxc-walker@1.0.0(oxc-parser@0.133.0)(rolldown@1.1.0): dependencies: magic-regexp: 0.11.0 optionalDependencies: oxc-parser: 0.133.0 + rolldown: 1.1.0 p-limit@3.1.0: dependencies: @@ -9363,14 +9003,6 @@ snapshots: postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-colormin@7.0.10(postcss@8.5.15): - dependencies: - '@colordx/core': 5.4.3 - browserslist: 4.28.2 - caniuse-api: 3.0.0 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-colormin@8.0.0(postcss@8.5.15): dependencies: '@colordx/core': 5.4.3 @@ -9379,72 +9011,35 @@ snapshots: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.12(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-convert-values@8.0.0(postcss@8.5.15): dependencies: browserslist: 4.28.2 postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-discard-comments@7.0.8(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.1 - postcss-discard-comments@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-selector-parser: 7.1.1 - postcss-discard-duplicates@7.0.4(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-discard-duplicates@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 - postcss-discard-empty@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-discard-empty@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 - postcss-discard-overridden@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-discard-overridden@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 - postcss-merge-longhand@7.0.7(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - stylehacks: 7.0.11(postcss@8.5.15) - postcss-merge-longhand@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 stylehacks: 8.0.0(postcss@8.5.15) - postcss-merge-rules@7.0.11(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - cssnano-utils: 5.0.3(postcss@8.5.15) - postcss: 8.5.15 - postcss-selector-parser: 7.1.1 - postcss-merge-rules@8.0.0(postcss@8.5.15): dependencies: browserslist: 4.28.2 @@ -9453,23 +9048,11 @@ snapshots: postcss: 8.5.15 postcss-selector-parser: 7.1.1 - postcss-minify-font-values@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-minify-font-values@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-minify-gradients@7.0.5(postcss@8.5.15): - dependencies: - '@colordx/core': 5.4.3 - cssnano-utils: 5.0.3(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-minify-gradients@8.0.0(postcss@8.5.15): dependencies: '@colordx/core': 5.4.3 @@ -9477,13 +9060,6 @@ snapshots: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.9(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - cssnano-utils: 5.0.3(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-minify-params@8.0.0(postcss@8.5.15): dependencies: browserslist: 4.28.2 @@ -9491,14 +9067,6 @@ snapshots: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-minify-selectors@7.1.2(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - cssesc: 3.0.0 - postcss: 8.5.15 - postcss-selector-parser: 7.1.1 - postcss-minify-selectors@8.0.1(postcss@8.5.15): dependencies: browserslist: 4.28.2 @@ -9507,130 +9075,63 @@ snapshots: postcss: 8.5.15 postcss-selector-parser: 7.1.1 - postcss-nested@7.0.2(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.1 - - postcss-normalize-charset@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-normalize-charset@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 - postcss-normalize-display-values@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-normalize-display-values@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-normalize-positions@7.0.4(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-normalize-positions@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@7.0.4(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-normalize-string@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-normalize-string@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.9(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-normalize-unicode@8.0.0(postcss@8.5.15): dependencies: browserslist: 4.28.2 postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-normalize-url@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-normalize-url@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-ordered-values@7.0.4(postcss@8.5.15): - dependencies: - cssnano-utils: 5.0.3(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-ordered-values@8.0.0(postcss@8.5.15): dependencies: cssnano-utils: 6.0.0(postcss@8.5.15) postcss: 8.5.15 postcss-value-parser: 4.2.0 - postcss-reduce-initial@7.0.9(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - postcss: 8.5.15 - postcss-reduce-initial@8.0.0(postcss@8.5.15): dependencies: browserslist: 4.28.2 caniuse-api: 3.0.0 postcss: 8.5.15 - postcss-reduce-transforms@7.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - postcss-reduce-transforms@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 @@ -9641,23 +9142,12 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@7.1.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - svgo: 4.0.1 - postcss-svgo@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 postcss-value-parser: 4.2.0 svgo: 4.0.1 - postcss-unique-selectors@7.0.7(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.1 - postcss-unique-selectors@8.0.0(postcss@8.5.15): dependencies: postcss: 8.5.15 @@ -9799,24 +9289,52 @@ snapshots: reusify@1.1.0: {} - rollup-plugin-dts@6.4.1(rollup@4.60.2)(typescript@5.9.3): + rolldown-plugin-dts@0.25.2(oxc-resolver@11.20.0)(rolldown@1.1.0)(typescript@5.9.3)(vue-tsc@3.3.3(typescript@5.9.3)): dependencies: - '@jridgewell/remapping': 2.3.5 - '@jridgewell/sourcemap-codec': 1.5.5 - convert-source-map: 2.0.0 - magic-string: 0.30.21 - rollup: 4.60.2 - typescript: 5.9.3 + '@babel/generator': 8.0.0-rc.6 + '@babel/helper-validator-identifier': 8.0.0-rc.6 + '@babel/parser': 8.0.0-rc.6 + ast-kit: 3.0.0-beta.1 + birpc: 4.0.0 + dts-resolver: 3.0.0(oxc-resolver@11.20.0) + get-tsconfig: 5.0.0-beta.5 + obug: 2.1.1 + rolldown: 1.1.0 optionalDependencies: - '@babel/code-frame': 7.29.0 + typescript: 5.9.3 + vue-tsc: 3.3.3(typescript@5.9.3) + transitivePeerDependencies: + - oxc-resolver - rollup-plugin-visualizer@7.0.1(rollup@4.60.2): + rolldown@1.1.0: + dependencies: + '@oxc-project/types': 0.134.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.1.0 + '@rolldown/binding-darwin-arm64': 1.1.0 + '@rolldown/binding-darwin-x64': 1.1.0 + '@rolldown/binding-freebsd-x64': 1.1.0 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.0 + '@rolldown/binding-linux-arm64-gnu': 1.1.0 + '@rolldown/binding-linux-arm64-musl': 1.1.0 + '@rolldown/binding-linux-ppc64-gnu': 1.1.0 + '@rolldown/binding-linux-s390x-gnu': 1.1.0 + '@rolldown/binding-linux-x64-gnu': 1.1.0 + '@rolldown/binding-linux-x64-musl': 1.1.0 + '@rolldown/binding-openharmony-arm64': 1.1.0 + '@rolldown/binding-wasm32-wasi': 1.1.0 + '@rolldown/binding-win32-arm64-msvc': 1.1.0 + '@rolldown/binding-win32-x64-msvc': 1.1.0 + + rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2): dependencies: open: 11.0.0 picomatch: 4.0.4 source-map: 0.7.6 yargs: 18.0.0 optionalDependencies: + rolldown: 1.1.0 rollup: 4.60.2 rollup@4.60.2: @@ -10058,12 +9576,6 @@ snapshots: structured-clone-es@2.0.0: {} - stylehacks@7.0.11(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-selector-parser: 7.1.1 - stylehacks@8.0.0(postcss@8.5.15): dependencies: browserslist: 4.28.2 @@ -10150,6 +9662,11 @@ snapshots: tinyexec@1.2.4: {} + tinyglobby@0.2.16: + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + tinyglobby@0.2.17: dependencies: fdir: 6.5.0(picomatch@4.0.4) @@ -10203,40 +9720,6 @@ snapshots: unbash@3.0.0: {} - unbuild@3.6.1(typescript@5.9.3)(vue-sfc-transformer@0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)))(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3)): - dependencies: - '@rollup/plugin-alias': 5.1.1(rollup@4.60.2) - '@rollup/plugin-commonjs': 28.0.9(rollup@4.60.2) - '@rollup/plugin-json': 6.1.0(rollup@4.60.2) - '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.2) - '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@rollup/pluginutils': 5.3.0(rollup@4.60.2) - citty: 0.1.6 - consola: 3.4.2 - defu: 6.1.7 - esbuild: 0.25.12 - fix-dts-default-cjs-exports: 1.0.1 - hookable: 5.5.3 - jiti: 2.7.0 - magic-string: 0.30.21 - mkdist: 2.4.1(typescript@5.9.3)(vue-sfc-transformer@0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)))(vue-tsc@3.3.3(typescript@5.9.3))(vue@3.5.35(typescript@5.9.3)) - mlly: 1.8.2 - pathe: 2.0.3 - pkg-types: 2.3.1 - pretty-bytes: 7.1.0 - rollup: 4.60.2 - rollup-plugin-dts: 6.4.1(rollup@4.60.2)(typescript@5.9.3) - scule: 1.3.0 - tinyglobby: 0.2.17 - untyped: 2.0.0 - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - sass - - vue - - vue-sfc-transformer - - vue-tsc - uncrypto@0.1.3: {} unctx@2.5.0: @@ -10271,7 +9754,7 @@ snapshots: unicorn-magic@0.4.0: {} - unimport@6.3.0(oxc-parser@0.133.0): + unimport@6.3.0(oxc-parser@0.133.0)(rolldown@1.1.0): dependencies: acorn: 8.16.0 escape-string-regexp: 5.0.0 @@ -10289,6 +9772,7 @@ snapshots: unplugin-utils: 0.3.1 optionalDependencies: oxc-parser: 0.133.0 + rolldown: 1.1.0 unplugin-utils@0.3.1: dependencies: @@ -10503,7 +9987,7 @@ snapshots: std-env: 4.1.0 tinybench: 2.9.0 tinyexec: 1.2.4 - tinyglobby: 0.2.17 + tinyglobby: 0.2.16 tinyrainbow: 3.1.0 vite: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0) why-is-node-running: 2.3.0 @@ -10535,7 +10019,7 @@ snapshots: vue-router@5.1.0(@vue/compiler-sfc@3.5.35)(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0))(vue@3.5.35(typescript@5.9.3)): dependencies: - '@babel/generator': 8.0.0-rc.5 + '@babel/generator': 8.0.0-rc.6 '@vue-macros/common': 3.1.2(vue@3.5.35(typescript@5.9.3)) '@vue/devtools-api': 8.1.2 ast-walker-scope: 0.9.0 @@ -10557,17 +10041,18 @@ snapshots: '@vue/compiler-sfc': 3.5.35 vite: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(terser@5.46.2)(yaml@2.9.0) - vue-sfc-transformer@0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)): + vue-sfc-transformer@0.2.3(@volar/typescript@2.4.28)(@vue/compiler-core@3.5.35)(@vue/language-core@3.3.3)(esbuild@0.28.0)(rolldown@1.1.0)(typescript@5.9.3)(vue@3.5.35(typescript@5.9.3)): dependencies: '@babel/parser': 7.29.3 '@vue/compiler-core': 3.5.35 esbuild: 0.28.0 pathe: 2.0.3 - tinyglobby: 0.2.17 + tinyglobby: 0.2.16 vue: 3.5.35(typescript@5.9.3) optionalDependencies: '@volar/typescript': 2.4.28 '@vue/language-core': 3.3.3 + rolldown: 1.1.0 typescript: 5.9.3 vue-tsc@3.3.3(typescript@5.9.3): diff --git a/rolldown.config.ts b/rolldown.config.ts new file mode 100644 index 00000000..41a4ad10 --- /dev/null +++ b/rolldown.config.ts @@ -0,0 +1,18 @@ +import { defineConfig } from 'rolldown' +import { dts } from 'rolldown-plugin-dts' + +export default defineConfig({ + input: [ + './src/cli.ts', + './src/index.ts', + ], + platform: 'node', + external: /^(?!\.|\/|[a-z]:[\\/])/i, + plugins: [ + dts(), + ], + output: { + entryFileNames: '[name].mjs', + chunkFileNames: '[name].mjs', + }, +}) diff --git a/src/commands/build.ts b/src/commands/build.ts index 6ef49ff8..0c424eda 100644 --- a/src/commands/build.ts +++ b/src/commands/build.ts @@ -1,22 +1,21 @@ import { existsSync, promises as fsp } from 'node:fs' import { pathToFileURL } from 'node:url' -import { basename, dirname, extname, join, normalize, resolve } from 'pathe' +import { basename, dirname, extname, isAbsolute, normalize, relative, resolve } from 'pathe' import { filename } from 'pathe/utils' import { readPackageJSON } from 'pkg-types' import { parse } from 'tsconfck' -import type { TSConfig } from 'pkg-types' import { defu } from 'defu' -import { createJiti } from 'jiti' -import { anyOf, createRegExp } from 'magic-regexp' +import { createJiti, type Jiti } from 'jiti' import { consola } from 'consola' import type { NuxtModule } from '@nuxt/schema' -import { findExports, resolvePath, findTypeExports } from 'mlly' +import { findExports, resolvePath, findTypeExports, resolveModuleExportNames } from 'mlly' import type { ESMExport } from 'mlly' import { defineCommand } from 'citty' -import { convertCompilerOptionsFromJson } from 'typescript' import { name, version } from '../../package.json' import { resolveCwdArg, sharedArgs } from './_shared' +import type { CompilerOptions } from 'typescript' +import type { Plugin } from 'rolldown' export default defineCommand({ meta: { @@ -42,45 +41,82 @@ export default defineCommand({ }, }, async run(context) { - const { build } = await import('unbuild') - const cwd = resolveCwdArg(context.args) - const jiti = createJiti(cwd) + const outDir = context.args.outDir + const distDir = resolve(cwd, outDir) + const srcRuntimeDir = resolve(cwd, 'src/runtime') + const distRuntimeDir = resolve(distDir, 'runtime') + + // Detect entry points from package.json exports + const moduleEntries = await inferModuleEntries(cwd) + + if (context.args.stub) { + await fsp.rm(distDir, { recursive: true, force: true }) + await buildStub(cwd, distDir, moduleEntries, srcRuntimeDir, distRuntimeDir, jiti) + await writeTypes(distDir, true) + return + } - await build(cwd, false, { - declaration: 'node16', - sourcemap: context.args.sourcemap, - stub: context.args.stub, - stubOptions: { absoluteJitiPath: true }, - outDir: context.args.outDir, - entries: [ - 'src/module', - { - input: 'src/runtime/', - outDir: `${context.args.outDir}/runtime`, - addRelativeDeclarationExtensions: true, - ext: 'js', - pattern: [ - '**', - '!**/*.stories.{js,cts,mts,ts,jsx,tsx}', // ignore storybook files - '!**/*.{spec,test}.{js,cts,mts,ts,jsx,tsx}', // ignore tests + const { build } = await import('rolldown') + const { dts } = await import('rolldown-plugin-dts') + const { vueSfcPlugin } = await import('vue-sfc-transformer/rolldown') + const { glob } = await import('tinyglobby') + + // Clean dist directory before building + await fsp.rm(distDir, { recursive: true, force: true }) + await fsp.mkdir(distDir, { recursive: true }) + + // Load TypeScript compiler options (raw JSON for rolldown-plugin-dts) + const tsOptions = await loadTSCompilerOptions(moduleEntries[0] || resolve(cwd, 'src/module.ts')) + const compilerOptions = defu({ + noEmit: false, + paths: { + '#app/nuxt': ['./node_modules/nuxt/dist/app/nuxt'], + }, + }, tsOptions) + + // Step 1: Build runtime JS (Vue SFCs handled as assets + TS/TSX files) + if (existsSync(srcRuntimeDir)) { + const runtimeTsFiles = await glob('**/*.{ts,tsx}', { + cwd: srcRuntimeDir, + absolute: true, + ignore: ['**/*.stories.{ts,tsx}', '**/*.{spec,test}.{ts,tsx}'], + }) + if (runtimeTsFiles.length > 0) { + await build({ + cwd, + input: Object.fromEntries( + runtimeTsFiles.map(f => [relative(srcRuntimeDir, f).replace(/\.[cm]?tsx?$/, ''), f]), + ), + external: (id: string) => !id.startsWith('.') && !isAbsolute(id), + preserveEntrySignatures: 'strict', + plugins: [ + vueSfcPlugin({ srcDir: srcRuntimeDir, emitLegacyDeclarationAlias: true }), + dts({ compilerOptions, cwd }), ], - esbuild: { - jsxImportSource: 'vue', - jsx: 'automatic', - jsxFactory: 'h', + transform: { + jsx: { runtime: 'automatic', importSource: 'vue' }, }, - }, - ], - rollup: { - esbuild: { - target: 'esnext', - }, - emitCJS: false, - cjsBridge: false, - }, - externals: [ + output: { + format: 'esm', + dir: distRuntimeDir, + entryFileNames: '[name].js', + chunkFileNames: '[name].js', + }, + }) + } + } + + // Step 2: Build module JS + DTS entries + const moduleInput = Object.fromEntries( + moduleEntries.map(e => [filename(e) || basename(e, extname(e)), e]), + ) + const runtimeExternalsPlugin = createRuntimeExternalsPlugin(srcRuntimeDir) + await build({ + cwd, + input: moduleInput, + external: [ /dist[\\/]runtime[\\/]/, '@nuxt/schema', '@nuxt/schema-nightly', @@ -97,115 +133,214 @@ export default defineCommand({ 'vue', 'vue-demi', ], - hooks: { - async 'mkdist:entry:options'(_ctx, entry, options) { - options.typescript = defu(options.typescript, { - compilerOptions: await loadTSCompilerOptions(entry.input), - }) - }, - async 'rollup:options'(ctx, options) { - const [entry] = ctx.buildEntries - const mergedCompilerOptions = defu({ - noEmit: false, - paths: { - '#app/nuxt': ['./node_modules/nuxt/dist/app/nuxt'], - }, - }, ctx.options.rollup.dts.compilerOptions, await loadTSCompilerOptions(entry!.path)) - ctx.options.rollup.dts.compilerOptions = convertCompilerOptionsFromJson(mergedCompilerOptions, entry!.path).options - options.plugins ||= [] - if (!Array.isArray(options.plugins)) - options.plugins = [options.plugins] - - const runtimeEntries = ctx.options.entries.filter(entry => entry.builder === 'mkdist') - - const runtimeDirs = runtimeEntries.map(entry => basename(entry.input)) - const RUNTIME_RE = createRegExp(anyOf(...runtimeDirs).and(anyOf('/', '\\'))) - - // Add extension for imports of runtime files in build - options.plugins.unshift({ - name: 'nuxt-module-builder:runtime-externals', - async resolveId(id, importer) { - if (!RUNTIME_RE.test(id)) - return - - const resolved = await this.resolve(id, importer, { skipSelf: true }) - if (!resolved) - return - - const normalizedId = normalize(resolved.id) - for (const entry of runtimeEntries) { - if (!entry.outDir || !normalizedId.includes(entry.input)) - continue - - const name = filename(normalizedId) || basename(normalizedId, extname(normalizedId)) - const distFile = await resolvePath(join(dirname(pathToFileURL(normalizedId).href.replace(entry.input, entry.outDir)), name)) - if (distFile) { - return { - external: true, - id: distFile, - } - } - } - }, - }) - }, - async 'rollup:done'(ctx) { - // Load module meta - const moduleEntryPath = resolve(ctx.options.outDir, 'module.mjs') - const moduleFn = await jiti.import>>(pathToFileURL(moduleEntryPath).toString(), { default: true }).catch((err) => { - consola.error(err) - consola.error('Cannot load module. Please check dist:', moduleEntryPath) - return null - }) - - if (!moduleFn) { - return - } - const moduleMeta = await moduleFn.getMeta?.() || {} - - // Enhance meta using package.json - if (ctx.pkg) { - if (!moduleMeta.name) { - moduleMeta.name = ctx.pkg.name - } - if (!moduleMeta.version) { - moduleMeta.version = ctx.pkg.version - } - } - - // Add module builder metadata - moduleMeta.builder = { - [name]: version, - unbuild: await readPackageJSON('unbuild').then(r => r.version).catch(() => 'unknown'), - } - - // Write meta - const metaFile = resolve(ctx.options.outDir, 'module.json') - await fsp.writeFile(metaFile, JSON.stringify(moduleMeta, null, 2), 'utf8') - - // Generate types - await writeTypes(ctx.options.outDir, ctx.options.stub) - }, - async 'build:done'(ctx) { - const logs = [...ctx.warnings].filter(l => l.startsWith('Potential missing package.json files:')) - if (logs.filter(l => l.match(/\.d\.ts/)).length > 0) { - consola.warn(`\`@nuxt/module-builder\` will no longer generate \`.d.ts\` declaration files. You can update these paths to use the \`.d.mts\` extension instead.`) - } - - if (logs.filter(l => l.match(/module\.cjs/)).length > 0) { - consola.warn(`\`@nuxt/module-builder\` will no longer generate \`module.cjs\` as this is not required for Nuxt v3+. You can safely remove replace this with \`module.mjs\` in your \`package.json\`.`) - } - - const pkg = await readPackageJSON(cwd) - if (pkg?.types && !existsSync(resolve(cwd, pkg.types))) { - consola.warn(`Please remove the \`types\` field from package.json as it is no longer required for Bundler TypeScript module resolution. Instead, you can use \`typesVersions\` to support subpath export types for Node10, if required.`) - } - }, + preserveEntrySignatures: 'strict', + plugins: [ + runtimeExternalsPlugin, + dts({ compilerOptions, cwd }), + ], + output: { + format: 'esm', + dir: distDir, + entryFileNames: '[name].mjs', + chunkFileNames: '[name].mjs', + sourcemap: context.args.sourcemap, }, }) + + // Step 3: Generate module metadata + await generateModuleMetadata(cwd, jiti, distDir) + + // Step 4: Generate types.d.mts + await writeTypes(distDir, false) + + // Step 5: Build warnings + const builtPkg = await readPackageJSON(cwd) + if (builtPkg?.types && !existsSync(resolve(cwd, builtPkg.types))) { + consola.warn(`Please remove the \`types\` field from package.json as it is no longer required for Bundler TypeScript module resolution. Instead, you can use \`typesVersions\` to support subpath export types for Node10, if required.`) + } }, }) +async function generateModuleMetadata(cwd: string, jiti: Jiti, distDir: string) { + const moduleEntryPath = resolve(distDir, 'module.mjs') + const moduleFn = await jiti.import>>( + pathToFileURL(moduleEntryPath).toString(), + { default: true }, + ).catch((err) => { + consola.error(err) + consola.error('Cannot load module. Please check dist:', moduleEntryPath) + return null + }) + + if (!moduleFn) { + return + } + const moduleMeta = await moduleFn.getMeta?.() || {} + + const pkg = await readPackageJSON(cwd) + if (pkg) { + if (!moduleMeta.name) { + moduleMeta.name = pkg.name + } + if (!moduleMeta.version) { + moduleMeta.version = pkg.version + } + } + + moduleMeta.builder = { + [name]: version, + rolldown: await readPackageJSON('rolldown').then(r => r.version).catch(() => 'unknown'), + } + + await fsp.writeFile(resolve(distDir, 'module.json'), JSON.stringify(moduleMeta, null, 2), 'utf8') +} + +function createRuntimeExternalsPlugin(srcRuntimeDir: string): Plugin { + const RUNTIME_RE = /[\\/]runtime[\\/]/ + const normalizedSrcDir = normalize(srcRuntimeDir) + + return { + name: 'nuxt-module-builder:runtime-externals', + async resolveId(this, id, importer) { + if (!RUNTIME_RE.test(id)) + return + + const resolved = await this.resolve(id, importer, { skipSelf: true }) + if (!resolved) + return + + const normalizedId = normalize(resolved.id) + if (!normalizedId.startsWith(normalizedSrcDir)) + return + + // Map source file to its output .js path relative to dist dir + const relInRuntime = relative(normalizedSrcDir, normalizedId).replace(/\.[cm]?tsx?$/, '') + const distRelativePath = './runtime/' + relInRuntime.replace(/\\/g, '/') + '.js' + + return { + external: true, + id: distRelativePath, + } + }, + } +} + +async function inferModuleEntries(cwd: string): Promise { + const entries: string[] = [] + + // Always include src/module + for (const ext of ['.ts', '.tsx', '.mts']) { + const candidate = resolve(cwd, 'src/module' + ext) + if (existsSync(candidate)) { + entries.push(candidate) + break + } + } + + const pkg = await readPackageJSON(cwd).catch(() => null) + if (!pkg?.exports) return entries + + // Collect .mjs paths from package.json exports + function collectMjs(obj: unknown): string[] { + if (typeof obj === 'string') return obj.endsWith('.mjs') ? [obj] : [] + if (typeof obj === 'object' && obj !== null) { + return Object.values(obj as Record).flatMap(collectMjs) + } + return [] + } + + for (const mjsPath of collectMjs(pkg.exports)) { + // './dist/utils.mjs' → 'src/utils' + const match = mjsPath.match(/^\.\/dist\/(.+)\.mjs$/) + if (!match) continue + const srcBase = resolve(cwd, 'src', match[1]!) + for (const ext of ['.ts', '.tsx', '.mts']) { + const candidate = srcBase + ext + if (existsSync(candidate) && !entries.includes(candidate)) { + entries.push(candidate) + break + } + } + } + + return entries +} + +async function buildStub(cwd: string, distDir: string, entries: string[], srcRuntimeDir: string, distRuntimeDir: string, jiti: Jiti) { + await fsp.mkdir(distDir, { recursive: true }) + + const jitiPath = pathToFileURL( + await resolvePath('jiti', { url: import.meta.url, conditions: ['node', 'import'] }), + ).toString() + + for (const resolvedEntry of entries) { + const entryName = filename(resolvedEntry) || basename(resolvedEntry, extname(resolvedEntry)) + const outBase = resolve(distDir, entryName) + + const exports = await resolveModuleExportNames(resolvedEntry, { + extensions: ['.ts', '.tsx', '.mts'], + }).catch(() => [] as string[]) + const hasDefaultExport = exports.includes('default') + + const mjsContent = [ + `import { createJiti } from ${JSON.stringify(jitiPath)};`, + ``, + `const jiti = createJiti(import.meta.url);`, + ``, + `/** @type {import(${JSON.stringify(resolvedEntry)})} */`, + `const _module = await jiti.import(${JSON.stringify(resolvedEntry)});`, + hasDefaultExport ? `export default _module?.default ?? _module;` : '', + ...exports.filter(n => n !== 'default').map(n => `export const ${n} = _module.${n};`), + ].filter(Boolean).join('\n') + '\n' + + await fsp.writeFile(outBase + '.mjs', mjsContent, 'utf8') + + const dtsContent = [ + `export * from ${JSON.stringify(resolvedEntry)};`, + hasDefaultExport ? `export { default } from ${JSON.stringify(resolvedEntry)};` : '', + ].filter(Boolean).join('\n') + '\n' + + await fsp.writeFile(outBase + '.d.mts', dtsContent, 'utf8') + } + + if (existsSync(srcRuntimeDir)) { + const { glob } = await import('tinyglobby') + + const runtimeFiles = await glob('**/*.{ts,tsx,vue}', { + cwd: srcRuntimeDir, + absolute: true, + ignore: ['**/*.stories.{ts,tsx,vue}', '**/*.{spec,test}.{ts,tsx,vue}'], + }) + + await fsp.mkdir(distRuntimeDir, { recursive: true }) + + for (const file of runtimeFiles) { + const rel = relative(srcRuntimeDir, file).replace(/\.[cm]?[tj]sx?$/, '') + const outBase = resolve(distRuntimeDir, rel) + const outDir = dirname(outBase) + + await fsp.mkdir(outDir, { recursive: true }) + + // Simple jiti stub (works for .ts, .tsx, .vue) + const mjsContent = `import { createJiti } from ${JSON.stringify(jitiPath)}; + +const jiti = createJiti(import.meta.url); +/** @type {import(${JSON.stringify(file)})} */ +const _mod = await jiti.import(${JSON.stringify(file)}); +export default _mod?.default ?? _mod; +` + + await fsp.writeFile(outBase + '.mjs', mjsContent, 'utf8') + + // Basic type forwarder + const dtsContent = `export * from ${JSON.stringify(file)};\n` + await fsp.writeFile(outBase + '.d.mts', dtsContent, 'utf8') + } + } + + await generateModuleMetadata(cwd, jiti, distDir) +} + async function writeTypes(distDir: string, isStub: boolean) { const dtsFile = resolve(distDir, 'types.d.mts') if (existsSync(dtsFile)) { @@ -277,7 +412,7 @@ ${moduleReExports.filter(e => e.type === 'star').map(e => `\nexport * from '${e. await fsp.writeFile(dtsFile, dtsContents, 'utf8') } -async function loadTSCompilerOptions(path: string): Promise> { +async function loadTSCompilerOptions(path: string): Promise { const config = await parse(path) const resolvedCompilerOptions = config?.tsconfig.compilerOptions || {} diff --git a/test/__snapshots__/JsxComponent.d.ts b/test/__snapshots__/JsxComponent.d.ts index 41c9cc7c..7c0c8161 100644 --- a/test/__snapshots__/JsxComponent.d.ts +++ b/test/__snapshots__/JsxComponent.d.ts @@ -1 +1,4 @@ -export default function MyJSXComponent(): import("vue/jsx-runtime").JSX.Element; +//#region src/runtime/components/JsxComponent.d.ts +declare function MyJSXComponent(): import("vue/jsx-runtime").JSX.Element; +//#endregion +export { MyJSXComponent as default }; \ No newline at end of file diff --git a/test/__snapshots__/JsxComponent.js b/test/__snapshots__/JsxComponent.js index ea56e413..efe8c5a4 100644 --- a/test/__snapshots__/JsxComponent.js +++ b/test/__snapshots__/JsxComponent.js @@ -1,4 +1,7 @@ import { jsx } from "vue/jsx-runtime"; -export default function MyJSXComponent() { - return /* @__PURE__ */ jsx("div", { children: "My JSX Component" }); +//#region src/runtime/components/JsxComponent.tsx +function MyJSXComponent() { + return /* @__PURE__ */ jsx("div", { children: "My JSX Component" }); } +//#endregion +export { MyJSXComponent as default }; diff --git a/test/__snapshots__/TestMe.vue b/test/__snapshots__/TestMe.vue index 974b9562..cb9da314 100644 --- a/test/__snapshots__/TestMe.vue +++ b/test/__snapshots__/TestMe.vue @@ -1,13 +1,9 @@