@nuxt/bridge-schema-edge 3.0.0-28200790.d820607 → 3.0.0-28232126.5c5bc70

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.
@@ -0,0 +1,2042 @@
1
+ import { VueConfiguration } from 'vue/types/vue';
2
+ import { Head, MergeHead } from '@unhead/schema';
3
+ import { VueMetaOptions, MetaInfo } from 'vue-meta';
4
+ import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
5
+ import { PluginVisualizerOptions } from 'rollup-plugin-visualizer';
6
+ import { PluginOptions } from 'extract-css-chunks-webpack-plugin';
7
+ import * as vue_router from 'vue-router';
8
+ import { Route } from 'vue-router';
9
+ import { IncomingMessage as IncomingMessage$1, ServerResponse } from 'node:http';
10
+ import { VueConstructor, ComponentOptions } from 'vue';
11
+ import { Hookable } from 'hookable';
12
+ import * as untyped_dist_types_a304c6a0 from 'untyped/dist/types-a304c6a0';
13
+
14
+ /** @deprecated Extend types from `@unhead/schema` directly. This may be removed in a future minor version. */
15
+ interface HeadAugmentations extends MergeHead {
16
+ base?: {};
17
+ link?: {};
18
+ meta?: {};
19
+ style?: {};
20
+ script?: {};
21
+ noscript?: {};
22
+ htmlAttrs?: {};
23
+ bodyAttrs?: {};
24
+ }
25
+ type MetaObjectRaw = Head<HeadAugmentations>;
26
+ type AppHeadMetaObject = MetaObjectRaw & {
27
+ /**
28
+ * The character encoding in which the document is encoded => `<meta charset="<value>" />`
29
+ * @default `'utf-8'`
30
+ */
31
+ charset?: string;
32
+ /**
33
+ * Configuration of the viewport (the area of the window in which web content can be seen),
34
+ * mapped to => `<meta name="viewport" content="<value>" />`
35
+ * @default `'width=device-width, initial-scale=1'`
36
+ */
37
+ viewport?: string;
38
+ };
39
+
40
+ interface ConfigSchema {
41
+ vue: {
42
+ /**
43
+ * Properties that will be set directly on `Vue.config` for vue@2.
44
+ *
45
+ *
46
+ * @see [vue@2 Documentation](https://v2.vuejs.org/v2/api/#Global-Config)
47
+ */
48
+ config: VueConfiguration,
49
+ },
50
+
51
+ app: {
52
+ /**
53
+ * The base path of your Nuxt application.
54
+ *
55
+ * This can be set at runtime by setting the NUXT_APP_BASE_URL environment variable.
56
+ *
57
+ * @default "/"
58
+ *
59
+ * @example
60
+ * ```bash
61
+ * NUXT_APP_BASE_URL=/prefix/ node .output/server/index.mjs
62
+ * ```
63
+ */
64
+ baseURL: string,
65
+
66
+ /**
67
+ * The folder name for the built site assets, relative to `baseURL` (or `cdnURL` if set). This is set at build time and should not be customized at runtime.
68
+ *
69
+ * @default "/_nuxt/"
70
+ */
71
+ buildAssetsDir: string,
72
+
73
+ /**
74
+ * The folder name for the built site assets, relative to `baseURL` (or `cdnURL` if set).
75
+ *
76
+ *
77
+ * @deprecated - use `buildAssetsDir` instead
78
+ */
79
+ assetsPath: any,
80
+
81
+ /**
82
+ * Set default configuration for `<head>` on every page.
83
+ *
84
+ *
85
+ * @example
86
+ * ```js
87
+ * app: {
88
+ * head: {
89
+ * meta: [
90
+ * // <meta name="viewport" content="width=device-width, initial-scale=1">
91
+ * { name: 'viewport', content: 'width=device-width, initial-scale=1' }
92
+ * ],
93
+ * script: [
94
+ * // <script src="https://myawesome-lib.js"></script>
95
+ * { src: 'https://awesome-lib.js' }
96
+ * ],
97
+ * link: [
98
+ * // <link rel="stylesheet" href="https://myawesome-lib.css">
99
+ * { rel: 'stylesheet', href: 'https://awesome-lib.css' }
100
+ * ],
101
+ * // please note that this is an area that is likely to change
102
+ * style: [
103
+ * // <style type="text/css">:root { color: red }</style>
104
+ * { children: ':root { color: red }', type: 'text/css' }
105
+ * ],
106
+ * noscript: [
107
+ * // <noscript>JavaScript is required</noscript>
108
+ * { children: 'JavaScript is required' }
109
+ * ]
110
+ * }
111
+ * }
112
+ * ```
113
+ */
114
+ head: AppHeadMetaObject,
115
+ },
116
+
117
+ /**
118
+ * The path to an HTML template file for rendering Nuxt responses. Uses `<srcDir>/app.html` if it exists, or the Nuxt's default template if not.
119
+ *
120
+ * @default "/home/runner/work/bridge/bridge/packages/bridge-schema/views/app.template.html"
121
+ *
122
+ * @example
123
+ * ```html
124
+ * <!DOCTYPE html>
125
+ * <html {{ HTML_ATTRS }}>
126
+ * <head {{ HEAD_ATTRS }}>
127
+ * {{ HEAD }}
128
+ * </head>
129
+ * <body {{ BODY_ATTRS }}>
130
+ * {{ APP }}
131
+ * </body>
132
+ * </html>
133
+ * ```
134
+ */
135
+ appTemplatePath: string,
136
+
137
+ /**
138
+ * Enable or disable Vuex store.
139
+ *
140
+ * By default, it is enabled if there is a `store/` directory.
141
+ *
142
+ * @default false
143
+ */
144
+ store: boolean,
145
+
146
+ /**
147
+ * Options to pass directly to `vue-meta`.
148
+ *
149
+ *
150
+ * @see [documentation](https://vue-meta.nuxtjs.org/api/#plugin-options).
151
+ */
152
+ vueMeta: VueMetaOptions,
153
+
154
+ /**
155
+ * Set default configuration for `<head>` on every page.
156
+ *
157
+ *
158
+ * @see [documentation](https://vue-meta.nuxtjs.org/api/#metainfo-properties) for specifics.
159
+ */
160
+ head: MetaInfo,
161
+
162
+ /**
163
+ *
164
+ * @deprecated - use `head` instead
165
+ */
166
+ meta: {
167
+ meta: Array<any>,
168
+
169
+ link: Array<any>,
170
+
171
+ style: Array<any>,
172
+
173
+ script: Array<any>,
174
+ },
175
+
176
+ /**
177
+ * Configuration for the Nuxt `fetch()` hook.
178
+ *
179
+ */
180
+ fetch: {
181
+ /**
182
+ * Whether to enable `fetch()` on the server.
183
+ *
184
+ * @default true
185
+ */
186
+ server: boolean,
187
+
188
+ /**
189
+ * Whether to enable `fetch()` on the client.
190
+ *
191
+ * @default true
192
+ */
193
+ client: boolean,
194
+ },
195
+
196
+ /**
197
+ * You may want to extend plugins or change their order. For this, you can pass a function using `extendPlugins`. It accepts an array of plugin objects and should return an array of plugin objects.
198
+ *
199
+ */
200
+ extendPlugins: (plugins: Array<{ src: string, mode?: 'client' | 'server' }>) => Array<{ src: string, mode?: 'client' | 'server' }>,
201
+
202
+ /**
203
+ * An object where each key name maps to a path to a layout .vue file.
204
+ *
205
+ * Normally, there is no need to configure this directly.
206
+ *
207
+ */
208
+ layouts: Record<string, string>,
209
+
210
+ /**
211
+ * Set a custom error page layout.
212
+ *
213
+ * Normally, there is no need to configure this directly.
214
+ *
215
+ * @default null
216
+ */
217
+ ErrorPage: string,
218
+
219
+ /**
220
+ * Configure the Nuxt loading progress bar component that's shown between routes. Set to `false` to disable. You can also customize it or create your own component.
221
+ *
222
+ */
223
+ loading: {
224
+ /**
225
+ * CSS color of the progress bar.
226
+ *
227
+ * @default "black"
228
+ */
229
+ color: string,
230
+
231
+ /**
232
+ * CSS color of the progress bar when an error appended while rendering the route (if data or fetch sent back an error, for example).
233
+ *
234
+ * @default "red"
235
+ */
236
+ failedColor: string,
237
+
238
+ /**
239
+ * Height of the progress bar (used in the style property of the progress bar).
240
+ *
241
+ * @default "2px"
242
+ */
243
+ height: string,
244
+
245
+ /**
246
+ * In ms, wait for the specified time before displaying the progress bar. Useful for preventing the bar from flashing.
247
+ *
248
+ * @default 200
249
+ */
250
+ throttle: number,
251
+
252
+ /**
253
+ * In ms, the maximum duration of the progress bar, Nuxt assumes that the route will be rendered before 5 seconds.
254
+ *
255
+ * @default 5000
256
+ */
257
+ duration: number,
258
+
259
+ /**
260
+ * Keep animating progress bar when loading takes longer than duration.
261
+ *
262
+ * @default false
263
+ */
264
+ continuous: boolean,
265
+
266
+ /**
267
+ * Set the direction of the progress bar from right to left.
268
+ *
269
+ * @default false
270
+ */
271
+ rtl: boolean,
272
+
273
+ /**
274
+ * Set to `false` to remove default progress bar styles (and add your own).
275
+ *
276
+ * @default true
277
+ */
278
+ css: boolean,
279
+ },
280
+
281
+ /**
282
+ * Show a loading spinner while the page is loading (only when `ssr: false`).
283
+ *
284
+ * Set to `false` to disable. Alternatively, you can pass a string name or an object for more configuration. The name can refer to an indicator from [SpinKit](https://tobiasahlin.com/spinkit/) or a path to an HTML template of the indicator source code (in this case, all the other options will be passed to the template).
285
+ *
286
+ */
287
+ loadingIndicator: {
288
+ [key: string]: any
289
+ },
290
+
291
+ /**
292
+ * Used to set the default properties of the page transitions.
293
+ *
294
+ * You can either pass a string (the transition name) or an object with properties to bind to the `<Transition>` component that will wrap your pages.
295
+ *
296
+ *
297
+ * @see [vue@2 documentation](https://v2.vuejs.org/v2/guide/transitions.html)
298
+ *
299
+ * @see [vue@3 documentation](https://vuejs.org/guide/built-ins/transition-group.html#enter-leave-transitions)
300
+ */
301
+ pageTransition: {
302
+ [key: string]: any
303
+ },
304
+
305
+ /**
306
+ * Used to set the default properties of the layout transitions.
307
+ *
308
+ * You can either pass a string (the transition name) or an object with properties to bind to the `<Transition>` component that will wrap your layouts.
309
+ *
310
+ *
311
+ * @see [vue@2 documentation](https://v2.vuejs.org/v2/guide/transitions.html)
312
+ */
313
+ layoutTransition: {
314
+ [key: string]: any
315
+ },
316
+
317
+ /**
318
+ * You can disable specific Nuxt features that you do not want.
319
+ *
320
+ */
321
+ features: {
322
+ /**
323
+ * Set to false to disable Nuxt vuex integration
324
+ *
325
+ * @default true
326
+ */
327
+ store: boolean,
328
+
329
+ /**
330
+ * Set to false to disable layouts
331
+ *
332
+ * @default true
333
+ */
334
+ layouts: boolean,
335
+
336
+ /**
337
+ * Set to false to disable Nuxt integration with `vue-meta` and the `head` property
338
+ *
339
+ * @default true
340
+ */
341
+ meta: boolean,
342
+
343
+ /**
344
+ * Set to false to disable middleware
345
+ *
346
+ * @default true
347
+ */
348
+ middleware: boolean,
349
+
350
+ /**
351
+ * Set to false to disable transitions
352
+ *
353
+ * @default true
354
+ */
355
+ transitions: boolean,
356
+
357
+ /**
358
+ * Set to false to disable support for deprecated features and aliases
359
+ *
360
+ * @default true
361
+ */
362
+ deprecations: boolean,
363
+
364
+ /**
365
+ * Set to false to disable the Nuxt `validate()` hook
366
+ *
367
+ * @default true
368
+ */
369
+ validate: boolean,
370
+
371
+ /**
372
+ * Set to false to disable the Nuxt `asyncData()` hook
373
+ *
374
+ * @default true
375
+ */
376
+ useAsyncData: boolean,
377
+
378
+ /**
379
+ * Set to false to disable the Nuxt `fetch()` hook
380
+ *
381
+ * @default true
382
+ */
383
+ fetch: boolean,
384
+
385
+ /**
386
+ * Set to false to disable `$nuxt.isOnline`
387
+ *
388
+ * @default true
389
+ */
390
+ clientOnline: boolean,
391
+
392
+ /**
393
+ * Set to false to disable prefetching behavior in `<NuxtLink>`
394
+ *
395
+ * @default true
396
+ */
397
+ clientPrefetch: boolean,
398
+
399
+ /**
400
+ * Set to false to disable extra component aliases like `<NLink>` and `<NChild>`
401
+ *
402
+ * @default true
403
+ */
404
+ componentAliases: boolean,
405
+
406
+ /**
407
+ * Set to false to disable the `<ClientOnly>` component (see [docs](https://github.com/egoist/vue-client-only))
408
+ *
409
+ * @default true
410
+ */
411
+ componentClientOnly: boolean,
412
+ },
413
+
414
+ build: {
415
+ /**
416
+ * Suppresses most of the build output log.
417
+ *
418
+ * It is enabled by default when a CI or test environment is detected.
419
+ *
420
+ * @default true
421
+ *
422
+ * @see [std-env](https://github.com/unjs/std-env)
423
+ */
424
+ quiet: boolean,
425
+
426
+ /**
427
+ * Nuxt uses `webpack-bundle-analyzer` to visualize your bundles and how to optimize them.
428
+ *
429
+ * 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).
430
+ *
431
+ * @default false
432
+ *
433
+ * @example
434
+ * ```js
435
+ * analyze: {
436
+ * analyzerMode: 'static'
437
+ * }
438
+ * ```
439
+ */
440
+ analyze: boolean | BundleAnalyzerPlugin.Options | PluginVisualizerOptions,
441
+
442
+ /**
443
+ * Enable the profiler in webpackbar.
444
+ *
445
+ * It is normally enabled by CLI argument `--profile`.
446
+ *
447
+ * @default false
448
+ *
449
+ * @see [webpackbar](https://github.com/unjs/webpackbar#profile)
450
+ */
451
+ profile: boolean,
452
+
453
+ /**
454
+ * Enables Common CSS Extraction using [Vue Server Renderer guidelines](https://v2.ssr.vuejs.org/guide/css.html).
455
+ *
456
+ * Using [extract-css-chunks-webpack-plugin](https://github.com/faceyspacey/extract-css-chunks-webpack-plugin/) under the hood, your CSS will be extracted into separate files, usually one per component. This allows caching your CSS and JavaScript separately and is worth trying if you have a lot of global or shared CSS.
457
+ *
458
+ * @default false
459
+ *
460
+ * @example
461
+ * ```js
462
+ * export default {
463
+ * build: {
464
+ * extractCSS: true,
465
+ * // or
466
+ * extractCSS: {
467
+ * ignoreOrder: true
468
+ * }
469
+ * }
470
+ * }
471
+ * ```
472
+ *
473
+ * If you want to extract all your CSS to a single file, there is a workaround for this.
474
+ * However, note that it is not recommended to extract everything into a single file.
475
+ * Extracting into multiple CSS files is better for caching and preload isolation. It
476
+ * can also improve page performance by downloading and resolving only those resources
477
+ * that are needed.
478
+ *
479
+ * @example
480
+ * ```js
481
+ * export default {
482
+ * build: {
483
+ * extractCSS: true,
484
+ * optimization: {
485
+ * splitChunks: {
486
+ * cacheGroups: {
487
+ * styles: {
488
+ * name: 'styles',
489
+ * test: /\.(css|vue)$/,
490
+ * chunks: 'all',
491
+ * enforce: true
492
+ * }
493
+ * }
494
+ * }
495
+ * }
496
+ * }
497
+ * }
498
+ * ```
499
+ */
500
+ extractCSS: boolean | PluginOptions,
501
+
502
+ /**
503
+ * Enables CSS source map support (defaults to true in development)
504
+ *
505
+ */
506
+ cssSourceMap: any,
507
+
508
+ /**
509
+ * Creates special webpack bundle for SSR renderer. It is normally not necessary to change this value.
510
+ *
511
+ */
512
+ ssr: any,
513
+
514
+ /**
515
+ * Enable [thread-loader](https://github.com/webpack-contrib/thread-loader#thread-loader) when building app with webpack.
516
+ *
517
+ * @default false
518
+ *
519
+ * @warning This is an unstable feature.
520
+ */
521
+ parallel: boolean,
522
+
523
+ /**
524
+ * Enable caching for [`terser-webpack-plugin`](https://github.com/webpack-contrib/terser-webpack-plugin#options) and [`cache-loader`](https://github.com/webpack-contrib/cache-loader#cache-loader).
525
+ *
526
+ * @default false
527
+ *
528
+ * @warning This is an unstable feature.
529
+ */
530
+ cache: boolean,
531
+
532
+ /**
533
+ * Inline server bundle dependencies.
534
+ *
535
+ * This mode bundles `node_modules` that are normally preserved as externals in the server build.
536
+ *
537
+ * @default false
538
+ *
539
+ * @warning Runtime dependencies (modules, `nuxt.config`, server middleware and the static directory) are not bundled.
540
+ * This feature only disables use of [webpack-externals](https://webpack.js.org/configuration/externals/) for server-bundle.
541
+ *
542
+ * @note You can enable standalone bundling by passing `--standalone` via the command line.
543
+ *
544
+ * @see [context](https://github.com/nuxt/nuxt.js/pull/4661)
545
+ */
546
+ standalone: boolean,
547
+
548
+ /**
549
+ * If you are uploading your dist files to a CDN, you can set the publicPath to your CDN.
550
+ *
551
+ *
552
+ * @note This is only applied in production.
553
+ *
554
+ * The value of this property at runtime will override the configuration of an app that
555
+ * has already been built.
556
+ *
557
+ * @example
558
+ * ```js
559
+ * build: {
560
+ * publicPath: process.env.PUBLIC_PATH || 'https://cdn.nuxtjs.org'
561
+ * }
562
+ * ```
563
+ */
564
+ publicPath: any,
565
+
566
+ /**
567
+ * The polyfill library to load to provide URL and URLSearchParams.
568
+ *
569
+ * Defaults to `'url'` ([see package](https://www.npmjs.com/package/url)).
570
+ *
571
+ * @default "url"
572
+ */
573
+ serverURLPolyfill: string,
574
+
575
+ /**
576
+ * Customize bundle filenames.
577
+ *
578
+ * To understand a bit more about the use of manifests, take a look at [this webpack documentation](https://webpack.js.org/guides/code-splitting/).
579
+ *
580
+ *
581
+ * @note Be careful when using non-hashed based filenames in production
582
+ * as most browsers will cache the asset and not detect the changes on first load.
583
+ *
584
+ * This example changes fancy chunk names to numerical ids:
585
+ *
586
+ * @example
587
+ * ```js
588
+ * filenames: {
589
+ * chunk: ({ isDev }) => (isDev ? '[name].js' : '[id].[contenthash].js')
590
+ * }
591
+ * ```
592
+ */
593
+ filenames: Record<string, ((arg: any) => string)>,
594
+
595
+ /**
596
+ * Customize the options of Nuxt's integrated webpack loaders.
597
+ *
598
+ */
599
+ loaders: {
600
+ file: {
601
+ /** @default false */
602
+ esModule: boolean,
603
+ },
604
+
605
+ fontUrl: {
606
+ /** @default false */
607
+ esModule: boolean,
608
+
609
+ /** @default 1000 */
610
+ limit: number,
611
+ },
612
+
613
+ imgUrl: {
614
+ /** @default false */
615
+ esModule: boolean,
616
+
617
+ /** @default 1000 */
618
+ limit: number,
619
+ },
620
+
621
+ pugPlain: any,
622
+
623
+ vue: {
624
+ /** @default true */
625
+ productionMode: boolean,
626
+
627
+ transformAssetUrls: {
628
+ /** @default "src" */
629
+ video: string,
630
+
631
+ /** @default "src" */
632
+ source: string,
633
+
634
+ /** @default "src" */
635
+ object: string,
636
+
637
+ /** @default "src" */
638
+ embed: string,
639
+ },
640
+
641
+ compilerOptions: any,
642
+ },
643
+
644
+ css: {
645
+ /** @default 0 */
646
+ importLoaders: number,
647
+
648
+ /** @default false */
649
+ esModule: boolean,
650
+ },
651
+
652
+ cssModules: {
653
+ /** @default 0 */
654
+ importLoaders: number,
655
+
656
+ /** @default false */
657
+ esModule: boolean,
658
+
659
+ modules: {
660
+ /** @default "[local]_[hash:base64:5]" */
661
+ localIdentName: string,
662
+ },
663
+ },
664
+
665
+ less: any,
666
+
667
+ sass: {
668
+ sassOptions: {
669
+ /** @default true */
670
+ indentedSyntax: boolean,
671
+ },
672
+ },
673
+
674
+ scss: any,
675
+
676
+ stylus: any,
677
+
678
+ vueStyle: any,
679
+ },
680
+
681
+ /**
682
+ *
683
+ * @deprecated Use [style-resources-module](https://github.com/nuxt-community/style-resources-module/)
684
+ */
685
+ styleResources: any,
686
+
687
+ /**
688
+ * Add webpack plugins.
689
+ *
690
+ *
691
+ * @example
692
+ * ```js
693
+ * import webpack from 'webpack'
694
+ * import { version } from './package.json'
695
+ * // ...
696
+ * plugins: [
697
+ * new webpack.DefinePlugin({
698
+ * 'process.VERSION': version
699
+ * })
700
+ * ]
701
+ * ```
702
+ */
703
+ plugins: Array<any>,
704
+
705
+ /**
706
+ * Terser plugin options.
707
+ *
708
+ * Set to false to disable this plugin, or pass an object of options.
709
+ *
710
+ *
711
+ * @see [terser-webpack-plugin documentation](https://github.com/webpack-contrib/terser-webpack-plugin)
712
+ *
713
+ * @note Enabling sourcemap will leave `//# sourcemappingURL` linking comment at
714
+ * the end of each output file if webpack `config.devtool` is set to `source-map`.
715
+ */
716
+ terser: any,
717
+
718
+ /**
719
+ * Enables the [HardSourceWebpackPlugin](https://github.com/mzgoddard/hard-source-webpack-plugin) for improved caching.
720
+ *
721
+ * @default false
722
+ *
723
+ * @warning unstable
724
+ */
725
+ hardSource: boolean,
726
+
727
+ /**
728
+ * Hard-replaces `typeof process`, `typeof window` and `typeof document` to tree-shake bundle.
729
+ *
730
+ * @default false
731
+ */
732
+ aggressiveCodeRemoval: boolean,
733
+
734
+ /**
735
+ * OptimizeCSSAssets plugin options.
736
+ *
737
+ * Defaults to true when `extractCSS` is enabled.
738
+ *
739
+ * @default false
740
+ *
741
+ * @see [optimize-css-assets-webpack-plugin documentation](https://github.com/NMFR/optimize-css-assets-webpack-plugin).
742
+ */
743
+ optimizeCSS: boolean,
744
+
745
+ /**
746
+ * Configure [webpack optimization](https://webpack.js.org/configuration/optimization/).
747
+ *
748
+ */
749
+ optimization: {
750
+ /** @default "single" */
751
+ runtimeChunk: string,
752
+
753
+ /**
754
+ * Set minimize to false to disable all minimizers. (It is disabled in development by default)
755
+ *
756
+ * @default true
757
+ */
758
+ minimize: boolean,
759
+
760
+ /**
761
+ * You can set minimizer to a customized array of plugins.
762
+ *
763
+ */
764
+ minimizer: any,
765
+
766
+ splitChunks: {
767
+ /** @default "all" */
768
+ chunks: string,
769
+
770
+ /** @default "/" */
771
+ automaticNameDelimiter: string,
772
+
773
+ cacheGroups: any,
774
+ },
775
+ },
776
+
777
+ /**
778
+ * Whether to split code for `layout`, `pages` and `commons` chunks.
779
+ *
780
+ * Commons libs include `vue`, `vue-loader`, `vue-router`, `vuex`, etc.
781
+ *
782
+ */
783
+ splitChunks: {
784
+ /** @default false */
785
+ layouts: boolean,
786
+
787
+ /** @default true */
788
+ pages: boolean,
789
+
790
+ /** @default true */
791
+ commons: boolean,
792
+ },
793
+
794
+ /**
795
+ * Nuxt will automatically detect the current version of `core-js` in your project (`'auto'`), or you can specify which version you want to use (`2` or `3`).
796
+ *
797
+ * @default "auto"
798
+ */
799
+ corejs: string,
800
+
801
+ /**
802
+ * Customize your Babel configuration.
803
+ *
804
+ * See [babel-loader options](https://github.com/babel/babel-loader#options) and [babel options](https://babeljs.io/docs/en/options).
805
+ *
806
+ *
807
+ * @note `.babelrc` is ignored by default.
808
+ */
809
+ babel: {
810
+ /** @default false */
811
+ configFile: boolean,
812
+
813
+ /** @default false */
814
+ babelrc: boolean,
815
+
816
+ /**
817
+ * An array of Babel plugins to load, or a function that takes webpack context and returns an array of Babel plugins.
818
+ *
819
+ * For more information see [Babel plugins options](https://babeljs.io/docs/en/options#plugins) and [babel-loader options](https://github.com/babel/babel-loader#options).
820
+ *
821
+ */
822
+ plugins: Array<any>,
823
+
824
+ /**
825
+ * The Babel presets to be applied.
826
+ *
827
+ *
828
+ * @note The presets configured here will be applied to both the client and the server
829
+ * build. The target will be set by Nuxt accordingly (client/server). If you want to configure
830
+ * the preset differently for the client or the server build, please use presets as a function.
831
+ *
832
+ * @warning It is highly recommended to use the default preset instead customizing.
833
+ *
834
+ * @example
835
+ * ```js
836
+ * export default {
837
+ * build: {
838
+ * babel: {
839
+ * presets({ isServer }, [ preset, options ]) {
840
+ * // change options directly
841
+ * options.targets = isServer ? '...' : '...'
842
+ * options.corejs = '...'
843
+ * // return nothing
844
+ * }
845
+ * }
846
+ * }
847
+ * }
848
+ * ```
849
+ *
850
+ * @example
851
+ * ```js
852
+ * export default {
853
+ * build: {
854
+ * babel: {
855
+ * presets({ isServer }, [preset, options]) {
856
+ * return [
857
+ * [
858
+ * preset,
859
+ * {
860
+ * targets: isServer ? '...' : '...',
861
+ * ...options
862
+ * }
863
+ * ],
864
+ * [
865
+ * // Other presets
866
+ * ]
867
+ * ]
868
+ * }
869
+ * }
870
+ * }
871
+ * }
872
+ * ```
873
+ */
874
+ presets: any,
875
+
876
+ cacheDirectory: any,
877
+ },
878
+
879
+ /**
880
+ * Customize PostCSS Loader plugins. Sames options as https://github.com/webpack-contrib/postcss-loader#options
881
+ *
882
+ */
883
+ postcss: {
884
+ execute: any,
885
+
886
+ postcssOptions: {
887
+ [key: string]: any
888
+ },
889
+
890
+ sourcemap: any,
891
+
892
+ implementation: any,
893
+
894
+ /** @default "" */
895
+ order: string,
896
+ },
897
+
898
+ html: {
899
+ /**
900
+ * Configuration for the html-minifier plugin used to minify HTML files created during the build process (will be applied for all modes).
901
+ *
902
+ *
903
+ * @warning If you make changes, they won't be merged with the defaults!
904
+ *
905
+ * @example
906
+ * ```js
907
+ * export default {
908
+ * html: {
909
+ * minify: {
910
+ * collapseBooleanAttributes: true,
911
+ * decodeEntities: true,
912
+ * minifyCSS: true,
913
+ * minifyJS: true,
914
+ * processConditionalComments: true,
915
+ * removeEmptyAttributes: true,
916
+ * removeRedundantAttributes: true,
917
+ * trimCustomFragments: true,
918
+ * useShortDoctype: true
919
+ * }
920
+ * }
921
+ * }
922
+ * ```
923
+ */
924
+ minify: {
925
+ /** @default true */
926
+ collapseBooleanAttributes: boolean,
927
+
928
+ /** @default true */
929
+ decodeEntities: boolean,
930
+
931
+ /** @default true */
932
+ minifyCSS: boolean,
933
+
934
+ /** @default true */
935
+ minifyJS: boolean,
936
+
937
+ /** @default true */
938
+ processConditionalComments: boolean,
939
+
940
+ /** @default true */
941
+ removeEmptyAttributes: boolean,
942
+
943
+ /** @default true */
944
+ removeRedundantAttributes: boolean,
945
+
946
+ /** @default true */
947
+ trimCustomFragments: boolean,
948
+
949
+ /** @default true */
950
+ useShortDoctype: boolean,
951
+ },
952
+ },
953
+
954
+ /**
955
+ * Allows setting a different app template (other than `@nuxt/vue-app`)
956
+ *
957
+ */
958
+ template: any,
959
+
960
+ /**
961
+ * You can provide your custom files to watch and regenerate after changes.
962
+ *
963
+ * This feature is especially useful for using with modules.
964
+ *
965
+ *
966
+ * @example
967
+ * ```js
968
+ * watch: ['~/.nuxt/support.js']
969
+ * ```
970
+ */
971
+ watch: Array<any>,
972
+
973
+ /**
974
+ * See [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) for available options.
975
+ *
976
+ */
977
+ devMiddleware: {
978
+ /** @default "none" */
979
+ stats: string,
980
+ },
981
+
982
+ /**
983
+ * See [webpack-hot-middleware](https://github.com/webpack-contrib/webpack-hot-middleware) for available options.
984
+ *
985
+ */
986
+ hotMiddleware: any,
987
+
988
+ vendor: {
989
+ "$meta": {
990
+ /** @default "vendor has been deprecated since nuxt 2" */
991
+ deprecated: string,
992
+ },
993
+ },
994
+
995
+ /**
996
+ * Set to `'none'` or `false` to disable stats printing out after a build.
997
+ *
998
+ * @default false
999
+ */
1000
+ stats: boolean,
1001
+
1002
+ /**
1003
+ * Set to `false` to disable the overlay provided by [FriendlyErrorsWebpackPlugin](https://github.com/nuxt/friendly-errors-webpack-plugin).
1004
+ *
1005
+ * @default true
1006
+ */
1007
+ friendlyErrors: boolean,
1008
+
1009
+ /**
1010
+ * Additional extensions (beyond `['vue', 'js']` to support in `pages/`, `layouts/`, `middleware/`, etc.)
1011
+ *
1012
+ */
1013
+ additionalExtensions: Array<any>,
1014
+
1015
+ /**
1016
+ * Filters to hide build warnings.
1017
+ *
1018
+ */
1019
+ warningIgnoreFilters: Array<any>,
1020
+
1021
+ /**
1022
+ * Set to true to scan files within symlinks in the build (such as within `pages/`).
1023
+ *
1024
+ * @default false
1025
+ */
1026
+ followSymlinks: boolean,
1027
+ },
1028
+
1029
+ cli: {
1030
+ /**
1031
+ * Add a message to the CLI banner by adding a string to this array.
1032
+ *
1033
+ */
1034
+ badgeMessages: string[],
1035
+
1036
+ /**
1037
+ * Change the color of the 'Nuxt.js' title in the CLI banner.
1038
+ *
1039
+ * @default "green"
1040
+ */
1041
+ bannerColor: string,
1042
+ },
1043
+
1044
+ /**
1045
+ * Your preferred code editor to launch when debugging.
1046
+ *
1047
+ *
1048
+ * @see [documentation](https://github.com/yyx990803/launch-editor#supported-editors)
1049
+ */
1050
+ editor: string,
1051
+
1052
+ /**
1053
+ * The watch property lets you watch custom files for restarting the server.
1054
+ *
1055
+ * `chokidar` is used to set up the watchers. To learn more about its pattern options, see chokidar documentation.
1056
+ *
1057
+ *
1058
+ * @see [chokidar](https://github.com/paulmillr/chokidar#api)
1059
+ *
1060
+ * @example
1061
+ * ```js
1062
+ * watch: ['~/custom/*.js']
1063
+ * ```
1064
+ */
1065
+ watch: string[],
1066
+
1067
+ /**
1068
+ * The style extensions that should be resolved by the Nuxt resolver (for example, in `css` property).
1069
+ *
1070
+ * @default [".css",".pcss",".postcss",".styl",".stylus",".scss",".sass",".less"]
1071
+ */
1072
+ styleExtensions: Array<string>,
1073
+
1074
+ dir: {
1075
+ /**
1076
+ * The assets directory (aliased as `~assets` in your build).
1077
+ *
1078
+ * @default "assets"
1079
+ */
1080
+ assets: string,
1081
+
1082
+ /**
1083
+ * The directory containing app template files like `app.html` and `router.scrollBehavior.js`
1084
+ *
1085
+ * @default "app"
1086
+ */
1087
+ app: string,
1088
+
1089
+ /**
1090
+ * Allows customizing the global ID used in the main HTML template as well as the main Vue instance name and other options.
1091
+ *
1092
+ * @default "nuxt"
1093
+ */
1094
+ globalName: string,
1095
+
1096
+ /**
1097
+ * Whether to produce a separate modern build targeting browsers that support ES modules.
1098
+ *
1099
+ * Set to `'server'` to enable server mode, where the Nuxt server checks browser version based on the user agent and serves the correct bundle.
1100
+ * Set to `'client'` to serve both the modern bundle with `<script type="module">` and the legacy bundle with `<script nomodule>`. It will also provide a `<link rel="modulepreload">` for the modern bundle. Every browser that understands the module type will load the modern bundle while older browsers fall back to the legacy (transpiled) bundle.
1101
+ * If you have set `modern: true` and are generating your app or have `ssr: false`, modern will be set to `'client'`.
1102
+ * If you have set `modern: true` and are serving your app, modern will be set to `'server'`.
1103
+ *
1104
+ *
1105
+ * @see [concept of modern mode](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/)
1106
+ */
1107
+ modern: 'server' | 'client' | boolean,
1108
+
1109
+ /**
1110
+ * @default "universal"
1111
+ *
1112
+ * @deprecated `mode` option is deprecated
1113
+ *
1114
+ * @deprecated use `ssr` option
1115
+ */
1116
+ mode: string,
1117
+
1118
+ /**
1119
+ * The `env` property defines environment variables that should be available throughout your app (server- and client-side). They can be assigned using server-side environment variables.
1120
+ *
1121
+ *
1122
+ * @note Nuxt uses webpack's `definePlugin` to define these environment variables.
1123
+ * This means that the actual `process` or `process.env` from Node.js is neither
1124
+ * available nor defined. Each of the `env` properties defined here is individually
1125
+ * mapped to `process.env.xxxx` and converted during compilation.
1126
+ *
1127
+ * @note Environment variables starting with `NUXT_ENV_` are automatically injected
1128
+ * into the process environment.
1129
+ */
1130
+ env: {
1131
+ [key: string]: any
1132
+ },
1133
+
1134
+ /**
1135
+ * Set the method Nuxt uses to require modules, such as loading `nuxt.config`, server middleware, and so on - defaulting to `jiti` (which has support for TypeScript and ESM syntax).
1136
+ *
1137
+ *
1138
+ * @see [jiti](https://github.com/unjs/jiti)
1139
+ */
1140
+ createRequire: 'jiti' | 'native' | ((p: string | { filename: string }) => NodeRequire),
1141
+
1142
+ /**
1143
+ * Whether your Nuxt app should be built to be served by the Nuxt server (`server`) or as static HTML files suitable for a CDN or other static file server (`static`).
1144
+ *
1145
+ * This is unrelated to `ssr`.
1146
+ *
1147
+ * @default "server"
1148
+ */
1149
+ target: 'server' | 'static',
1150
+
1151
+ /**
1152
+ * Customizes specific global names (they are based on `globalName` by default).
1153
+ *
1154
+ */
1155
+ globals: {
1156
+ id: (globalName: string) => string,
1157
+
1158
+ nuxt: (globalName: string) => string,
1159
+
1160
+ context: (globalName: string) => string,
1161
+
1162
+ pluginPrefix: (globalName: string) => string,
1163
+
1164
+ readyCallback: (globalName: string) => string,
1165
+
1166
+ loadedCallback: (globalName: string) => string,
1167
+ },
1168
+
1169
+ /**
1170
+ * The folder which will be used to auto-generate your Vuex store structure.
1171
+ *
1172
+ * @default "store"
1173
+ */
1174
+ store: string,
1175
+ },
1176
+
1177
+ /**
1178
+ * Server middleware are connect/express/h3-shaped functions that handle server-side requests. They run on the server and before the Vue renderer.
1179
+ *
1180
+ * By adding entries to `serverMiddleware` you can register additional routes without the need for an external server.
1181
+ * You can pass a string, which can be the name of a node dependency or a path to a file. You can also pass an object with `path` and `handler` keys (`handler` can be a path or a function).
1182
+ *
1183
+ *
1184
+ * @note If you pass a function directly, it will only run in development mode.
1185
+ *
1186
+ * @example
1187
+ * ```js
1188
+ * serverMiddleware: [
1189
+ * // Will register redirect-ssl npm package
1190
+ * 'redirect-ssl',
1191
+ * // Will register file from project server-middleware directory to handle /server-middleware/* requires
1192
+ * { path: '/server-middleware', handler: '~/server-middleware/index.js' },
1193
+ * // We can create custom instances too, but only in development mode, they are ignored for the production bundle.
1194
+ * { path: '/static2', handler: serveStatic(fileURLToPath(new URL('./static2', import.meta.url))) }
1195
+ * ]
1196
+ * ```
1197
+ *
1198
+ * @note If you don't want middleware to run on all routes you should use the object
1199
+ * form with a specific path.
1200
+ *
1201
+ * If you pass a string handler, Nuxt will expect that file to export a default function
1202
+ * that handles `(req, res, next) => void`.
1203
+ *
1204
+ * @example
1205
+ * ```js
1206
+ * export default function (req, res, next) {
1207
+ * // req is the Node.js http request object
1208
+ * console.log(req.url)
1209
+ * // res is the Node.js http response object
1210
+ * // next is a function to call to invoke the next middleware
1211
+ * // Don't forget to call next at the end if your middleware is not an endpoint!
1212
+ * next()
1213
+ * }
1214
+ * ```
1215
+ *
1216
+ * Alternatively, it can export a connect/express/h3-type app instance.
1217
+ *
1218
+ * @example
1219
+ * ```js
1220
+ * import bodyParser from 'body-parser'
1221
+ * import createApp from 'express'
1222
+ * const app = createApp()
1223
+ * app.use(bodyParser.json())
1224
+ * app.all('/getJSON', (req, res) => {
1225
+ * res.json({ data: 'data' })
1226
+ * })
1227
+ * export default app
1228
+ * ```
1229
+ *
1230
+ * Alternatively, instead of passing an array of `serverMiddleware`, you can pass an object
1231
+ * whose keys are the paths and whose values are the handlers (string or function).
1232
+ *
1233
+ * @example
1234
+ * ```js
1235
+ * export default {
1236
+ * serverMiddleware: {
1237
+ * '/a': '~/server-middleware/a.js',
1238
+ * '/b': '~/server-middleware/b.js',
1239
+ * '/c': '~/server-middleware/c.js'
1240
+ * }
1241
+ * }
1242
+ * ```
1243
+ */
1244
+ serverMiddleware: Array<any>,
1245
+
1246
+ generate: {
1247
+ /**
1248
+ * Directory name that holds all the assets and generated pages for a `static` build.
1249
+ *
1250
+ * @default "/home/runner/work/bridge/bridge/packages/bridge-schema/dist"
1251
+ */
1252
+ dir: string,
1253
+
1254
+ /**
1255
+ * The number of routes that are generated concurrently in the same thread.
1256
+ *
1257
+ * @default 500
1258
+ */
1259
+ concurrency: number,
1260
+
1261
+ /**
1262
+ * Interval in milliseconds between two render cycles to avoid flooding a potential API with calls.
1263
+ *
1264
+ * @default 0
1265
+ */
1266
+ interval: number,
1267
+
1268
+ /**
1269
+ * Set to `false` to disable creating a directory + `index.html` for each route.
1270
+ *
1271
+ * @default true
1272
+ *
1273
+ * @example
1274
+ * ```bash
1275
+ * # subFolders: true
1276
+ * -| dist/
1277
+ * ---| index.html
1278
+ * ---| about/
1279
+ * -----| index.html
1280
+ * ---| products/
1281
+ * -----| item/
1282
+ * -------| index.html
1283
+ *
1284
+ * # subFolders: false
1285
+ * -| dist/
1286
+ * ---| index.html
1287
+ * ---| about.html
1288
+ * ---| products/
1289
+ * -----| item.html
1290
+ * ```
1291
+ */
1292
+ subFolders: boolean,
1293
+
1294
+ /**
1295
+ * The path to the fallback HTML file.
1296
+ *
1297
+ * Set this as the error page in your static server configuration, so that unknown routes can be rendered (on the client-side) by Nuxt.
1298
+ * If unset or set to a falsy value, the name of the fallback HTML file will be `200.html`. If set to `true`, the filename will be `404.html`. If you provide a string as a value, it will be used instead.
1299
+ *
1300
+ * @default "200.html"
1301
+ *
1302
+ * @note Multiple services (e.g. Netlify) detect a `404.html` automatically. If
1303
+ * you configure your web server on your own, please consult its documentation
1304
+ * to find out how to set up an error page (and set it to the `404.html` file).
1305
+ */
1306
+ fallback: string,
1307
+
1308
+ /**
1309
+ * Set to `false` to disable generating pages discovered through crawling relative links in generated pages.
1310
+ *
1311
+ * @default true
1312
+ */
1313
+ crawler: boolean,
1314
+
1315
+ /**
1316
+ * Set to `false` to disable generating a `manifest.js` with a list of all generated pages.
1317
+ *
1318
+ * @default true
1319
+ */
1320
+ manifest: boolean,
1321
+
1322
+ /**
1323
+ * Set to `false` to disable generating a `.nojekyll` file (which aids compatibility with GitHub Pages).
1324
+ *
1325
+ * @default true
1326
+ */
1327
+ nojekyll: boolean,
1328
+
1329
+ /**
1330
+ * Configure the cache (used with `static` target to avoid rebuilding when no files have changed).
1331
+ *
1332
+ * Set to `false` to disable completely.
1333
+ *
1334
+ */
1335
+ cache: {
1336
+ /**
1337
+ * An array of files or directories to ignore. (It can also be a function that returns an array.)
1338
+ *
1339
+ */
1340
+ ignore: Array<any>,
1341
+
1342
+ /**
1343
+ * Options to pass to [`globby`](https://github.com/sindresorhus/globby), which is used to generate a 'snapshot' of the source files.
1344
+ *
1345
+ */
1346
+ globbyOptions: {
1347
+ /** @default true */
1348
+ gitignore: boolean,
1349
+ },
1350
+ },
1351
+
1352
+ staticAssets: {
1353
+ /**
1354
+ * The directory underneath `/_nuxt/`, where static assets (payload, state and manifest files) will live.
1355
+ *
1356
+ * @default "static"
1357
+ */
1358
+ dir: string,
1359
+
1360
+ /**
1361
+ * The full path to the directory underneath `/_nuxt/` where static assets (payload, state and manifest files) will live.
1362
+ *
1363
+ * @default "/_nuxt/home/runner/work/bridge/bridge/packages/bridge-schema/dist"
1364
+ */
1365
+ base: string,
1366
+
1367
+ /**
1368
+ * The full path to the versioned directory where static assets for the current build are located.
1369
+ *
1370
+ * @default ""
1371
+ */
1372
+ versionBase: string,
1373
+
1374
+ /**
1375
+ * A unique string to uniquely identify payload versions (defaults to the current timestamp).
1376
+ *
1377
+ * @default "1693927593"
1378
+ */
1379
+ version: string,
1380
+ },
1381
+ },
1382
+
1383
+ messages: {
1384
+ /**
1385
+ * The text that displays on the Nuxt loading indicator when `ssr: false`.
1386
+ *
1387
+ * @default "Loading..."
1388
+ */
1389
+ loading: string,
1390
+
1391
+ /**
1392
+ * The 404 text on the default Nuxt error page.
1393
+ *
1394
+ * @default "This page could not be found"
1395
+ */
1396
+ error_404: string,
1397
+
1398
+ /**
1399
+ * The text to display on the default Nuxt error page when there has been a server error.
1400
+ *
1401
+ * @default "Server error"
1402
+ */
1403
+ server_error: string,
1404
+
1405
+ /**
1406
+ * The text (linked to nuxtjs.org) that appears on the built-in Nuxt error page.
1407
+ *
1408
+ * @default "Nuxt"
1409
+ */
1410
+ nuxtjs: string,
1411
+
1412
+ /**
1413
+ * The text (linked to the home page) that appears on the built-in Nuxt error page.
1414
+ *
1415
+ * @default "Back to the home page"
1416
+ */
1417
+ back_to_home: string,
1418
+
1419
+ /**
1420
+ * The message that will display on a white screen if the built-in Nuxt error page can't be rendered.
1421
+ *
1422
+ * @default "An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details."
1423
+ */
1424
+ server_error_details: string,
1425
+
1426
+ /**
1427
+ * The default error title (if there isn't a specific error message) on the built-in Nuxt error page.
1428
+ *
1429
+ * @default "Error"
1430
+ */
1431
+ client_error: string,
1432
+
1433
+ /**
1434
+ * The error message (in debug mode) on the built-in Nuxt error page.
1435
+ *
1436
+ * @default "An error occurred while rendering the page. Check developer tools console for details."
1437
+ */
1438
+ client_error_details: string,
1439
+ },
1440
+
1441
+ render: {
1442
+ /**
1443
+ * Use this option to customize the Vue SSR bundle renderer. This option is skipped if `ssr: false`.
1444
+ *
1445
+ * Read [docs for Vue 2](https://ssr.vuejs.org/api/#renderer-options) here.
1446
+ *
1447
+ */
1448
+ bundleRenderer: {
1449
+ shouldPrefetch: () => any,
1450
+
1451
+ shouldPreload: () => any,
1452
+
1453
+ /**
1454
+ * enabled by default for development
1455
+ *
1456
+ */
1457
+ runInNewContext: any,
1458
+ },
1459
+
1460
+ /**
1461
+ * Configure the crossorigin attribute on `<link rel="stylesheet">` and `<script>` tags in generated HTML. [More information](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin).
1462
+ *
1463
+ */
1464
+ crossorigin: any,
1465
+
1466
+ /**
1467
+ * Adds prefetch and preload links for faster initial page load time. You probably don't want to disable this option unless you have many pages and routes.
1468
+ *
1469
+ * @default true
1470
+ */
1471
+ resourceHints: boolean,
1472
+
1473
+ /**
1474
+ * Whether to enable rendering of HTML - either dynamically (in server mode) or at generate time.
1475
+ *
1476
+ * This option is automatically set based on global SSR value if not provided. This can be useful to dynamically enable/disable SSR at runtime after image builds (with docker, for example).
1477
+ *
1478
+ */
1479
+ ssr: any,
1480
+
1481
+ /**
1482
+ * Forward server-side logs to the browser for better debugging (only available in development).
1483
+ *
1484
+ * Set to `collapsed` to collapse the logs, or `false` to disable.
1485
+ *
1486
+ * @default false
1487
+ */
1488
+ ssrLog: boolean,
1489
+
1490
+ /**
1491
+ * Configuration for HTTP2 push headers.
1492
+ *
1493
+ */
1494
+ http2: {
1495
+ /**
1496
+ * Set to true to enable HTTP2 push headers.
1497
+ *
1498
+ * @default false
1499
+ */
1500
+ push: boolean,
1501
+
1502
+ /**
1503
+ *
1504
+ * @deprecated
1505
+ */
1506
+ shouldPush: any,
1507
+
1508
+ /**
1509
+ * You can control what links to push using this function. It receives `req`, `res`, `publicPath` and a `preloadFiles` array.
1510
+ *
1511
+ * You can add your own assets to the array as well. Using `req` and `res` you can decide what links to push based on the request headers, for example using the cookie with application version.
1512
+ * Assets will be joined together with `,` and passed as a single `Link` header.
1513
+ *
1514
+ *
1515
+ * @example
1516
+ * ```js
1517
+ * pushAssets: (req, res, publicPath, preloadFiles) =>
1518
+ * preloadFiles
1519
+ * .filter(f => f.asType === 'script' && f.file === 'runtime.js')
1520
+ * .map(f => `<${publicPath}${f.file}>; rel=preload; as=${f.asType}`)
1521
+ * ```
1522
+ */
1523
+ pushAssets: any,
1524
+ },
1525
+
1526
+ /**
1527
+ * Configure the behavior of the `static/` directory.
1528
+ *
1529
+ * See [serve-static docs](https://github.com/expressjs/serve-static) for possible options.
1530
+ *
1531
+ */
1532
+ static: {
1533
+ /**
1534
+ * Whether to add the router base to your static assets.
1535
+ *
1536
+ * @default true
1537
+ *
1538
+ * @note some URL rewrites might not respect the prefix.
1539
+ *
1540
+ * @example
1541
+ * Assets: favicon.ico
1542
+ * Router base: /t
1543
+ * With `prefix: true` (default): /t/favicon.ico
1544
+ * With `prefix: false`: /favicon.ico
1545
+ */
1546
+ prefix: boolean,
1547
+ },
1548
+
1549
+ /**
1550
+ * Configure server compression.
1551
+ *
1552
+ * Set to `false` to disable compression. You can also pass an object of options for [compression middleware](https://www.npmjs.com/package/compression), or use your own middleware by passing it in directly - for example, `otherComp({ myOptions: 'example' })`.
1553
+ *
1554
+ */
1555
+ compressor: boolean | object | Function,
1556
+
1557
+ /**
1558
+ * To disable etag for pages set `etag: false`. See [etag docs](https://github.com/jshttp/etag) for possible options. You can use your own hash function by specifying etag.hash:
1559
+ *
1560
+ *
1561
+ * @example
1562
+ * ```js
1563
+ * import { murmurHash128 } from 'murmurhash-native'
1564
+ *
1565
+ * export default {
1566
+ * render: {
1567
+ * etag: {
1568
+ * hash: html => murmurHash128(html)
1569
+ * }
1570
+ * }
1571
+ * }
1572
+ * ```
1573
+ * In this example we are using `murmurhash-native`, which is faster
1574
+ * for larger HTML body sizes. Note that the weak option is ignored
1575
+ * when specifying your own hash function.
1576
+ */
1577
+ etag: {
1578
+ /** @default false */
1579
+ hash: boolean,
1580
+
1581
+ /** @default false */
1582
+ weak: boolean,
1583
+ },
1584
+
1585
+ /**
1586
+ * Use this to configure Content-Security-Policy to load external resources. [Read more](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP).
1587
+ *
1588
+ * Set to `true` to enable, or you can pass options to fine-tune your CSP options.
1589
+ * **Prerequisites**: These CSP settings are only effective when using Nuxt with `mode: 'server'` to serve your SSR application.
1590
+ * **Updating settings**: These settings are read by the Nuxt server directly from `nuxt.config`. This means changes to these settings take effect when the server is restarted. There is no need to rebuild the application to update CSP settings.
1591
+ *
1592
+ * @default false
1593
+ *
1594
+ * @example
1595
+ * ```js
1596
+ * export default {
1597
+ * render: {
1598
+ * csp: {
1599
+ * hashAlgorithm: 'sha256',
1600
+ * policies: {
1601
+ * 'script-src': [
1602
+ * 'https://www.google-analytics.com',
1603
+ * 'https://name.example.com'
1604
+ * ],
1605
+ * 'report-uri': ['https://report.example.com/report-csp-violations']
1606
+ * },
1607
+ * addMeta: true
1608
+ * }
1609
+ * }
1610
+ * }
1611
+ * ```
1612
+ *
1613
+ * The following example allows Google Analytics, LogRocket.io, and Sentry.io
1614
+ * for logging and analytic tracking.
1615
+ *
1616
+ * Review [this blog on Sentry.io](https://blog.sentry.io/2018/09/04/how-sentry-captures-csp-violations)
1617
+ * to learn what tracking link you should use.
1618
+ *
1619
+ * @example
1620
+ * ```js
1621
+ * // PRIMARY_HOSTS = `loc.example-website.com`
1622
+ * export default {
1623
+ * render: {
1624
+ * csp: {
1625
+ * reportOnly: true,
1626
+ * hashAlgorithm: 'sha256',
1627
+ * policies: {
1628
+ * 'default-src': ["'self'"],
1629
+ * 'img-src': ['https:', '*.google-analytics.com'],
1630
+ * 'worker-src': ["'self'", `blob:`, PRIMARY_HOSTS, '*.logrocket.io'],
1631
+ * 'style-src': ["'self'", "'unsafe-inline'", PRIMARY_HOSTS],
1632
+ * 'script-src': [
1633
+ * "'self'",
1634
+ * "'unsafe-inline'",
1635
+ * PRIMARY_HOSTS,
1636
+ * 'sentry.io',
1637
+ * '*.sentry-cdn.com',
1638
+ * '*.google-analytics.com',
1639
+ * '*.logrocket.io'
1640
+ * ],
1641
+ * 'connect-src': [PRIMARY_HOSTS, 'sentry.io', '*.google-analytics.com'],
1642
+ * 'form-action': ["'self'"],
1643
+ * 'frame-ancestors': ["'none'"],
1644
+ * 'object-src': ["'none'"],
1645
+ * 'base-uri': [PRIMARY_HOSTS],
1646
+ * 'report-uri': [
1647
+ * `https://sentry.io/api/<project>/security/?sentry_key=<key>`
1648
+ * ]
1649
+ * }
1650
+ * }
1651
+ * }
1652
+ * }
1653
+ * ```
1654
+ */
1655
+ csp: boolean,
1656
+
1657
+ /**
1658
+ * Options used for serving distribution files. Only applicable in production.
1659
+ *
1660
+ * See [serve-static docs](https://www.npmjs.com/package/serve-static) for possible options.
1661
+ *
1662
+ */
1663
+ dist: {
1664
+ /** @default false */
1665
+ index: boolean,
1666
+
1667
+ /** @default "1y" */
1668
+ maxAge: string,
1669
+ },
1670
+
1671
+ /**
1672
+ * Configure fallback behavior for [`serve-placeholder` middleware](https://github.com/nuxt/serve-placeholder).
1673
+ *
1674
+ * Example of allowing `.js` extension for routing (for example, `/repos/nuxt.js`):
1675
+ *
1676
+ *
1677
+ * @example
1678
+ * ```js
1679
+ * export default {
1680
+ * render: {
1681
+ * fallback: {
1682
+ * static: {
1683
+ * // Avoid sending 404 for these extensions
1684
+ * handlers: {
1685
+ * '.js': false
1686
+ * }
1687
+ * }
1688
+ * }
1689
+ * }
1690
+ * }
1691
+ * ```
1692
+ */
1693
+ fallback: {
1694
+ /**
1695
+ * For routes matching the publicPath (`/_nuxt/*`). Disable by setting to `false`.
1696
+ *
1697
+ */
1698
+ dist: any,
1699
+
1700
+ /**
1701
+ * For all other routes (`/*`). Disable by setting to `false`.
1702
+ *
1703
+ */
1704
+ static: {
1705
+ /** @default true */
1706
+ skipUnknown: boolean,
1707
+
1708
+ handlers: {
1709
+ /** @default false */
1710
+ ".htm": boolean,
1711
+
1712
+ /** @default false */
1713
+ ".html": boolean,
1714
+ },
1715
+ },
1716
+ },
1717
+ },
1718
+
1719
+ router: {
1720
+ /**
1721
+ * Configure the router mode.
1722
+ *
1723
+ * For server-side rendering it is not recommended to change it.
1724
+ *
1725
+ * @default "history"
1726
+ */
1727
+ mode: string,
1728
+
1729
+ /**
1730
+ * The base URL of the app. For example, if the entire single page application is served under `/app/`, then base should use the value `'/app/'`.
1731
+ *
1732
+ * This can be useful if you need to serve Nuxt as a different context root, from within a bigger web site.
1733
+ *
1734
+ * @default "/"
1735
+ */
1736
+ base: string,
1737
+
1738
+ /**
1739
+ * @default true
1740
+ *
1741
+ * @private
1742
+ */
1743
+ _routerBaseSpecified: boolean,
1744
+
1745
+ routes: Array<any>,
1746
+
1747
+ /**
1748
+ * This allows changing the separator between route names that Nuxt uses.
1749
+ *
1750
+ * Imagine we have the page file `pages/posts/_id.vue`. Nuxt will generate the route name programmatically, in this case `posts-id`. If you change the routeNameSplitter config to `/` the name will change to `posts/id`.
1751
+ *
1752
+ * @default "-"
1753
+ */
1754
+ routeNameSplitter: string,
1755
+
1756
+ /**
1757
+ * Set the default(s) middleware for every page of the application.
1758
+ *
1759
+ */
1760
+ middleware: Array<any>,
1761
+
1762
+ /**
1763
+ * Globally configure `<nuxt-link>` default active class.
1764
+ *
1765
+ * @default "nuxt-link-active"
1766
+ */
1767
+ linkActiveClass: string,
1768
+
1769
+ /**
1770
+ * Globally configure `<nuxt-link>` default exact active class.
1771
+ *
1772
+ * @default "nuxt-link-exact-active"
1773
+ */
1774
+ linkExactActiveClass: string,
1775
+
1776
+ /**
1777
+ * Globally configure `<nuxt-link>` default prefetch class (feature disabled by default).
1778
+ *
1779
+ * @default false
1780
+ */
1781
+ linkPrefetchedClass: boolean,
1782
+
1783
+ /**
1784
+ * You can pass a function to extend the routes created by Nuxt.
1785
+ *
1786
+ *
1787
+ * @example
1788
+ * ```js
1789
+ * import { fileURLToPath } from 'url'
1790
+ * export default {
1791
+ * router: {
1792
+ * extendRoutes(routes, resolve) {
1793
+ * routes.push({
1794
+ * name: 'custom',
1795
+ * path: '*',
1796
+ * component: fileURLToPath(new URL('./pages/404.vue', import.meta.url))
1797
+ * })
1798
+ * }
1799
+ * }
1800
+ * }
1801
+ * ```
1802
+ */
1803
+ extendRoutes: any,
1804
+
1805
+ /**
1806
+ * The `scrollBehavior` option lets you define a custom behavior for the scroll position between the routes. This method is called every time a page is rendered. To learn more about it, see the `vue-router` documentation.
1807
+ *
1808
+ *
1809
+ * @deprecated router.scrollBehavior` property is deprecated in favor of using `~/app/router.scrollBehavior.js` file, learn more: https://nuxtjs.org/api/configuration-router#scrollbehavior
1810
+ *
1811
+ * @see [vue-router `scrollBehavior` documentation](https://router.vuejs.org/guide/advanced/scroll-behavior.html).
1812
+ */
1813
+ scrollBehavior: any,
1814
+
1815
+ /**
1816
+ * Provide custom query string parse function. Overrides the default.
1817
+ *
1818
+ * @default false
1819
+ */
1820
+ parseQuery: boolean,
1821
+
1822
+ /**
1823
+ * Provide custom query string stringify function. Overrides the default.
1824
+ *
1825
+ * @default false
1826
+ */
1827
+ stringifyQuery: boolean,
1828
+
1829
+ /**
1830
+ * Controls whether the router should fall back to hash mode when the browser does not support history.pushState, but mode is set to history.
1831
+ *
1832
+ * Setting this to `false` essentially makes every router-link navigation a full page refresh in IE9. This is useful when the app is server-rendered and needs to work in IE9, because a hash mode URL does not work with SSR.
1833
+ *
1834
+ * @default false
1835
+ */
1836
+ fallback: boolean,
1837
+
1838
+ /**
1839
+ * Configure `<nuxt-link>` to prefetch the code-splitted page when detected within the viewport. Requires [IntersectionObserver](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) to be supported (see [Caniuse](https://caniuse.com/intersectionobserver)).
1840
+ *
1841
+ * @default true
1842
+ */
1843
+ prefetchLinks: boolean,
1844
+
1845
+ /**
1846
+ * When using `nuxt generate` with target: 'static', Nuxt will generate a payload.js for each page.
1847
+ *
1848
+ * With this option enabled, Nuxt will automatically prefetch the payload of the linked page when the `<nuxt-link>` is visible in the viewport, making instant navigation.
1849
+ *
1850
+ * @default true
1851
+ */
1852
+ prefetchPayloads: boolean,
1853
+
1854
+ /**
1855
+ * If this option is set to `true`, trailing slashes will be appended to every route. If set to `false`, they'll be removed.
1856
+ *
1857
+ *
1858
+ * @warning This option should not be set without preparation and has to
1859
+ * be tested thoroughly. When setting `trailingSlash` to something else than
1860
+ * `undefined`, the opposite route will stop working. Thus, 301 redirects should
1861
+ * be in place and your internal linking has to be adapted correctly. If you set
1862
+ * `trailingSlash` to `true`, then only `example.com/abc/` will work, but not
1863
+ * `example.com/abc`. On `false`, it's vice-versa.
1864
+ */
1865
+ trailingSlash: any,
1866
+ },
1867
+
1868
+ server: {
1869
+ /**
1870
+ * Whether to enable HTTPS.
1871
+ *
1872
+ * @default false
1873
+ *
1874
+ * @example
1875
+ * ```
1876
+ * import { fileURLToPath } from 'node:url'
1877
+ * export default {
1878
+ * server: {
1879
+ * https: {
1880
+ * key: fs.readFileSync(fileURLToPath(new URL('./server.key', import.meta.url))),
1881
+ * cert: fs.readFileSync(fileURLToPath(new URL('./server.crt', import.meta.url)))
1882
+ * }
1883
+ * }
1884
+ * }
1885
+ * ```
1886
+ */
1887
+ https: false | { key: string; cert: string },
1888
+
1889
+ /** @default 3000 */
1890
+ port: number,
1891
+
1892
+ /** @default "localhost" */
1893
+ host: string,
1894
+
1895
+ socket: any,
1896
+
1897
+ /**
1898
+ * Enabling timing adds a middleware to measure the time elapsed during server-side rendering and adds it to the headers as 'Server-Timing'.
1899
+ *
1900
+ * Apart from true/false, this can be an object for providing options. Currently, only `total` is supported (which directly tracks the whole time spent on server-side rendering.
1901
+ *
1902
+ */
1903
+ timing: () => any,
1904
+ },
1905
+ }
1906
+
1907
+ type DeepPartial<T> = T extends Function ? T : T extends Record<string, any> ? {
1908
+ [P in keyof T]?: DeepPartial<T[P]>;
1909
+ } : T;
1910
+ /** User configuration in `nuxt.config` file */
1911
+ interface Nuxt2Config extends DeepPartial<Omit<ConfigSchema, 'vite'>> {
1912
+ }
1913
+ /** Normalized Nuxt options available as `nuxt.options.*` */
1914
+ interface Nuxt2Options extends ConfigSchema {
1915
+ }
1916
+
1917
+ interface VueAppCompat {
1918
+ component: VueConstructor['component'];
1919
+ config: {
1920
+ globalProperties: any;
1921
+ [key: string]: any;
1922
+ errorHandler: VueConstructor['config']['errorHandler'];
1923
+ };
1924
+ directive: VueConstructor['directive'];
1925
+ mixin: VueConstructor['mixin'];
1926
+ mount: () => void;
1927
+ provide: (name: string, value: any) => void;
1928
+ unmount: () => void;
1929
+ use: VueConstructor['use'];
1930
+ version: string;
1931
+ }
1932
+ interface RuntimeNuxtHooks {
1933
+ 'app:error': (err: any) => void | Promise<void>;
1934
+ 'app:error:cleared': (options: {
1935
+ redirect?: string;
1936
+ }) => void | Promise<void>;
1937
+ 'app:mounted': (app: VueAppCompat) => void | Promise<void>;
1938
+ 'meta:register': (metaRenderers: any[]) => void | Promise<void>;
1939
+ 'vue:setup': () => void;
1940
+ }
1941
+ interface NuxtAppCompat {
1942
+ nuxt2Context: Nuxt2Context;
1943
+ vue2App: ComponentOptions<Vue>;
1944
+ vueApp: VueAppCompat;
1945
+ globalName: string;
1946
+ hooks: Hookable<RuntimeNuxtHooks>;
1947
+ hook: NuxtAppCompat['hooks']['hook'];
1948
+ callHook: NuxtAppCompat['hooks']['callHook'];
1949
+ [key: string]: any;
1950
+ ssrContext?: Record<string, any>;
1951
+ payload: {
1952
+ [key: string]: any;
1953
+ };
1954
+ provide: (name: string, value: any) => void;
1955
+ }
1956
+ interface IncomingMessage extends IncomingMessage$1 {
1957
+ originalUrl?: IncomingMessage$1['url'] | undefined;
1958
+ }
1959
+ interface NuxtRuntimeConfig {
1960
+ [key: string]: any;
1961
+ /**
1962
+ * This is used internally by Nuxt for dynamic configuration and should not be used.
1963
+ * @internal
1964
+ */
1965
+ _app?: never;
1966
+ }
1967
+ interface NuxtAppOptions extends ComponentOptions<Vue> {
1968
+ nuxt: {
1969
+ dateErr: number | null;
1970
+ err: any;
1971
+ error: any;
1972
+ defaultTransition?: any;
1973
+ transitions?: any[];
1974
+ setTransitions?: (transitions: any | any[]) => void;
1975
+ };
1976
+ head?: any;
1977
+ router: vue_router.default;
1978
+ context: Nuxt2Context;
1979
+ $_nuxtApp: NuxtAppCompat;
1980
+ }
1981
+ type NuxtState = Record<string, any>;
1982
+ interface NuxtError {
1983
+ message?: string;
1984
+ path?: string;
1985
+ statusCode?: number;
1986
+ }
1987
+ interface Nuxt2Context {
1988
+ $config: NuxtRuntimeConfig;
1989
+ app: NuxtAppOptions;
1990
+ base: string;
1991
+ isDev: boolean;
1992
+ isHMR: boolean;
1993
+ route: Route;
1994
+ from: Route;
1995
+ store: any;
1996
+ env: Record<string, any>;
1997
+ params: Route['params'];
1998
+ payload: any;
1999
+ query: Route['query'];
2000
+ next?: (err?: any) => void;
2001
+ req: IncomingMessage;
2002
+ res: ServerResponse;
2003
+ redirect(status: number, path: string, query?: Route['query']): void;
2004
+ redirect(path: string, query?: Route['query']): void;
2005
+ redirect(location: Location): void;
2006
+ redirect(status: number, location: Location): void;
2007
+ ssrContext?: {
2008
+ req: Nuxt2Context['req'];
2009
+ res: Nuxt2Context['res'];
2010
+ url: string;
2011
+ target: 'server' | 'static';
2012
+ spa?: boolean;
2013
+ modern: boolean;
2014
+ runtimeConfig: {
2015
+ public: NuxtRuntimeConfig;
2016
+ private: NuxtRuntimeConfig;
2017
+ };
2018
+ redirected: boolean;
2019
+ next: (err?: any) => void;
2020
+ beforeRenderFns: Array<() => any>;
2021
+ beforeSerializeFns: Array<() => any>;
2022
+ fetchCounters: Record<string, number>;
2023
+ nuxt: {
2024
+ layout: string;
2025
+ data: Array<Record<string, any>>;
2026
+ fetch: Array<Record<string, any>>;
2027
+ error: any;
2028
+ state: Array<Record<string, any>>;
2029
+ serverRendered: boolean;
2030
+ routePath: string;
2031
+ config: NuxtRuntimeConfig;
2032
+ };
2033
+ };
2034
+ error(params: NuxtError): NuxtError;
2035
+ nuxtState: NuxtState;
2036
+ }
2037
+
2038
+ declare const _default: {
2039
+ [x: string]: untyped_dist_types_a304c6a0.J | untyped_dist_types_a304c6a0.I;
2040
+ };
2041
+
2042
+ export { type IncomingMessage, type Nuxt2Config, type Nuxt2Context, type Nuxt2Options, type NuxtAppCompat, type NuxtAppOptions, _default as NuxtConfigSchema, type NuxtError, type NuxtRuntimeConfig, type RuntimeNuxtHooks, type VueAppCompat };