diff --git a/.gitignore b/.gitignore index cc713e0..ef75a19 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ coverage !test/fixtures/_shared/.env !test/fixtures/vue/.env !test/fixtures/nuxt/.env +!test/fixtures/nuxt-v5/.env diff --git a/package.json b/package.json index 686f48e..123ee8c 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "dist" ], "engines": { - "node": ">=22" + "node": ">=22.12.0" }, "scripts": { "build": "tsdown", @@ -62,8 +62,8 @@ "test:types": "tsc --noEmit && pnpm -r test:types" }, "peerDependencies": { - "@nuxt/kit": "^3.13.0 || ^4.0.0", - "@nuxt/schema": "^3.13.0 || ^4.0.0", + "@nuxt/kit": "^3.13.0 || ^4.0.0 || ^5.0.0-0", + "@nuxt/schema": "^3.13.0 || ^4.0.0 || ^5.0.0-0", "@rocicorp/zero": "^1.9.0", "vue": "^3.5.13" }, @@ -78,8 +78,8 @@ "devDependencies": { "@antfu/eslint-config": "9.3.0", "@arethetypeswrong/core": "0.18.5", - "@nuxt/kit": "4.5.2", - "@nuxt/schema": "4.5.2", + "@nuxt/kit": "4.6.0", + "@nuxt/schema": "4.6.0", "@rocicorp/zero": "1.9.0", "@types/pg": "8.23.1", "@vitest/coverage-v8": "5.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 18d7ae3..86d221f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -176,11 +176,11 @@ importers: specifier: 0.18.5 version: 0.18.5 '@nuxt/kit': - specifier: 4.5.2 - version: 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + specifier: 4.6.0 + version: 4.6.0(@nuxt/schema@4.6.0)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) '@nuxt/schema': - specifier: 4.5.2 - version: 4.5.2 + specifier: 4.6.0 + version: 4.6.0 '@rocicorp/zero': specifier: 1.9.0 version: 1.9.0(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(supports-color@10.2.2) @@ -238,12 +238,61 @@ importers: '@rocicorp/zero': specifier: ^1.9.0 version: 1.9.0(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(supports-color@10.2.2) + h3: + specifier: ^1.15.11 + version: 1.15.11 jose: specifier: ^6.2.3 version: 6.2.12 nuxt: specifier: ^4.4.8 - version: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(db0@0.3.4)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + version: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(confbox@0.3.1)(db0@0.3.4)(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + postgres: + specifier: 3.4.7 + version: 3.4.7 + vue: + specifier: ^3.5.34 + version: 3.5.43(typescript@6.0.3) + zero-vue: + specifier: workspace:* + version: link:../../.. + zod: + specifier: 4.4.3 + version: 4.4.3 + devDependencies: + '@nuxt/test-utils': + specifier: ^4.3.3 + version: 4.3.3(e0aa9111d984c9ebcdfc37b252e153a4) + '@types/node': + specifier: 24.11.0 + version: 24.11.0 + happy-dom: + specifier: ^20.10.6 + version: 20.14.5 + playwright-core: + specifier: 1.62.1 + version: 1.62.1 + typescript: + specifier: 6.0.3 + version: 6.0.3 + vitest: + specifier: ^4.1.7 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.11.0)(@vitest/coverage-v8@5.0.3)(happy-dom@20.14.5)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + vue-tsc: + specifier: 3.3.6 + version: 3.3.6(typescript@6.0.3) + + test/fixtures/nuxt-v5: + dependencies: + '@rocicorp/zero': + specifier: ^1.9.0 + version: 1.9.0(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(supports-color@10.2.2) + jose: + specifier: ^6.2.3 + version: 6.2.12 + nuxt: + specifier: npm:nuxt-nightly@5x + version: nuxt-nightly@5.0.0-2610071710-0296ca4(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)))(@vue/compiler-sfc@3.5.43)(acorn@8.18.0)(autoprefixer@10.6.1(postcss@8.5.28))(confbox@0.3.1)(cssnano@8.0.10(postcss@8.5.28))(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(jiti@2.7.0)(lightningcss@1.33.0)(mlly@1.8.2)(nuxt-nightly@5.0.0-2610071710-0296ca4)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) postgres: specifier: 3.4.7 version: 3.4.7 @@ -258,8 +307,8 @@ importers: version: 4.4.3 devDependencies: '@nuxt/test-utils': - specifier: ^4.0.3 - version: 4.3.3(a63f4bbc9d0acd299bf36384cc3f3354) + specifier: ^4.3.3 + version: 4.3.3(cda39b42535cdb4c59bfc12d0cf7d45f) '@types/node': specifier: 24.11.0 version: 24.11.0 @@ -342,6 +391,10 @@ importers: packages: + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + '@andrewbranch/untar.js@1.0.4': resolution: {integrity: sha512-pVXSwPsLuw8IGLo2Di0EaOfsk+ntVvpkk942J/sHYIkwvtKUakEcPh7HBgZ6tuimgzKSEHgCvO4XgQ05DEbwDw==} @@ -589,6 +642,9 @@ packages: '@databases/validate-unicode@1.0.0': resolution: {integrity: sha512-dLKqxGcymeVwEb/6c44KjOnzaAafFf0Wxa8xcfEjx/qOl3rdijsKYBAtIGhtVtOlpPf/PFKfgTuFurSPn/3B/g==} + '@devframes/hub-ui-onboard@1.2.3': + resolution: {integrity: sha512-pIU8M2YcnAs2KgqqhgRlSg4Iw4q1xGKBaAnFi2okYjN3DoOWEuLPXv5qOoqEyogZMLb/cxWoVfpw65g20sXfRA==} + '@dotenvx/dotenvx@1.75.1': resolution: {integrity: sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ==} hasBin: true @@ -1019,6 +1075,31 @@ packages: resolution: {integrity: sha512-llZkSzeTsimFx64U+ThT2xQM2uEce8GIQUYvxgbB6ZFvBhV2LP9LeJJb3HT+syG0uCFLsTCHjV9SfC0WNU1vtA==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} + '@nuxt/cli-nightly@4.0.0-2610080622-807ce53': + resolution: {integrity: sha512-38GHhySh9u2mFylgNtlulXgPA/I/U5R0s+4J0L8LwDRIAlERVYDHOOl5PtJXjW9+zP+SCuzy+zac2iR1HXRf1A==} + engines: {node: ^22.21.0 || ^24.11.0 || >=26.0.0} + hasBin: true + peerDependencies: + '@nuxt/docs': ^4.0.0 + '@nuxt/schema': ^3.0.0 || ^4.0.0 + jiti: ^2.3.0 + oxc-parser: '>=0.56.3' + rolldown: ^1.0.0-rc.16 || ^1.0.0 + serve: ^14.0.0 + peerDependenciesMeta: + '@nuxt/docs': + optional: true + '@nuxt/schema': + optional: true + jiti: + optional: true + oxc-parser: + optional: true + rolldown: + optional: true + serve: + optional: true + '@nuxt/cli@3.37.0': resolution: {integrity: sha512-Zj9NwHjEBzVrgezsgMFjpMhNqwNgROk9DzNi/dyfk1mCbXIRigV11br2xOl0Satek30bmv7oZAfMtCnDe6Ip0Q==} engines: {node: ^16.14.0 || >=18.0.0} @@ -1037,6 +1118,15 @@ packages: peerDependencies: vite: '>=6.0' + '@nuxt/devtools-onboard@4.0.0-beta.4': + resolution: {integrity: sha512-EJJoZ10HoJJCinXAg74EkDHBKSfubCtoeA+3L6m21TTH3XzyD1caAxOQQh90/ydmjpSQCDbvYGZiCWUNFsWSsw==} + peerDependencies: + '@nuxt/devtools': ^4.0.0-beta.4 + '@nuxt/kit': ^4.0.0-0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/devtools': + optional: true + '@nuxt/devtools-wizard@3.4.2': resolution: {integrity: sha512-U2G8fw7KW1rdECyJDho5N14z8hSllpTk430KG1QPLjrv5w3pDksZ+YcpITd0u762Vw3gq3Arpg65Bk6U4ua6aQ==} hasBin: true @@ -1051,10 +1141,86 @@ packages: '@vitejs/devtools': optional: true + '@nuxt/kit-nightly@5.0.0-2610071710-0296ca4': + resolution: {integrity: sha512-q/+m1LjiQ7iuqfoYvtcGLf0UstiNilTTQUxoVl1ivJcxpn1IUVKVL3XVLWptEE2CfO7IexwwHv2zGw5YOUM+5w==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@nuxt/schema': npm:@nuxt/schema-nightly@5.0.0-2610071710-0296ca4 + confbox: '>=0.1.0' + dotenv: '*' + giget: '>=3.1.0' + jiti: ^2.0.0 + mlly: ^1.2.0 + oxc-parser: '>=0.56.0' + rolldown: '>=1.0.0' + peerDependenciesMeta: + '@nuxt/schema': + optional: true + confbox: + optional: true + dotenv: + optional: true + giget: + optional: true + jiti: + optional: true + mlly: + optional: true + oxc-parser: + optional: true + rolldown: + optional: true + '@nuxt/kit@4.5.2': resolution: {integrity: sha512-l66LU9DcJYjmNwqwAj2I5UGRrUbnG2DOKGChnN70zIGtn0eq/z87gi/FRgha6eMb9/FmB1PFHgtx6PWVml1C2Q==} engines: {node: '>=18.12.0'} + '@nuxt/kit@4.6.0': + resolution: {integrity: sha512-UXTajJ+MFJgwV9UL1CTNNd2PSw5PC3Pjb2rM7FsSYcr92ySQKXEslBnUKbvnXT+gG3NbZ/EF70+WenoNIHX2tw==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@nuxt/schema': ^3.0.0 || ^4.0.0 || ^5.0.0-0 + confbox: '>=0.1.0' + dotenv: '*' + giget: '>=3.1.0' + jiti: ^2.0.0 + mlly: ^1.2.0 + oxc-parser: '>=0.56.0' + rolldown: '>=1.0.0' + peerDependenciesMeta: + '@nuxt/schema': + optional: true + confbox: + optional: true + dotenv: + optional: true + giget: + optional: true + jiti: + optional: true + mlly: + optional: true + oxc-parser: + optional: true + rolldown: + optional: true + + '@nuxt/nitro-server-nightly@5.0.0-2610071710-0296ca4': + resolution: {integrity: sha512-EHEkMbJAsfz7GpFEq0Fvij0Wg/UxoxATVeEQQ7ovLF3cl4U5mJTbC2Vv7uJBpne3q1IVFS84t4yzNDaH42hD0Q==} + engines: {node: ^22.21.0 || ^24.11.0 || >=26.0.0} + peerDependencies: + '@babel/plugin-proposal-decorators': ^7.25.0 || ^8.0.0 + '@babel/plugin-syntax-typescript': ^7.25.0 || ^8.0.0 + '@rollup/plugin-babel': ^6.0.0 || ^7.0.0 + nuxt: npm:nuxt-nightly@5.0.0-2610071710-0296ca4 + peerDependenciesMeta: + '@babel/plugin-proposal-decorators': + optional: true + '@babel/plugin-syntax-typescript': + optional: true + '@rollup/plugin-babel': + optional: true + '@nuxt/nitro-server@4.5.2': resolution: {integrity: sha512-sx/vtT8D1WIRUOMuKQz/9z8nZb7jgVWc6HWwlkXKDjYZ84otPFtYCozKqhXWv6xf3JxJvge/RUAOwh9Z7P4nQQ==} engines: {node: ^22.19.0 || ^24.11.0 || >=26.0.0} @@ -1071,10 +1237,18 @@ packages: '@rollup/plugin-babel': optional: true + '@nuxt/schema-nightly@5.0.0-2610071710-0296ca4': + resolution: {integrity: sha512-7GRnTwI/MLVtrLNcKZeCuKtdn+PMHdTacbpd3XEaQdc7sMo4xU3Pbx+01hjKI0br0J4exxadqE2sAEC4qrSXYA==} + engines: {node: ^14.18.0 || >=16.10.0} + '@nuxt/schema@4.5.2': resolution: {integrity: sha512-h9g1kt9O2iU9nX6HDFu9gvwtpn+8oSJX0RSTWRBnEx/Pkz+WlOHtjuS0SbkTAXw5aT1+H1GysWVwNTjJfBY/0w==} engines: {node: ^14.18.0 || >=16.10.0} + '@nuxt/schema@4.6.0': + resolution: {integrity: sha512-lwAA2MDJ5WkNKqIpNnvH3gK1aHfh3DK8evQNbun+nzMKPP7MqpQ6rs/UClqTnhhhTwqkw0b6Sm24VRCVw7f4Tw==} + engines: {node: ^14.18.0 || >=16.10.0} + '@nuxt/telemetry@2.9.1': resolution: {integrity: sha512-WYQs6GvebU278YXhbGlLA8pUO3ox+juHAiKCB3SEH0lq2PDRwX465tHRtpVIqsHv+lGK/n99FC7qqyBt9+p3oQ==} engines: {node: '>=18.12.0'} @@ -1125,6 +1299,32 @@ packages: vitest: optional: true + '@nuxt/vite-builder-nightly@5.0.0-2610071710-0296ca4': + resolution: {integrity: sha512-0vJT/JB6ajKhCMQmgvZL+MPq0BvQLJsmiJVYrYBE13Rt7UgugmMqkzTnkAzKMBOQZPVyOXcXHZc1dYmzZJo/PQ==} + engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} + peerDependencies: + '@babel/plugin-proposal-decorators': ^7.25.0 || ^8.0.0 + '@babel/plugin-syntax-jsx': ^7.25.0 || ^8.0.0 + '@vitejs/plugin-vue-jsx': ^5.1.5 + autoprefixer: ^10.4.27 + cssnano: ^7.1.3 || ^8.0.0 || ^9.0.0 + nuxt: npm:nuxt-nightly@5.0.0-2610071710-0296ca4 + rollup-plugin-visualizer: ^6.0.0 || ^7.0.1 + vue: ^3.3.4 + peerDependenciesMeta: + '@babel/plugin-proposal-decorators': + optional: true + '@babel/plugin-syntax-jsx': + optional: true + '@vitejs/plugin-vue-jsx': + optional: true + autoprefixer: + optional: true + cssnano: + optional: true + rollup-plugin-visualizer: + optional: true + '@nuxt/vite-builder@4.5.2': resolution: {integrity: sha512-fC8KUs5F1VpSEjTIjmx5pdflciMlp3FDCubx3AXElvRPLtBAPmyB69kmqVFjRnVQ8+vRHNyI7iBHUg9Se8srLA==} engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} @@ -1145,6 +1345,13 @@ packages: rollup-plugin-visualizer: optional: true + '@nuxt/vite-server-nightly@5.0.0-2610071710-0296ca4': + resolution: {integrity: sha512-zjFBqzvbY0lLC6iSgZHqvhiR/r/p9fERw+WoCNcIzGNX5MJxhaTNzFqxqKeUoDn3dIxKisvPANOkY5rooNMtBQ==} + engines: {node: ^22.21.0 || ^24.11.0 || >=26.0.0} + peerDependencies: + nuxt: npm:nuxt-nightly@5.0.0-2610071710-0296ca4 + vite: ^8.3.1 + '@opentelemetry/api-logs@0.218.0': resolution: {integrity: sha512-fmEWp5kXlGEc3i/lR698Hz41DfGyN4Tbe4g7L1AxSc7fF8Xeh/FQ9Quqpa9dVA413Q1Ad43QOLzU4JoXgbFPWw==} engines: {node: '>=8.0.0'} @@ -3244,6 +3451,9 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + args-tokenizer@0.3.0: + resolution: {integrity: sha512-xXAd7G2Mll5W8uo37GETpQ2VrE84M181Z7ugHFGQnJZ50M2mbOv0osSZ9VsSgPfJQ+LVG0prSi0th+ELMsno7Q==} + array-back@6.2.3: resolution: {integrity: sha512-SGDvmg6QTYiTxCBkYVmThcoa67uLl35pyzRHdpCGBOcqFy6BtwnphoFPk7LhJshD+Yk1Kt35WGWeZPTgwR4Fhw==} engines: {node: '>=12.17'} @@ -3506,6 +3716,10 @@ packages: cjs-module-lexer@2.2.1: resolution: {integrity: sha512-Ca8swihM+/4yKecYHY52kgJd300hi2lADU/a1RxNTRe+RJ9jvqQlESpbz9DnG9mowez8qwXHB8qYdIUw9e+F5Q==} + clickable-path@0.1.1: + resolution: {integrity: sha512-ROn/mdV2pR8WFdpJjFDCSouLRg9myf95xacO1iy8G/AVO/x5y124pjF3EaoWrTBRWC3vh0DPqa/MhKyx3mMeKg==} + engines: {node: '>=22.1.0'} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -3718,6 +3932,9 @@ packages: sqlite3: optional: true + db0@0.4.1: + resolution: {integrity: sha512-6RBY/bSn42UrqATwsiULj2uYFyEykB3XeA/NLIVQeHNXlYV6D4Idxx3/aa6k5Y45Dwzx7sygeLotnqHWSeURYA==} + debounce-fn@4.0.0: resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} engines: {node: '>=10'} @@ -3790,6 +4007,10 @@ packages: devalue@5.9.4: resolution: {integrity: sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==} + devalue@6.0.2: + resolution: {integrity: sha512-6V1HzU4to74skg//ScZR2mp9bdz+rESC9jQzVIIG/ha0HYgymHcXIQQCjH0+ivRaSuY82fa9fZ7Ro6QZT4s4uw==} + engines: {node: '>=22.17'} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -3894,6 +4115,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + env-runner@0.2.3: + resolution: {integrity: sha512-S8EFBKyznRwPVwayK187cYjvnpgC92xy+q0BIF++V965pfjMVVRbQ/HoTYGA/1EHmZ7E68k6Heq+4WnvVhOL5w==} + hasBin: true + error-stack-parser-es@1.0.5: resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} @@ -3903,6 +4128,9 @@ packages: errx@0.1.2: resolution: {integrity: sha512-chfpPHmCerdo/rXr/nNvPZRkV4WwDRwzwnsJ0Uzz3tVi8Z41tDctRjduYy1138ii77AFlts1qvWtX3g/Acg91Q==} + errx@0.2.2: + resolution: {integrity: sha512-HaPN6cxm6iZ9bIbQQ5orChcw7SY5smUzM08ZMc6OtV4UQhrrc3Ms1G8Ww2n/9lXkWqiioNTssF8bCvchrSbFEQ==} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -4263,6 +4491,9 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + fetchdts@0.2.0: + resolution: {integrity: sha512-PJb4ZTGT2/wK78RmVrxZITStWabhZlKBsL52VOgq+c7clEkdHdEB+0rtzrXCbZJqeYJj+IwNWYqB5/G6vouA6A==} + fflate@0.8.3: resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} @@ -4307,6 +4538,10 @@ packages: flatted@3.4.4: resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + flru@1.0.2: + resolution: {integrity: sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==} + engines: {node: '>=6'} + fnv1a-64@0.1.2: resolution: {integrity: sha512-mJbcILTPybAR1jdOwt/lVv8N2cffeJFFP+gVbSAwLEx1ujXH27RpPd8Rokec/KX9c76UYIB6Co+H4lQzxPnJfA==} @@ -4357,6 +4592,9 @@ packages: resolution: {integrity: sha512-sQtrEfA+ez/3G0cCZecF70oqpCRttCexYUG4mUrtWL49ULUzUyxokt5kyqwtKzj1270RaKih+hcP3qLcumccow==} engines: {node: '>=10'} + fuzzysort@4.0.2: + resolution: {integrity: sha512-3c7yD6rK1EXIsqpcu1ZVzXJugODWNMzvUij6yTiziaAHrpNS8kzFOI9mJLE8pmG4K9JOaVgzQRgklfOEk8f4Tg==} + fzf@0.5.2: resolution: {integrity: sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q==} @@ -4474,6 +4712,19 @@ packages: h3@1.15.11: resolution: {integrity: sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==} + h3@2.0.1: + resolution: {integrity: sha512-trUtZ82iNkfYi8An9M2kIM/SPlomO59pTRMt4zMBffuVPdwv5v1Bxs7uShxi7bOIAuZne6zq6TsD9hVYdNgo+A==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + crossws: ^0.4.12 + ocache: '>=0.3.0' + peerDependenciesMeta: + crossws: + optional: true + ocache: + optional: true + happy-dom@20.14.5: resolution: {integrity: sha512-x/RzkpWO40bTjIoT30iQtt64FLLmH/iRcUCN2X//bLx7H3ifkdfPXyqsro/OYtqzIAhiLMMA7mmiOR9C3NOKjQ==} engines: {node: '>=20.0.0'} @@ -4619,6 +4870,9 @@ packages: iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + iron-webcrypto@2.0.0: + resolution: {integrity: sha512-rtffZKDUHciZElM8mjFCufBC7nVhCxHYyWHESqs89OioEDz4parOofd8/uhrejh/INhQFfYQfByS22LlezR9sQ==} + is-arguments@1.2.0: resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} engines: {node: '>= 0.4'} @@ -5068,6 +5322,9 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + microdiff@1.6.0: + resolution: {integrity: sha512-w7JWt8Bno6I8h0rEqlxr4lNG4UbT1FVtWo42wWosIiaJ+rP3pXh7shCYDnyqBrYx36LJ1CZ64p8A62aVp0sJpQ==} + micromark-core-commonmark@2.0.4: resolution: {integrity: sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==} @@ -5239,6 +5496,15 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + my-bad@0.2.10: + resolution: {integrity: sha512-BScLZZ0ymA14Q37kYTMWWg6KxCKM0U63do5Z2Gqsb2DjFbgFtbY4kTA+cv4RdCwM3NCEub2CZUTTIUo1Blu29w==} + engines: {node: '>=22.12.0'} + peerDependencies: + vite: '>=6' + peerDependenciesMeta: + vite: + optional: true + nano-staged@1.0.2: resolution: {integrity: sha512-Fytar3zHLY99nlMfqPPbraxZodqQAHPpdPRyYaplL+lB9DCR6pUrafxbG+Btz4+7fO5Rm/+DO4ZeDO/nLSUMhw==} engines: {node: ^22 || >= 24} @@ -5264,6 +5530,14 @@ packages: resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} engines: {node: '>=18'} + nf3@0.3.24: + resolution: {integrity: sha512-HxLK4bo+5jNsEETZp4w3tJblHOA9MCBY14IN9nZJJV8JDxt9yNIYxuBuLMjTAR5GFa3HL61+8VQDUrXv3/C8fw==} + + nitro@3.0.260903-beta: + resolution: {integrity: sha512-54gANPi62O8rfMvepiJUVuIzEIinYfpeHbebywlLxvVTgIYXDwSvpaU9Id+0sJOBjBx0wC1/CVYXJkH7SY+l0g==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + nitropack@2.13.4: resolution: {integrity: sha512-tX7bT6zxNeMwkc6hxHiZeUoTOjVrcjoh1Z3cmxOlodIqjl4HISgqfGOmkWSayky3Nv9Z5+KQH52F8nmXJY5AAA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -5489,6 +5763,23 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nuxt-nightly@5.0.0-2610071710-0296ca4: + resolution: {integrity: sha512-/+bX0NJ+bl9hANsQ5iwaYxEXzMmzIevJMbOICuc3k67MbpPDcLQKK1TXxnDjzAZjY0liAR996Fkg4XZdqQ1zlw==} + engines: {node: ^22.21.0 || ^24.11.0 || >=26.0.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': '>=18.12.0' + jiti: ^2.7.0 + rolldown: ^1.1.5 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + jiti: + optional: true + nuxt@4.5.2: resolution: {integrity: sha512-tR3fcqeHlHmmkLMpIg3V7Y+1ltr302lW8djMw/iy+myfo7QSSz+BVJDuQhg5j73b9oteSyBfOKTDYTgvMtj6TA==} engines: {node: ^22.19.0 || ^24.11.0 || >=26.0.0} @@ -5525,9 +5816,19 @@ packages: resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} engines: {node: '>=12.20.0'} + obug@3.0.0: + resolution: {integrity: sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==} + engines: {node: '>=12.20.0'} + + ocache@0.3.0: + resolution: {integrity: sha512-RS/9P0zeBb0gDJmadGERLH8lZNXK7xbufTDhclkXGvFGTsj0G4M5/cLk+mizcERH29mLXNnocfB5wjcK70wGJg==} + ofetch@1.5.1: resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} + ofetch@2.0.0-alpha.3: + resolution: {integrity: sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA==} + ohash@2.0.12: resolution: {integrity: sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==} @@ -5626,6 +5927,9 @@ packages: package-manager-detector@1.8.0: resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} + package-manager-detector@1.9.0: + resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} + parse-gitignore@2.0.0: resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} engines: {node: '>=14'} @@ -6210,6 +6514,10 @@ packages: rou3@0.9.2: resolution: {integrity: sha512-3SOzvaAg8rkHrXtRjpCvCvbyO5to9oOO27Z/XqHEYXfMRVSw/qMIVdmaOk9W2lcRLtR6dlqTjo9hDeJk70QBYQ==} + rou3@1.0.0: + resolution: {integrity: sha512-ySeaQkSrua+ut9g+65I7FHqOFBaY8tV0FmccXItoq0q21se32Q3u4YiW7/RqXSosWgYJaaKwRHXy3BST9PeCNQ==} + engines: {node: '>=20.19.0'} + run-applescript@7.1.0: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} @@ -6391,6 +6699,11 @@ packages: engines: {node: '>=20.16.0'} hasBin: true + srvx@1.0.5: + resolution: {integrity: sha512-KvSKRpgPG/oaq3cyT614OQ2bAa7DynuGamivCZeoZzIUULOdbQz6wUtnnVuC4+DCx2Zglzo8v5gBYmWIWYhDxA==} + engines: {node: '>=20.16.0'} + hasBin: true + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -6555,6 +6868,10 @@ packages: resolution: {integrity: sha512-uo33abH+Ays0xYaDysoBt494Hb3hsEczMpcC0MwFl773pazORx4fmvKhclhR1wonUbB6vvpRsvVMwnhfqeMc+A==} engines: {node: ^16.14.0 || >= 17.3.0} + tinyclip@1.0.3: + resolution: {integrity: sha512-nTv2raKFMzGG6JJp0lpNDsRPdfFE6UHlu2rVEjXo8vkx1ZS3LW2CVXqIaLu8xZlu+6tbFs9V58Qc/Jmk/Ii7wA==} + engines: {node: ^16.14.0 || >= 17.3.0} + tinyexec@1.3.1: resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} engines: {node: '>=18'} @@ -6674,6 +6991,10 @@ packages: ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} + uint8array-extras@1.6.0: + resolution: {integrity: sha512-8iAasVS4wUx0gPLjH8Xtz2PeDzTSiy8QiLGu2DT3X5GU+egFEQhpnbtkehbAwjvDcxIERmCYcysiODFmE3Ud0Q==} + engines: {node: '>=18'} + ultrahtml@1.7.0: resolution: {integrity: sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==} @@ -6752,6 +7073,21 @@ packages: rolldown: optional: true + unimport@7.0.2: + resolution: {integrity: sha512-5yrZs6kHyx5h1ZgeLxK0EgS/JL7Uhwv9HgzQImW8JccGmbYWyXx7Jc4YhU5+sd1Yk31PlfLQhfbZ1oigXipo3A==} + engines: {node: '>=18.12.0'} + peerDependencies: + acorn: ^8.0.0 + oxc-parser: '*' + rolldown: ^1.0.0 + peerDependenciesMeta: + acorn: + optional: true + oxc-parser: + optional: true + rolldown: + optional: true + unist-util-is@6.0.1: resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} @@ -6879,6 +7215,9 @@ packages: uploadthing: optional: true + unstorage@2.0.0-alpha.10: + resolution: {integrity: sha512-6h1veZp8gnp4dGllf0tDijoXxDYymJu251IpKKkrSVH+QHL6tXFbwG85KM+CBHSgpkkgtPuIiZ9oLCLP5+1Evw==} + untun@0.2.2: resolution: {integrity: sha512-+NnOJcSiEtYsVgJmXUzQbJeRAFXJC4yPJYuh6kF9B0Rm6zunXcs/3GZOTllyocSbUDIxD6Bj7e/4ATw7sph1Sw==} hasBin: true @@ -6935,6 +7274,10 @@ packages: resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} engines: {node: '>=18.12.0'} + verkit@0.5.0: + resolution: {integrity: sha512-u4J1hr6Y+C/hit34GwL3eIcUf3wngT8TlYUjK7tk0jxydKLAq3sYvifjdTDA6U3KCKRcQCQDGf/srjxfZF3l7g==} + engines: {node: '>=18.12.0'} + version-guard@1.1.3: resolution: {integrity: sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==} engines: {node: '>=0.10.48'} @@ -7405,6 +7748,11 @@ packages: snapshots: + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@andrewbranch/untar.js@1.0.4': {} '@antfu/eslint-config@9.3.0(@typescript-eslint/typescript-estree@8.71.0(supports-color@10.2.2)(typescript@6.0.3))(@typescript-eslint/utils@8.71.0(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(@vue/compiler-sfc@3.5.43)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(vitest@5.0.3)': @@ -7686,6 +8034,12 @@ snapshots: '@databases/validate-unicode@1.0.0': {} + '@devframes/hub-ui-onboard@1.2.3': + dependencies: + nostics: 1.3.0 + package-manager-detector: 1.9.0 + tinyexec: 1.3.1 + '@dotenvx/dotenvx@1.75.1': dependencies: '@dotenvx/primitives': 0.8.0 @@ -7709,10 +8063,10 @@ snapshots: '@drdgvhbh/postgres-error-codes@0.0.6': {} - '@dxup/nuxt@0.5.10(esbuild@0.28.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': + '@dxup/nuxt@0.5.10(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(esbuild@0.28.2)(giget@3.3.1)(jiti@2.7.0)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': dependencies: '@dxup/unimport': 0.1.2 - '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + '@nuxt/kit': 4.6.0(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) '@vue/compiler-dom': 3.5.43 chokidar: 5.0.0 knitwork: 1.3.0 @@ -7722,11 +8076,46 @@ snapshots: unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) transitivePeerDependencies: - '@farmfe/core' + - '@nuxt/schema' - '@rsbuild/core' - '@rspack/core' - bun-types-no-globals + - confbox + - dotenv - esbuild - - magicast + - giget + - jiti + - mlly + - oxc-parser + - rolldown + - rollup + - unloader + - vite + - webpack + + '@dxup/nuxt@0.5.10(@nuxt/schema@4.5.2)(confbox@0.3.1)(dotenv@17.4.2)(esbuild@0.28.2)(giget@3.3.1)(jiti@2.7.0)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': + dependencies: + '@dxup/unimport': 0.1.2 + '@nuxt/kit': 4.6.0(@nuxt/schema@4.5.2)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + '@vue/compiler-dom': 3.5.43 + chokidar: 5.0.0 + knitwork: 1.3.0 + magic-string: 1.4.2 + pathe: 2.0.3 + tinyglobby: 0.2.17 + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + transitivePeerDependencies: + - '@farmfe/core' + - '@nuxt/schema' + - '@rsbuild/core' + - '@rspack/core' + - bun-types-no-globals + - confbox + - dotenv + - esbuild + - giget + - jiti + - mlly - oxc-parser - rolldown - rollup @@ -8140,30 +8529,63 @@ snapshots: dependencies: which: 7.0.0 - '@nuxt/cli@3.37.0(@nuxt/schema@4.5.2)(magicast@0.5.5)(supports-color@10.2.2)': + '@nuxt/cli-nightly@4.0.0-2610080622-807ce53(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(jiti@2.7.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': dependencies: - '@bomb.sh/tab': 0.0.19(citty@0.2.2) '@clack/prompts': 1.8.1 - c12: 3.3.4(magicast@0.5.5) - citty: 0.2.2 - confbox: 0.2.4 + args-tokenizer: 0.3.0 + clickable-path: 0.1.1 + confbox: 0.3.1 consola: 3.4.2 - debug: 4.4.3(supports-color@10.2.2) defu: 6.1.7 exsolve: 1.1.3 - fuse.js: 7.5.0 - fzf: 0.5.2 - giget: 3.3.1 - jiti: 2.7.0 - listhen: 1.10.1(srvx@0.11.22) - nypm: 0.6.10 - ofetch: 1.5.1 - ohash: 2.0.12 + fuzzysort: 4.0.2 + get-port-please: 3.2.0 + my-bad: 0.2.10(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + obug: 3.0.0 + package-manager-detector: 1.9.0 pathe: 2.0.3 perfect-debounce: 2.1.0 pkg-types: 2.3.3 + rc9: 3.1.0 scule: 1.3.0 - semver: 7.8.5 + srvx: 1.0.5 + std-env: 4.3.0 + tinyclip: 1.0.3 + tinyexec: 1.3.1 + uqr: 0.1.3 + verkit: 0.5.0 + optionalDependencies: + '@nuxt/schema': '@nuxt/schema-nightly@5.0.0-2610071710-0296ca4' + jiti: 2.7.0 + oxc-parser: 0.150.0 + rolldown: 1.2.12 + transitivePeerDependencies: + - vite + + '@nuxt/cli@3.37.0(@nuxt/schema@4.5.2)(magicast@0.5.5)(supports-color@10.2.2)': + dependencies: + '@bomb.sh/tab': 0.0.19(citty@0.2.2) + '@clack/prompts': 1.8.1 + c12: 3.3.4(magicast@0.5.5) + citty: 0.2.2 + confbox: 0.2.4 + consola: 3.4.2 + debug: 4.4.3(supports-color@10.2.2) + defu: 6.1.7 + exsolve: 1.1.3 + fuse.js: 7.5.0 + fzf: 0.5.2 + giget: 3.3.1 + jiti: 2.7.0 + listhen: 1.10.1(srvx@0.11.22) + nypm: 0.6.10 + ofetch: 1.5.1 + ohash: 2.0.12 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.3 + scule: 1.3.0 + semver: 7.8.5 srvx: 0.11.22 std-env: 4.3.0 tinyclip: 0.1.15 @@ -8193,6 +8615,12 @@ snapshots: - rolldown - unplugin + '@nuxt/devtools-onboard@4.0.0-beta.4(@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))))': + dependencies: + '@devframes/hub-ui-onboard': 1.2.3 + '@nuxt/kit': '@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))' + pkg-types: 2.3.3 + '@nuxt/devtools-wizard@3.4.2': dependencies: '@clack/prompts': 1.8.1 @@ -8204,11 +8632,11 @@ snapshots: pkg-types: 2.3.3 semver: 7.8.5 - '@nuxt/devtools@3.4.2(db0@0.3.4)(ioredis@5.11.1(supports-color@10.2.2))(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(supports-color@10.2.2)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3))': + '@nuxt/devtools@3.4.2(@nuxt/schema@4.5.2)(confbox@0.3.1)(db0@0.3.4)(dotenv@17.4.2)(giget@3.3.1)(ioredis@5.11.1(supports-color@10.2.2))(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(supports-color@10.2.2)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3))': dependencies: '@nuxt/devtools-kit': 3.4.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) '@nuxt/devtools-wizard': 3.4.2 - '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + '@nuxt/kit': 4.6.0(@nuxt/schema@4.5.2)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) '@vue/devtools-core': 8.2.1(vue@3.5.43(typescript@6.0.3)) '@vue/devtools-kit': 8.2.1 birpc: 4.2.0 @@ -8236,7 +8664,7 @@ snapshots: tinyglobby: 0.2.17 unstorage: 1.17.5(db0@0.3.4)(ioredis@5.11.1(supports-color@10.2.2)) vite: 8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) - vite-plugin-inspect: 11.4.1(@nuxt/kit@4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + vite-plugin-inspect: 11.4.1(@nuxt/kit@4.6.0(@nuxt/schema@4.5.2)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) vite-plugin-vue-tracer: 1.5.0(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) which: 6.0.1 ws: 8.22.0 @@ -8250,6 +8678,7 @@ snapshots: - '@capacitor/preferences' - '@deno/kv' - '@netlify/blobs' + - '@nuxt/schema' - '@planetscale/database' - '@upstash/redis' - '@vercel/blob' @@ -8257,10 +8686,15 @@ snapshots: - '@vercel/kv' - aws4fetch - bufferutil + - confbox - db0 + - dotenv + - giget - idb-keyval - ioredis + - jiti - magic-string + - mlly - oxc-parser - rolldown - supports-color @@ -8269,6 +8703,39 @@ snapshots: - utf-8-validate - vue + '@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))': + dependencies: + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.2.2 + exsolve: 1.1.3 + ignore: 7.0.12 + klona: 2.0.6 + microdiff: 1.6.0 + nostics: 1.3.0 + package-manager-detector: 1.9.0 + pathe: 2.0.3 + rc9: 3.1.0 + scule: 1.3.0 + std-env: 4.3.0 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + unctx: 3.0.1(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + verkit: 0.5.0 + optionalDependencies: + '@nuxt/schema': '@nuxt/schema-nightly@5.0.0-2610071710-0296ca4' + confbox: 0.3.1 + dotenv: 17.4.2 + giget: 3.3.1 + jiti: 2.7.0 + mlly: 1.8.2 + oxc-parser: 0.150.0 + rolldown: 1.2.12 + transitivePeerDependencies: + - magic-string + - unplugin + '@nuxt/kit@4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))': dependencies: c12: 3.3.4(magicast@0.5.5) @@ -8299,37 +8766,169 @@ snapshots: - rolldown - unplugin - '@nuxt/kit@4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))': + '@nuxt/kit@4.6.0(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))': dependencies: - c12: 3.3.4(magicast@0.5.5) consola: 3.4.2 defu: 6.1.7 destr: 2.0.5 - errx: 0.1.2 + errx: 0.2.2 exsolve: 1.1.3 ignore: 7.0.12 + klona: 2.0.6 + microdiff: 1.6.0 + nostics: 1.3.0 + package-manager-detector: 1.8.0 + pathe: 2.0.3 + rc9: 3.1.0 + scule: 1.3.0 + std-env: 4.3.0 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + unctx: 3.0.1(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + verkit: 0.5.0 + optionalDependencies: + '@nuxt/schema': '@nuxt/schema-nightly@5.0.0-2610071710-0296ca4' + confbox: 0.3.1 + dotenv: 17.4.2 + giget: 3.3.1 jiti: 2.7.0 + mlly: 1.8.2 + oxc-parser: 0.150.0 + rolldown: 1.2.12 + transitivePeerDependencies: + - magic-string + - unplugin + + '@nuxt/kit@4.6.0(@nuxt/schema@4.5.2)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))': + dependencies: + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.2.2 + exsolve: 1.1.3 + ignore: 7.0.12 klona: 2.0.6 + microdiff: 1.6.0 + nostics: 1.3.0 + package-manager-detector: 1.8.0 + pathe: 2.0.3 + rc9: 3.1.0 + scule: 1.3.0 + std-env: 4.3.0 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + unctx: 3.0.1(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + verkit: 0.5.0 + optionalDependencies: + '@nuxt/schema': 4.5.2 + confbox: 0.3.1 + dotenv: 17.4.2 + giget: 3.3.1 + jiti: 2.7.0 mlly: 1.8.2 + oxc-parser: 0.150.0 + rolldown: 1.2.12 + transitivePeerDependencies: + - magic-string + - unplugin + + '@nuxt/kit@4.6.0(@nuxt/schema@4.6.0)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))': + dependencies: + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.2.2 + exsolve: 1.1.3 + ignore: 7.0.12 + klona: 2.0.6 + microdiff: 1.6.0 nostics: 1.3.0 - ohash: 2.0.12 + package-manager-detector: 1.8.0 pathe: 2.0.3 - pkg-types: 2.3.3 rc9: 3.1.0 scule: 1.3.0 + std-env: 4.3.0 + tinyexec: 1.3.1 tinyglobby: 0.2.17 - ufo: 1.6.4 unctx: 3.0.1(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) - untyped: 2.0.0 - verkit: 0.3.2 + verkit: 0.5.0 + optionalDependencies: + '@nuxt/schema': 4.6.0 + confbox: 0.3.1 + dotenv: 17.4.2 + giget: 3.3.1 + jiti: 2.7.0 + mlly: 1.8.2 + oxc-parser: 0.150.0 + rolldown: 1.2.12 transitivePeerDependencies: - magic-string - - magicast - - oxc-parser - - rolldown - unplugin - '@nuxt/nitro-server@4.5.2(402a3943509ed39ade0be67c1749ae8c)': + '@nuxt/nitro-server-nightly@5.0.0-2610071710-0296ca4(e3e1607d3d050bec96d3c4daaa7faa56)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@nuxt/kit': '@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))' + '@unhead/vue': 3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + devalue: 6.0.2 + errx: 0.2.2 + escape-string-regexp: 5.0.0 + exsolve: 1.1.3 + flru: 1.0.2 + impound: 1.2.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + klona: 2.0.6 + magic-string: 1.4.2 + mocked-exports: 0.1.1 + my-bad: 0.2.10(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + nitro: 3.0.260903-beta + nostics: 1.3.0 + nuxt: nuxt-nightly@5.0.0-2610071710-0296ca4(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)))(@vue/compiler-sfc@3.5.43)(acorn@8.18.0)(autoprefixer@10.6.1(postcss@8.5.28))(confbox@0.3.1)(cssnano@8.0.10(postcss@8.5.28))(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(jiti@2.7.0)(lightningcss@1.33.0)(mlly@1.8.2)(nuxt-nightly@5.0.0-2610071710-0296ca4)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + ofetch: 2.0.0-alpha.3 + ohash: 2.0.12 + pathe: 2.0.3 + rolldown: 1.2.12 + rou3: 0.9.2 + srvx: 1.0.5 + std-env: 4.3.0 + ufo: 1.6.4 + unctx: 3.0.1(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + unimport: 7.0.2(acorn@8.18.0)(esbuild@0.28.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + unrouting: 0.2.3 + unstorage: 2.0.0-alpha.10 + vue: 3.5.43(typescript@6.0.3) + vue-bundle-renderer: 2.4.0 + vue-devtools-stub: 0.1.0 + optionalDependencies: + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) + transitivePeerDependencies: + - '@farmfe/core' + - '@nuxt/schema' + - '@oxc-project/types' + - '@rsbuild/core' + - '@rspack/core' + - '@unhead/cli' + - '@vitejs/devtools-kit' + - acorn + - bun-types-no-globals + - confbox + - dotenv + - esbuild + - giget + - jiti + - lightningcss + - mlly + - oxc-parser + - rollup + - typescript + - unloader + - vite + - webpack + + '@nuxt/nitro-server@4.5.2(d289917bc46acc617ebf5285fcf8dcc5)': dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) @@ -8348,7 +8947,7 @@ snapshots: mocked-exports: 0.1.1 nitropack: 2.13.4(oxc-parser@0.150.0)(rolldown@1.2.12)(srvx@0.11.22)(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) nostics: 1.3.0 - nuxt: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(db0@0.3.4)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + nuxt: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(confbox@0.3.1)(db0@0.3.4)(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) nypm: 0.6.10 ohash: 2.0.12 pathe: 2.0.3 @@ -8416,6 +9015,15 @@ snapshots: - webpack - xml2js + '@nuxt/schema-nightly@5.0.0-2610071710-0296ca4': + dependencies: + '@vue/shared': 3.5.43 + defu: 6.1.7 + nostics: 1.3.0 + pathe: 2.0.3 + pkg-types: 2.3.3 + std-env: 4.3.0 + '@nuxt/schema@4.5.2': dependencies: '@vue/shared': 3.5.43 @@ -8425,6 +9033,23 @@ snapshots: pkg-types: 2.3.3 std-env: 4.3.0 + '@nuxt/schema@4.6.0': + dependencies: + '@vue/shared': 3.5.43 + defu: 6.1.7 + nostics: 1.3.0 + pathe: 2.0.3 + pkg-types: 2.3.3 + std-env: 4.3.0 + + '@nuxt/telemetry@2.9.1(@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))))': + dependencies: + '@nuxt/kit': '@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))' + citty: 0.2.2 + consola: 3.4.2 + rc9: 3.1.0 + std-env: 4.3.0 + '@nuxt/telemetry@2.9.1(@nuxt/kit@4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))))': dependencies: '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) @@ -8433,7 +9058,51 @@ snapshots: rc9: 3.1.0 std-env: 4.3.0 - '@nuxt/test-utils@4.3.3(a63f4bbc9d0acd299bf36384cc3f3354)': + '@nuxt/test-utils@4.3.3(cda39b42535cdb4c59bfc12d0cf7d45f)': + dependencies: + '@clack/prompts': 1.8.1 + '@nuxt/devtools-kit': 3.4.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + consola: 3.4.2 + defu: 6.1.7 + exsolve: 1.1.3 + fake-indexeddb: 6.2.5 + get-port-please: 3.2.0 + magic-string: 1.4.2 + ofetch: 1.5.1 + oxc-walker: 1.1.1(@oxc-project/types@0.152.0)(oxc-parser@0.150.0)(rolldown@1.2.12) + package-manager-detector: 1.8.0 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + radix3: 1.1.2 + std-env: 4.3.0 + tinyexec: 1.3.1 + ufo: 1.6.4 + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + vitest-environment-nuxt: 2.0.0 + vue: 3.5.43(typescript@6.0.3) + optionalDependencies: + h3: 2.0.1(crossws@0.4.12(srvx@1.0.5))(ocache@0.3.0) + happy-dom: 20.14.5 + nuxt: nuxt-nightly@5.0.0-2610071710-0296ca4(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)))(@vue/compiler-sfc@3.5.43)(acorn@8.18.0)(autoprefixer@10.6.1(postcss@8.5.28))(confbox@0.3.1)(cssnano@8.0.10(postcss@8.5.28))(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(jiti@2.7.0)(lightningcss@1.33.0)(mlly@1.8.2)(nuxt-nightly@5.0.0-2610071710-0296ca4)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + playwright-core: 1.62.1 + vitest: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.11.0)(@vitest/coverage-v8@5.0.3)(happy-dom@20.14.5)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + transitivePeerDependencies: + - '@farmfe/core' + - '@oxc-project/types' + - '@rsbuild/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - magicast + - oxc-parser + - rolldown + - rollup + - unloader + - vite + - webpack + + '@nuxt/test-utils@4.3.3(e0aa9111d984c9ebcdfc37b252e153a4)': dependencies: '@clack/prompts': 1.8.1 '@nuxt/devtools-kit': 3.4.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) @@ -8459,7 +9128,7 @@ snapshots: optionalDependencies: h3: 1.15.11 happy-dom: 20.14.5 - nuxt: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(db0@0.3.4)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + nuxt: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(confbox@0.3.1)(db0@0.3.4)(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) playwright-core: 1.62.1 vitest: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.11.0)(@vitest/coverage-v8@5.0.3)(happy-dom@20.14.5)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) transitivePeerDependencies: @@ -8477,7 +9146,72 @@ snapshots: - vite - webpack - '@nuxt/vite-builder@4.5.2(0b2696188ea77f39b4c9fd62aa47c80d)': + '@nuxt/vite-builder-nightly@5.0.0-2610071710-0296ca4(43a9217c0c0c9621d4137f56929ae006)': + dependencies: + '@nuxt/kit': '@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))' + '@vitejs/plugin-vue': 6.0.9(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) + clickable-path: 0.1.1 + consola: 3.4.2 + defu: 6.1.7 + escape-string-regexp: 5.0.0 + exsolve: 1.1.3 + generic-names: 4.0.0 + get-port-please: 3.2.0 + js-tokens: 10.0.0 + knitwork: 1.3.0 + mocked-exports: 0.1.1 + my-bad: 0.2.10(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + nuxt: nuxt-nightly@5.0.0-2610071710-0296ca4(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)))(@vue/compiler-sfc@3.5.43)(acorn@8.18.0)(autoprefixer@10.6.1(postcss@8.5.28))(confbox@0.3.1)(cssnano@8.0.10(postcss@8.5.28))(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(jiti@2.7.0)(lightningcss@1.33.0)(mlly@1.8.2)(nuxt-nightly@5.0.0-2610071710-0296ca4)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + pathe: 2.0.3 + pkg-types: 2.3.3 + rolldown-string: 0.3.1(rolldown@1.2.12) + seroval: 1.6.8 + std-env: 4.3.0 + ufo: 1.6.4 + unenv: 2.0.0-rc.24 + vite: 8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + vite-node: 6.0.0(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + vite-plugin-checker: 0.14.5(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(optionator@0.9.4)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3)) + vue: 3.5.43(typescript@6.0.3) + vue-bundle-renderer: 2.4.0 + optionalDependencies: + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) + '@vitejs/plugin-vue-jsx': 5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) + autoprefixer: 10.6.1(postcss@8.5.28) + cssnano: 8.0.10(postcss@8.5.28) + rollup-plugin-visualizer: 7.1.1(rolldown@1.2.12)(rollup@4.64.0) + transitivePeerDependencies: + - '@biomejs/biome' + - '@nuxt/schema' + - '@types/node' + - '@vitejs/devtools' + - confbox + - dotenv + - esbuild + - eslint + - giget + - jiti + - less + - magic-string + - meow + - mlly + - optionator + - oxc-parser + - oxlint + - rolldown + - sass + - sass-embedded + - stylelint + - stylus + - sugarss + - terser + - tsx + - typescript + - unplugin + - vue-tsc + - yaml + + '@nuxt/vite-builder@4.5.2(1fc2c28b0a761f48a1c619e2d6466c6a)': dependencies: '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) '@vitejs/plugin-vue': 6.0.9(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) @@ -8495,7 +9229,7 @@ snapshots: knitwork: 1.3.0 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(db0@0.3.4)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + nuxt: 4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(confbox@0.3.1)(db0@0.3.4)(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) nypm: 0.6.10 pathe: 2.0.3 pkg-types: 2.3.3 @@ -8547,6 +9281,33 @@ snapshots: - webpack - yaml + '@nuxt/vite-server-nightly@5.0.0-2610071710-0296ca4(1eb63cd885692bfa6f6b0152953b9c23)': + dependencies: + '@nuxt/kit': '@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))' + clickable-path: 0.1.1 + defu: 6.1.7 + exsolve: 1.1.3 + mocked-exports: 0.1.1 + my-bad: 0.2.10(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + nuxt: nuxt-nightly@5.0.0-2610071710-0296ca4(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)))(@vue/compiler-sfc@3.5.43)(acorn@8.18.0)(autoprefixer@10.6.1(postcss@8.5.28))(confbox@0.3.1)(cssnano@8.0.10(postcss@8.5.28))(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(jiti@2.7.0)(lightningcss@1.33.0)(mlly@1.8.2)(nuxt-nightly@5.0.0-2610071710-0296ca4)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1) + pathe: 2.0.3 + rou3: 0.9.2 + srvx: 1.0.5 + ufo: 1.6.4 + ultrahtml: 1.7.0 + vite: 8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + transitivePeerDependencies: + - '@nuxt/schema' + - confbox + - dotenv + - giget + - jiti + - magic-string + - mlly + - oxc-parser + - rolldown + - unplugin + '@opentelemetry/api-logs@0.218.0': dependencies: '@opentelemetry/api': 1.9.1 @@ -10560,6 +11321,8 @@ snapshots: argparse@2.0.1: {} + args-tokenizer@0.3.0: {} + array-back@6.2.3: {} assertion-error@2.0.1: {} @@ -10801,6 +11564,8 @@ snapshots: cjs-module-lexer@2.2.1: {} + clickable-path@0.1.1: {} + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -10930,6 +11695,10 @@ snapshots: optionalDependencies: srvx: 0.11.22 + crossws@0.4.12(srvx@1.0.5): + optionalDependencies: + srvx: 1.0.5 + css-select@6.0.0: dependencies: boolbase: 1.0.0 @@ -11005,6 +11774,8 @@ snapshots: db0@0.3.4: {} + db0@0.4.1: {} + debounce-fn@4.0.0: dependencies: mimic-fn: 3.1.0 @@ -11056,6 +11827,8 @@ snapshots: devalue@5.9.4: {} + devalue@6.0.2: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -11147,12 +11920,21 @@ snapshots: env-paths@2.2.1: {} + env-runner@0.2.3: + dependencies: + crossws: 0.4.12(srvx@1.0.5) + exsolve: 1.1.3 + httpxy: 0.5.5 + srvx: 1.0.5 + error-stack-parser-es@1.0.5: {} error-stack-parser-es@2.0.1: {} errx@0.1.2: {} + errx@0.2.2: {} + es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -11626,6 +12408,8 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + fetchdts@0.2.0: {} + fflate@0.8.3: {} file-entry-cache@11.1.5: @@ -11665,6 +12449,8 @@ snapshots: flatted@3.4.4: {} + flru@1.0.2: {} + fnv1a-64@0.1.2: {} for-each@0.3.5: @@ -11702,6 +12488,8 @@ snapshots: fuse.js@7.5.0: {} + fuzzysort@4.0.2: {} + fzf@0.5.2: {} gaxios@7.1.3(supports-color@10.2.2): @@ -11834,6 +12622,14 @@ snapshots: ufo: 1.6.4 uncrypto: 0.1.3 + h3@2.0.1(crossws@0.4.12(srvx@1.0.5))(ocache@0.3.0): + dependencies: + rou3: 1.0.0 + srvx: 1.0.5 + optionalDependencies: + crossws: 0.4.12(srvx@1.0.5) + ocache: 0.3.0 + happy-dom@20.14.5: dependencies: '@types/node': 24.11.0 @@ -11993,6 +12789,10 @@ snapshots: iron-webcrypto@1.2.1: {} + iron-webcrypto@2.0.0: + dependencies: + uint8array-extras: 1.6.0 + is-arguments@1.2.0: dependencies: call-bound: 1.0.4 @@ -12485,6 +13285,8 @@ snapshots: merge2@1.4.1: {} + microdiff@1.6.0: {} + micromark-core-commonmark@2.0.4: dependencies: decode-named-character-reference: 1.3.0 @@ -12761,6 +13563,14 @@ snapshots: muggle-string@0.4.1: {} + my-bad@0.2.10(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): + dependencies: + clickable-path: 0.1.1 + errx: 0.2.2 + fnv1a-64: 0.1.2 + optionalDependencies: + vite: 8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + nano-staged@1.0.2: {} nanoid@3.3.19: {} @@ -12773,6 +13583,24 @@ snapshots: natural-orderby@5.0.0: {} + nf3@0.3.24: {} + + nitro@3.0.260903-beta: + dependencies: + consola: 3.4.2 + crossws: 0.4.12(srvx@1.0.5) + db0: 0.4.1 + env-runner: 0.2.3 + h3: 2.0.1(crossws@0.4.12(srvx@1.0.5))(ocache@0.3.0) + hookable: 6.1.2 + nf3: 0.3.24 + ocache: 0.3.0 + rolldown: 1.2.12 + rou3: 0.9.2 + srvx: 1.0.5 + unenv: 2.0.0-rc.24 + unstorage: 2.0.0-alpha.10 + nitropack@2.13.4(oxc-parser@0.150.0)(rolldown@1.2.12)(srvx@0.11.22)(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 @@ -12961,16 +13789,138 @@ snapshots: dependencies: boolbase: 1.0.0 - nuxt@4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(db0@0.3.4)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1): + nuxt-nightly@5.0.0-2610071710-0296ca4(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)))(@vue/compiler-sfc@3.5.43)(acorn@8.18.0)(autoprefixer@10.6.1(postcss@8.5.28))(confbox@0.3.1)(cssnano@8.0.10(postcss@8.5.28))(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(jiti@2.7.0)(lightningcss@1.33.0)(mlly@1.8.2)(nuxt-nightly@5.0.0-2610071710-0296ca4)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1): + dependencies: + '@dxup/nuxt': 0.5.10(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(esbuild@0.28.2)(giget@3.3.1)(jiti@2.7.0)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + '@jridgewell/trace-mapping': 0.3.31 + '@nuxt/cli': '@nuxt/cli-nightly@4.0.0-2610080622-807ce53(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(jiti@2.7.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))' + '@nuxt/devtools-onboard': 4.0.0-beta.4(@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))) + '@nuxt/kit': '@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))' + '@nuxt/nitro-server': '@nuxt/nitro-server-nightly@5.0.0-2610071710-0296ca4(e3e1607d3d050bec96d3c4daaa7faa56)' + '@nuxt/schema': '@nuxt/schema-nightly@5.0.0-2610071710-0296ca4' + '@nuxt/telemetry': 2.9.1(@nuxt/kit-nightly@5.0.0-2610071710-0296ca4(@nuxt/schema-nightly@5.0.0-2610071710-0296ca4)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))) + '@nuxt/vite-builder': '@nuxt/vite-builder-nightly@5.0.0-2610071710-0296ca4(43a9217c0c0c9621d4137f56929ae006)' + '@nuxt/vite-server': '@nuxt/vite-server-nightly@5.0.0-2610071710-0296ca4(1eb63cd885692bfa6f6b0152953b9c23)' + '@unhead/vue': 3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) + '@vue/shared': 3.5.43 + chokidar: 5.0.0 + clickable-path: 0.1.1 + compatx: 0.2.0 + consola: 3.4.2 + cookie-es: 3.1.1 + defu: 6.1.7 + devalue: 6.0.2 + errx: 0.2.2 + escape-string-regexp: 5.0.0 + exsolve: 1.1.3 + fetchdts: 0.2.0 + fnv1a-64: 0.1.2 + hookable: 6.1.2 + ignore: 7.0.12 + impound: 1.2.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + iron-webcrypto: 2.0.0 + klona: 2.0.6 + knitwork: 1.3.0 + magic-string: 1.4.2 + my-bad: 0.2.10(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + nanotar: 0.3.0 + nostics: 1.3.0 + object-identity: 0.2.3 + ofetch: 2.0.0-alpha.3 + ohash: 2.0.12 + on-change: 6.0.2 + oxc-walker: 1.1.1(@oxc-project/types@0.152.0)(oxc-parser@0.150.0)(rolldown@1.2.12) + pathe: 2.0.3 + perfect-debounce: 2.1.0 + picomatch: 4.0.7 + pkg-types: 2.3.3 + rolldown: 1.2.12 + rolldown-string: 0.3.1(rolldown@1.2.12) + rou3: 0.9.2 + scule: 1.3.0 + std-env: 4.3.0 + tinyglobby: 0.2.17 + ufo: 1.6.4 + ultrahtml: 1.7.0 + uncrypto: 0.1.3 + unctx: 3.0.1(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + undici: 8.11.2 + unhead: 3.4.2(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + unimport: 7.0.2(acorn@8.18.0)(esbuild@0.28.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + unrouting: 0.2.3 + untyped: 2.0.0 + verkit: 0.5.0 + vue: 3.5.43(typescript@6.0.3) + vue-bundle-renderer: 2.4.0 + vue-component-type-helpers: 3.3.12 + vue-router: 5.3.1(@vue/compiler-sfc@3.5.43)(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) + optionalDependencies: + '@types/node': 24.11.0 + jiti: 2.7.0 + transitivePeerDependencies: + - '@babel/plugin-proposal-decorators' + - '@babel/plugin-syntax-jsx' + - '@babel/plugin-syntax-typescript' + - '@biomejs/biome' + - '@farmfe/core' + - '@nuxt/devtools' + - '@nuxt/docs' + - '@oxc-project/types' + - '@pinia/colada' + - '@rollup/plugin-babel' + - '@rsbuild/core' + - '@rspack/core' + - '@unhead/cli' + - '@vitejs/devtools' + - '@vitejs/devtools-kit' + - '@vitejs/plugin-vue-jsx' + - '@vue/compiler-sfc' + - acorn + - autoprefixer + - bun-types-no-globals + - confbox + - cssnano + - dotenv + - esbuild + - eslint + - giget + - less + - lightningcss + - meow + - mlly + - nuxt + - optionator + - oxc-parser + - oxlint + - pinia + - rollup + - rollup-plugin-visualizer + - sass + - sass-embedded + - serve + - stylelint + - stylus + - sugarss + - terser + - tsx + - typescript + - unloader + - vite + - vue-tsc + - webpack + - yaml + + nuxt@4.5.2(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@oxc-project/types@0.152.0)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.43)(confbox@0.3.1)(db0@0.3.4)(dotenv@17.4.2)(esbuild@0.28.2)(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(giget@3.3.1)(ioredis@5.11.1(supports-color@10.2.2))(lightningcss@1.33.0)(magicast@0.5.5)(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.64.0))(rollup@4.64.0)(srvx@0.11.22)(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue-tsc@3.3.6(typescript@6.0.3))(yaml@2.9.1): dependencies: - '@dxup/nuxt': 0.5.10(esbuild@0.28.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + '@dxup/nuxt': 0.5.10(@nuxt/schema@4.5.2)(confbox@0.3.1)(dotenv@17.4.2)(esbuild@0.28.2)(giget@3.3.1)(jiti@2.7.0)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) '@nuxt/cli': 3.37.0(@nuxt/schema@4.5.2)(magicast@0.5.5)(supports-color@10.2.2) - '@nuxt/devtools': 3.4.2(db0@0.3.4)(ioredis@5.11.1(supports-color@10.2.2))(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(supports-color@10.2.2)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) + '@nuxt/devtools': 3.4.2(@nuxt/schema@4.5.2)(confbox@0.3.1)(db0@0.3.4)(dotenv@17.4.2)(giget@3.3.1)(ioredis@5.11.1(supports-color@10.2.2))(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(supports-color@10.2.2)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) - '@nuxt/nitro-server': 4.5.2(402a3943509ed39ade0be67c1749ae8c) + '@nuxt/nitro-server': 4.5.2(d289917bc46acc617ebf5285fcf8dcc5) '@nuxt/schema': 4.5.2 '@nuxt/telemetry': 2.9.1(@nuxt/kit@4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)))) - '@nuxt/vite-builder': 4.5.2(0b2696188ea77f39b4c9fd62aa47c80d) + '@nuxt/vite-builder': 4.5.2(1fc2c28b0a761f48a1c619e2d6466c6a) '@unhead/vue': 3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) '@vue/shared': 3.5.43 chokidar: 5.0.0 @@ -13064,11 +14014,14 @@ snapshots: - bun-types-no-globals - cac - commander + - confbox - db0 + - dotenv - drizzle-orm - encoding - esbuild - eslint + - giget - idb-keyval - ioredis - less @@ -13119,12 +14072,18 @@ snapshots: obug@2.2.1: {} + obug@3.0.0: {} + + ocache@0.3.0: {} + ofetch@1.5.1: dependencies: destr: 2.0.5 node-fetch-native: 1.6.7 ufo: 1.6.4 + ofetch@2.0.0-alpha.3: {} + ohash@2.0.12: {} on-change@6.0.2: {} @@ -13275,6 +14234,8 @@ snapshots: package-manager-detector@1.8.0: {} + package-manager-detector@1.9.0: {} + parse-gitignore@2.0.0: {} parse-imports-exports@0.2.4: @@ -13877,6 +14838,8 @@ snapshots: rou3@0.9.2: {} + rou3@1.0.0: {} + run-applescript@7.1.0: {} run-parallel@1.2.0: @@ -14052,6 +15015,8 @@ snapshots: srvx@0.11.22: {} + srvx@1.0.5: {} + stackback@0.0.2: {} standard-as-callback@2.1.0: {} @@ -14226,6 +15191,8 @@ snapshots: tinyclip@0.1.15: {} + tinyclip@1.0.3: {} + tinyexec@1.3.1: {} tinyglobby@0.2.17: @@ -14312,6 +15279,8 @@ snapshots: ufo@1.6.4: {} + uint8array-extras@1.6.0: {} + ultrahtml@1.7.0: {} unbash@4.0.12: {} @@ -14407,6 +15376,36 @@ snapshots: - vite - webpack + unimport@7.0.2(acorn@8.18.0)(esbuild@0.28.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): + dependencies: + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.2.1 + magic-string: 1.4.2 + mlly: 1.8.2 + pathe: 2.0.3 + picomatch: 4.0.7 + pkg-types: 2.3.3 + scule: 1.3.0 + strip-literal: 4.0.0 + tinyglobby: 0.2.17 + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + unplugin-utils: 0.3.2 + optionalDependencies: + acorn: 8.18.0 + oxc-parser: 0.150.0 + rolldown: 1.2.12 + transitivePeerDependencies: + - '@farmfe/core' + - '@rsbuild/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - rollup + - unloader + - vite + - webpack + unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 @@ -14489,6 +15488,8 @@ snapshots: db0: 0.3.4 ioredis: 5.11.1(supports-color@10.2.2) + unstorage@2.0.0-alpha.10: {} + untun@0.2.2: {} untyped@2.0.0: @@ -14547,6 +15548,8 @@ snapshots: verkit@0.3.2: {} + verkit@0.5.0: {} + version-guard@1.1.3: {} vite-dev-rpc@2.0.0(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): @@ -14596,7 +15599,7 @@ snapshots: typescript: 6.0.3 vue-tsc: 3.3.6(typescript@6.0.3) - vite-plugin-inspect@11.4.1(@nuxt/kit@4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): + vite-plugin-inspect@11.4.1(@nuxt/kit@4.6.0(@nuxt/schema@4.5.2)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))))(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): dependencies: ansis: 4.4.0 error-stack-parser-es: 1.0.5 @@ -14609,7 +15612,7 @@ snapshots: vite: 8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) vite-dev-rpc: 2.0.0(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) optionalDependencies: - '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.5)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) + '@nuxt/kit': 4.6.0(@nuxt/schema@4.5.2)(confbox@0.3.1)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(magic-string@1.4.2)(mlly@1.8.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.64.0)(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))) vite-plugin-vue-tracer@1.5.0(vite@8.3.2(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)): dependencies: @@ -14668,7 +15671,7 @@ snapshots: vitest-environment-nuxt@2.0.0: dependencies: - '@nuxt/test-utils': 4.3.3(a63f4bbc9d0acd299bf36384cc3f3354) + '@nuxt/test-utils': 4.3.3(e0aa9111d984c9ebcdfc37b252e153a4) vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.11.0)(@vitest/coverage-v8@5.0.3)(happy-dom@20.14.5)(vite@8.1.3(@types/node@24.11.0)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 69ebe6a..ea4fbaf 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,7 @@ +minimumReleaseAgeExclude: + - '@nuxt/*' + - nuxt-nightly + shellEmulator: true trustPolicy: no-downgrade @@ -9,6 +13,7 @@ trustPolicyExclude: packages: - test/fixtures/vue - test/fixtures/nuxt + - test/fixtures/nuxt-v5 overrides: zero-vue: 'workspace:*' diff --git a/test/fixtures/nuxt-v5/.env b/test/fixtures/nuxt-v5/.env new file mode 100644 index 0000000..c1e3d33 --- /dev/null +++ b/test/fixtures/nuxt-v5/.env @@ -0,0 +1,5 @@ +NUXT_AUTH_SECRET="secretKey" +NUXT_PUBLIC_ZERO_CACHE_URL="http://localhost:4848" +NUXT_PUBLIC_ZERO_QUERY_URL="http://localhost:3000/api/zero/query" +NUXT_PUBLIC_ZERO_MUTATE_URL="http://localhost:3000/api/zero/mutate" +ZERO_UPSTREAM_DB="postgresql://user:password@127.0.0.1:5430/zstart" diff --git a/test/fixtures/nuxt-v5/.nuxtrc b/test/fixtures/nuxt-v5/.nuxtrc new file mode 100644 index 0000000..640f280 --- /dev/null +++ b/test/fixtures/nuxt-v5/.nuxtrc @@ -0,0 +1 @@ +setups.@nuxt/test-utils="4.0.3" \ No newline at end of file diff --git a/test/fixtures/nuxt-v5/README.md b/test/fixtures/nuxt-v5/README.md new file mode 100644 index 0000000..a2821d6 --- /dev/null +++ b/test/fixtures/nuxt-v5/README.md @@ -0,0 +1,38 @@ +This is a quick port of https://github.com/rocicorp/hello-zero to use Vue and Nuxt 5. For the Nuxt 4 example, see [`../nuxt`](../nuxt). + +## Run this repo + +First, install dependencies: + +```sh +corepack enable +pnpm i +``` + +Next, run docker: + +```sh +pnpm dev:db-up +``` + +**In a second terminal**, run the zero cache server: + +```sh +pnpm dev:zero-cache +``` + +**In a third terminal**, run the Vite dev server: + +```sh +pnpm dev:ui +``` + +## ❤️ Credits + +This was based on https://github.com/rocicorp/hello-zero. + +## 🏛️ License + +Made with ❤️ + +Published under [MIT License](../LICENCE). diff --git a/test/fixtures/nuxt-v5/app/app.vue b/test/fixtures/nuxt-v5/app/app.vue new file mode 100644 index 0000000..5cf16b8 --- /dev/null +++ b/test/fixtures/nuxt-v5/app/app.vue @@ -0,0 +1,256 @@ + + + + + diff --git a/test/fixtures/nuxt-v5/app/assets/index.css b/test/fixtures/nuxt-v5/app/assets/index.css new file mode 100644 index 0000000..7c96492 --- /dev/null +++ b/test/fixtures/nuxt-v5/app/assets/index.css @@ -0,0 +1,87 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + font-size: 0.9em; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: black; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + margin: 0; + display: flex; + place-items: center; + flex-direction: column; + min-width: 320px; + min-height: 100vh; +} + +#root { + margin: 0 auto; + padding: 2rem; + text-align: center; + width: 90%; + min-width: 600px; + max-width: 1280px; +} + +a { + font-weight: 500; +} + +a:hover { + color: #535bf2; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-weight: 500; + font-family: inherit; + background-color: #3a3a3a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +td { + white-space: nowrap; + overflow: none; + text-overflow: ellipsis; +} + +td:last-child { + cursor: pointer; +} + +.controls { + display: flex; + gap: 1rem; + align-items: center; + margin-bottom: 1rem; + white-space: nowrap; +} + +.controls > div { + flex: 1; + display: flex; + flex-direction: row; + justify-content: start; + gap: 1rem; + align-items: center; + margin-bottom: 1rem; +} diff --git a/test/fixtures/nuxt-v5/app/zero.config.ts b/test/fixtures/nuxt-v5/app/zero.config.ts new file mode 100644 index 0000000..b54da86 --- /dev/null +++ b/test/fixtures/nuxt-v5/app/zero.config.ts @@ -0,0 +1,24 @@ +import { decodeJwt } from 'jose' +import { defineZeroOptions } from 'zero-vue' +import { mutators, schema } from '#fx/db/schema' + +import { useCookie, useRuntimeConfig } from '#imports' + +export default defineZeroOptions(() => { + const jwt = useCookie('jwt') + const decoded = jwt.value ? decodeJwt(jwt.value) : undefined + const userID = typeof decoded?.sub === 'string' ? decoded.sub : undefined + const config = useRuntimeConfig() + + return { + userID, + auth: jwt.value || undefined, + context: { userID }, + cacheURL: config.public.zero.cacheURL || undefined, + queryURL: config.public.zero.queryURL, + mutateURL: config.public.zero.mutateURL, + schema, + mutators, + kvStore: 'mem' as const, + } +}) diff --git a/test/fixtures/nuxt-v5/nuxt.config.ts b/test/fixtures/nuxt-v5/nuxt.config.ts new file mode 100644 index 0000000..9f80d78 --- /dev/null +++ b/test/fixtures/nuxt-v5/nuxt.config.ts @@ -0,0 +1,28 @@ +import { fileURLToPath } from 'node:url' + +export default defineNuxtConfig({ + modules: ['zero-vue'], + devtools: { enabled: true }, + alias: { + '#fx': fileURLToPath(new URL('../_shared', import.meta.url)), + }, + app: { + head: { + title: 'zero-vue x Nuxt 5', + htmlAttrs: { lang: 'en' }, + }, + }, + css: ['~/assets/index.css'], + runtimeConfig: { + authSecret: '', + }, + compatibilityDate: '2025-05-25', + vite: { + optimizeDeps: { + include: [ + 'jose', + 'zod', + ], + }, + }, +}) diff --git a/test/fixtures/nuxt-v5/package.json b/test/fixtures/nuxt-v5/package.json new file mode 100644 index 0000000..381c7a9 --- /dev/null +++ b/test/fixtures/nuxt-v5/package.json @@ -0,0 +1,36 @@ +{ + "name": "zero-vue-fixture-nuxt-v5", + "type": "module", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "nuxt build", + "dev:ui": "nuxt dev", + "dev:zero-cache": "cd ../_shared && zero-cache-dev -p db/schema.ts", + "dev:db-up": "cd ../_shared && docker compose --env-file .env -f docker/docker-compose.yml up", + "dev:db-down": "cd ../_shared && docker compose --env-file .env -f docker/docker-compose.yml down", + "dev:clean": "cd ../_shared && source .env && docker volume rm -f zero-vue_zstart_pgdata && rm -rf \"${ZERO_REPLICA_FILE}\"*", + "generate": "nuxt generate", + "preview": "nuxt preview", + "test:e2e": "nuxt prepare && vitest run", + "test:types": "nuxt prepare && vue-tsc -b --noEmit" + }, + "dependencies": { + "@rocicorp/zero": "^1.9.0", + "jose": "^6.2.3", + "nuxt": "npm:nuxt-nightly@5x", + "postgres": "3.4.7", + "vue": "^3.5.34", + "zero-vue": "link:", + "zod": "4.4.3" + }, + "devDependencies": { + "@nuxt/test-utils": "^4.3.3", + "@types/node": "24.11.0", + "happy-dom": "^20.10.6", + "playwright-core": "1.62.1", + "typescript": "6.0.3", + "vitest": "^4.1.7", + "vue-tsc": "3.3.6" + } +} diff --git a/test/fixtures/nuxt-v5/server/api/login.get.ts b/test/fixtures/nuxt-v5/server/api/login.get.ts new file mode 100644 index 0000000..93281b6 --- /dev/null +++ b/test/fixtures/nuxt-v5/server/api/login.get.ts @@ -0,0 +1,11 @@ +import { defineEventHandler, setCookie } from 'nuxt/server' +import { createJWT } from '../utils/auth' + +export default defineEventHandler(async (event) => { + const jwt = await createJWT() + setCookie(event, 'jwt', jwt, { + expires: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000), + }) + + return 'ok' +}) diff --git a/test/fixtures/nuxt-v5/server/api/zero/mutate.post.ts b/test/fixtures/nuxt-v5/server/api/zero/mutate.post.ts new file mode 100644 index 0000000..d1502c3 --- /dev/null +++ b/test/fixtures/nuxt-v5/server/api/zero/mutate.post.ts @@ -0,0 +1,39 @@ +import process from 'node:process' +import { mustGetMutator } from '@rocicorp/zero' +import { handleMutateRequest } from '@rocicorp/zero/server' +import { zeroPostgresJS } from '@rocicorp/zero/server/adapters/postgresjs' +import { defineEventHandler } from 'nuxt/server' +import postgres from 'postgres' + +import { mutators, schema } from '#fx/db/schema' +import { getUserID } from '../../utils/auth' + +function createDBProvider() { + const upstreamDB = process.env.ZERO_UPSTREAM_DB + if (!upstreamDB) { + throw new Error('ZERO_UPSTREAM_DB is not configured') + } + return zeroPostgresJS(schema, postgres(upstreamDB)) +} + +let dbProvider: ReturnType | undefined + +function getDBProvider() { + dbProvider ??= createDBProvider() + return dbProvider +} + +export default defineEventHandler(async (event) => { + const userID = await getUserID(event) + const ctx = { userID } + + return handleMutateRequest({ + dbProvider: getDBProvider(), + handler: transact => transact((tx, name, args) => { + const mutator = mustGetMutator(mutators, name) + return mutator.fn({ tx, args, ctx }) + }), + request: event.req, + userID, + }) +}) diff --git a/test/fixtures/nuxt-v5/server/api/zero/query.post.ts b/test/fixtures/nuxt-v5/server/api/zero/query.post.ts new file mode 100644 index 0000000..7ed92cb --- /dev/null +++ b/test/fixtures/nuxt-v5/server/api/zero/query.post.ts @@ -0,0 +1,21 @@ +import { mustGetQuery } from '@rocicorp/zero' +import { handleQueryRequest } from '@rocicorp/zero/server' +import { defineEventHandler } from 'nuxt/server' + +import { queries, schema } from '#fx/db/schema' +import { getUserID } from '../../utils/auth' + +export default defineEventHandler(async (event) => { + const userID = await getUserID(event) + const ctx = { userID } + + return handleQueryRequest({ + handler: (name, args) => { + const query = mustGetQuery(queries, name) + return query.fn({ args, ctx }) + }, + schema, + request: event.req, + userID, + }) +}) diff --git a/test/fixtures/nuxt-v5/server/utils/auth.ts b/test/fixtures/nuxt-v5/server/utils/auth.ts new file mode 100644 index 0000000..225fa82 --- /dev/null +++ b/test/fixtures/nuxt-v5/server/utils/auth.ts @@ -0,0 +1,43 @@ +import type { RequestEvent } from 'nuxt/server' +import { randomInt } from 'node:crypto' +import { jwtVerify, SignJWT } from 'jose' +import { createError, getCookie, getRequestHeader, useRuntimeConfig } from 'nuxt/server' + +import { seededUserIDs } from '#fx/db/data/seeded-users' + +function getAuthSecret() { + const config = useRuntimeConfig() + if (typeof config.authSecret !== 'string' || !config.authSecret) { + throw createError({ status: 500, statusText: 'NUXT_AUTH_SECRET is not configured' }) + } + + return new TextEncoder().encode(config.authSecret) +} + +export async function createJWT() { + return await new SignJWT({ + sub: seededUserIDs[randomInt(seededUserIDs.length)]!, + iat: Math.floor(Date.now() / 1000), + }) + .setProtectedHeader({ alg: 'HS256' }) + .setExpirationTime('30days') + .sign(getAuthSecret()) +} + +export async function getUserID(event: RequestEvent) { + const authHeader = getRequestHeader(event, 'authorization') + const jwt = authHeader?.startsWith('Bearer ') + ? authHeader.slice('Bearer '.length) + : getCookie(event, 'jwt') + if (!jwt) { + return undefined + } + + try { + const { payload } = await jwtVerify(jwt, getAuthSecret()) + return typeof payload.sub === 'string' ? payload.sub : undefined + } + catch { + return undefined + } +} diff --git a/test/fixtures/nuxt-v5/test/e2e.test.ts b/test/fixtures/nuxt-v5/test/e2e.test.ts new file mode 100644 index 0000000..bff1fc2 --- /dev/null +++ b/test/fixtures/nuxt-v5/test/e2e.test.ts @@ -0,0 +1,50 @@ +import { fileURLToPath } from 'node:url' +import { $fetch, fetch, setup } from '@nuxt/test-utils/e2e' +import { jwtVerify } from 'jose' +import { describe, expect, it } from 'vitest' +import { seededUserIDs } from '../../_shared/db/data/seeded-users' + +const authSecret = 'test-secret-for-e2e' + +await setup({ + rootDir: fileURLToPath(new URL('..', import.meta.url)), + env: { + NUXT_AUTH_SECRET: authSecret, + }, +}) + +describe('nuxt 5 fixture', () => { + it('renders the SSR page without a jwt cookie', async () => { + const html = await $fetch('/') + expect(html).toContain('zero-vue x Nuxt 5') + expect(html).toContain('Add Messages') + expect(html).toContain('Remove Messages') + expect(html).toContain('Login') + }) + + it('issues a signed jwt cookie from /api/login', async () => { + const response = await fetch('/api/login') + expect(response.status).toBe(200) + + const setCookie = response.headers.getSetCookie?.() ?? [response.headers.get('set-cookie') ?? ''] + const jwtCookie = setCookie.find(c => c.startsWith('jwt=')) + expect(jwtCookie).toBeDefined() + + const jwt = jwtCookie!.split(';')[0]!.slice('jwt='.length) + const { payload } = await jwtVerify(jwt, new TextEncoder().encode(authSecret)) + expect(typeof payload.sub).toBe('string') + expect(seededUserIDs).toContain(payload.sub) + }) + + it('renders without crashing when a jwt cookie is present on SSR', async () => { + const loginResponse = await fetch('/api/login') + const setCookie = loginResponse.headers.getSetCookie?.() ?? [loginResponse.headers.get('set-cookie') ?? ''] + const jwtCookie = setCookie.find(c => c.startsWith('jwt='))!.split(';')[0]! + + const response = await fetch('/', { headers: { cookie: jwtCookie } }) + expect(response.status).toBe(200) + const html = await response.text() + expect(html).toContain('zero-vue x Nuxt 5') + expect(html).toContain('Add Messages') + }) +}) diff --git a/test/fixtures/nuxt-v5/test/live-cache.test.ts b/test/fixtures/nuxt-v5/test/live-cache.test.ts new file mode 100644 index 0000000..be5ac53 --- /dev/null +++ b/test/fixtures/nuxt-v5/test/live-cache.test.ts @@ -0,0 +1,66 @@ +import process from 'node:process' +import { fileURLToPath } from 'node:url' +import { $fetch, createPage, setup } from '@nuxt/test-utils/e2e' +import { describe, expect, it } from 'vitest' +import { expectAddMessageGrowsTable, expectSeededUsersToSync, loginViaUI, pipePageLogs } from '../../../e2e/helpers' + +const LIVE = process.env.ZERO_VUE_E2E_LIVE_CACHE === '1' + +// zero-cache forwards query/mutate requests to this origin, so the port has +// to match APP_PORT in the e2e global setup. +const APP_PORT = 3000 + +if (LIVE) { + await setup({ + rootDir: fileURLToPath(new URL('..', import.meta.url)), + port: APP_PORT, + nuxtConfig: { + zero: { ssr: true }, + }, + env: { + NUXT_AUTH_SECRET: 'test-secret-for-e2e', + NUXT_PUBLIC_ZERO_CACHE_URL: process.env.NUXT_PUBLIC_ZERO_CACHE_URL ?? 'http://localhost:4849', + NUXT_PUBLIC_ZERO_QUERY_URL: `http://localhost:${APP_PORT}/api/zero/query`, + NUXT_PUBLIC_ZERO_MUTATE_URL: `http://localhost:${APP_PORT}/api/zero/mutate`, + ZERO_UPSTREAM_DB: process.env.ZERO_UPSTREAM_DB ?? 'postgresql://user:password@127.0.0.1:5430/zstart', + }, + browser: true, + }) +} + +describe.skipIf(!LIVE)('nuxt 5 fixture against a live zero-cache', () => { + it('hydrates and syncs seeded users from zero-cache', async () => { + const page = await createPage('/') + try { + await expectSeededUsersToSync(page) + } + finally { + await page.close() + } + }) + + it('reactively appends a row when the user adds a message', async () => { + const page = await createPage('/') + pipePageLogs(page) + try { + await expectSeededUsersToSync(page) + await loginViaUI(page) + await expectAddMessageGrowsTable(page) + } + finally { + await page.close() + } + }) + + it('includes seeded users in the SSR HTML (issue #21)', async () => { + const html = await $fetch('/') + expect(html).toContain('zero-vue x Nuxt 5') + expect(html).toContain('Aaron') + expect(html).toContain('Erik') + }) + + it('does not leak the zero-cache websocket url into the SSR markup', async () => { + const html = await $fetch('/') + expect(html).not.toMatch(/ws:\/\/[^\s"']+/) + }) +}) diff --git a/test/fixtures/nuxt-v5/tsconfig.json b/test/fixtures/nuxt-v5/tsconfig.json new file mode 100644 index 0000000..aa0f819 --- /dev/null +++ b/test/fixtures/nuxt-v5/tsconfig.json @@ -0,0 +1,17 @@ +{ + "references": [ + { + "path": "./.nuxt/tsconfig.app.json" + }, + { + "path": "./.nuxt/tsconfig.server.json" + }, + { + "path": "./.nuxt/tsconfig.shared.json" + }, + { + "path": "./.nuxt/tsconfig.node.json" + } + ], + "files": [] +} diff --git a/test/fixtures/nuxt-v5/vitest.config.ts b/test/fixtures/nuxt-v5/vitest.config.ts new file mode 100644 index 0000000..09996a1 --- /dev/null +++ b/test/fixtures/nuxt-v5/vitest.config.ts @@ -0,0 +1,11 @@ +import { fileURLToPath } from 'node:url' +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + include: ['test/**/*.test.ts'], + globalSetup: [fileURLToPath(new URL('../../e2e/global-setup.ts', import.meta.url))], + testTimeout: 60_000, + hookTimeout: 180_000, + }, +}) diff --git a/test/fixtures/nuxt/package.json b/test/fixtures/nuxt/package.json index c02acd9..951e9d4 100644 --- a/test/fixtures/nuxt/package.json +++ b/test/fixtures/nuxt/package.json @@ -17,6 +17,7 @@ }, "dependencies": { "@rocicorp/zero": "^1.9.0", + "h3": "^1.15.11", "jose": "^6.2.3", "nuxt": "^4.4.8", "postgres": "3.4.7", @@ -25,7 +26,7 @@ "zod": "4.4.3" }, "devDependencies": { - "@nuxt/test-utils": "^4.0.3", + "@nuxt/test-utils": "^4.3.3", "@types/node": "24.11.0", "happy-dom": "^20.10.6", "playwright-core": "1.62.1",