@nuxt/schema-nightly 4.3.0-29356103.2f7957ac → 4.3.0-29430576.f48ea4c8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
- [![Nuxt banner](https://github.com/nuxt/nuxt/tree/main/.github/assets/banner.svg)](https://nuxt.com)
1
+ [![Nuxt banner](https://github.com/nuxt/nuxt/blob/main/.github/assets/banner.svg)](https://nuxt.com)
2
2
 
3
3
  # Nuxt
4
4
 
5
5
  <p>
6
6
  <a href="https://www.npmjs.com/package/nuxt"><img src="https://img.shields.io/npm/v/nuxt.svg?style=flat&colorA=18181B&colorB=28CF8D" alt="Version"></a>
7
7
  <a href="https://www.npmjs.com/package/nuxt"><img src="https://img.shields.io/npm/dm/nuxt.svg?style=flat&colorA=18181B&colorB=28CF8D" alt="Downloads"></a>
8
- <a href="https://github.com/nuxt/nuxt/tree/main/LICENSE"><img src="https://img.shields.io/github/license/nuxt/nuxt.svg?style=flat&colorA=18181B&colorB=28CF8D" alt="License"></a>
8
+ <a href="https://github.com/nuxt/nuxt/blob/main/LICENSE"><img src="https://img.shields.io/github/license/nuxt/nuxt.svg?style=flat&colorA=18181B&colorB=28CF8D" alt="License"></a>
9
9
  <a href="https://nuxt.com"><img src="https://img.shields.io/badge/Nuxt%20Docs-18181B?logo=nuxt" alt="Website"></a>
10
10
  <a href="https://chat.nuxt.dev"><img src="https://img.shields.io/badge/Nuxt%20Discord-18181B?logo=discord" alt="Discord"></a>
11
11
  <a href="https://securityscorecards.dev/"><img src="https://api.securityscorecards.dev/projects/github.com/nuxt/nuxt/badge" alt="Nuxt openssf scorecard score"></a>
@@ -14,13 +14,13 @@
14
14
  Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.
15
15
 
16
16
  It provides a number of features that make it easy to build fast, SEO-friendly, and scalable web applications, including:
17
- - Server-side rendering, Static Site Generation, Hybrid Rendering and Edge-Side Rendering
17
+ - Server-side rendering, static site generation, hybrid rendering and edge-side rendering
18
18
  - Automatic routing with code-splitting and pre-fetching
19
19
  - Data fetching and state management
20
- - SEO Optimization and Meta tags definition
20
+ - Search engine optimization and defining meta tags
21
21
  - Auto imports of components, composables and utils
22
22
  - TypeScript with zero configuration
23
- - Go fullstack with our server/ directory
23
+ - Go full-stack with our server/ directory
24
24
  - Extensible with [200+ modules](https://nuxt.com/modules)
25
25
  - Deployment to a variety of [hosting platforms](https://nuxt.com/deploy)
26
26
  - ...[and much more](https://nuxt.com) 🚀
@@ -31,7 +31,7 @@ It provides a number of features that make it easy to build fast, SEO-friendly,
31
31
  - 💻 [ Vue Development](#vue-development)
32
32
  - 📖 [Documentation](#documentation)
33
33
  - 🧩 [Modules](#modules)
34
- - ❤️ [Contribute](#contribute)
34
+ - ❤️ [Contribute](#contribute)
35
35
  - 🏠 [Local Development](#local-development)
36
36
  - 🛟 [Professional Support](#professional-support)
37
37
  - 🔗 [Follow Us](#follow-us)
@@ -109,9 +109,9 @@ Follow the docs to [Set Up Your Local Development Environment](https://nuxt.com/
109
109
  ## <a name="follow-us">🔗 Follow Us</a>
110
110
 
111
111
  <p valign="center">
112
- <a href="https://go.nuxt.com/discord"><img width="20px" src="https://github.com/nuxt/nuxt/tree/main/.github/assets/discord.svg" alt="Discord"></a>&nbsp;&nbsp;<a href="https://go.nuxt.com/x"><img width="20px" src="https://github.com/nuxt/nuxt/tree/main/.github/assets/twitter.svg" alt="Twitter"></a>&nbsp;&nbsp;<a href="https://go.nuxt.com/github"><img width="20px" src="https://github.com/nuxt/nuxt/tree/main/.github/assets/github.svg" alt="GitHub"></a>&nbsp;&nbsp;<a href="https://go.nuxt.com/bluesky"><img width="20px" src="https://github.com/nuxt/nuxt/tree/main/.github/assets/bluesky.svg" alt="Bluesky"></a>
112
+ <a href="https://go.nuxt.com/discord"><img width="20px" src="https://github.com/nuxt/nuxt/blob/main/.github/assets/discord.svg" alt="Discord"></a>&nbsp;&nbsp;<a href="https://go.nuxt.com/x"><img width="20px" src="https://github.com/nuxt/nuxt/blob/main/.github/assets/twitter.svg" alt="Twitter"></a>&nbsp;&nbsp;<a href="https://go.nuxt.com/github"><img width="20px" src="https://github.com/nuxt/nuxt/blob/main/.github/assets/github.svg" alt="GitHub"></a>&nbsp;&nbsp;<a href="https://go.nuxt.com/bluesky"><img width="20px" src="https://github.com/nuxt/nuxt/blob/main/.github/assets/bluesky.svg" alt="Bluesky"></a>
113
113
  </p>
114
114
 
115
115
  ## <a name="license">⚖️ License</a>
116
116
 
117
- [MIT](https://github.com/nuxt/nuxt/tree/main/LICENSE)
117
+ [MIT](https://github.com/nuxt/nuxt/blob/main/LICENSE)
@@ -79,7 +79,7 @@ interface ImportGlobEagerFunction {
79
79
  <M>(glob: string | string[], options?: Omit<ImportGlobOptions<boolean, string>, 'eager'>): Record<string, M>;
80
80
  }
81
81
  interface ViteImportMeta {
82
- /** Vite client HMR API - see https://vite.dev/guide/api-hmr.html */
82
+ /** Vite client HMR API - see https://vite.dev/guide/api-hmr */
83
83
  readonly hot?: ViteHot;
84
84
  /** vite glob import utility - https://vite.dev/guide/features.html#glob-import */
85
85
  glob: ImportGlobFunction;
@@ -292,6 +292,6 @@ declare global {
292
292
  }
293
293
  }
294
294
 
295
- declare const builders: string[];
295
+ declare const builders: readonly ["vite", "webpack"];
296
296
 
297
297
  export { builders };
@@ -79,7 +79,7 @@ interface ImportGlobEagerFunction {
79
79
  <M>(glob: string | string[], options?: Omit<ImportGlobOptions<boolean, string>, 'eager'>): Record<string, M>;
80
80
  }
81
81
  interface ViteImportMeta {
82
- /** Vite client HMR API - see https://vite.dev/guide/api-hmr.html */
82
+ /** Vite client HMR API - see https://vite.dev/guide/api-hmr */
83
83
  readonly hot?: ViteHot;
84
84
  /** vite glob import utility - https://vite.dev/guide/features.html#glob-import */
85
85
  glob: ImportGlobFunction;
@@ -292,6 +292,6 @@ declare global {
292
292
  }
293
293
  }
294
294
 
295
- declare const builders: string[];
295
+ declare const builders: readonly ["vite", "webpack"];
296
296
 
297
297
  export { builders };
package/dist/index.d.mts CHANGED
@@ -409,6 +409,14 @@ interface Nuxt {
409
409
  _debug?: NuxtDebugContext;
410
410
  /** Async local storage for current running Nuxt module instance. */
411
411
  _asyncLocalStorageModule?: AsyncLocalStorage<NuxtModule>;
412
+ /**
413
+ * Module options functions collected from moduleDependencies.
414
+ * @internal
415
+ */
416
+ _moduleOptionsFunctions?: Map<string | NuxtModule, Array<() => {
417
+ defaults?: Record<string, unknown>;
418
+ overrides?: Record<string, unknown>;
419
+ }>>;
412
420
  /** The resolved Nuxt configuration. */
413
421
  options: NuxtOptions;
414
422
  hooks: Hookable<NuxtHooks>;
@@ -467,6 +475,9 @@ type NuxtLayout = {
467
475
  name: string;
468
476
  file: string;
469
477
  };
478
+ /**
479
+ * @deprecated Use {@link InlinePreset}
480
+ */
470
481
  interface ImportPresetWithDeprecation extends InlinePreset {
471
482
  }
472
483
  interface GenerateAppOptions {
@@ -537,7 +548,7 @@ interface NuxtHooks {
537
548
  */
538
549
  'app:templates': (app: NuxtApp) => HookResult;
539
550
  /**
540
- * Called after templates are compiled into the [virtual file system](https://nuxt.com/docs/4.x/guide/directory-structure/nuxt) (vfs).
551
+ * Called after templates are compiled into the [virtual file system](https://nuxt.com/docs/4.x/directory-structure/nuxt) (vfs).
541
552
  * @param app The configured `NuxtApp` object
542
553
  * @returns Promise
543
554
  */
@@ -617,7 +628,7 @@ interface NuxtHooks {
617
628
  * @param presets Array containing presets objects
618
629
  * @returns Promise
619
630
  */
620
- 'imports:sources': (presets: ImportPresetWithDeprecation[]) => HookResult;
631
+ 'imports:sources': (presets: InlinePreset[]) => HookResult;
621
632
  /**
622
633
  * Called at setup allowing modules to extend imports.
623
634
  * @param imports Array containing the imports to extend
@@ -917,7 +928,7 @@ interface ImportsOptions extends UnimportOptions {
917
928
  autoImport?: boolean;
918
929
  /**
919
930
  * Directories to scan for auto imports.
920
- * @see https://nuxt.com/docs/4.x/guide/directory-structure/composables#how-files-are-scanned
931
+ * @see https://nuxt.com/docs/4.x/directory-structure/app/composables#how-files-are-scanned
921
932
  */
922
933
  dirs?: string[];
923
934
  /**
@@ -945,13 +956,13 @@ interface ConfigSchema {
945
956
  *
946
957
  * Any components in the directories configured here can be used throughout your pages, layouts (and other components) without needing to explicitly import them.
947
958
  *
948
- * @see [`components/` directory documentation](https://nuxt.com/docs/4.x/guide/directory-structure/components)
959
+ * @see [`components/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/app/components)
949
960
  */
950
961
  components: boolean | ComponentsOptions | ComponentsOptions['dirs'];
951
962
  /**
952
963
  * Configure how Nuxt auto-imports composables into your application.
953
964
  *
954
- * @see [Nuxt documentation](https://nuxt.com/docs/4.x/guide/directory-structure/composables)
965
+ * @see [Nuxt documentation](https://nuxt.com/docs/4.x/directory-structure/app/composables)
955
966
  */
956
967
  imports: ImportsOptions;
957
968
  /**
@@ -995,7 +1006,7 @@ interface ConfigSchema {
995
1006
  /**
996
1007
  * Options for the Vue compiler that will be passed at build time.
997
1008
  *
998
- * @see [Vue documentation](https://vuejs.org/api/application.html#app-config-compileroptions)
1009
+ * @see [Vue documentation](https://vuejs.org/api/application#app-config-compileroptions)
999
1010
  */
1000
1011
  compilerOptions: CompilerOptions;
1001
1012
  /**
@@ -1007,9 +1018,9 @@ interface ConfigSchema {
1007
1018
  */
1008
1019
  propsDestructure: boolean;
1009
1020
  /**
1010
- * It is possible to pass configure the Vue app globally. Only serializable options may be set in your `nuxt.config`. All other options should be set at runtime in a Nuxt plugin..
1021
+ * It is possible to pass configure the Vue app globally. Only serializable options may be set in your `nuxt.config`. All other options should be set at runtime in a Nuxt plugin.
1011
1022
  *
1012
- * @see [Vue app config documentation](https://vuejs.org/api/application.html#app-config)
1023
+ * @see [Vue app config documentation](https://vuejs.org/api/application#app-config)
1013
1024
  */
1014
1025
  config: Serializable<AppConfig$1>;
1015
1026
  };
@@ -1104,7 +1115,7 @@ interface ConfigSchema {
1104
1115
  *
1105
1116
  * This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.
1106
1117
  *
1107
- * @see [Vue Transition docs](https://vuejs.org/api/built-in-components.html#transition)
1118
+ * @see [Vue Transition docs](https://vuejs.org/api/built-in-components#transition)
1108
1119
  */
1109
1120
  layoutTransition: NuxtAppConfig['layoutTransition'];
1110
1121
  /**
@@ -1112,7 +1123,7 @@ interface ConfigSchema {
1112
1123
  *
1113
1124
  * This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.
1114
1125
  *
1115
- * @see [Vue Transition docs](https://vuejs.org/api/built-in-components.html#transition)
1126
+ * @see [Vue Transition docs](https://vuejs.org/api/built-in-components#transition)
1116
1127
  */
1117
1128
  pageTransition: NuxtAppConfig['pageTransition'];
1118
1129
  /**
@@ -1129,7 +1140,7 @@ interface ConfigSchema {
1129
1140
  *
1130
1141
  * This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.
1131
1142
  *
1132
- * @see [Vue KeepAlive](https://vuejs.org/api/built-in-components.html#keepalive)
1143
+ * @see [Vue KeepAlive](https://vuejs.org/api/built-in-components#keepalive)
1133
1144
  */
1134
1145
  keepalive: NuxtAppConfig['keepalive'];
1135
1146
  /**
@@ -1231,7 +1242,7 @@ interface ConfigSchema {
1231
1242
  * and these plugins do not need to be listed in `nuxt.config` unless you
1232
1243
  * need to customize their order. All plugins are deduplicated by their src path.
1233
1244
  *
1234
- * @see [`plugins/` directory documentation](https://nuxt.com/docs/4.x/guide/directory-structure/plugins)
1245
+ * @see [`plugins/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/app/plugins)
1235
1246
  *
1236
1247
  * @example
1237
1248
  * ```js
@@ -1358,7 +1369,7 @@ interface ConfigSchema {
1358
1369
  /**
1359
1370
  * Nuxt allows visualizing your bundles and how to optimize them.
1360
1371
  *
1361
- * Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack-contrib/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).
1372
+ * Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).
1362
1373
  *
1363
1374
  * @example
1364
1375
  * ```js
@@ -1722,7 +1733,7 @@ interface ConfigSchema {
1722
1733
  /**
1723
1734
  * Options to pass directly to `chokidar`.
1724
1735
  *
1725
- * @see [chokidar](https://github.com/paulmillr/chokidar#api)
1736
+ * @see [chokidar](https://github.com/paulmillr/chokidar)
1726
1737
  */
1727
1738
  chokidar: ChokidarOptions;
1728
1739
  };
@@ -2136,7 +2147,7 @@ interface ConfigSchema {
2136
2147
  * for Nuxt projects.
2137
2148
  *
2138
2149
  * @default true
2139
- * @see [Chrome DevTools Project Settings](https://docs.google.com/document/d/1rfKPnxsNuXhnF7AiQZhu9kIwdiMS5hnAI05HBwFuBSM)
2150
+ * @see [Chrome DevTools Project Settings](https://docs.google.com/document/d/1rfKPnxsNuXhnF7AiQZhu9kIwdiMS5hnAI05HBwFuBSM/edit)
2140
2151
  */
2141
2152
  chromeDevtoolsProjectSettings: boolean;
2142
2153
  /**
@@ -2343,7 +2354,7 @@ interface ConfigSchema {
2343
2354
  * Each handler accepts the following options:
2344
2355
  * - handler: The path to the file defining the handler. - route: The route under which the handler is available. This follows the conventions of [rou3](https://github.com/h3js/rou3). - method: The HTTP method of requests that should be handled. - middleware: Specifies whether it is a middleware handler. - lazy: Specifies whether to use lazy loading to import the handler.
2345
2356
  *
2346
- * @see [`server/` directory documentation](https://nuxt.com/docs/4.x/guide/directory-structure/server)
2357
+ * @see [`server/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/server)
2347
2358
  *
2348
2359
  * @note Files from `server/api`, `server/middleware` and `server/routes` will be automatically registered by Nuxt.
2349
2360
  *
@@ -2383,7 +2394,7 @@ interface ConfigSchema {
2383
2394
  * @note Only JSON serializable options should be passed by Nuxt config.
2384
2395
  * For more control, you can use `app/router.options.ts` file.
2385
2396
  *
2386
- * @see [Vue Router documentation](https://router.vuejs.org/api/interfaces/routeroptions.html).
2397
+ * @see [Vue Router documentation](https://router.vuejs.org/api/interfaces/routeroptions)
2387
2398
  */
2388
2399
  options: RouterConfigSerializable;
2389
2400
  };
@@ -2455,7 +2466,7 @@ interface ConfigSchema {
2455
2466
  /**
2456
2467
  * Configuration that will be passed directly to Vite.
2457
2468
  *
2458
- * @see [Vite configuration docs](https://vite.dev/config) for more information.
2469
+ * @see [Vite configuration docs](https://vite.dev/config/) for more information.
2459
2470
  * Please note that not all vite options are supported in Nuxt.
2460
2471
  */
2461
2472
  vite: ViteOptions;
@@ -2463,7 +2474,7 @@ interface ConfigSchema {
2463
2474
  /**
2464
2475
  * Nuxt uses `webpack-bundle-analyzer` to visualize your bundles and how to optimize them.
2465
2476
  *
2466
- * Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack-contrib/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).
2477
+ * Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).
2467
2478
  *
2468
2479
  * @example
2469
2480
  * ```js
@@ -2486,7 +2497,7 @@ interface ConfigSchema {
2486
2497
  /**
2487
2498
  * Enables Common CSS Extraction.
2488
2499
  *
2489
- * Using [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) under the hood, your CSS will be extracted into separate files, usually one per component. This allows caching your CSS and JavaScript separately.
2500
+ * Using [mini-css-extract-plugin](https://github.com/webpack/mini-css-extract-plugin) under the hood, your CSS will be extracted into separate files, usually one per component. This allows caching your CSS and JavaScript separately.
2490
2501
  *
2491
2502
  * @example
2492
2503
  * ```js
@@ -2573,25 +2584,25 @@ interface ConfigSchema {
2573
2584
  */
2574
2585
  loaders: {
2575
2586
  /**
2576
- * @see [esbuild loader](https://github.com/esbuild-kit/esbuild-loader)
2587
+ * @see [esbuild loader](https://github.com/privatenumber/esbuild-loader)
2577
2588
  */
2578
2589
  esbuild: Omit<LoaderOptions, 'loader'>;
2579
2590
  /**
2580
- * @see [`file-loader` Options](https://github.com/webpack-contrib/file-loader#options)
2591
+ * @see [`file-loader` Options](https://github.com/webpack/file-loader#options)
2581
2592
  */
2582
2593
  file: {
2583
2594
  esModule: boolean;
2584
2595
  limit: number;
2585
2596
  };
2586
2597
  /**
2587
- * @see [`file-loader` Options](https://github.com/webpack-contrib/file-loader#options)
2598
+ * @see [`file-loader` Options](https://github.com/webpack/file-loader#options)
2588
2599
  */
2589
2600
  fontUrl: {
2590
2601
  esModule: boolean;
2591
2602
  limit: number;
2592
2603
  };
2593
2604
  /**
2594
- * @see [`file-loader` Options](https://github.com/webpack-contrib/file-loader#options)
2605
+ * @see [`file-loader` Options](https://github.com/webpack/file-loader#options)
2595
2606
  */
2596
2607
  imgUrl: {
2597
2608
  esModule: boolean;
@@ -2606,7 +2617,7 @@ interface ConfigSchema {
2606
2617
  */
2607
2618
  vue: Partial<VueLoaderOptions>;
2608
2619
  /**
2609
- * See [css-loader](https://github.com/webpack-contrib/css-loader) for available options.
2620
+ * See [css-loader](https://github.com/webpack/css-loader) for available options.
2610
2621
  */
2611
2622
  css: {
2612
2623
  importLoaders: number;
@@ -2616,7 +2627,7 @@ interface ConfigSchema {
2616
2627
  esModule: boolean;
2617
2628
  };
2618
2629
  /**
2619
- * See [css-loader](https://github.com/webpack-contrib/css-loader) for available options.
2630
+ * See [css-loader](https://github.com/webpack/css-loader) for available options.
2620
2631
  */
2621
2632
  cssModules: {
2622
2633
  importLoaders: number;
@@ -2629,11 +2640,11 @@ interface ConfigSchema {
2629
2640
  };
2630
2641
  };
2631
2642
  /**
2632
- * @see [`less-loader` Options](https://github.com/webpack-contrib/less-loader#options)
2643
+ * @see [`less-loader` Options](https://github.com/webpack/less-loader#options)
2633
2644
  */
2634
2645
  less: any;
2635
2646
  /**
2636
- * @see [`sass-loader` Options](https://github.com/webpack-contrib/sass-loader#options)
2647
+ * @see [`sass-loader` Options](https://github.com/webpack/sass-loader#options)
2637
2648
  */
2638
2649
  sass: {
2639
2650
  sassOptions: {
@@ -2641,11 +2652,11 @@ interface ConfigSchema {
2641
2652
  };
2642
2653
  };
2643
2654
  /**
2644
- * @see [`sass-loader` Options](https://github.com/webpack-contrib/sass-loader#options)
2655
+ * @see [`sass-loader` Options](https://github.com/webpack/sass-loader#options)
2645
2656
  */
2646
2657
  scss: any;
2647
2658
  /**
2648
- * @see [`stylus-loader` Options](https://github.com/webpack-contrib/stylus-loader#options)
2659
+ * @see [`stylus-loader` Options](https://github.com/webpack/stylus-loader#options)
2649
2660
  */
2650
2661
  stylus: any;
2651
2662
  vueStyle: any;
@@ -2675,7 +2686,7 @@ interface ConfigSchema {
2675
2686
  *
2676
2687
  * Defaults to true when `extractCSS` is enabled.
2677
2688
  *
2678
- * @see [css-minimizer-webpack-plugin documentation](https://github.com/webpack-contrib/css-minimizer-webpack-plugin).
2689
+ * @see [css-minimizer-webpack-plugin documentation](https://github.com/webpack/css-minimizer-webpack-plugin).
2679
2690
  */
2680
2691
  optimizeCSS: false | BasePluginOptions & DefinedDefaultMinimizerAndOptions<{}>;
2681
2692
  /**
@@ -2683,7 +2694,7 @@ interface ConfigSchema {
2683
2694
  */
2684
2695
  optimization: false | Configuration['optimization'];
2685
2696
  /**
2686
- * Customize PostCSS Loader. same options as [`postcss-loader` options](https://github.com/webpack-contrib/postcss-loader#options)
2697
+ * Customize PostCSS Loader. same options as [`postcss-loader` options](https://github.com/webpack/postcss-loader#options)
2687
2698
  */
2688
2699
  postcss: {
2689
2700
  execute?: boolean;
@@ -2701,7 +2712,7 @@ interface ConfigSchema {
2701
2712
  */
2702
2713
  devMiddleware: Options$4<IncomingMessage, ServerResponse>;
2703
2714
  /**
2704
- * See [webpack-hot-middleware](https://github.com/webpack-contrib/webpack-hot-middleware) for available options.
2715
+ * See [webpack-hot-middleware](https://github.com/webpack/webpack-hot-middleware) for available options.
2705
2716
  */
2706
2717
  hotMiddleware: MiddlewareOptions & {
2707
2718
  client?: ClientOptions;
@@ -2725,10 +2736,7 @@ type DeepPartial<T> = T extends Function ? T : T extends Record<string, any> ? {
2725
2736
  [P in keyof T]?: DeepPartial<T[P]>;
2726
2737
  } : T;
2727
2738
  type UpperSnakeCase<S extends string> = Uppercase<SnakeCase<S>>;
2728
- declare const message: unique symbol;
2729
- type RuntimeValue<T, B extends string> = T & {
2730
- [message]?: B;
2731
- };
2739
+ type RuntimeValue<T, B extends string> = T & {};
2732
2740
  type Overrideable<T extends Record<string, any>, Path extends string = ''> = {
2733
2741
  [K in keyof T]?: K extends string ? unknown extends T[K] ? unknown : T[K] extends Record<string, unknown> ? RuntimeValue<Overrideable<T[K], `${Path}_${UpperSnakeCase<K>}`>, `You can override this value at runtime with NUXT${Path}_${UpperSnakeCase<K>}`> : RuntimeValue<T[K], `You can override this value at runtime with NUXT${Path}_${UpperSnakeCase<K>}`> : K extends number ? T[K] : never;
2734
2742
  };
package/dist/index.d.ts CHANGED
@@ -409,6 +409,14 @@ interface Nuxt {
409
409
  _debug?: NuxtDebugContext;
410
410
  /** Async local storage for current running Nuxt module instance. */
411
411
  _asyncLocalStorageModule?: AsyncLocalStorage<NuxtModule>;
412
+ /**
413
+ * Module options functions collected from moduleDependencies.
414
+ * @internal
415
+ */
416
+ _moduleOptionsFunctions?: Map<string | NuxtModule, Array<() => {
417
+ defaults?: Record<string, unknown>;
418
+ overrides?: Record<string, unknown>;
419
+ }>>;
412
420
  /** The resolved Nuxt configuration. */
413
421
  options: NuxtOptions;
414
422
  hooks: Hookable<NuxtHooks>;
@@ -467,6 +475,9 @@ type NuxtLayout = {
467
475
  name: string;
468
476
  file: string;
469
477
  };
478
+ /**
479
+ * @deprecated Use {@link InlinePreset}
480
+ */
470
481
  interface ImportPresetWithDeprecation extends InlinePreset {
471
482
  }
472
483
  interface GenerateAppOptions {
@@ -537,7 +548,7 @@ interface NuxtHooks {
537
548
  */
538
549
  'app:templates': (app: NuxtApp) => HookResult;
539
550
  /**
540
- * Called after templates are compiled into the [virtual file system](https://nuxt.com/docs/4.x/guide/directory-structure/nuxt) (vfs).
551
+ * Called after templates are compiled into the [virtual file system](https://nuxt.com/docs/4.x/directory-structure/nuxt) (vfs).
541
552
  * @param app The configured `NuxtApp` object
542
553
  * @returns Promise
543
554
  */
@@ -617,7 +628,7 @@ interface NuxtHooks {
617
628
  * @param presets Array containing presets objects
618
629
  * @returns Promise
619
630
  */
620
- 'imports:sources': (presets: ImportPresetWithDeprecation[]) => HookResult;
631
+ 'imports:sources': (presets: InlinePreset[]) => HookResult;
621
632
  /**
622
633
  * Called at setup allowing modules to extend imports.
623
634
  * @param imports Array containing the imports to extend
@@ -917,7 +928,7 @@ interface ImportsOptions extends UnimportOptions {
917
928
  autoImport?: boolean;
918
929
  /**
919
930
  * Directories to scan for auto imports.
920
- * @see https://nuxt.com/docs/4.x/guide/directory-structure/composables#how-files-are-scanned
931
+ * @see https://nuxt.com/docs/4.x/directory-structure/app/composables#how-files-are-scanned
921
932
  */
922
933
  dirs?: string[];
923
934
  /**
@@ -945,13 +956,13 @@ interface ConfigSchema {
945
956
  *
946
957
  * Any components in the directories configured here can be used throughout your pages, layouts (and other components) without needing to explicitly import them.
947
958
  *
948
- * @see [`components/` directory documentation](https://nuxt.com/docs/4.x/guide/directory-structure/components)
959
+ * @see [`components/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/app/components)
949
960
  */
950
961
  components: boolean | ComponentsOptions | ComponentsOptions['dirs'];
951
962
  /**
952
963
  * Configure how Nuxt auto-imports composables into your application.
953
964
  *
954
- * @see [Nuxt documentation](https://nuxt.com/docs/4.x/guide/directory-structure/composables)
965
+ * @see [Nuxt documentation](https://nuxt.com/docs/4.x/directory-structure/app/composables)
955
966
  */
956
967
  imports: ImportsOptions;
957
968
  /**
@@ -995,7 +1006,7 @@ interface ConfigSchema {
995
1006
  /**
996
1007
  * Options for the Vue compiler that will be passed at build time.
997
1008
  *
998
- * @see [Vue documentation](https://vuejs.org/api/application.html#app-config-compileroptions)
1009
+ * @see [Vue documentation](https://vuejs.org/api/application#app-config-compileroptions)
999
1010
  */
1000
1011
  compilerOptions: CompilerOptions;
1001
1012
  /**
@@ -1007,9 +1018,9 @@ interface ConfigSchema {
1007
1018
  */
1008
1019
  propsDestructure: boolean;
1009
1020
  /**
1010
- * It is possible to pass configure the Vue app globally. Only serializable options may be set in your `nuxt.config`. All other options should be set at runtime in a Nuxt plugin..
1021
+ * It is possible to pass configure the Vue app globally. Only serializable options may be set in your `nuxt.config`. All other options should be set at runtime in a Nuxt plugin.
1011
1022
  *
1012
- * @see [Vue app config documentation](https://vuejs.org/api/application.html#app-config)
1023
+ * @see [Vue app config documentation](https://vuejs.org/api/application#app-config)
1013
1024
  */
1014
1025
  config: Serializable<AppConfig$1>;
1015
1026
  };
@@ -1104,7 +1115,7 @@ interface ConfigSchema {
1104
1115
  *
1105
1116
  * This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.
1106
1117
  *
1107
- * @see [Vue Transition docs](https://vuejs.org/api/built-in-components.html#transition)
1118
+ * @see [Vue Transition docs](https://vuejs.org/api/built-in-components#transition)
1108
1119
  */
1109
1120
  layoutTransition: NuxtAppConfig['layoutTransition'];
1110
1121
  /**
@@ -1112,7 +1123,7 @@ interface ConfigSchema {
1112
1123
  *
1113
1124
  * This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.
1114
1125
  *
1115
- * @see [Vue Transition docs](https://vuejs.org/api/built-in-components.html#transition)
1126
+ * @see [Vue Transition docs](https://vuejs.org/api/built-in-components#transition)
1116
1127
  */
1117
1128
  pageTransition: NuxtAppConfig['pageTransition'];
1118
1129
  /**
@@ -1129,7 +1140,7 @@ interface ConfigSchema {
1129
1140
  *
1130
1141
  * This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.
1131
1142
  *
1132
- * @see [Vue KeepAlive](https://vuejs.org/api/built-in-components.html#keepalive)
1143
+ * @see [Vue KeepAlive](https://vuejs.org/api/built-in-components#keepalive)
1133
1144
  */
1134
1145
  keepalive: NuxtAppConfig['keepalive'];
1135
1146
  /**
@@ -1231,7 +1242,7 @@ interface ConfigSchema {
1231
1242
  * and these plugins do not need to be listed in `nuxt.config` unless you
1232
1243
  * need to customize their order. All plugins are deduplicated by their src path.
1233
1244
  *
1234
- * @see [`plugins/` directory documentation](https://nuxt.com/docs/4.x/guide/directory-structure/plugins)
1245
+ * @see [`plugins/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/app/plugins)
1235
1246
  *
1236
1247
  * @example
1237
1248
  * ```js
@@ -1358,7 +1369,7 @@ interface ConfigSchema {
1358
1369
  /**
1359
1370
  * Nuxt allows visualizing your bundles and how to optimize them.
1360
1371
  *
1361
- * Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack-contrib/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).
1372
+ * Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).
1362
1373
  *
1363
1374
  * @example
1364
1375
  * ```js
@@ -1722,7 +1733,7 @@ interface ConfigSchema {
1722
1733
  /**
1723
1734
  * Options to pass directly to `chokidar`.
1724
1735
  *
1725
- * @see [chokidar](https://github.com/paulmillr/chokidar#api)
1736
+ * @see [chokidar](https://github.com/paulmillr/chokidar)
1726
1737
  */
1727
1738
  chokidar: ChokidarOptions;
1728
1739
  };
@@ -2136,7 +2147,7 @@ interface ConfigSchema {
2136
2147
  * for Nuxt projects.
2137
2148
  *
2138
2149
  * @default true
2139
- * @see [Chrome DevTools Project Settings](https://docs.google.com/document/d/1rfKPnxsNuXhnF7AiQZhu9kIwdiMS5hnAI05HBwFuBSM)
2150
+ * @see [Chrome DevTools Project Settings](https://docs.google.com/document/d/1rfKPnxsNuXhnF7AiQZhu9kIwdiMS5hnAI05HBwFuBSM/edit)
2140
2151
  */
2141
2152
  chromeDevtoolsProjectSettings: boolean;
2142
2153
  /**
@@ -2343,7 +2354,7 @@ interface ConfigSchema {
2343
2354
  * Each handler accepts the following options:
2344
2355
  * - handler: The path to the file defining the handler. - route: The route under which the handler is available. This follows the conventions of [rou3](https://github.com/h3js/rou3). - method: The HTTP method of requests that should be handled. - middleware: Specifies whether it is a middleware handler. - lazy: Specifies whether to use lazy loading to import the handler.
2345
2356
  *
2346
- * @see [`server/` directory documentation](https://nuxt.com/docs/4.x/guide/directory-structure/server)
2357
+ * @see [`server/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/server)
2347
2358
  *
2348
2359
  * @note Files from `server/api`, `server/middleware` and `server/routes` will be automatically registered by Nuxt.
2349
2360
  *
@@ -2383,7 +2394,7 @@ interface ConfigSchema {
2383
2394
  * @note Only JSON serializable options should be passed by Nuxt config.
2384
2395
  * For more control, you can use `app/router.options.ts` file.
2385
2396
  *
2386
- * @see [Vue Router documentation](https://router.vuejs.org/api/interfaces/routeroptions.html).
2397
+ * @see [Vue Router documentation](https://router.vuejs.org/api/interfaces/routeroptions)
2387
2398
  */
2388
2399
  options: RouterConfigSerializable;
2389
2400
  };
@@ -2455,7 +2466,7 @@ interface ConfigSchema {
2455
2466
  /**
2456
2467
  * Configuration that will be passed directly to Vite.
2457
2468
  *
2458
- * @see [Vite configuration docs](https://vite.dev/config) for more information.
2469
+ * @see [Vite configuration docs](https://vite.dev/config/) for more information.
2459
2470
  * Please note that not all vite options are supported in Nuxt.
2460
2471
  */
2461
2472
  vite: ViteOptions;
@@ -2463,7 +2474,7 @@ interface ConfigSchema {
2463
2474
  /**
2464
2475
  * Nuxt uses `webpack-bundle-analyzer` to visualize your bundles and how to optimize them.
2465
2476
  *
2466
- * Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack-contrib/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).
2477
+ * Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).
2467
2478
  *
2468
2479
  * @example
2469
2480
  * ```js
@@ -2486,7 +2497,7 @@ interface ConfigSchema {
2486
2497
  /**
2487
2498
  * Enables Common CSS Extraction.
2488
2499
  *
2489
- * Using [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) under the hood, your CSS will be extracted into separate files, usually one per component. This allows caching your CSS and JavaScript separately.
2500
+ * Using [mini-css-extract-plugin](https://github.com/webpack/mini-css-extract-plugin) under the hood, your CSS will be extracted into separate files, usually one per component. This allows caching your CSS and JavaScript separately.
2490
2501
  *
2491
2502
  * @example
2492
2503
  * ```js
@@ -2573,25 +2584,25 @@ interface ConfigSchema {
2573
2584
  */
2574
2585
  loaders: {
2575
2586
  /**
2576
- * @see [esbuild loader](https://github.com/esbuild-kit/esbuild-loader)
2587
+ * @see [esbuild loader](https://github.com/privatenumber/esbuild-loader)
2577
2588
  */
2578
2589
  esbuild: Omit<LoaderOptions, 'loader'>;
2579
2590
  /**
2580
- * @see [`file-loader` Options](https://github.com/webpack-contrib/file-loader#options)
2591
+ * @see [`file-loader` Options](https://github.com/webpack/file-loader#options)
2581
2592
  */
2582
2593
  file: {
2583
2594
  esModule: boolean;
2584
2595
  limit: number;
2585
2596
  };
2586
2597
  /**
2587
- * @see [`file-loader` Options](https://github.com/webpack-contrib/file-loader#options)
2598
+ * @see [`file-loader` Options](https://github.com/webpack/file-loader#options)
2588
2599
  */
2589
2600
  fontUrl: {
2590
2601
  esModule: boolean;
2591
2602
  limit: number;
2592
2603
  };
2593
2604
  /**
2594
- * @see [`file-loader` Options](https://github.com/webpack-contrib/file-loader#options)
2605
+ * @see [`file-loader` Options](https://github.com/webpack/file-loader#options)
2595
2606
  */
2596
2607
  imgUrl: {
2597
2608
  esModule: boolean;
@@ -2606,7 +2617,7 @@ interface ConfigSchema {
2606
2617
  */
2607
2618
  vue: Partial<VueLoaderOptions>;
2608
2619
  /**
2609
- * See [css-loader](https://github.com/webpack-contrib/css-loader) for available options.
2620
+ * See [css-loader](https://github.com/webpack/css-loader) for available options.
2610
2621
  */
2611
2622
  css: {
2612
2623
  importLoaders: number;
@@ -2616,7 +2627,7 @@ interface ConfigSchema {
2616
2627
  esModule: boolean;
2617
2628
  };
2618
2629
  /**
2619
- * See [css-loader](https://github.com/webpack-contrib/css-loader) for available options.
2630
+ * See [css-loader](https://github.com/webpack/css-loader) for available options.
2620
2631
  */
2621
2632
  cssModules: {
2622
2633
  importLoaders: number;
@@ -2629,11 +2640,11 @@ interface ConfigSchema {
2629
2640
  };
2630
2641
  };
2631
2642
  /**
2632
- * @see [`less-loader` Options](https://github.com/webpack-contrib/less-loader#options)
2643
+ * @see [`less-loader` Options](https://github.com/webpack/less-loader#options)
2633
2644
  */
2634
2645
  less: any;
2635
2646
  /**
2636
- * @see [`sass-loader` Options](https://github.com/webpack-contrib/sass-loader#options)
2647
+ * @see [`sass-loader` Options](https://github.com/webpack/sass-loader#options)
2637
2648
  */
2638
2649
  sass: {
2639
2650
  sassOptions: {
@@ -2641,11 +2652,11 @@ interface ConfigSchema {
2641
2652
  };
2642
2653
  };
2643
2654
  /**
2644
- * @see [`sass-loader` Options](https://github.com/webpack-contrib/sass-loader#options)
2655
+ * @see [`sass-loader` Options](https://github.com/webpack/sass-loader#options)
2645
2656
  */
2646
2657
  scss: any;
2647
2658
  /**
2648
- * @see [`stylus-loader` Options](https://github.com/webpack-contrib/stylus-loader#options)
2659
+ * @see [`stylus-loader` Options](https://github.com/webpack/stylus-loader#options)
2649
2660
  */
2650
2661
  stylus: any;
2651
2662
  vueStyle: any;
@@ -2675,7 +2686,7 @@ interface ConfigSchema {
2675
2686
  *
2676
2687
  * Defaults to true when `extractCSS` is enabled.
2677
2688
  *
2678
- * @see [css-minimizer-webpack-plugin documentation](https://github.com/webpack-contrib/css-minimizer-webpack-plugin).
2689
+ * @see [css-minimizer-webpack-plugin documentation](https://github.com/webpack/css-minimizer-webpack-plugin).
2679
2690
  */
2680
2691
  optimizeCSS: false | BasePluginOptions & DefinedDefaultMinimizerAndOptions<{}>;
2681
2692
  /**
@@ -2683,7 +2694,7 @@ interface ConfigSchema {
2683
2694
  */
2684
2695
  optimization: false | Configuration['optimization'];
2685
2696
  /**
2686
- * Customize PostCSS Loader. same options as [`postcss-loader` options](https://github.com/webpack-contrib/postcss-loader#options)
2697
+ * Customize PostCSS Loader. same options as [`postcss-loader` options](https://github.com/webpack/postcss-loader#options)
2687
2698
  */
2688
2699
  postcss: {
2689
2700
  execute?: boolean;
@@ -2701,7 +2712,7 @@ interface ConfigSchema {
2701
2712
  */
2702
2713
  devMiddleware: Options$4<IncomingMessage, ServerResponse>;
2703
2714
  /**
2704
- * See [webpack-hot-middleware](https://github.com/webpack-contrib/webpack-hot-middleware) for available options.
2715
+ * See [webpack-hot-middleware](https://github.com/webpack/webpack-hot-middleware) for available options.
2705
2716
  */
2706
2717
  hotMiddleware: MiddlewareOptions & {
2707
2718
  client?: ClientOptions;
@@ -2725,10 +2736,7 @@ type DeepPartial<T> = T extends Function ? T : T extends Record<string, any> ? {
2725
2736
  [P in keyof T]?: DeepPartial<T[P]>;
2726
2737
  } : T;
2727
2738
  type UpperSnakeCase<S extends string> = Uppercase<SnakeCase<S>>;
2728
- declare const message: unique symbol;
2729
- type RuntimeValue<T, B extends string> = T & {
2730
- [message]?: B;
2731
- };
2739
+ type RuntimeValue<T, B extends string> = T & {};
2732
2740
  type Overrideable<T extends Record<string, any>, Path extends string = ''> = {
2733
2741
  [K in keyof T]?: K extends string ? unknown extends T[K] ? unknown : T[K] extends Record<string, unknown> ? RuntimeValue<Overrideable<T[K], `${Path}_${UpperSnakeCase<K>}`>, `You can override this value at runtime with NUXT${Path}_${UpperSnakeCase<K>}`> : RuntimeValue<T[K], `You can override this value at runtime with NUXT${Path}_${UpperSnakeCase<K>}`> : K extends number ? T[K] : never;
2734
2742
  };
package/dist/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import process from 'node:process';
1
2
  import defu$1, { defu } from 'defu';
2
3
  import { resolve, join, relative } from 'pathe';
3
4
  import { isTest, isDevelopment, isDebug } from 'std-env';
@@ -513,6 +514,7 @@ const common = defineResolvers({
513
514
  // ignore tests
514
515
  "**/*.d.{cts,mts,ts}",
515
516
  // ignore type declarations
517
+ "**/*.d.vue.{cts,mts,ts}",
516
518
  "**/.{pnpm-store,vercel,netlify,output,git,cache,data}",
517
519
  "**/*.sock",
518
520
  relative(rootDir, analyzeDir),
@@ -587,7 +589,7 @@ function withTrailingSlash(str) {
587
589
  const _messages = { "appName": "Nuxt", "loading": "Loading", "version": "4.0" };
588
590
  const template = (messages) => {
589
591
  messages = { ..._messages, ...messages };
590
- return '<!DOCTYPE html><html lang="en"><head><title>' + escapeHtml(messages.loading) + " | " + escapeHtml(messages.appName) + `</title><meta charset="utf-8"><meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0" name="viewport"><style>.nuxt-loader-bar{background:#00dc82;bottom:0;height:3px;left:0;position:fixed;right:0}.triangle-loading{position:absolute}.triangle-loading>path{animation:nuxt-loading-move 3s linear infinite;fill:none;stroke-dasharray:128;stroke-dashoffset:128;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.nuxt-logo:hover .triangle-loading>path{animation-play-state:paused}@keyframes nuxt-loading-move{to{stroke-dashoffset:-128}}@media (prefers-color-scheme:dark){body,html{color:#fff;color-scheme:dark}}*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}a{color:inherit;text-decoration:inherit}svg{display:block;vertical-align:middle}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.relative{position:relative}.inline-block{display:inline-block}.min-h-screen{min-height:100vh}.flex{display:flex}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.border{border-width:1px}.border-\\[\\#00DC42\\]\\/50{border-color:#00dc4280}.group:hover .group-hover\\:border-\\[\\#00DC42\\]{--un-border-opacity:1;border-color:rgb(0 220 66/var(--un-border-opacity))}.rounded{border-radius:.25rem}.bg-\\[\\#00DC42\\]\\/10{background-color:#00dc421a}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.group:hover .group-hover\\:bg-\\[\\#00DC42\\]\\/15{background-color:#00dc4226}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.text-center{text-align:center}.text-\\[16px\\]{font-size:16px}.group:hover .group-hover\\:text-\\[\\#00DC82\\],.text-\\[\\#00DC82\\]{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.text-\\[\\#00DC82\\]\\/80{color:#00dc82cc}.group:hover .group-hover\\:text-\\[\\#020420\\],.text-\\[\\#020420\\]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#020420\\]\\/80{color:#020420cc}.font-semibold{font-weight:600}.leading-none{line-height:1}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-gray-200{--un-text-opacity:1;color:rgb(224 224 224/var(--un-text-opacity))}.dark\\:text-white,.group:hover .dark\\:group-hover\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}</style><script>!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();<\/script></head><body class="antialiased bg-white dark:bg-[#020420] dark:text-white flex flex-col font-sans items-center justify-center min-h-screen overflow-hidden relative text-[#020420] text-center"><a href="https://nuxt.com/?utm_source=nuxt-loading-screen" target="_blank" rel="noopener" class="flex gap-4 group items-end nuxt-logo" id="nuxtImg"> <div class="relative"><svg xmlns="http://www.w3.org/2000/svg" width="80" fill="none" class="group-hover:text-[#00DC82] text-[#00DC82]/80 triangle-loading" viewBox="0 0 37 25"><path stroke="currentColor" d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"/></svg> <svg xmlns="http://www.w3.org/2000/svg" width="214" height="53" fill="none" class="dark:group-hover:text-white dark:text-gray-200 group-hover:text-[#020420] text-[#020420]/80" viewBox="0 0 800 200"><path fill="currentColor" d="M377 200a4 4 0 0 0 4-4v-93s5.244 8.286 15 25l38.707 66.961c1.789 3.119 5.084 5.039 8.649 5.039H470V50h-27a4 4 0 0 0-4 4v94l-17-30-36.588-62.98c-1.792-3.108-5.081-5.02-8.639-5.02H350v150zm299.203-56.143L710.551 92h-25.73a9.97 9.97 0 0 0-8.333 4.522L660.757 120.5l-15.731-23.978A9.97 9.97 0 0 0 636.693 92h-25.527l34.348 51.643L608.524 200h24.966a9.97 9.97 0 0 0 8.29-4.458l19.18-28.756 18.981 28.72a9.97 9.97 0 0 0 8.313 4.494h24.736zM724.598 92h19.714V60.071h28.251V92H800v24.857h-27.437V159.5c0 10.5 5.284 15.429 14.43 15.429H800V200h-16.869c-23.576 0-38.819-14.143-38.819-39.214v-43.929h-19.714zM590 92h-15c-3.489 0-6.218.145-8.5 2.523-2.282 2.246-2.5 3.63-2.5 7.066v52.486c0 8.058-.376 12.962-4 16.925-3.624 3.831-8.619 5-16 5-7.247 0-12.376-1.169-16-5-3.624-3.963-4-8.867-4-16.925v-52.486c0-3.435-.218-4.82-2.5-7.066C519.218 92.145 516.489 92 513 92h-15v62.422q0 21.006 11.676 33.292C517.594 195.905 529.103 200 544 200s26.204-4.095 34.123-12.286Q590 175.428 590 154.422z"/></svg></div> <span class="bg-[#00DC42]/10 border border-[#00DC42]/50 font-mono font-semibold group-hover:bg-[#00DC42]/15 group-hover:border-[#00DC42] inline-block leading-none px-2.5 py-1.5 rounded text-[#00DC82] text-[16px]">4.2.0</span> </a><div class="nuxt-loader-bar"></div><script>if(void 0===window.fetch)setTimeout(()=>window.location.reload(),200);else{const o=async()=>{try{if(!(await window.fetch(window.location.href).then(o=>o.text())).includes("__NUXT_LOADING__"))return window.location.reload()}catch{}setTimeout(o,200)};o()}<\/script></body></html>`;
592
+ return '<!DOCTYPE html><html lang="en"><head><title>' + escapeHtml(messages.loading) + " | " + escapeHtml(messages.appName) + `</title><meta charset="utf-8"><meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0" name="viewport"><style>.nuxt-loader-bar{background:#00dc82;bottom:0;height:3px;left:0;position:fixed;right:0}.triangle-loading{position:absolute}.triangle-loading>path{animation:nuxt-loading-move 3s linear infinite;fill:none;stroke-dasharray:128;stroke-dashoffset:128;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.nuxt-logo:hover .triangle-loading>path{animation-play-state:paused}@keyframes nuxt-loading-move{to{stroke-dashoffset:-128}}@media (prefers-color-scheme:dark){body,html{color:#fff;color-scheme:dark}}*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}a{color:inherit;text-decoration:inherit}svg{display:block;vertical-align:middle}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.relative{position:relative}.inline-block{display:inline-block}.min-h-screen{min-height:100vh}.flex{display:flex}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.border{border-width:1px}.border-\\[\\#00DC42\\]\\/50{border-color:#00dc4280}.group:hover .group-hover\\:border-\\[\\#00DC42\\]{--un-border-opacity:1;border-color:rgb(0 220 66/var(--un-border-opacity))}.rounded{border-radius:.25rem}.bg-\\[\\#00DC42\\]\\/10{background-color:#00dc421a}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.group:hover .group-hover\\:bg-\\[\\#00DC42\\]\\/15{background-color:#00dc4226}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.text-center{text-align:center}.text-\\[16px\\]{font-size:16px}.group:hover .group-hover\\:text-\\[\\#00DC82\\],.text-\\[\\#00DC82\\]{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.text-\\[\\#00DC82\\]\\/80{color:#00dc82cc}.group:hover .group-hover\\:text-\\[\\#020420\\],.text-\\[\\#020420\\]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#020420\\]\\/80{color:#020420cc}.font-semibold{font-weight:600}.leading-none{line-height:1}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-gray-200{--un-text-opacity:1;color:rgb(224 224 224/var(--un-text-opacity))}.dark\\:text-white,.group:hover .dark\\:group-hover\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}</style><script>!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();<\/script></head><body class="antialiased bg-white dark:bg-[#020420] dark:text-white flex flex-col font-sans items-center justify-center min-h-screen overflow-hidden relative text-[#020420] text-center"><a href="https://nuxt.com/?utm_source=nuxt-loading-screen" target="_blank" rel="noopener" class="flex gap-4 group items-end nuxt-logo" id="nuxtImg"> <div class="relative"><svg xmlns="http://www.w3.org/2000/svg" width="80" fill="none" class="group-hover:text-[#00DC82] text-[#00DC82]/80 triangle-loading" viewBox="0 0 37 25"><path stroke="currentColor" d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"/></svg> <svg xmlns="http://www.w3.org/2000/svg" width="214" height="53" fill="none" class="dark:group-hover:text-white dark:text-gray-200 group-hover:text-[#020420] text-[#020420]/80" viewBox="0 0 800 200"><path fill="currentColor" d="M377 200a4 4 0 0 0 4-4v-93s5.244 8.286 15 25l38.707 66.961c1.789 3.119 5.084 5.039 8.649 5.039H470V50h-27a4 4 0 0 0-4 4v94l-17-30-36.588-62.98c-1.792-3.108-5.081-5.02-8.639-5.02H350v150zm299.203-56.143L710.551 92h-25.73a9.97 9.97 0 0 0-8.333 4.522L660.757 120.5l-15.731-23.978A9.97 9.97 0 0 0 636.693 92h-25.527l34.348 51.643L608.524 200h24.966a9.97 9.97 0 0 0 8.29-4.458l19.18-28.756 18.981 28.72a9.97 9.97 0 0 0 8.313 4.494h24.736zM724.598 92h19.714V60.071h28.251V92H800v24.857h-27.437V159.5c0 10.5 5.284 15.429 14.43 15.429H800V200h-16.869c-23.576 0-38.819-14.143-38.819-39.214v-43.929h-19.714zM590 92h-15c-3.489 0-6.218.145-8.5 2.523-2.282 2.246-2.5 3.63-2.5 7.066v52.486c0 8.058-.376 12.962-4 16.925-3.624 3.831-8.619 5-16 5-7.247 0-12.376-1.169-16-5-3.624-3.963-4-8.867-4-16.925v-52.486c0-3.435-.218-4.82-2.5-7.066C519.218 92.145 516.489 92 513 92h-15v62.422q0 21.006 11.676 33.292C517.594 195.905 529.103 200 544 200s26.204-4.095 34.123-12.286Q590 175.428 590 154.422z"/></svg></div> <span class="bg-[#00DC42]/10 border border-[#00DC42]/50 font-mono font-semibold group-hover:bg-[#00DC42]/15 group-hover:border-[#00DC42] inline-block leading-none px-2.5 py-1.5 rounded text-[#00DC82] text-[16px]">4.2.2</span> </a><div class="nuxt-loader-bar"></div><script>if(void 0===window.fetch)setTimeout(()=>window.location.reload(),200);else{const o=async()=>{try{if(!(await window.fetch(window.location.href).then(o=>o.text())).includes("__NUXT_LOADING__"))return window.location.reload()}catch{}setTimeout(o,200)};o()}<\/script></body></html>`;
591
593
  };
592
594
 
593
595
  const dev = defineResolvers({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuxt/schema-nightly",
3
- "version": "4.3.0-29356103.2f7957ac",
3
+ "version": "4.3.0-29430576.f48ea4c8",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/nuxt/nuxt.git",
@@ -33,27 +33,27 @@
33
33
  "devDependencies": {
34
34
  "@types/pug": "2.0.10",
35
35
  "@types/webpack-bundle-analyzer": "4.7.0",
36
- "@types/webpack-hot-middleware": "2.25.11",
36
+ "@types/webpack-hot-middleware": "2.25.12",
37
37
  "@unhead/vue": "2.0.19",
38
- "@vitejs/plugin-vue": "6.0.1",
39
- "@vitejs/plugin-vue-jsx": "5.1.1",
40
- "@vue/compiler-core": "3.5.22",
41
- "@vue/compiler-sfc": "3.5.22",
42
- "@vue/language-core": "3.1.1",
43
- "c12": "3.3.1",
44
- "chokidar": "4.0.3",
38
+ "@vitejs/plugin-vue": "6.0.2",
39
+ "@vitejs/plugin-vue-jsx": "5.1.2",
40
+ "@vue/compiler-core": "3.5.25",
41
+ "@vue/compiler-sfc": "3.5.25",
42
+ "@vue/language-core": "3.1.8",
43
+ "c12": "3.3.2",
44
+ "chokidar": "5.0.0",
45
45
  "compatx": "0.2.0",
46
- "css-minimizer-webpack-plugin": "7.0.2",
47
- "esbuild": "0.25.11",
46
+ "css-minimizer-webpack-plugin": "7.0.4",
47
+ "esbuild": "0.27.1",
48
48
  "esbuild-loader": "4.4.0",
49
49
  "file-loader": "6.2.0",
50
50
  "h3": "1.15.4",
51
51
  "hookable": "5.5.3",
52
52
  "ignore": "7.0.5",
53
53
  "mini-css-extract-plugin": "2.9.4",
54
- "nitropack": "2.12.8",
55
- "ofetch": "1.4.1",
56
- "oxc-transform": "0.95.0",
54
+ "nitropack": "2.12.9",
55
+ "ofetch": "1.5.1",
56
+ "oxc-transform": "0.102.0",
57
57
  "postcss": "8.5.6",
58
58
  "rollup-plugin-visualizer": "6.0.5",
59
59
  "sass-loader": "16.0.6",
@@ -62,16 +62,16 @@
62
62
  "unctx": "2.4.1",
63
63
  "unimport": "5.5.0",
64
64
  "untyped": "2.0.0",
65
- "vite": "7.1.12",
66
- "vue": "3.5.22",
65
+ "vite": "7.2.7",
66
+ "vue": "3.5.25",
67
67
  "vue-bundle-renderer": "2.2.0",
68
68
  "vue-loader": "17.4.2",
69
69
  "vue-router": "4.6.3",
70
- "webpack": "5.102.1",
70
+ "webpack": "5.103.0",
71
71
  "webpack-dev-middleware": "7.4.5"
72
72
  },
73
73
  "dependencies": {
74
- "@vue/shared": "^3.5.22",
74
+ "@vue/shared": "^3.5.25",
75
75
  "defu": "^6.1.4",
76
76
  "pathe": "^2.0.3",
77
77
  "pkg-types": "^2.3.0",
@@ -82,6 +82,7 @@
82
82
  },
83
83
  "_name": "@nuxt/schema",
84
84
  "scripts": {
85
+ "build:stub": "unbuild --stub",
85
86
  "test:attw": "attw --pack"
86
87
  }
87
88
  }