From 1cd1eeec8adfb22abf0fc21bb06309f16bafd329 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Sun, 16 Aug 2026 10:43:40 +0200 Subject: [PATCH 1/3] fix(module): include prose icons in the client bundle --- docs/package.json | 2 + pnpm-lock.yaml | 599 +++-------------------------------- src/module.ts | 17 +- src/theme/prose/code-icon.ts | 103 +++--- src/utils/icons.ts | 24 +- test/utils/icons.spec.ts | 17 +- 6 files changed, 151 insertions(+), 611 deletions(-) diff --git a/docs/package.json b/docs/package.json index 390ab98c3e..d3c941f7bf 100644 --- a/docs/package.json +++ b/docs/package.json @@ -15,7 +15,9 @@ "@comark/vue": "^0.6.2", "@iconify-json/logos": "^1.2.12", "@iconify-json/lucide": "^1.2.122", + "@iconify-json/ph": "^1.2.2", "@iconify-json/simple-icons": "^1.2.93", + "@iconify-json/tabler": "^1.2.38", "@iconify-json/vscode-icons": "^1.2.70", "@nuxt/content": "^3.15.2", "@nuxt/image": "^2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe505f95ec..95b186b53d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -339,9 +339,15 @@ importers: '@iconify-json/lucide': specifier: ^1.2.122 version: 1.2.122 + '@iconify-json/ph': + specifier: ^1.2.2 + version: 1.2.2 '@iconify-json/simple-icons': specifier: ^1.2.93 version: 1.2.93 + '@iconify-json/tabler': + specifier: ^1.2.38 + version: 1.2.38 '@iconify-json/vscode-icons': specifier: ^1.2.70 version: 1.2.70 @@ -350,7 +356,7 @@ importers: version: 3.15.2(@oxc-project/types@0.143.0)(@valibot/to-json-schema@1.7.1(valibot@1.4.2(typescript@6.0.3)))(better-sqlite3@12.11.1)(esbuild@0.28.0)(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(supports-color@10.2.2)(valibot@1.4.2(typescript@6.0.3))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) '@nuxt/image': specifier: 2.0.0 - version: 2.0.0(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) + version: 2.0.0(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.11.22)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) '@nuxt/ui': specifier: workspace:* version: link:.. @@ -380,16 +386,16 @@ importers: version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2)) '@vercel/analytics': specifier: ^2.0.1 - version: 2.0.1(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) + version: 2.0.1(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) '@vercel/speed-insights': specifier: ^2.0.0 - version: 2.0.0(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) + version: 2.0.0(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) '@vueuse/integrations': specifier: ^14.4.0 version: 14.4.0(axios@1.19.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(fuse.js@7.5.0)(sortablejs@1.15.7)(vue@3.5.41(typescript@6.0.3)) '@vueuse/nuxt': specifier: ^14.4.0 - version: 14.4.0(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3)) + version: 14.4.0(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3)) ai: specifier: ^7.0.58 version: 7.0.58(zod@4.4.3) @@ -416,7 +422,7 @@ importers: version: 2.3.0(@vueuse/core@14.4.0(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) nuxt: specifier: ^4.5.2 - version: 4.5.2(05d450383fefe97f3fd51e6c98c21018) + version: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) nuxt-component-meta: specifier: ^0.18.0 version: 0.18.0(@oxc-project/types@0.143.0)(esbuild@0.28.0)(magicast@0.5.4)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) @@ -425,10 +431,10 @@ importers: version: 0.2.0(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) nuxt-og-image: specifier: ^6.7.6 - version: 6.7.6(1ee7e4f7b996b5e443a5e11867ddbc01) + version: 6.7.6(90d955fe08ef5e1d5256bb93709e223b) nuxt-schema-org: specifier: ^6.2.8 - version: 6.2.8(776097374c5cfd59bcb342061ace1243) + version: 6.2.8(0c510f9f7cec57f81611a2f33afe5f13) prettier: specifier: ^3.9.6 version: 3.9.6 @@ -1518,9 +1524,15 @@ packages: '@iconify-json/lucide@1.2.122': resolution: {integrity: sha512-Dpt+ZbYTyKZqyRkEHmxEcsSsRW9yRTmkaweT2A1hfH7zKHZZ7FKmcn5evTh93ZlkYq2Vpb1YZUBsjc9AxZlcUg==} + '@iconify-json/ph@1.2.2': + resolution: {integrity: sha512-PgkEZNtqa8hBGjHXQa4pMwZa93hmfu8FUSjs/nv4oUU6yLsgv+gh9nu28Kqi8Fz9CCVu4hj1MZs9/60J57IzFw==} + '@iconify-json/simple-icons@1.2.93': resolution: {integrity: sha512-/XhANjfGYOuqvSR3TmUnkQkINvQ4GVjVuukvymRbxtVFBvIq/yiXJqCDycKcQPT401OYT9H2vIY6ihAlz1QIAw==} + '@iconify-json/tabler@1.2.38': + resolution: {integrity: sha512-9v6ooRU/bKOK/Whv4w2aiK5gBnfCV9Ei+uD1iDDeLu2b+EnF3G3ZKkRKWEOOLG8bJyfKn6XEia6gUQ9oO7cF+Q==} + '@iconify-json/vscode-icons@1.2.70': resolution: {integrity: sha512-J5EnIWj9cCPvn0obl88giucgFtNalgBkhML3oHse5MBEU7H7fyezKHhVsfXOuxs7osSfTAoOcXtmbmWUD6rXqw==} @@ -8129,11 +8141,6 @@ packages: engines: {node: '>=20.16.0'} hasBin: true - srvx@0.12.5: - resolution: {integrity: sha512-IuvtDNQg5EIwv3c6dleyau7u8hCyGQ7D6+V/QM799Aud07z0wCUcurKLTRfyG33C8oUY+UWcVBFkfHMcbtmRLA==} - engines: {node: '>=20.16.0'} - hasBin: true - stable-hash-x@0.2.0: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} @@ -10025,10 +10032,18 @@ snapshots: dependencies: '@iconify/types': 2.0.0 + '@iconify-json/ph@1.2.2': + dependencies: + '@iconify/types': 2.0.0 + '@iconify-json/simple-icons@1.2.93': dependencies: '@iconify/types': 2.0.0 + '@iconify-json/tabler@1.2.38': + dependencies: + '@iconify/types': 2.0.0 + '@iconify-json/vscode-icons@1.2.70': dependencies: '@iconify/types': 2.0.0 @@ -10752,7 +10767,7 @@ snapshots: - vite - vue - '@nuxt/image@2.0.0(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))': + '@nuxt/image@2.0.0(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.11.22)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))': dependencies: '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) consola: 3.4.2 @@ -10765,7 +10780,7 @@ snapshots: std-env: 3.10.0 ufo: 1.6.4 optionalDependencies: - ipx: 3.1.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(srvx@0.12.5) + ipx: 3.1.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(srvx@0.11.22) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -10971,91 +10986,6 @@ snapshots: - webpack - xml2js - '@nuxt/nitro-server@4.5.2(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(better-sqlite3@12.11.1)(db0@0.3.4(better-sqlite3@12.11.1))(esbuild@0.28.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.33.0)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(srvx@0.12.5)(supports-color@10.2.2)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))': - dependencies: - '@nuxt/devalue': 2.0.2 - '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) - '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) - '@vue/shared': 3.5.41 - consola: 3.4.2 - defu: 6.1.7 - destr: 2.0.5 - devalue: 5.9.0 - errx: 0.1.2 - escape-string-regexp: 5.0.0 - exsolve: 1.1.1 - h3: 1.15.11 - impound: 1.1.6(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - klona: 2.0.6 - mocked-exports: 0.1.1 - nitropack: 2.13.4(better-sqlite3@12.11.1)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - nostics: 1.2.0 - nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) - nypm: 0.6.9 - ohash: 2.0.11 - pathe: 2.0.3 - rou3: 0.9.1 - std-env: 4.2.0 - ufo: 1.6.4 - unctx: 3.0.0(magic-string@1.1.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) - unstorage: 1.17.5(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2)) - vue: 3.5.41(typescript@6.0.3) - vue-bundle-renderer: 2.3.1 - vue-devtools-stub: 0.1.0 - optionalDependencies: - '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.0(supports-color@10.2.2)) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@electric-sql/pglite' - - '@farmfe/core' - - '@libsql/client' - - '@netlify/blobs' - - '@oxc-project/types' - - '@planetscale/database' - - '@rspack/core' - - '@unhead/cli' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - '@vitejs/devtools-kit' - - aws4fetch - - bare-abort-controller - - bare-buffer - - better-sqlite3 - - bun-types-no-globals - - db0 - - drizzle-orm - - encoding - - esbuild - - idb-keyval - - ioredis - - lightningcss - - magic-string - - magicast - - mysql2 - - oxc-parser - - react-native-b4a - - rolldown - - rollup - - sqlite3 - - srvx - - supports-color - - typescript - - unloader - - unplugin - - uploadthing - - vite - - webpack - - xml2js - '@nuxt/schema@4.5.2': dependencies: '@vue/shared': 3.5.41 @@ -11122,69 +11052,6 @@ snapshots: - vite - webpack - '@nuxt/vite-builder@4.5.2(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@types/node@25.9.0)(esbuild@0.28.0)(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(meow@13.2.0)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(optionator@0.9.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.3)(rollup@4.60.4))(supports-color@10.2.2)(terser@5.47.1)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue-tsc@3.3.9(typescript@6.0.3))(vue@3.5.41(typescript@6.0.3))(yaml@2.9.0)': - dependencies: - '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) - '@vitejs/plugin-vue': 6.0.8(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) - '@vitejs/plugin-vue-jsx': 5.1.6(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) - autoprefixer: 10.5.4(postcss@8.5.26) - consola: 3.4.2 - cssnano: 8.0.2(postcss@8.5.26) - defu: 6.1.7 - escape-string-regexp: 5.0.0 - exsolve: 1.1.1 - generic-names: 4.0.0 - get-port-please: 3.2.0 - jiti: 2.7.0 - js-tokens: 10.0.0 - knitwork: 1.3.0 - mlly: 1.8.2 - mocked-exports: 0.1.1 - nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) - nypm: 0.6.9 - pathe: 2.0.3 - pkg-types: 2.3.1 - postcss: 8.5.26 - rolldown-string: 0.3.1(rolldown@1.2.3) - seroval: 1.6.2 - std-env: 4.2.0 - ufo: 1.6.4 - unenv: 2.0.0-rc.24 - vite: 8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) - vite-node: 6.0.0(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) - vite-plugin-checker: 0.14.5(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(meow@13.2.0)(optionator@0.9.4)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.3.9(typescript@6.0.3)) - vue: 3.5.41(typescript@6.0.3) - vue-bundle-renderer: 2.3.1 - optionalDependencies: - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0(supports-color@10.2.2)) - rolldown: 1.2.3 - rollup-plugin-visualizer: 7.0.1(rolldown@1.2.3)(rollup@4.60.4) - transitivePeerDependencies: - - '@biomejs/biome' - - '@types/node' - - '@vitejs/devtools' - - esbuild - - eslint - - less - - magic-string - - magicast - - meow - - optionator - - oxc-parser - - oxlint - - sass - - sass-embedded - - stylelint - - stylus - - sugarss - - supports-color - - terser - - tsx - - typescript - - unplugin - - vue-tsc - - yaml - '@nuxt/vite-builder@4.5.2(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@types/node@25.9.0)(esbuild@0.28.0)(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(meow@13.2.0)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(optionator@0.9.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.3)(rollup@4.60.4))(supports-color@10.2.2)(terser@5.47.1)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue-tsc@3.3.9(typescript@6.0.3))(vue@3.5.41(typescript@6.0.3))(yaml@2.9.0)': dependencies: '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) @@ -12558,27 +12425,6 @@ snapshots: - rollup - unloader - '@unhead/bundler@3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(unhead@3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))': - dependencies: - magic-string: 1.1.0 - oxc-walker: 1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.142.0)(rolldown@1.2.3) - unhead: 3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - unplugin: 3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - optionalDependencies: - '@vitejs/devtools-kit': 0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - esbuild: 0.28.0 - lightningcss: 1.33.0 - oxc-parser: 0.142.0 - rolldown: 1.2.3 - vite: 8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) - transitivePeerDependencies: - - '@farmfe/core' - - '@oxc-project/types' - - '@rspack/core' - - bun-types-no-globals - - rollup - - unloader - '@unhead/vue@3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))': dependencies: '@unhead/bundler': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(unhead@3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) @@ -12602,29 +12448,6 @@ snapshots: - rollup - unloader - '@unhead/vue@3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))': - dependencies: - '@unhead/bundler': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(unhead@3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - hookable: 6.1.1 - unhead: 3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - unplugin: 3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - vue: 3.5.41(typescript@6.0.3) - optionalDependencies: - vite: 8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) - transitivePeerDependencies: - - '@farmfe/core' - - '@oxc-project/types' - - '@rspack/core' - - '@unhead/cli' - - '@vitejs/devtools-kit' - - bun-types-no-globals - - esbuild - - lightningcss - - oxc-parser - - rolldown - - rollup - - unloader - '@unocss/config@66.7.5': dependencies: '@unocss/core': 66.7.5 @@ -12711,9 +12534,9 @@ snapshots: valibot: 1.4.2(typescript@6.0.3) optional: true - '@vercel/analytics@2.0.1(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3))': + '@vercel/analytics@2.0.1(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3))': optionalDependencies: - nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) + nuxt: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) vue: 3.5.41(typescript@6.0.3) vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) @@ -12738,9 +12561,9 @@ snapshots: '@vercel/oidc@3.2.0': {} - '@vercel/speed-insights@2.0.0(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3))': + '@vercel/speed-insights@2.0.0(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3))': optionalDependencies: - nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) + nuxt: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) vue: 3.5.41(typescript@6.0.3) vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) @@ -12761,23 +12584,6 @@ snapshots: - typescript optional: true - '@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))': - dependencies: - '@devframes/hub': 0.7.14(devframe@0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)) - '@devframes/json-render': 0.7.14(@devframes/hub@0.7.14(devframe@0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)) - devframe: 0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3) - local-pkg: 1.2.1 - mlly: 1.8.2 - nostics: 1.2.0 - nypm: 0.6.9 - vite: 8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) - transitivePeerDependencies: - - '@modelcontextprotocol/sdk' - - cac - - srvx - - typescript - optional: true - '@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))': dependencies: '@babel/core': 7.29.0(supports-color@10.2.2) @@ -13034,13 +12840,13 @@ snapshots: '@vueuse/metadata@14.4.0': {} - '@vueuse/nuxt@14.4.0(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3))': + '@vueuse/nuxt@14.4.0(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3))': dependencies: '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) '@vueuse/core': 14.4.0(vue@3.5.41(typescript@6.0.3)) '@vueuse/metadata': 14.4.0 local-pkg: 1.2.1 - nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) + nuxt: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) vue: 3.5.41(typescript@6.0.3) transitivePeerDependencies: - magic-string @@ -13690,10 +13496,6 @@ snapshots: optionalDependencies: srvx: 0.11.22 - crossws@0.4.10(srvx@0.12.5): - optionalDependencies: - srvx: 0.12.5 - css-declaration-sorter@7.4.0(postcss@8.5.26): dependencies: postcss: 8.5.26 @@ -13913,26 +13715,6 @@ snapshots: - typescript optional: true - devframe@0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3): - dependencies: - '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(typescript@6.0.3)) - birpc: 4.0.0 - crossws: 0.4.10(srvx@0.12.5) - destr: 2.0.5 - h3: 1.15.11 - mrmime: 2.0.1 - nostics: 1.2.0 - pathe: 2.0.3 - ufo: 1.6.4 - valibot: 1.4.2(typescript@6.0.3) - optionalDependencies: - '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - cac: 6.7.14 - transitivePeerDependencies: - - srvx - - typescript - optional: true - devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -15181,7 +14963,7 @@ snapshots: ipaddr.js@1.9.1: {} - ipx@3.1.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(srvx@0.12.5): + ipx@3.1.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(srvx@0.11.22): dependencies: '@fastify/accept-negotiator': 2.1.0 citty: 0.1.6 @@ -15191,7 +14973,7 @@ snapshots: etag: 1.8.1 h3: 1.15.11 image-meta: 0.2.2 - listhen: 1.10.0(srvx@0.12.5) + listhen: 1.10.0(srvx@0.11.22) ofetch: 1.5.1 pathe: 2.0.3 sharp: 0.34.5 @@ -15596,29 +15378,6 @@ snapshots: transitivePeerDependencies: - srvx - listhen@1.10.0(srvx@0.12.5): - dependencies: - '@parcel/watcher': 2.5.6 - '@parcel/watcher-wasm': 2.5.6 - citty: 0.2.2 - consola: 3.4.2 - crossws: 0.4.10(srvx@0.12.5) - defu: 6.1.7 - get-port-please: 3.2.0 - h3: 1.15.11 - http-shutdown: 1.2.2 - jiti: 2.7.0 - mlly: 1.8.2 - node-forge: 1.4.0 - pathe: 2.0.3 - std-env: 4.2.0 - tinyclip: 0.1.15 - ufo: 1.6.4 - untun: 0.1.3 - uqr: 0.1.3 - transitivePeerDependencies: - - srvx - loader-utils@3.3.1: {} local-pkg@1.2.1: @@ -16348,117 +16107,6 @@ snapshots: - vite - webpack - nitropack@2.13.4(better-sqlite3@12.11.1)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)): - dependencies: - '@cloudflare/kv-asset-handler': 0.4.2 - '@rollup/plugin-alias': 6.0.0(rollup@4.60.4) - '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.4) - '@rollup/plugin-inject': 5.0.5(rollup@4.60.4) - '@rollup/plugin-json': 6.1.0(rollup@4.60.4) - '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.4) - '@rollup/plugin-replace': 6.0.3(rollup@4.60.4) - '@rollup/plugin-terser': 1.0.0(rollup@4.60.4) - '@vercel/nft': 1.5.0(rollup@4.60.4)(supports-color@10.2.2) - archiver: 7.0.1 - c12: 3.3.4(magicast@0.5.4) - chokidar: 5.0.0 - citty: 0.2.2 - compatx: 0.2.0 - confbox: 0.2.4 - consola: 3.4.2 - cookie-es: 2.0.1 - croner: 10.0.1 - crossws: 0.3.5 - db0: 0.3.4(better-sqlite3@12.11.1) - defu: 6.1.7 - destr: 2.0.5 - dot-prop: 10.1.0 - esbuild: 0.28.0 - escape-string-regexp: 5.0.0 - etag: 1.8.1 - exsolve: 1.1.1 - globby: 16.2.0 - gzip-size: 7.0.0 - h3: 1.15.11 - hookable: 5.5.3 - httpxy: 0.5.1 - ioredis: 5.10.1(supports-color@10.2.2) - jiti: 2.7.0 - klona: 2.0.6 - knitwork: 1.3.0 - listhen: 1.10.0(srvx@0.12.5) - magic-string: 0.30.21 - magicast: 0.5.4 - mime: 4.1.0 - mlly: 1.8.2 - node-fetch-native: 1.6.7 - node-mock-http: 1.0.4 - ofetch: 1.5.1 - ohash: 2.0.11 - pathe: 2.0.3 - perfect-debounce: 2.1.0 - pkg-types: 2.3.1 - pretty-bytes: 7.1.0 - radix3: 1.1.2 - rollup: 4.60.4 - rollup-plugin-visualizer: 7.0.1(rolldown@1.2.3)(rollup@4.60.4) - scule: 1.3.0 - semver: 7.8.5 - serve-placeholder: 2.0.2 - serve-static: 2.2.1(supports-color@10.2.2) - source-map: 0.7.6 - std-env: 4.2.0 - ufo: 1.6.4 - ultrahtml: 1.7.0 - uncrypto: 0.1.3 - unctx: 2.5.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - unenv: 2.0.0-rc.24 - unimport: 6.4.0(esbuild@0.28.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - unplugin-utils: 0.3.2 - unstorage: 1.17.5(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2)) - untyped: 2.0.0 - unwasm: 0.5.3 - youch: 4.1.1 - youch-core: 0.3.3 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@electric-sql/pglite' - - '@farmfe/core' - - '@libsql/client' - - '@netlify/blobs' - - '@planetscale/database' - - '@rspack/core' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bare-abort-controller - - bare-buffer - - better-sqlite3 - - bun-types-no-globals - - drizzle-orm - - encoding - - idb-keyval - - mysql2 - - oxc-parser - - react-native-b4a - - rolldown - - sqlite3 - - srvx - - supports-color - - unloader - - uploadthing - - vite - - webpack - node-abi@3.92.0: dependencies: semver: 7.8.5 @@ -16552,11 +16200,11 @@ snapshots: - rolldown - unplugin - nuxt-og-image@6.7.6(1ee7e4f7b996b5e443a5e11867ddbc01): + nuxt-og-image@6.7.6(90d955fe08ef5e1d5256bb93709e223b): dependencies: '@clack/prompts': 1.7.0 '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) - '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) '@vue/compiler-sfc': 3.5.41 chrome-launcher: 1.2.1(supports-color@10.2.2) consola: 3.4.2 @@ -16568,8 +16216,8 @@ snapshots: magic-string: 1.1.0 magicast: 0.5.4 mocked-exports: 0.1.1 - nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) - nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) nypm: 0.6.9 object-identity: 0.2.3 ofetch: 1.5.1 @@ -16591,7 +16239,7 @@ snapshots: '@unocss/config': 66.7.5 '@unocss/core': 66.7.5 fontless: 0.2.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - nitropack: 2.13.4(better-sqlite3@12.11.1)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + nitropack: 2.13.4(better-sqlite3@12.11.1)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.11.22)(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) sharp: 0.34.5 tailwindcss: 4.3.3 unifont: 0.7.4 @@ -16612,16 +16260,16 @@ snapshots: - vue - webpack - nuxt-schema-org@6.2.8(776097374c5cfd59bcb342061ace1243): + nuxt-schema-org@6.2.8(0c510f9f7cec57f81611a2f33afe5f13): dependencies: '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) defu: 6.1.7 - nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) - nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) pkg-types: 2.3.1 ufo: 1.6.4 optionalDependencies: - '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) unhead: 3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) zod: 4.4.3 transitivePeerDependencies: @@ -16649,7 +16297,7 @@ snapshots: - unplugin - vue - nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3): + nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3): dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) @@ -16657,7 +16305,7 @@ snapshots: defu: 6.1.7 h3: 1.15.11 nuxt-site-config-kit: 4.2.0(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3)) - nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) pathe: 2.0.3 pkg-types: 2.3.1 site-config-stack: 4.2.0(vue@3.5.41(typescript@6.0.3)) @@ -16674,148 +16322,6 @@ snapshots: - vite - zod - nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018): - dependencies: - '@dxup/nuxt': 0.5.6(esbuild@0.28.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - '@nuxt/cli': 3.37.0(@nuxt/schema@4.5.2)(cac@6.7.14)(magicast@0.5.4)(supports-color@10.2.2) - '@nuxt/devtools': 3.4.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) - '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) - '@nuxt/nitro-server': 4.5.2(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(better-sqlite3@12.11.1)(db0@0.3.4(better-sqlite3@12.11.1))(esbuild@0.28.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.33.0)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(srvx@0.12.5)(supports-color@10.2.2)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - '@nuxt/schema': 4.5.2 - '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))) - '@nuxt/vite-builder': 4.5.2(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@types/node@25.9.0)(esbuild@0.28.0)(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(meow@13.2.0)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(optionator@0.9.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.3)(rollup@4.60.4))(supports-color@10.2.2)(terser@5.47.1)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue-tsc@3.3.9(typescript@6.0.3))(vue@3.5.41(typescript@6.0.3))(yaml@2.9.0) - '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) - '@vue/shared': 3.5.41 - chokidar: 5.0.0 - compatx: 0.2.0 - consola: 3.4.2 - cookie-es: 3.1.1 - defu: 6.1.7 - devalue: 5.9.0 - errx: 0.1.2 - escape-string-regexp: 5.0.0 - exsolve: 1.1.1 - fnv1a-64: 0.1.2 - hookable: 6.1.1 - ignore: 7.0.6 - impound: 1.1.6(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - jiti: 2.7.0 - klona: 2.0.6 - knitwork: 1.3.0 - magic-string: 1.1.0 - mlly: 1.8.2 - nanotar: 0.3.0 - nostics: 1.2.0 - nypm: 0.6.9 - object-identity: 0.2.3 - ofetch: 1.5.1 - ohash: 2.0.11 - on-change: 6.0.2 - oxc-walker: 1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.142.0)(rolldown@1.2.3) - pathe: 2.0.3 - perfect-debounce: 2.1.0 - picomatch: 4.0.5 - pkg-types: 2.3.1 - rolldown: 1.2.3 - rolldown-string: 0.3.1(rolldown@1.2.3) - rou3: 0.9.1 - scule: 1.3.0 - std-env: 4.2.0 - tinyglobby: 0.2.17 - ufo: 1.6.4 - ultrahtml: 1.7.0 - uncrypto: 0.1.3 - unctx: 3.0.0(magic-string@1.1.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) - undici: 8.10.0 - unhead: 3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - unimport: 6.4.0(esbuild@0.28.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - unplugin: 3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - unrouting: 0.2.2 - untyped: 2.0.0 - verkit: 0.3.2 - vue: 3.5.41(typescript@6.0.3) - vue-component-type-helpers: 3.3.9 - vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) - optionalDependencies: - '@parcel/watcher': 2.5.6 - '@types/node': 25.9.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@babel/plugin-proposal-decorators' - - '@babel/plugin-syntax-jsx' - - '@babel/plugin-syntax-typescript' - - '@biomejs/biome' - - '@capacitor/preferences' - - '@deno/kv' - - '@electric-sql/pglite' - - '@farmfe/core' - - '@libsql/client' - - '@netlify/blobs' - - '@oxc-project/types' - - '@pinia/colada' - - '@planetscale/database' - - '@rollup/plugin-babel' - - '@rspack/core' - - '@unhead/cli' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - '@vitejs/devtools' - - '@vitejs/devtools-kit' - - '@vue/compiler-sfc' - - aws4fetch - - bare-abort-controller - - bare-buffer - - better-sqlite3 - - bufferutil - - bun-types-no-globals - - cac - - commander - - db0 - - drizzle-orm - - encoding - - esbuild - - eslint - - idb-keyval - - ioredis - - less - - lightningcss - - magicast - - meow - - mysql2 - - optionator - - oxc-parser - - oxlint - - pinia - - react-native-b4a - - rollup - - rollup-plugin-visualizer - - sass - - sass-embedded - - sqlite3 - - srvx - - stylelint - - stylus - - sugarss - - supports-color - - terser - - tsx - - typescript - - unloader - - uploadthing - - utf-8-validate - - vite - - vue-tsc - - webpack - - xml2js - - yaml - nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df): dependencies: '@dxup/nuxt': 0.5.6(esbuild@0.28.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) @@ -16958,7 +16464,7 @@ snapshots: - xml2js - yaml - nuxtseo-shared@5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3): + nuxtseo-shared@5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3): dependencies: '@clack/prompts': 1.7.0 '@nuxt/devtools-kit': 4.0.0-alpha.7(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) @@ -16967,7 +16473,7 @@ snapshots: birpc: 4.0.0 consola: 3.4.2 defu: 6.1.7 - nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) + nuxt: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) nypm: 0.6.9 ofetch: 1.5.1 pathe: 2.0.3 @@ -16978,7 +16484,7 @@ snapshots: ufo: 1.6.4 vue: 3.5.41(typescript@6.0.3) optionalDependencies: - nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) zod: 4.4.3 transitivePeerDependencies: - magic-string @@ -18493,9 +17999,6 @@ snapshots: srvx@0.11.22: {} - srvx@0.12.5: - optional: true - stable-hash-x@0.2.0: {} stack-trace@1.0.0-pre2: {} diff --git a/src/module.ts b/src/module.ts index 00ea3fa7f8..a3e288b57a 100644 --- a/src/module.ts +++ b/src/module.ts @@ -5,6 +5,7 @@ import { addTemplates } from './templates' import { publicComposables } from './imports' import { defaultOptions, getDefaultConfig, resolveColors } from './utils/defaults' import { getClientBundleIcons } from './utils/icons' +import codeIcon from './theme/prose/code-icon' import { name, version } from '../package.json' export type * from './runtime/types' @@ -230,8 +231,20 @@ export default defineNuxtModule({ // missing) and falls back to runtime loading instead of failing the build // (nuxt/icon#504), so we add them all and let it sort out what's available. nuxt.hook('icon:clientBundleIcons', (icons) => { - for (const name of getClientBundleIcons(nuxt.options.appConfig.ui?.icons)) { - icons.add(name) + // `ProseCodeIcon` looks its icon up in the code icon map, and `ProsePrompt` hardcodes + // one logo per action (see its `actions` prop). Both live in the library rather than + // in the user's source, so `clientBundle.scan` never sees these names. + const sources = [ + nuxt.options.appConfig.ui?.icons, + codeIcon, + nuxt.options.appConfig.ui?.prose?.codeIcon, + { cursor: 'i-simple-icons-cursor', windsurf: 'i-simple-icons-windsurf', claude: 'i-simple-icons-claude' } + ] + + for (const source of sources) { + for (const name of getClientBundleIcons(source)) { + icons.add(name) + } } }) diff --git a/src/theme/prose/code-icon.ts b/src/theme/prose/code-icon.ts index a18ef356cb..513e9c6b8a 100644 --- a/src/theme/prose/code-icon.ts +++ b/src/theme/prose/code-icon.ts @@ -1,67 +1,72 @@ export default { - 'package.json': 'i-vscode-icons-file-type-node', - 'tsconfig.json': 'i-vscode-icons-file-type-tsconfig', - '.npmrc': 'i-vscode-icons-file-type-npm', '.editorconfig': 'i-vscode-icons-file-type-editorconfig', + '.env': 'i-vscode-icons-file-type-dotenv', + '.env.example': 'i-vscode-icons-file-type-dotenv', + '.eslintignore': 'i-vscode-icons-file-type-eslint', '.eslintrc': 'i-vscode-icons-file-type-eslint', '.eslintrc.cjs': 'i-vscode-icons-file-type-eslint', - '.eslintignore': 'i-vscode-icons-file-type-eslint', - 'eslint.config.js': 'i-vscode-icons-file-type-eslint', - 'eslint.config.mjs': 'i-vscode-icons-file-type-eslint', - 'eslint.config.cjs': 'i-vscode-icons-file-type-eslint', '.gitignore': 'i-vscode-icons-file-type-git', - 'yarn.lock': 'i-vscode-icons-file-type-yarn', - '.env': 'i-vscode-icons-file-type-dotenv', - '.env.example': 'i-vscode-icons-file-type-dotenv', - '.vscode/settings.json': 'i-vscode-icons-file-type-vscode', - 'nuxt': 'i-vscode-icons-file-type-nuxt', - '.nuxtrc': 'i-vscode-icons-file-type-nuxt', + '.npmrc': 'i-vscode-icons-file-type-npm', '.nuxtignore': 'i-vscode-icons-file-type-nuxt', - 'nuxt.config.js': 'i-vscode-icons-file-type-nuxt', - 'nuxt.config.ts': 'i-vscode-icons-file-type-nuxt', - 'nuxt.schema.ts': 'i-vscode-icons-file-type-nuxt', - 'tailwind.config.js': 'i-vscode-icons-file-type-tailwind', - 'tailwind.config.ts': 'i-vscode-icons-file-type-tailwind', - 'vue': 'i-vscode-icons-file-type-vue', - 'ts': 'i-vscode-icons-file-type-typescript', - 'tsx': 'i-vscode-icons-file-type-typescript', - 'mjs': 'i-vscode-icons-file-type-js', + '.nuxtrc': 'i-vscode-icons-file-type-nuxt', + '.vscode/settings.json': 'i-vscode-icons-file-type-vscode', + 'asm': 'i-vscode-icons-file-type-assembly', + 'bicep': 'i-vscode-icons-file-type-bicep', + 'bicepparam': 'i-vscode-icons-file-type-bicep', + 'bun': 'i-vscode-icons-file-type-bun', 'cjs': 'i-vscode-icons-file-type-js', - 'js': 'i-vscode-icons-file-type-js', - 'jsx': 'i-vscode-icons-file-type-js', - 'md': 'i-vscode-icons-file-type-markdown', - 'py': 'i-vscode-icons-file-type-python', 'cs': 'i-vscode-icons-file-type-csharp', - 'asm': 'i-vscode-icons-file-type-assembly', + 'css': 'i-vscode-icons-file-type-css', + 'dart': 'i-vscode-icons-file-type-dartlang', + 'deno': 'i-vscode-icons-file-type-deno', + 'edge': 'i-vscode-icons-file-type-edge', + 'erl': 'i-vscode-icons-file-type-erlang', + 'eslint.config.cjs': 'i-vscode-icons-file-type-eslint', + 'eslint.config.js': 'i-vscode-icons-file-type-eslint', + 'eslint.config.mjs': 'i-vscode-icons-file-type-eslint', + 'exs': 'i-vscode-icons-file-type-elixir', 'f': 'i-vscode-icons-file-type-fortran', - 'hs': 'i-vscode-icons-file-type-haskell', 'fs': 'i-vscode-icons-file-type-fsharp', - 'kt': 'i-vscode-icons-file-type-kotlin', - 'rs': 'i-vscode-icons-file-type-rust', - 'rb': 'i-vscode-icons-file-type-ruby', - 'lsp': 'i-vscode-icons-file-type-lisp', - 'ps1': 'i-vscode-icons-file-type-powershell', - 'psd1': 'i-vscode-icons-file-type-powershell', - 'psm1': 'i-vscode-icons-file-type-powershell', - 'go': 'i-vscode-icons-file-type-go', 'gleam': 'i-vscode-icons-file-type-gleam', - 'bicep': 'i-vscode-icons-file-type-bicep', - 'bicepparam': 'i-vscode-icons-file-type-bicep', - 'exs': 'i-vscode-icons-file-type-elixir', - 'erl': 'i-vscode-icons-file-type-erlang', - 'sbt': 'i-vscode-icons-file-type-scala', + 'go': 'i-vscode-icons-file-type-go', 'h': 'i-vscode-icons-file-type-cppheader', + 'hs': 'i-vscode-icons-file-type-haskell', + 'html': 'i-vscode-icons-file-type-html', + 'ico': 'i-vscode-icons-file-type-favicon', 'ino': 'i-vscode-icons-file-type-arduino', - 'pl': 'i-vscode-icons-file-type-perl', 'jl': 'i-vscode-icons-file-type-julia', - 'dart': 'i-vscode-icons-file-type-dartlang', - 'ico': 'i-vscode-icons-file-type-favicon', + 'js': 'i-vscode-icons-file-type-js', + 'json': 'i-vscode-icons-file-type-json', + 'jsx': 'i-vscode-icons-file-type-js', + 'kt': 'i-vscode-icons-file-type-kotlin', + 'lsp': 'i-vscode-icons-file-type-lisp', + 'md': 'i-vscode-icons-file-type-markdown', + 'mjs': 'i-vscode-icons-file-type-js', 'npm': 'i-vscode-icons-file-type-npm', - 'pnpm': 'i-vscode-icons-file-type-pnpm', 'npx': 'i-vscode-icons-file-type-npm', + 'nuxt': 'i-vscode-icons-file-type-nuxt', + 'nuxt.config.js': 'i-vscode-icons-file-type-nuxt', + 'nuxt.config.ts': 'i-vscode-icons-file-type-nuxt', + 'nuxt.schema.ts': 'i-vscode-icons-file-type-nuxt', + 'package.json': 'i-vscode-icons-file-type-node', + 'php': 'i-vscode-icons-file-type-php', + 'pl': 'i-vscode-icons-file-type-perl', + 'pnpm': 'i-vscode-icons-file-type-pnpm', + 'ps1': 'i-vscode-icons-file-type-powershell', + 'psd1': 'i-vscode-icons-file-type-powershell', + 'psm1': 'i-vscode-icons-file-type-powershell', + 'py': 'i-vscode-icons-file-type-python', + 'rb': 'i-vscode-icons-file-type-ruby', + 'rs': 'i-vscode-icons-file-type-rust', + 'sbt': 'i-vscode-icons-file-type-scala', + 'tailwind.config.js': 'i-vscode-icons-file-type-tailwind', + 'tailwind.config.ts': 'i-vscode-icons-file-type-tailwind', + 'terminal': 'i-lucide-terminal', + 'ts': 'i-vscode-icons-file-type-typescript', + 'tsconfig.json': 'i-vscode-icons-file-type-tsconfig', + 'tsx': 'i-vscode-icons-file-type-typescript', + 'vue': 'i-vscode-icons-file-type-vue', 'yarn': 'i-vscode-icons-file-type-yarn', - 'bun': 'i-vscode-icons-file-type-bun', - 'deno': 'i-vscode-icons-file-type-deno', - 'yml': 'i-vscode-icons-file-type-yaml', - 'terminal': 'i-lucide-terminal' + 'yarn.lock': 'i-vscode-icons-file-type-yarn', + 'yml': 'i-vscode-icons-file-type-yaml' } diff --git a/src/utils/icons.ts b/src/utils/icons.ts index 807a2b8881..14649cc5a7 100644 --- a/src/utils/icons.ts +++ b/src/utils/icons.ts @@ -38,17 +38,21 @@ export function parseIconName(icon: string, collections: Iterable = [], } } -// Collections Nuxt UI ships its default icons in (currently just `lucide`). We only -// auto-bundle icons from these collections because they convert unambiguously; icons -// from other collections may use multi-word collection names that can't be split -// reliably, so they're left to runtime loading rather than emit a wrong name `@nuxt/icon` -// would drop and warn about. Derived from the defaults (known to be single-word, hence -// the first-dash fallback) so it stays correct if they ever change. -const trustedCollections = new Set( - Object.values(defaultIcons) +// Collections Nuxt UI ships its own icons in. We only auto-bundle icons from these +// collections because they convert unambiguously; icons from other collections may use +// multi-word collection names that can't be split reliably, so they're left to runtime +// loading rather than emit a wrong name `@nuxt/icon` would drop and warn about. The +// defaults are derived (known to be single-word, hence the first-dash fallback) so they +// stay correct if they ever change. `vscode-icons` (prose code icons) and `simple-icons` +// (the `ProsePrompt` action logos) are listed by hand because a first-dash split would +// read them as `vscode` and `simple`. +const trustedCollections = new Set([ + ...Object.values(defaultIcons) .map(icon => parseIconName(icon, [], true)?.[0]) - .filter((collection): collection is string => !!collection) -) + .filter((collection): collection is string => !!collection), + 'vscode-icons', + 'simple-icons' +]) /** * Resolve the icons Nuxt UI uses into `@nuxt/icon` client-bundle names so they're diff --git a/test/utils/icons.spec.ts b/test/utils/icons.spec.ts index 11776432f4..c83d71253b 100644 --- a/test/utils/icons.spec.ts +++ b/test/utils/icons.spec.ts @@ -1,6 +1,7 @@ import { describe, it, expect } from 'vitest' import { getClientBundleIcons, parseIconName } from '../../src/utils/icons' import defaultIcons from '../../src/theme/icons' +import codeIcon from '../../src/theme/prose/code-icon' describe('parseIconName', () => { it('parses the colon form for any collection', () => { @@ -53,8 +54,9 @@ describe('getClientBundleIcons', () => { it('skips overrides from collections Nuxt UI does not ship defaults in', () => { // `heroicons` is single-word and would convert safely, but `svg-spinners` would // mis-convert to `svg:...`. Without `@nuxt/icon`'s collection list we can't tell them - // apart, so we only trust shipped collections (`lucide`) and leave everything else to - // runtime loading rather than emit a wrong name `@nuxt/icon` would drop and warn about. + // apart, so we only trust the collections Nuxt UI ships (`lucide`, `vscode-icons`) and + // leave everything else to runtime loading rather than emit a wrong name `@nuxt/icon` + // would drop and warn about. const names = getClientBundleIcons({ check: 'i-heroicons-check', loading: 'i-svg-spinners-90-ring', @@ -65,6 +67,17 @@ describe('getClientBundleIcons', () => { expect(names).toEqual([]) }) + it('converts the prose code icon map, which is mostly `vscode-icons`', () => { + const names = getClientBundleIcons(codeIcon) + + // a first-dash split would read these as `vscode:icons-file-type-*` + expect(names).toContain('vscode-icons:file-type-npm') + expect(names).toContain('vscode-icons:file-type-pnpm') + expect(names).toContain('vscode-icons:file-type-bun') + expect(names).toContain('lucide:terminal') + expect(names).toHaveLength(new Set(Object.values(codeIcon)).size) + }) + it('ignores values that are not icon names', () => { const names = getClientBundleIcons({ a: '', b: 'i-', c: 'i-lucide-' }) From 6bf23c0a1d7acb8150e8ad6759615c9084048474 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Sun, 16 Aug 2026 10:50:37 +0200 Subject: [PATCH 2/3] fix(module): only bundle prose icons when prose is enabled --- src/module.ts | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/module.ts b/src/module.ts index a3e288b57a..54af4911fc 100644 --- a/src/module.ts +++ b/src/module.ts @@ -230,16 +230,23 @@ export default defineNuxtModule({ // `@nuxt/icon` drops any name it can't resolve (collection not installed, icon // missing) and falls back to runtime loading instead of failing the build // (nuxt/icon#504), so we add them all and let it sort out what's available. + const hasProse = !!(options.prose || options.mdc || options.content || hasNuxtModule('@nuxtjs/mdc') || hasNuxtModule('@nuxt/content')) + nuxt.hook('icon:clientBundleIcons', (icons) => { + const sources: (Record | undefined)[] = [nuxt.options.appConfig.ui?.icons] + // `ProseCodeIcon` looks its icon up in the code icon map, and `ProsePrompt` hardcodes // one logo per action (see its `actions` prop). Both live in the library rather than - // in the user's source, so `clientBundle.scan` never sees these names. - const sources = [ - nuxt.options.appConfig.ui?.icons, - codeIcon, - nuxt.options.appConfig.ui?.prose?.codeIcon, - { cursor: 'i-simple-icons-cursor', windsurf: 'i-simple-icons-windsurf', claude: 'i-simple-icons-claude' } - ] + // in the user's source, so `clientBundle.scan` never sees these names. Only when the + // prose components are registered below, they're ~48 icons an app without prose can + // never render. + if (hasProse) { + sources.push( + codeIcon, + nuxt.options.appConfig.ui?.prose?.codeIcon, + { cursor: 'i-simple-icons-cursor', windsurf: 'i-simple-icons-windsurf', claude: 'i-simple-icons-claude' } + ) + } for (const source of sources) { for (const name of getClientBundleIcons(source)) { @@ -265,7 +272,7 @@ export default defineNuxtModule({ addPlugin({ src: resolve('./runtime/plugins/colors') }) - if (options.prose || options.mdc || options.content || hasNuxtModule('@nuxtjs/mdc') || hasNuxtModule('@nuxt/content')) { + if (hasProse) { addComponentsDir({ path: resolve('./runtime/components/prose'), pathPrefix: false, From 50f963cbaea5e78e20518442efd851002612826f Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Sun, 16 Aug 2026 10:56:38 +0200 Subject: [PATCH 3/3] fix(docs): bundle icons that cannot be scanned --- docs/nuxt.config.ts | 21 ++ pnpm-lock.yaml | 579 +++++++++++++++++++++++++++++++++-- src/module.ts | 26 +- src/theme/prose/code-icon.ts | 5 - src/utils/icons.ts | 24 +- test/utils/icons.spec.ts | 17 +- 6 files changed, 584 insertions(+), 88 deletions(-) diff --git a/docs/nuxt.config.ts b/docs/nuxt.config.ts index f0b28e03fb..724017871e 100644 --- a/docs/nuxt.config.ts +++ b/docs/nuxt.config.ts @@ -356,6 +356,27 @@ export default defineNuxtConfig({ dir: resolve('./app/assets/icons') }], clientBundle: { + // `ProseCodeIcon` resolves through Nuxt UI's code icon map and falls back to + // `i-vscode-icons-file-type-{extension}`, and `ProsePrompt` hardcodes one logo per + // action. None of them appear in anything `scan` looks at, which is the layer roots, + // so they're left to runtime loading. That is currently broken during SSR + // (nuxt/icon#518), so bundle them by hand until nuxt/icon#527 lands. + icons: [ + 'simple-icons:claude', + 'simple-icons:cursor', + 'simple-icons:windsurf', + 'vscode-icons:file-type-bun', + 'vscode-icons:file-type-css', + 'vscode-icons:file-type-dotenv', + 'vscode-icons:file-type-edge', + 'vscode-icons:file-type-git', + 'vscode-icons:file-type-html', + 'vscode-icons:file-type-npm', + 'vscode-icons:file-type-php', + 'vscode-icons:file-type-pnpm', + 'vscode-icons:file-type-tsconfig', + 'vscode-icons:file-type-yarn' + ], scan: { // `ts` is added because the default glob skips JS/TS for perf, but nav icons // live in `app/composables/*.ts`. The explicit dot pattern is required because diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 95b186b53d..afd48142f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -356,7 +356,7 @@ importers: version: 3.15.2(@oxc-project/types@0.143.0)(@valibot/to-json-schema@1.7.1(valibot@1.4.2(typescript@6.0.3)))(better-sqlite3@12.11.1)(esbuild@0.28.0)(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(supports-color@10.2.2)(valibot@1.4.2(typescript@6.0.3))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) '@nuxt/image': specifier: 2.0.0 - version: 2.0.0(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.11.22)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) + version: 2.0.0(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) '@nuxt/ui': specifier: workspace:* version: link:.. @@ -386,16 +386,16 @@ importers: version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2)) '@vercel/analytics': specifier: ^2.0.1 - version: 2.0.1(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) + version: 2.0.1(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) '@vercel/speed-insights': specifier: ^2.0.0 - version: 2.0.0(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) + version: 2.0.0(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) '@vueuse/integrations': specifier: ^14.4.0 version: 14.4.0(axios@1.19.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(fuse.js@7.5.0)(sortablejs@1.15.7)(vue@3.5.41(typescript@6.0.3)) '@vueuse/nuxt': specifier: ^14.4.0 - version: 14.4.0(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3)) + version: 14.4.0(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3)) ai: specifier: ^7.0.58 version: 7.0.58(zod@4.4.3) @@ -422,7 +422,7 @@ importers: version: 2.3.0(@vueuse/core@14.4.0(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3)) nuxt: specifier: ^4.5.2 - version: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) + version: 4.5.2(05d450383fefe97f3fd51e6c98c21018) nuxt-component-meta: specifier: ^0.18.0 version: 0.18.0(@oxc-project/types@0.143.0)(esbuild@0.28.0)(magicast@0.5.4)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) @@ -431,10 +431,10 @@ importers: version: 0.2.0(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) nuxt-og-image: specifier: ^6.7.6 - version: 6.7.6(90d955fe08ef5e1d5256bb93709e223b) + version: 6.7.6(1ee7e4f7b996b5e443a5e11867ddbc01) nuxt-schema-org: specifier: ^6.2.8 - version: 6.2.8(0c510f9f7cec57f81611a2f33afe5f13) + version: 6.2.8(776097374c5cfd59bcb342061ace1243) prettier: specifier: ^3.9.6 version: 3.9.6 @@ -8141,6 +8141,11 @@ packages: engines: {node: '>=20.16.0'} hasBin: true + srvx@0.12.5: + resolution: {integrity: sha512-IuvtDNQg5EIwv3c6dleyau7u8hCyGQ7D6+V/QM799Aud07z0wCUcurKLTRfyG33C8oUY+UWcVBFkfHMcbtmRLA==} + engines: {node: '>=20.16.0'} + hasBin: true + stable-hash-x@0.2.0: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} @@ -10767,7 +10772,7 @@ snapshots: - vite - vue - '@nuxt/image@2.0.0(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.11.22)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))': + '@nuxt/image@2.0.0(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))': dependencies: '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) consola: 3.4.2 @@ -10780,7 +10785,7 @@ snapshots: std-env: 3.10.0 ufo: 1.6.4 optionalDependencies: - ipx: 3.1.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(srvx@0.11.22) + ipx: 3.1.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(srvx@0.12.5) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -10986,6 +10991,91 @@ snapshots: - webpack - xml2js + '@nuxt/nitro-server@4.5.2(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(better-sqlite3@12.11.1)(db0@0.3.4(better-sqlite3@12.11.1))(esbuild@0.28.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.33.0)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(srvx@0.12.5)(supports-color@10.2.2)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))': + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) + '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + '@vue/shared': 3.5.41 + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + devalue: 5.9.0 + errx: 0.1.2 + escape-string-regexp: 5.0.0 + exsolve: 1.1.1 + h3: 1.15.11 + impound: 1.1.6(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + klona: 2.0.6 + mocked-exports: 0.1.1 + nitropack: 2.13.4(better-sqlite3@12.11.1)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + nostics: 1.2.0 + nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) + nypm: 0.6.9 + ohash: 2.0.11 + pathe: 2.0.3 + rou3: 0.9.1 + std-env: 4.2.0 + ufo: 1.6.4 + unctx: 3.0.0(magic-string@1.1.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) + unstorage: 1.17.5(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2)) + vue: 3.5.41(typescript@6.0.3) + vue-bundle-renderer: 2.3.1 + vue-devtools-stub: 0.1.0 + optionalDependencies: + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.0(supports-color@10.2.2)) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@netlify/blobs' + - '@oxc-project/types' + - '@planetscale/database' + - '@rspack/core' + - '@unhead/cli' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vitejs/devtools-kit' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 + - bun-types-no-globals + - db0 + - drizzle-orm + - encoding + - esbuild + - idb-keyval + - ioredis + - lightningcss + - magic-string + - magicast + - mysql2 + - oxc-parser + - react-native-b4a + - rolldown + - rollup + - sqlite3 + - srvx + - supports-color + - typescript + - unloader + - unplugin + - uploadthing + - vite + - webpack + - xml2js + '@nuxt/schema@4.5.2': dependencies: '@vue/shared': 3.5.41 @@ -11052,6 +11142,69 @@ snapshots: - vite - webpack + '@nuxt/vite-builder@4.5.2(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@types/node@25.9.0)(esbuild@0.28.0)(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(meow@13.2.0)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(optionator@0.9.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.3)(rollup@4.60.4))(supports-color@10.2.2)(terser@5.47.1)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue-tsc@3.3.9(typescript@6.0.3))(vue@3.5.41(typescript@6.0.3))(yaml@2.9.0)': + dependencies: + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) + '@vitejs/plugin-vue': 6.0.8(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.6(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + autoprefixer: 10.5.4(postcss@8.5.26) + consola: 3.4.2 + cssnano: 8.0.2(postcss@8.5.26) + defu: 6.1.7 + escape-string-regexp: 5.0.0 + exsolve: 1.1.1 + generic-names: 4.0.0 + get-port-please: 3.2.0 + jiti: 2.7.0 + js-tokens: 10.0.0 + knitwork: 1.3.0 + mlly: 1.8.2 + mocked-exports: 0.1.1 + nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) + nypm: 0.6.9 + pathe: 2.0.3 + pkg-types: 2.3.1 + postcss: 8.5.26 + rolldown-string: 0.3.1(rolldown@1.2.3) + seroval: 1.6.2 + std-env: 4.2.0 + ufo: 1.6.4 + unenv: 2.0.0-rc.24 + vite: 8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) + vite-node: 6.0.0(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) + vite-plugin-checker: 0.14.5(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(meow@13.2.0)(optionator@0.9.4)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.3.9(typescript@6.0.3)) + vue: 3.5.41(typescript@6.0.3) + vue-bundle-renderer: 2.3.1 + optionalDependencies: + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0(supports-color@10.2.2)) + rolldown: 1.2.3 + rollup-plugin-visualizer: 7.0.1(rolldown@1.2.3)(rollup@4.60.4) + transitivePeerDependencies: + - '@biomejs/biome' + - '@types/node' + - '@vitejs/devtools' + - esbuild + - eslint + - less + - magic-string + - magicast + - meow + - optionator + - oxc-parser + - oxlint + - sass + - sass-embedded + - stylelint + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - unplugin + - vue-tsc + - yaml + '@nuxt/vite-builder@4.5.2(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@types/node@25.9.0)(esbuild@0.28.0)(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(meow@13.2.0)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(optionator@0.9.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.3)(rollup@4.60.4))(supports-color@10.2.2)(terser@5.47.1)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue-tsc@3.3.9(typescript@6.0.3))(vue@3.5.41(typescript@6.0.3))(yaml@2.9.0)': dependencies: '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) @@ -12425,6 +12578,27 @@ snapshots: - rollup - unloader + '@unhead/bundler@3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(unhead@3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))': + dependencies: + magic-string: 1.1.0 + oxc-walker: 1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.142.0)(rolldown@1.2.3) + unhead: 3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + optionalDependencies: + '@vitejs/devtools-kit': 0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + esbuild: 0.28.0 + lightningcss: 1.33.0 + oxc-parser: 0.142.0 + rolldown: 1.2.3 + vite: 8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) + transitivePeerDependencies: + - '@farmfe/core' + - '@oxc-project/types' + - '@rspack/core' + - bun-types-no-globals + - rollup + - unloader + '@unhead/vue@3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))': dependencies: '@unhead/bundler': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(unhead@3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) @@ -12448,6 +12622,29 @@ snapshots: - rollup - unloader + '@unhead/vue@3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))': + dependencies: + '@unhead/bundler': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(unhead@3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + hookable: 6.1.1 + unhead: 3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + vue: 3.5.41(typescript@6.0.3) + optionalDependencies: + vite: 8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) + transitivePeerDependencies: + - '@farmfe/core' + - '@oxc-project/types' + - '@rspack/core' + - '@unhead/cli' + - '@vitejs/devtools-kit' + - bun-types-no-globals + - esbuild + - lightningcss + - oxc-parser + - rolldown + - rollup + - unloader + '@unocss/config@66.7.5': dependencies: '@unocss/core': 66.7.5 @@ -12534,9 +12731,9 @@ snapshots: valibot: 1.4.2(typescript@6.0.3) optional: true - '@vercel/analytics@2.0.1(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3))': + '@vercel/analytics@2.0.1(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3))': optionalDependencies: - nuxt: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) + nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) vue: 3.5.41(typescript@6.0.3) vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) @@ -12561,9 +12758,9 @@ snapshots: '@vercel/oidc@3.2.0': {} - '@vercel/speed-insights@2.0.0(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3))': + '@vercel/speed-insights@2.0.0(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(vue-router@5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)))(vue@3.5.41(typescript@6.0.3))': optionalDependencies: - nuxt: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) + nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) vue: 3.5.41(typescript@6.0.3) vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) @@ -12584,6 +12781,23 @@ snapshots: - typescript optional: true + '@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))': + dependencies: + '@devframes/hub': 0.7.14(devframe@0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)) + '@devframes/json-render': 0.7.14(@devframes/hub@0.7.14(devframe@0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)) + devframe: 0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3) + local-pkg: 1.2.1 + mlly: 1.8.2 + nostics: 1.2.0 + nypm: 0.6.9 + vite: 8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0) + transitivePeerDependencies: + - '@modelcontextprotocol/sdk' + - cac + - srvx + - typescript + optional: true + '@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))': dependencies: '@babel/core': 7.29.0(supports-color@10.2.2) @@ -12840,13 +13054,13 @@ snapshots: '@vueuse/metadata@14.4.0': {} - '@vueuse/nuxt@14.4.0(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3))': + '@vueuse/nuxt@14.4.0(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3))': dependencies: '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) '@vueuse/core': 14.4.0(vue@3.5.41(typescript@6.0.3)) '@vueuse/metadata': 14.4.0 local-pkg: 1.2.1 - nuxt: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) + nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) vue: 3.5.41(typescript@6.0.3) transitivePeerDependencies: - magic-string @@ -13496,6 +13710,10 @@ snapshots: optionalDependencies: srvx: 0.11.22 + crossws@0.4.10(srvx@0.12.5): + optionalDependencies: + srvx: 0.12.5 + css-declaration-sorter@7.4.0(postcss@8.5.26): dependencies: postcss: 8.5.26 @@ -13715,6 +13933,26 @@ snapshots: - typescript optional: true + devframe@0.7.14(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3): + dependencies: + '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(typescript@6.0.3)) + birpc: 4.0.0 + crossws: 0.4.10(srvx@0.12.5) + destr: 2.0.5 + h3: 1.15.11 + mrmime: 2.0.1 + nostics: 1.2.0 + pathe: 2.0.3 + ufo: 1.6.4 + valibot: 1.4.2(typescript@6.0.3) + optionalDependencies: + '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) + cac: 6.7.14 + transitivePeerDependencies: + - srvx + - typescript + optional: true + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -14963,7 +15201,7 @@ snapshots: ipaddr.js@1.9.1: {} - ipx@3.1.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(srvx@0.11.22): + ipx@3.1.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(srvx@0.12.5): dependencies: '@fastify/accept-negotiator': 2.1.0 citty: 0.1.6 @@ -14973,7 +15211,7 @@ snapshots: etag: 1.8.1 h3: 1.15.11 image-meta: 0.2.2 - listhen: 1.10.0(srvx@0.11.22) + listhen: 1.10.0(srvx@0.12.5) ofetch: 1.5.1 pathe: 2.0.3 sharp: 0.34.5 @@ -15378,6 +15616,29 @@ snapshots: transitivePeerDependencies: - srvx + listhen@1.10.0(srvx@0.12.5): + dependencies: + '@parcel/watcher': 2.5.6 + '@parcel/watcher-wasm': 2.5.6 + citty: 0.2.2 + consola: 3.4.2 + crossws: 0.4.10(srvx@0.12.5) + defu: 6.1.7 + get-port-please: 3.2.0 + h3: 1.15.11 + http-shutdown: 1.2.2 + jiti: 2.7.0 + mlly: 1.8.2 + node-forge: 1.4.0 + pathe: 2.0.3 + std-env: 4.2.0 + tinyclip: 0.1.15 + ufo: 1.6.4 + untun: 0.1.3 + uqr: 0.1.3 + transitivePeerDependencies: + - srvx + loader-utils@3.3.1: {} local-pkg@1.2.1: @@ -16107,6 +16368,117 @@ snapshots: - vite - webpack + nitropack@2.13.4(better-sqlite3@12.11.1)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)): + dependencies: + '@cloudflare/kv-asset-handler': 0.4.2 + '@rollup/plugin-alias': 6.0.0(rollup@4.60.4) + '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.4) + '@rollup/plugin-inject': 5.0.5(rollup@4.60.4) + '@rollup/plugin-json': 6.1.0(rollup@4.60.4) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.4) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.4) + '@rollup/plugin-terser': 1.0.0(rollup@4.60.4) + '@vercel/nft': 1.5.0(rollup@4.60.4)(supports-color@10.2.2) + archiver: 7.0.1 + c12: 3.3.4(magicast@0.5.4) + chokidar: 5.0.0 + citty: 0.2.2 + compatx: 0.2.0 + confbox: 0.2.4 + consola: 3.4.2 + cookie-es: 2.0.1 + croner: 10.0.1 + crossws: 0.3.5 + db0: 0.3.4(better-sqlite3@12.11.1) + defu: 6.1.7 + destr: 2.0.5 + dot-prop: 10.1.0 + esbuild: 0.28.0 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + exsolve: 1.1.1 + globby: 16.2.0 + gzip-size: 7.0.0 + h3: 1.15.11 + hookable: 5.5.3 + httpxy: 0.5.1 + ioredis: 5.10.1(supports-color@10.2.2) + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + listhen: 1.10.0(srvx@0.12.5) + magic-string: 0.30.21 + magicast: 0.5.4 + mime: 4.1.0 + mlly: 1.8.2 + node-fetch-native: 1.6.7 + node-mock-http: 1.0.4 + ofetch: 1.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + pretty-bytes: 7.1.0 + radix3: 1.1.2 + rollup: 4.60.4 + rollup-plugin-visualizer: 7.0.1(rolldown@1.2.3)(rollup@4.60.4) + scule: 1.3.0 + semver: 7.8.5 + serve-placeholder: 2.0.2 + serve-static: 2.2.1(supports-color@10.2.2) + source-map: 0.7.6 + std-env: 4.2.0 + ufo: 1.6.4 + ultrahtml: 1.7.0 + uncrypto: 0.1.3 + unctx: 2.5.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + unenv: 2.0.0-rc.24 + unimport: 6.4.0(esbuild@0.28.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + unplugin-utils: 0.3.2 + unstorage: 1.17.5(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2)) + untyped: 2.0.0 + unwasm: 0.5.3 + youch: 4.1.1 + youch-core: 0.3.3 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@rspack/core' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 + - bun-types-no-globals + - drizzle-orm + - encoding + - idb-keyval + - mysql2 + - oxc-parser + - react-native-b4a + - rolldown + - sqlite3 + - srvx + - supports-color + - unloader + - uploadthing + - vite + - webpack + node-abi@3.92.0: dependencies: semver: 7.8.5 @@ -16200,11 +16572,11 @@ snapshots: - rolldown - unplugin - nuxt-og-image@6.7.6(90d955fe08ef5e1d5256bb93709e223b): + nuxt-og-image@6.7.6(1ee7e4f7b996b5e443a5e11867ddbc01): dependencies: '@clack/prompts': 1.7.0 '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) - '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) '@vue/compiler-sfc': 3.5.41 chrome-launcher: 1.2.1(supports-color@10.2.2) consola: 3.4.2 @@ -16216,8 +16588,8 @@ snapshots: magic-string: 1.1.0 magicast: 0.5.4 mocked-exports: 0.1.1 - nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) - nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) nypm: 0.6.9 object-identity: 0.2.3 ofetch: 1.5.1 @@ -16239,7 +16611,7 @@ snapshots: '@unocss/config': 66.7.5 '@unocss/core': 66.7.5 fontless: 0.2.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) - nitropack: 2.13.4(better-sqlite3@12.11.1)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.11.22)(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + nitropack: 2.13.4(better-sqlite3@12.11.1)(oxc-parser@0.142.0)(rolldown@1.2.3)(srvx@0.12.5)(supports-color@10.2.2)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) sharp: 0.34.5 tailwindcss: 4.3.3 unifont: 0.7.4 @@ -16260,16 +16632,16 @@ snapshots: - vue - webpack - nuxt-schema-org@6.2.8(0c510f9f7cec57f81611a2f33afe5f13): + nuxt-schema-org@6.2.8(776097374c5cfd59bcb342061ace1243): dependencies: '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) defu: 6.1.7 - nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) - nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) pkg-types: 2.3.1 ufo: 1.6.4 optionalDependencies: - '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.11.22)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) unhead: 3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) zod: 4.4.3 transitivePeerDependencies: @@ -16297,7 +16669,7 @@ snapshots: - unplugin - vue - nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3): + nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3): dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) @@ -16305,7 +16677,7 @@ snapshots: defu: 6.1.7 h3: 1.15.11 nuxt-site-config-kit: 4.2.0(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue@3.5.41(typescript@6.0.3)) - nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxtseo-shared: 5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) pathe: 2.0.3 pkg-types: 2.3.1 site-config-stack: 4.2.0(vue@3.5.41(typescript@6.0.3)) @@ -16322,6 +16694,148 @@ snapshots: - vite - zod + nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018): + dependencies: + '@dxup/nuxt': 0.5.6(esbuild@0.28.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + '@nuxt/cli': 3.37.0(@nuxt/schema@4.5.2)(cac@6.7.14)(magicast@0.5.4)(supports-color@10.2.2) + '@nuxt/devtools': 3.4.1(db0@0.3.4(better-sqlite3@12.11.1))(ioredis@5.10.1(supports-color@10.2.2))(magic-string@1.1.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) + '@nuxt/nitro-server': 4.5.2(@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0(supports-color@10.2.2)))(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(better-sqlite3@12.11.1)(db0@0.3.4(better-sqlite3@12.11.1))(esbuild@0.28.0)(ioredis@5.10.1(supports-color@10.2.2))(lightningcss@1.33.0)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(srvx@0.12.5)(supports-color@10.2.2)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + '@nuxt/schema': 4.5.2 + '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))) + '@nuxt/vite-builder': 4.5.2(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0(supports-color@10.2.2)))(@types/node@25.9.0)(esbuild@0.28.0)(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(magic-string@1.1.0)(magicast@0.5.4)(meow@13.2.0)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(optionator@0.9.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup-plugin-visualizer@7.0.1(rolldown@1.2.3)(rollup@4.60.4))(supports-color@10.2.2)(terser@5.47.1)(typescript@6.0.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vue-tsc@3.3.9(typescript@6.0.3))(vue@3.5.41(typescript@6.0.3))(yaml@2.9.0) + '@unhead/vue': 3.3.1(@oxc-project/types@0.143.0)(@vitejs/devtools-kit@0.4.8(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(cac@6.7.14)(srvx@0.12.5)(typescript@6.0.3)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(esbuild@0.28.0)(lightningcss@1.33.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + '@vue/shared': 3.5.41 + chokidar: 5.0.0 + compatx: 0.2.0 + consola: 3.4.2 + cookie-es: 3.1.1 + defu: 6.1.7 + devalue: 5.9.0 + errx: 0.1.2 + escape-string-regexp: 5.0.0 + exsolve: 1.1.1 + fnv1a-64: 0.1.2 + hookable: 6.1.1 + ignore: 7.0.6 + impound: 1.1.6(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + magic-string: 1.1.0 + mlly: 1.8.2 + nanotar: 0.3.0 + nostics: 1.2.0 + nypm: 0.6.9 + object-identity: 0.2.3 + ofetch: 1.5.1 + ohash: 2.0.11 + on-change: 6.0.2 + oxc-walker: 1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.142.0)(rolldown@1.2.3) + pathe: 2.0.3 + perfect-debounce: 2.1.0 + picomatch: 4.0.5 + pkg-types: 2.3.1 + rolldown: 1.2.3 + rolldown-string: 0.3.1(rolldown@1.2.3) + rou3: 0.9.1 + scule: 1.3.0 + std-env: 4.2.0 + tinyglobby: 0.2.17 + ufo: 1.6.4 + ultrahtml: 1.7.0 + uncrypto: 0.1.3 + unctx: 3.0.0(magic-string@1.1.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))) + undici: 8.10.0 + unhead: 3.3.1(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + unimport: 6.4.0(esbuild@0.28.0)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) + unrouting: 0.2.2 + untyped: 2.0.0 + verkit: 0.3.2 + vue: 3.5.41(typescript@6.0.3) + vue-component-type-helpers: 3.3.9 + vue-router: 5.2.0(@vue/compiler-sfc@3.5.41)(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3)) + optionalDependencies: + '@parcel/watcher': 2.5.6 + '@types/node': 25.9.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@babel/plugin-proposal-decorators' + - '@babel/plugin-syntax-jsx' + - '@babel/plugin-syntax-typescript' + - '@biomejs/biome' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@netlify/blobs' + - '@oxc-project/types' + - '@pinia/colada' + - '@planetscale/database' + - '@rollup/plugin-babel' + - '@rspack/core' + - '@unhead/cli' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vitejs/devtools' + - '@vitejs/devtools-kit' + - '@vue/compiler-sfc' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 + - bufferutil + - bun-types-no-globals + - cac + - commander + - db0 + - drizzle-orm + - encoding + - esbuild + - eslint + - idb-keyval + - ioredis + - less + - lightningcss + - magicast + - meow + - mysql2 + - optionator + - oxc-parser + - oxlint + - pinia + - react-native-b4a + - rollup + - rollup-plugin-visualizer + - sass + - sass-embedded + - sqlite3 + - srvx + - stylelint + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - unloader + - uploadthing + - utf-8-validate + - vite + - vue-tsc + - webpack + - xml2js + - yaml + nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df): dependencies: '@dxup/nuxt': 0.5.6(esbuild@0.28.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) @@ -16464,7 +16978,7 @@ snapshots: - xml2js - yaml - nuxtseo-shared@5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3): + nuxtseo-shared@5.3.10(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt-site-config@4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3))(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3): dependencies: '@clack/prompts': 1.7.0 '@nuxt/devtools-kit': 4.0.0-alpha.7(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)) @@ -16473,7 +16987,7 @@ snapshots: birpc: 4.0.0 consola: 3.4.2 defu: 6.1.7 - nuxt: 4.5.2(a4c253b9bd18a710f4a1a348ba8b76df) + nuxt: 4.5.2(05d450383fefe97f3fd51e6c98c21018) nypm: 0.6.9 ofetch: 1.5.1 pathe: 2.0.3 @@ -16484,7 +16998,7 @@ snapshots: ufo: 1.6.4 vue: 3.5.41(typescript@6.0.3) optionalDependencies: - nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(a4c253b9bd18a710f4a1a348ba8b76df))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) + nuxt-site-config: 4.2.0(@nuxt/schema@4.5.2)(magic-string@1.1.0)(magicast@0.5.4)(nuxt@4.5.2(05d450383fefe97f3fd51e6c98c21018))(oxc-parser@0.142.0)(rolldown@1.2.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.2.3)(rollup@4.60.4)(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.2.1(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@6.0.3))(zod@4.4.3) zod: 4.4.3 transitivePeerDependencies: - magic-string @@ -17999,6 +18513,9 @@ snapshots: srvx@0.11.22: {} + srvx@0.12.5: + optional: true + stable-hash-x@0.2.0: {} stack-trace@1.0.0-pre2: {} diff --git a/src/module.ts b/src/module.ts index 54af4911fc..00ea3fa7f8 100644 --- a/src/module.ts +++ b/src/module.ts @@ -5,7 +5,6 @@ import { addTemplates } from './templates' import { publicComposables } from './imports' import { defaultOptions, getDefaultConfig, resolveColors } from './utils/defaults' import { getClientBundleIcons } from './utils/icons' -import codeIcon from './theme/prose/code-icon' import { name, version } from '../package.json' export type * from './runtime/types' @@ -230,28 +229,9 @@ export default defineNuxtModule({ // `@nuxt/icon` drops any name it can't resolve (collection not installed, icon // missing) and falls back to runtime loading instead of failing the build // (nuxt/icon#504), so we add them all and let it sort out what's available. - const hasProse = !!(options.prose || options.mdc || options.content || hasNuxtModule('@nuxtjs/mdc') || hasNuxtModule('@nuxt/content')) - nuxt.hook('icon:clientBundleIcons', (icons) => { - const sources: (Record | undefined)[] = [nuxt.options.appConfig.ui?.icons] - - // `ProseCodeIcon` looks its icon up in the code icon map, and `ProsePrompt` hardcodes - // one logo per action (see its `actions` prop). Both live in the library rather than - // in the user's source, so `clientBundle.scan` never sees these names. Only when the - // prose components are registered below, they're ~48 icons an app without prose can - // never render. - if (hasProse) { - sources.push( - codeIcon, - nuxt.options.appConfig.ui?.prose?.codeIcon, - { cursor: 'i-simple-icons-cursor', windsurf: 'i-simple-icons-windsurf', claude: 'i-simple-icons-claude' } - ) - } - - for (const source of sources) { - for (const name of getClientBundleIcons(source)) { - icons.add(name) - } + for (const name of getClientBundleIcons(nuxt.options.appConfig.ui?.icons)) { + icons.add(name) } }) @@ -272,7 +252,7 @@ export default defineNuxtModule({ addPlugin({ src: resolve('./runtime/plugins/colors') }) - if (hasProse) { + if (options.prose || options.mdc || options.content || hasNuxtModule('@nuxtjs/mdc') || hasNuxtModule('@nuxt/content')) { addComponentsDir({ path: resolve('./runtime/components/prose'), pathPrefix: false, diff --git a/src/theme/prose/code-icon.ts b/src/theme/prose/code-icon.ts index 513e9c6b8a..d58e8b905a 100644 --- a/src/theme/prose/code-icon.ts +++ b/src/theme/prose/code-icon.ts @@ -16,10 +16,8 @@ export default { 'bun': 'i-vscode-icons-file-type-bun', 'cjs': 'i-vscode-icons-file-type-js', 'cs': 'i-vscode-icons-file-type-csharp', - 'css': 'i-vscode-icons-file-type-css', 'dart': 'i-vscode-icons-file-type-dartlang', 'deno': 'i-vscode-icons-file-type-deno', - 'edge': 'i-vscode-icons-file-type-edge', 'erl': 'i-vscode-icons-file-type-erlang', 'eslint.config.cjs': 'i-vscode-icons-file-type-eslint', 'eslint.config.js': 'i-vscode-icons-file-type-eslint', @@ -31,12 +29,10 @@ export default { 'go': 'i-vscode-icons-file-type-go', 'h': 'i-vscode-icons-file-type-cppheader', 'hs': 'i-vscode-icons-file-type-haskell', - 'html': 'i-vscode-icons-file-type-html', 'ico': 'i-vscode-icons-file-type-favicon', 'ino': 'i-vscode-icons-file-type-arduino', 'jl': 'i-vscode-icons-file-type-julia', 'js': 'i-vscode-icons-file-type-js', - 'json': 'i-vscode-icons-file-type-json', 'jsx': 'i-vscode-icons-file-type-js', 'kt': 'i-vscode-icons-file-type-kotlin', 'lsp': 'i-vscode-icons-file-type-lisp', @@ -49,7 +45,6 @@ export default { 'nuxt.config.ts': 'i-vscode-icons-file-type-nuxt', 'nuxt.schema.ts': 'i-vscode-icons-file-type-nuxt', 'package.json': 'i-vscode-icons-file-type-node', - 'php': 'i-vscode-icons-file-type-php', 'pl': 'i-vscode-icons-file-type-perl', 'pnpm': 'i-vscode-icons-file-type-pnpm', 'ps1': 'i-vscode-icons-file-type-powershell', diff --git a/src/utils/icons.ts b/src/utils/icons.ts index 14649cc5a7..807a2b8881 100644 --- a/src/utils/icons.ts +++ b/src/utils/icons.ts @@ -38,21 +38,17 @@ export function parseIconName(icon: string, collections: Iterable = [], } } -// Collections Nuxt UI ships its own icons in. We only auto-bundle icons from these -// collections because they convert unambiguously; icons from other collections may use -// multi-word collection names that can't be split reliably, so they're left to runtime -// loading rather than emit a wrong name `@nuxt/icon` would drop and warn about. The -// defaults are derived (known to be single-word, hence the first-dash fallback) so they -// stay correct if they ever change. `vscode-icons` (prose code icons) and `simple-icons` -// (the `ProsePrompt` action logos) are listed by hand because a first-dash split would -// read them as `vscode` and `simple`. -const trustedCollections = new Set([ - ...Object.values(defaultIcons) +// Collections Nuxt UI ships its default icons in (currently just `lucide`). We only +// auto-bundle icons from these collections because they convert unambiguously; icons +// from other collections may use multi-word collection names that can't be split +// reliably, so they're left to runtime loading rather than emit a wrong name `@nuxt/icon` +// would drop and warn about. Derived from the defaults (known to be single-word, hence +// the first-dash fallback) so it stays correct if they ever change. +const trustedCollections = new Set( + Object.values(defaultIcons) .map(icon => parseIconName(icon, [], true)?.[0]) - .filter((collection): collection is string => !!collection), - 'vscode-icons', - 'simple-icons' -]) + .filter((collection): collection is string => !!collection) +) /** * Resolve the icons Nuxt UI uses into `@nuxt/icon` client-bundle names so they're diff --git a/test/utils/icons.spec.ts b/test/utils/icons.spec.ts index c83d71253b..11776432f4 100644 --- a/test/utils/icons.spec.ts +++ b/test/utils/icons.spec.ts @@ -1,7 +1,6 @@ import { describe, it, expect } from 'vitest' import { getClientBundleIcons, parseIconName } from '../../src/utils/icons' import defaultIcons from '../../src/theme/icons' -import codeIcon from '../../src/theme/prose/code-icon' describe('parseIconName', () => { it('parses the colon form for any collection', () => { @@ -54,9 +53,8 @@ describe('getClientBundleIcons', () => { it('skips overrides from collections Nuxt UI does not ship defaults in', () => { // `heroicons` is single-word and would convert safely, but `svg-spinners` would // mis-convert to `svg:...`. Without `@nuxt/icon`'s collection list we can't tell them - // apart, so we only trust the collections Nuxt UI ships (`lucide`, `vscode-icons`) and - // leave everything else to runtime loading rather than emit a wrong name `@nuxt/icon` - // would drop and warn about. + // apart, so we only trust shipped collections (`lucide`) and leave everything else to + // runtime loading rather than emit a wrong name `@nuxt/icon` would drop and warn about. const names = getClientBundleIcons({ check: 'i-heroicons-check', loading: 'i-svg-spinners-90-ring', @@ -67,17 +65,6 @@ describe('getClientBundleIcons', () => { expect(names).toEqual([]) }) - it('converts the prose code icon map, which is mostly `vscode-icons`', () => { - const names = getClientBundleIcons(codeIcon) - - // a first-dash split would read these as `vscode:icons-file-type-*` - expect(names).toContain('vscode-icons:file-type-npm') - expect(names).toContain('vscode-icons:file-type-pnpm') - expect(names).toContain('vscode-icons:file-type-bun') - expect(names).toContain('lucide:terminal') - expect(names).toHaveLength(new Set(Object.values(codeIcon)).size) - }) - it('ignores values that are not icon names', () => { const names = getClientBundleIcons({ a: '', b: 'i-', c: 'i-lucide-' })