diff --git a/package.json b/package.json index cd33665041..5f0c1da65e 100644 --- a/package.json +++ b/package.json @@ -117,8 +117,8 @@ "@internationalized/number": "^3.6.5", "@nuxt/fonts": "^0.11.4", "@nuxt/icon": "^2.0.0", - "@nuxt/kit": "^4.0.3", - "@nuxt/schema": "^4.0.3", + "@nuxt/kit": "^4.1.1", + "@nuxt/schema": "^4.1.1", "@nuxtjs/color-mode": "^3.5.2", "@standard-schema/spec": "^1.0.0", "@tailwindcss/postcss": "^4.1.13", @@ -208,6 +208,8 @@ }, "resolutions": { "@nuxt/ui": "workspace:*", + "@nuxt/schema": "^4.1.1", + "@nuxt/kit": "^4.1.1", "@nuxt/module-builder": "1.0.1", "chokidar": "3.6.0", "debug": "4.3.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93af274b0d..d81c62f9ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,8 @@ settings: overrides: '@nuxt/ui': workspace:* + '@nuxt/schema': ^4.1.1 + '@nuxt/kit': ^4.1.1 '@nuxt/module-builder': 1.0.1 chokidar: 3.6.0 debug: 4.3.7 @@ -39,11 +41,11 @@ importers: specifier: ^2.0.0 version: 2.0.0(magicast@0.3.5)(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.21(typescript@5.8.3)) '@nuxt/kit': - specifier: ^4.0.3 - version: 4.0.3(magicast@0.3.5) + specifier: ^4.1.1 + version: 4.1.1(magicast@0.3.5) '@nuxt/schema': - specifier: ^4.0.3 - version: 4.0.3 + specifier: ^4.1.1 + version: 4.1.1 '@nuxtjs/color-mode': specifier: ^3.5.2 version: 3.5.2(magicast@0.3.5) @@ -154,10 +156,10 @@ importers: version: 2.3.10 unplugin-auto-import: specifier: ^20.1.0 - version: 20.1.0(@nuxt/kit@4.0.3(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.8.3))) + version: 20.1.0(@nuxt/kit@4.1.1(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.8.3))) unplugin-vue-components: specifier: ^29.0.0 - version: 29.0.0(@babel/parser@7.28.3)(@nuxt/kit@4.0.3(magicast@0.3.5))(vue@3.5.21(typescript@5.8.3)) + version: 29.0.0(@babel/parser@7.28.3)(@nuxt/kit@4.1.1(magicast@0.3.5))(vue@3.5.21(typescript@5.8.3)) valibot: specifier: ^1.0.0 version: 1.1.0(typescript@5.8.3) @@ -1386,12 +1388,8 @@ packages: resolution: {integrity: sha512-4kzhvb2tJfxMsa/JZeYn1sMiGbx2J/S6BQrQSdXNsHgSvywGVkFhTiQGjoP6O49EsXyAouJrer47hMeBcTcfXQ==} engines: {node: '>=18.20.6'} - '@nuxt/kit@3.18.1': - resolution: {integrity: sha512-z6w1Fzv27CIKFlhct05rndkJSfoslplWH5fJ9dtusEvpYScLXp5cATWIbWkte9e9zFSmQTgDQJjNs3geQHE7og==} - engines: {node: '>=18.12.0'} - - '@nuxt/kit@4.0.3': - resolution: {integrity: sha512-9+lwvP4n8KhO91azoebO0o39smESGzEV4HU6nef9HIFyt04YwlVMY37Pk63GgZn0WhWVjyPWcQWs0rUdZUYcPw==} + '@nuxt/kit@4.1.1': + resolution: {integrity: sha512-2MGfOXtbcxdkbUNZDjyEv4xmokicZhTrQBMrmNJQztrePfpKOVBe8AiGf/BfbHelXMKio5PgktiRoiEIyIsX4g==} engines: {node: '>=18.12.0'} '@nuxt/module-builder@1.0.1': @@ -1402,8 +1400,8 @@ packages: '@nuxt/cli': ^3.24.1 typescript: 5.8.3 - '@nuxt/schema@4.0.3': - resolution: {integrity: sha512-acDigyy8tF8xDCMFee00mt5u2kE5Qx5Y34ButBlibLzhguQjc+6f6FpMGdieN07oahjpegWIQG66yQywjw+sKw==} + '@nuxt/schema@4.1.1': + resolution: {integrity: sha512-s4ELQEw6er4kop4e9HkTZ2ByVEvOGic9YJmesr2QI3O+q01CLSZE6aepbRLsq1Hz6bbfq/UrFw8MLuHs7l03aA==} engines: {node: ^14.18.0 || >=16.10.0} '@nuxt/telemetry@2.6.6': @@ -7190,7 +7188,7 @@ packages: resolution: {integrity: sha512-Wa7/y3DwpbxhjyXCbuliuATCPa0/e47tstWkytJGAr55ooSNwIvbkrq0rlduqYGiCNMsZcD+C6vsN+W3AX96eA==} engines: {node: '>=14'} peerDependencies: - '@nuxt/kit': ^4.0.0 + '@nuxt/kit': ^4.1.1 '@vueuse/core': '*' peerDependenciesMeta: '@nuxt/kit': @@ -7211,7 +7209,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 - '@nuxt/kit': ^3.2.2 || ^4.0.0 + '@nuxt/kit': ^4.1.1 vue: 2 || 3 peerDependenciesMeta: '@babel/parser': @@ -8742,7 +8740,7 @@ snapshots: '@nuxt/content@3.6.3(better-sqlite3@12.2.0)(magicast@0.3.5)(vue-component-type-helpers@3.0.6)': dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) '@nuxtjs/mdc': 0.17.0(magicast@0.3.5) '@shikijs/langs': 3.7.0 '@sqlite.org/sqlite-wasm': 3.50.1-build1 @@ -8802,7 +8800,7 @@ snapshots: '@nuxt/devtools-kit@2.6.2(magicast@0.3.5)(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))': dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) execa: 8.0.1 vite: 7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0) transitivePeerDependencies: @@ -8823,7 +8821,7 @@ snapshots: dependencies: '@nuxt/devtools-kit': 2.6.2(magicast@0.3.5)(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) '@nuxt/devtools-wizard': 2.6.2 - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) '@vue/devtools-core': 7.7.7(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.21(typescript@5.8.3)) '@vue/devtools-kit': 7.7.7 birpc: 2.4.0 @@ -8850,7 +8848,7 @@ snapshots: structured-clone-es: 1.0.0 tinyglobby: 0.2.15 vite: 7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0) - vite-plugin-inspect: 11.3.0(@nuxt/kit@3.18.1(magicast@0.3.5))(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) + vite-plugin-inspect: 11.3.0(@nuxt/kit@4.1.1(magicast@0.3.5))(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) vite-plugin-vue-tracer: 1.0.0(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.21(typescript@5.8.3)) which: 5.0.0 ws: 8.18.3 @@ -8903,7 +8901,7 @@ snapshots: '@nuxt/fonts@0.11.4(@netlify/blobs@9.1.2)(db0@0.3.2(better-sqlite3@12.2.0))(ioredis@5.6.1)(magicast@0.3.5)(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))': dependencies: '@nuxt/devtools-kit': 2.6.2(magicast@0.3.5)(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) consola: 3.4.2 css-tree: 3.1.0 defu: 6.1.4 @@ -8952,7 +8950,7 @@ snapshots: '@iconify/utils': 3.0.1 '@iconify/vue': 5.0.0(vue@3.5.21(typescript@5.8.3)) '@nuxt/devtools-kit': 2.6.2(magicast@0.3.5)(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) - '@nuxt/kit': 4.0.3(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) consola: 3.4.2 local-pkg: 1.1.2 mlly: 1.8.0 @@ -8969,7 +8967,7 @@ snapshots: '@nuxt/image@1.11.0(@netlify/blobs@9.1.2)(db0@0.3.2(better-sqlite3@12.2.0))(ioredis@5.6.1)(magicast@0.3.5)': dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) consola: 3.4.2 defu: 6.1.4 h3: 1.15.4 @@ -9003,34 +9001,7 @@ snapshots: - magicast - uploadthing - '@nuxt/kit@3.18.1(magicast@0.3.5)': - dependencies: - c12: 3.2.0(magicast@0.3.5) - consola: 3.4.2 - defu: 6.1.4 - destr: 2.0.5 - errx: 0.1.0 - exsolve: 1.0.7 - ignore: 7.0.5 - jiti: 2.5.1 - klona: 2.0.6 - knitwork: 1.2.0 - mlly: 1.8.0 - ohash: 2.0.11 - pathe: 2.0.3 - pkg-types: 2.3.0 - scule: 1.3.0 - semver: 7.7.2 - std-env: 3.9.0 - tinyglobby: 0.2.15 - ufo: 1.6.1 - unctx: 2.4.1 - unimport: 4.1.1 - untyped: 2.0.0 - transitivePeerDependencies: - - magicast - - '@nuxt/kit@4.0.3(magicast@0.3.5)': + '@nuxt/kit@4.1.1(magicast@0.3.5)': dependencies: c12: 3.2.0(magicast@0.3.5) consola: 3.4.2 @@ -9045,6 +9016,7 @@ snapshots: ohash: 2.0.11 pathe: 2.0.3 pkg-types: 2.3.0 + rc9: 2.1.2 scule: 1.3.0 semver: 7.7.2 std-env: 3.9.0 @@ -9079,7 +9051,7 @@ snapshots: - vue - vue-tsc - '@nuxt/schema@4.0.3': + '@nuxt/schema@4.1.1': dependencies: '@vue/shared': 3.5.21 consola: 3.4.2 @@ -9090,7 +9062,7 @@ snapshots: '@nuxt/telemetry@2.6.6(magicast@0.3.5)': dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) citty: 0.1.6 consola: 3.4.2 destr: 2.0.5 @@ -9107,7 +9079,7 @@ snapshots: '@nuxt/test-utils@3.19.2(@vue/test-utils@2.4.6)(happy-dom@18.0.1)(magicast@0.3.5)(playwright-core@1.53.2)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.7)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))': dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) c12: 3.2.0(magicast@0.3.5) consola: 3.4.2 defu: 6.1.4 @@ -9142,7 +9114,7 @@ snapshots: '@nuxt/vite-builder@4.0.3(@types/node@24.0.7)(eslint@9.35.0(jiti@2.5.1))(lightningcss@1.30.1)(magicast@0.3.5)(meow@13.2.0)(optionator@0.9.4)(rollup@4.49.0)(terser@5.43.1)(typescript@5.8.3)(vue-tsc@3.0.6(typescript@5.8.3))(vue@3.5.21(typescript@5.8.3))(yaml@2.8.0)': dependencies: - '@nuxt/kit': 4.0.3(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) '@rollup/plugin-replace': 6.0.2(rollup@4.49.0) '@vitejs/plugin-vue': 6.0.1(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.21(typescript@5.8.3)) '@vitejs/plugin-vue-jsx': 5.0.1(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.21(typescript@5.8.3)) @@ -9199,7 +9171,7 @@ snapshots: '@nuxtjs/color-mode@3.5.2(magicast@0.3.5)': dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) pathe: 1.1.2 pkg-types: 1.3.1 semver: 7.7.2 @@ -9208,7 +9180,7 @@ snapshots: '@nuxtjs/mdc@0.17.0(magicast@0.3.5)': dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) '@shikijs/langs': 3.7.0 '@shikijs/themes': 3.7.0 '@shikijs/transformers': 3.7.0 @@ -9257,7 +9229,7 @@ snapshots: '@nuxtjs/plausible@2.0.1(magicast@0.3.5)': dependencies: '@barbapapazes/plausible-tracker': 0.5.6 - '@nuxt/kit': 4.0.3(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) defu: 6.1.4 ufo: 1.6.1 transitivePeerDependencies: @@ -10610,7 +10582,7 @@ snapshots: '@vueuse/nuxt@13.9.0(magicast@0.3.5)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.21)(better-sqlite3@12.2.0)(db0@0.3.2(better-sqlite3@12.2.0))(eslint@9.35.0(jiti@2.5.1))(ioredis@5.6.1)(lightningcss@1.30.1)(magicast@0.3.5)(meow@13.2.0)(optionator@0.9.4)(rollup@4.49.0)(terser@5.43.1)(typescript@5.8.3)(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-tsc@3.0.6(typescript@5.8.3))(yaml@2.8.0))(vue@3.5.21(typescript@5.8.3))': dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.8.3)) '@vueuse/metadata': 13.9.0 local-pkg: 1.1.2 @@ -13776,7 +13748,7 @@ snapshots: nuxt-component-meta@0.12.1(magicast@0.3.5)(vue-component-type-helpers@3.0.6): dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) citty: 0.1.6 mlly: 1.8.0 ohash: 2.0.11 @@ -13790,7 +13762,7 @@ snapshots: nuxt-component-meta@0.13.1(magicast@0.3.5)(vue-component-type-helpers@3.0.6): dependencies: - '@nuxt/kit': 4.0.3(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) citty: 0.1.6 json-schema-to-zod: 2.6.1 mlly: 1.8.0 @@ -13805,14 +13777,14 @@ snapshots: nuxt-llms@0.1.3(magicast@0.3.5): dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) transitivePeerDependencies: - magicast nuxt-og-image@5.1.9(@unhead/vue@2.0.14(vue@3.5.21(typescript@5.8.3)))(magicast@0.3.5)(unstorage@1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2(better-sqlite3@12.2.0))(ioredis@5.6.1))(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.21(typescript@5.8.3)): dependencies: '@nuxt/devtools-kit': 2.6.2(magicast@0.3.5)(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) '@resvg/resvg-js': 2.6.2 '@resvg/resvg-wasm': 2.6.2 '@unhead/vue': 2.0.14(vue@3.5.21(typescript@5.8.3)) @@ -13851,7 +13823,7 @@ snapshots: nuxt-site-config-kit@3.2.2(magicast@0.3.5)(vue@3.5.21(typescript@5.8.3)): dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) pkg-types: 2.3.0 site-config-stack: 3.2.2(vue@3.5.21(typescript@5.8.3)) std-env: 3.9.0 @@ -13862,7 +13834,7 @@ snapshots: nuxt-site-config@3.2.2(magicast@0.3.5)(vue@3.5.21(typescript@5.8.3)): dependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) nuxt-site-config-kit: 3.2.2(magicast@0.3.5)(vue@3.5.21(typescript@5.8.3)) pathe: 2.0.3 pkg-types: 2.3.0 @@ -13878,8 +13850,8 @@ snapshots: '@nuxt/cli': 3.27.0(magicast@0.3.5) '@nuxt/devalue': 2.0.2 '@nuxt/devtools': 2.6.2(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.21(typescript@5.8.3)) - '@nuxt/kit': 4.0.3(magicast@0.3.5) - '@nuxt/schema': 4.0.3 + '@nuxt/kit': 4.1.1(magicast@0.3.5) + '@nuxt/schema': 4.1.1 '@nuxt/telemetry': 2.6.6(magicast@0.3.5) '@nuxt/vite-builder': 4.0.3(@types/node@24.0.7)(eslint@9.35.0(jiti@2.5.1))(lightningcss@1.30.1)(magicast@0.3.5)(meow@13.2.0)(optionator@0.9.4)(rollup@4.49.0)(terser@5.43.1)(typescript@5.8.3)(vue-tsc@3.0.6(typescript@5.8.3))(vue@3.5.21(typescript@5.8.3))(yaml@2.8.0) '@unhead/vue': 2.0.14(vue@3.5.21(typescript@5.8.3)) @@ -15703,7 +15675,7 @@ snapshots: dependencies: normalize-path: 2.1.1 - unplugin-auto-import@20.1.0(@nuxt/kit@4.0.3(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.8.3))): + unplugin-auto-import@20.1.0(@nuxt/kit@4.1.1(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.8.3))): dependencies: local-pkg: 1.1.2 magic-string: 0.30.18 @@ -15712,7 +15684,7 @@ snapshots: unplugin: 2.3.10 unplugin-utils: 0.3.0 optionalDependencies: - '@nuxt/kit': 4.0.3(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.8.3)) unplugin-utils@0.2.4: @@ -15725,7 +15697,7 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.3 - unplugin-vue-components@29.0.0(@babel/parser@7.28.3)(@nuxt/kit@4.0.3(magicast@0.3.5))(vue@3.5.21(typescript@5.8.3)): + unplugin-vue-components@29.0.0(@babel/parser@7.28.3)(@nuxt/kit@4.1.1(magicast@0.3.5))(vue@3.5.21(typescript@5.8.3)): dependencies: chokidar: 3.6.0 debug: 4.3.7 @@ -15738,7 +15710,7 @@ snapshots: vue: 3.5.21(typescript@5.8.3) optionalDependencies: '@babel/parser': 7.28.3 - '@nuxt/kit': 4.0.3(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) transitivePeerDependencies: - supports-color @@ -15940,7 +15912,7 @@ snapshots: typescript: 5.8.3 vue-tsc: 3.0.6(typescript@5.8.3) - vite-plugin-inspect@11.3.0(@nuxt/kit@3.18.1(magicast@0.3.5))(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)): + vite-plugin-inspect@11.3.0(@nuxt/kit@4.1.1(magicast@0.3.5))(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)): dependencies: ansis: 4.1.0 debug: 4.3.7 @@ -15953,7 +15925,7 @@ snapshots: vite: 7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0) vite-dev-rpc: 1.1.0(vite@7.0.6(@types/node@24.0.7)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) optionalDependencies: - '@nuxt/kit': 3.18.1(magicast@0.3.5) + '@nuxt/kit': 4.1.1(magicast@0.3.5) transitivePeerDependencies: - supports-color diff --git a/src/module.ts b/src/module.ts index 5426cf8c94..1aaf879cae 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,6 +1,6 @@ import { defu } from 'defu' -import { createResolver, defineNuxtModule, addComponentsDir, addImportsDir, addVitePlugin, addPlugin, installModule, hasNuxtModule } from '@nuxt/kit' -import type { HookResult } from '@nuxt/schema' +import { createResolver, defineNuxtModule, addComponentsDir, addImportsDir, addPlugin, hasNuxtModule, addVitePlugin } from '@nuxt/kit' +import type { HookResult, ModuleDependencies } from '@nuxt/schema' import { addTemplates } from './templates' import { defaultOptions, getDefaultUiConfig, resolveColors } from './defaults' import { name, version } from '../package.json' @@ -93,10 +93,76 @@ export default defineNuxtModule({ docs: 'https://ui.nuxt.com/docs/getting-started/installation/nuxt', configKey: 'ui', compatibility: { - nuxt: '>=4.0.0' + nuxt: '>=4.1.0' } }, defaults: defaultOptions, + moduleDependencies(nuxt): ModuleDependencies { + const userUiOptions = nuxt.options.ui || {} + return { + '@nuxt/icon': { + defaults: { + cssLayer: 'components' + } + }, + ...userUiOptions.fonts !== false && { + '@nuxt/fonts': { + defaults: { + defaults: { + weights: [400, 500, 600, 700] + } + } + } + }, + ...userUiOptions.colorMode !== false && { + '@nuxtjs/color-mode': { + defaults: { + classSuffix: '', + disableTransition: true + } + } + }, + '@nuxtjs/mdc': { + optional: true, + defaults: { + highlight: { + theme: { + light: 'material-theme-lighter', + default: 'material-theme', + dark: 'material-theme-palenight' + } + }, + components: { + map: { + 'accordion': 'ProseAccordion', + 'accordion-item': 'ProseAccordionItem', + 'badge': 'ProseBadge', + 'callout': 'ProseCallout', + 'card': 'ProseCard', + 'card-group': 'ProseCardGroup', + 'caution': 'ProseCaution', + 'code-collapse': 'ProseCodeCollapse', + 'code-group': 'ProseCodeGroup', + 'code-icon': 'ProseCodeIcon', + 'code-preview': 'ProseCodePreview', + 'code-tree': 'ProseCodeTree', + 'collapsible': 'ProseCollapsible', + 'field': 'ProseField', + 'field-group': 'ProseFieldGroup', + 'icon': 'ProseIcon', + 'kbd': 'ProseKbd', + 'note': 'ProseNote', + 'steps': 'ProseSteps', + 'tabs': 'ProseTabs', + 'tabs-item': 'ProseTabsItem', + 'tip': 'ProseTip', + 'warning': 'ProseWarning' + } + } + } + } + } + }, async setup(options, nuxt) { const { resolve } = createResolver(import.meta.url) @@ -120,71 +186,9 @@ export default defineNuxtModule({ nuxt.options.postcss.plugins['@tailwindcss/postcss'] = {} } - async function registerModule(name: string, key: string, options: Record) { - if (!hasNuxtModule(name)) { - await installModule(name, defu((nuxt.options as any)[key], options)) - } else { - (nuxt.options as any)[key] = defu((nuxt.options as any)[key], options) - } - } - - await registerModule('@nuxt/icon', 'icon', { - cssLayer: 'components' - }) - if (options.fonts) { - await registerModule('@nuxt/fonts', 'fonts', { - defaults: { - weights: [400, 500, 600, 700] - } - }) - } - if (options.colorMode) { - await registerModule('@nuxtjs/color-mode', 'colorMode', { - classSuffix: '', - disableTransition: true - }) - } - addPlugin({ src: resolve('./runtime/plugins/colors') }) if ((hasNuxtModule('@nuxtjs/mdc') || options.mdc) || (hasNuxtModule('@nuxt/content') || options.content)) { - nuxt.options.mdc = defu(nuxt.options.mdc, { - highlight: { - theme: { - light: 'material-theme-lighter', - default: 'material-theme', - dark: 'material-theme-palenight' - } - }, - components: { - map: { - 'accordion': 'ProseAccordion', - 'accordion-item': 'ProseAccordionItem', - 'badge': 'ProseBadge', - 'callout': 'ProseCallout', - 'card': 'ProseCard', - 'card-group': 'ProseCardGroup', - 'caution': 'ProseCaution', - 'code-collapse': 'ProseCodeCollapse', - 'code-group': 'ProseCodeGroup', - 'code-icon': 'ProseCodeIcon', - 'code-preview': 'ProseCodePreview', - 'code-tree': 'ProseCodeTree', - 'collapsible': 'ProseCollapsible', - 'field': 'ProseField', - 'field-group': 'ProseFieldGroup', - 'icon': 'ProseIcon', - 'kbd': 'ProseKbd', - 'note': 'ProseNote', - 'steps': 'ProseSteps', - 'tabs': 'ProseTabs', - 'tabs-item': 'ProseTabsItem', - 'tip': 'ProseTip', - 'warning': 'ProseWarning' - } - } - }) - addComponentsDir({ path: resolve('./runtime/components/prose'), pathPrefix: false,