@nuxt/schema-nightly 4.3.0-29461891.8f4fbecd → 4.3.0-29466366.fa21bb17

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/dist/index.mjs CHANGED
@@ -1,1330 +1,1013 @@
1
- import process from 'node:process';
2
- import { defu } from 'defu';
3
- import { resolve, join, relative } from 'pathe';
4
- import { isTest, isDevelopment, isDebug } from 'std-env';
5
- import { existsSync } from 'node:fs';
6
- import { readdir } from 'node:fs/promises';
7
- import { randomUUID } from 'node:crypto';
8
- import { findWorkspaceDir } from 'pkg-types';
9
- import { escapeHtml } from '@vue/shared';
1
+ import process from "node:process";
2
+ import { defu } from "defu";
3
+ import { join, relative, resolve } from "pathe";
4
+ import { isDebug, isDevelopment, isTest } from "std-env";
5
+ import { existsSync } from "node:fs";
6
+ import { readdir } from "node:fs/promises";
7
+ import { randomUUID } from "node:crypto";
8
+ import { findWorkspaceDir } from "pkg-types";
9
+ import { escapeHtml } from "@vue/shared";
10
10
 
11
+ //#region src/utils/definition.ts
11
12
  function defineResolvers(config) {
12
- return config;
13
+ return config;
13
14
  }
14
15
 
15
- const adhoc = defineResolvers({
16
- components: {
17
- $resolve: (val) => {
18
- if (Array.isArray(val)) {
19
- return { dirs: val };
20
- }
21
- if (val === false) {
22
- return { dirs: [] };
23
- }
24
- return {
25
- dirs: [{ path: "~/components/global", global: true }, "~/components"],
26
- ...typeof val === "object" ? val : {}
27
- };
28
- }
29
- },
30
- imports: {
31
- global: false,
32
- scan: true,
33
- dirs: []
34
- },
35
- pages: void 0,
36
- telemetry: void 0,
37
- devtools: {}
16
+ //#endregion
17
+ //#region src/config/adhoc.ts
18
+ var adhoc_default = defineResolvers({
19
+ components: { $resolve: (val) => {
20
+ if (Array.isArray(val)) return { dirs: val };
21
+ if (val === false) return { dirs: [] };
22
+ return {
23
+ dirs: [{
24
+ path: "~/components/global",
25
+ global: true
26
+ }, "~/components"],
27
+ ...typeof val === "object" ? val : {}
28
+ };
29
+ } },
30
+ imports: {
31
+ global: false,
32
+ scan: true,
33
+ dirs: []
34
+ },
35
+ pages: void 0,
36
+ telemetry: void 0,
37
+ devtools: {}
38
38
  });
39
39
 
40
- const app = defineResolvers({
41
- vue: {
42
- transformAssetUrls: {
43
- video: ["src", "poster"],
44
- source: ["src"],
45
- img: ["src"],
46
- image: ["xlink:href", "href"],
47
- use: ["xlink:href", "href"]
48
- },
49
- compilerOptions: {},
50
- runtimeCompiler: {
51
- $resolve: (val) => {
52
- return typeof val === "boolean" ? val : false;
53
- }
54
- },
55
- propsDestructure: true,
56
- config: {}
57
- },
58
- app: {
59
- baseURL: {
60
- $resolve: (val) => {
61
- if (typeof val === "string") {
62
- return val;
63
- }
64
- return process.env.NUXT_APP_BASE_URL || "/";
65
- }
66
- },
67
- buildAssetsDir: {
68
- $resolve: (val) => {
69
- if (typeof val === "string") {
70
- return val;
71
- }
72
- return process.env.NUXT_APP_BUILD_ASSETS_DIR || "/_nuxt/";
73
- }
74
- },
75
- cdnURL: {
76
- $resolve: async (val, get) => {
77
- if (await get("dev")) {
78
- return "";
79
- }
80
- return process.env.NUXT_APP_CDN_URL || (typeof val === "string" ? val : "");
81
- }
82
- },
83
- head: {
84
- $resolve: (_val) => {
85
- const val = _val && typeof _val === "object" ? _val : {};
86
- const resolved = defu(val, {
87
- meta: [],
88
- link: [],
89
- style: [],
90
- script: [],
91
- noscript: []
92
- });
93
- if (!resolved.meta.find((m) => m?.charset)?.charset) {
94
- resolved.meta.unshift({ charset: resolved.charset || "utf-8" });
95
- }
96
- if (!resolved.meta.find((m) => m?.name === "viewport")?.content) {
97
- resolved.meta.unshift({ name: "viewport", content: resolved.viewport || "width=device-width, initial-scale=1" });
98
- }
99
- resolved.meta = resolved.meta.filter(Boolean);
100
- resolved.link = resolved.link.filter(Boolean);
101
- resolved.style = resolved.style.filter(Boolean);
102
- resolved.script = resolved.script.filter(Boolean);
103
- resolved.noscript = resolved.noscript.filter(Boolean);
104
- return resolved;
105
- }
106
- },
107
- layoutTransition: false,
108
- pageTransition: false,
109
- viewTransition: {
110
- $resolve: async (val, get) => {
111
- if (val === "always" || typeof val === "boolean") {
112
- return val;
113
- }
114
- return await get("experimental").then((e) => e.viewTransition) ?? false;
115
- }
116
- },
117
- keepalive: false,
118
- rootId: {
119
- $resolve: (val) => val === false ? false : val && typeof val === "string" ? val : "__nuxt"
120
- },
121
- rootTag: {
122
- $resolve: (val) => val && typeof val === "string" ? val : "div"
123
- },
124
- rootAttrs: {
125
- $resolve: async (val, get) => {
126
- const rootId = await get("app.rootId");
127
- return {
128
- id: rootId === false ? void 0 : rootId || "__nuxt",
129
- ...typeof val === "object" ? val : {}
130
- };
131
- }
132
- },
133
- teleportTag: {
134
- $resolve: (val) => val && typeof val === "string" ? val : "div"
135
- },
136
- teleportId: {
137
- $resolve: (val) => val === false ? false : val && typeof val === "string" ? val : "teleports"
138
- },
139
- teleportAttrs: {
140
- $resolve: async (val, get) => {
141
- const teleportId = await get("app.teleportId");
142
- return {
143
- id: teleportId === false ? void 0 : teleportId || "teleports",
144
- ...typeof val === "object" ? val : {}
145
- };
146
- }
147
- },
148
- spaLoaderTag: {
149
- $resolve: (val) => val && typeof val === "string" ? val : "div"
150
- },
151
- spaLoaderAttrs: {
152
- id: "__nuxt-loader"
153
- }
154
- },
155
- spaLoadingTemplate: {
156
- $resolve: async (val, get) => {
157
- if (typeof val === "string") {
158
- return resolve(await get("srcDir"), val);
159
- }
160
- if (typeof val === "boolean") {
161
- return val;
162
- }
163
- return null;
164
- }
165
- },
166
- plugins: [],
167
- css: {
168
- $resolve: (val) => {
169
- if (!Array.isArray(val)) {
170
- return [];
171
- }
172
- const css = [];
173
- for (const item of val) {
174
- if (typeof item === "string") {
175
- css.push(item);
176
- }
177
- }
178
- return css;
179
- }
180
- },
181
- unhead: {
182
- legacy: false,
183
- renderSSRHeadOptions: {
184
- $resolve: (val) => ({
185
- omitLineBreaks: true,
186
- ...typeof val === "object" ? val : {}
187
- })
188
- }
189
- }
40
+ //#endregion
41
+ //#region src/config/app.ts
42
+ var app_default = defineResolvers({
43
+ vue: {
44
+ transformAssetUrls: {
45
+ video: ["src", "poster"],
46
+ source: ["src"],
47
+ img: ["src"],
48
+ image: ["xlink:href", "href"],
49
+ use: ["xlink:href", "href"]
50
+ },
51
+ compilerOptions: {},
52
+ runtimeCompiler: { $resolve: (val) => {
53
+ return typeof val === "boolean" ? val : false;
54
+ } },
55
+ propsDestructure: true,
56
+ config: {}
57
+ },
58
+ app: {
59
+ baseURL: { $resolve: (val) => {
60
+ if (typeof val === "string") return val;
61
+ return process.env.NUXT_APP_BASE_URL || "/";
62
+ } },
63
+ buildAssetsDir: { $resolve: (val) => {
64
+ if (typeof val === "string") return val;
65
+ return process.env.NUXT_APP_BUILD_ASSETS_DIR || "/_nuxt/";
66
+ } },
67
+ cdnURL: { $resolve: async (val, get) => {
68
+ if (await get("dev")) return "";
69
+ return process.env.NUXT_APP_CDN_URL || (typeof val === "string" ? val : "");
70
+ } },
71
+ head: { $resolve: (_val) => {
72
+ const resolved = defu(_val && typeof _val === "object" ? _val : {}, {
73
+ meta: [],
74
+ link: [],
75
+ style: [],
76
+ script: [],
77
+ noscript: []
78
+ });
79
+ if (!resolved.meta.find((m) => m?.charset)?.charset) resolved.meta.unshift({ charset: resolved.charset || "utf-8" });
80
+ if (!resolved.meta.find((m) => m?.name === "viewport")?.content) resolved.meta.unshift({
81
+ name: "viewport",
82
+ content: resolved.viewport || "width=device-width, initial-scale=1"
83
+ });
84
+ resolved.meta = resolved.meta.filter(Boolean);
85
+ resolved.link = resolved.link.filter(Boolean);
86
+ resolved.style = resolved.style.filter(Boolean);
87
+ resolved.script = resolved.script.filter(Boolean);
88
+ resolved.noscript = resolved.noscript.filter(Boolean);
89
+ return resolved;
90
+ } },
91
+ layoutTransition: false,
92
+ pageTransition: false,
93
+ viewTransition: { $resolve: async (val, get) => {
94
+ if (val === "always" || typeof val === "boolean") return val;
95
+ return await get("experimental").then((e) => e.viewTransition) ?? false;
96
+ } },
97
+ keepalive: false,
98
+ rootId: { $resolve: (val) => val === false ? false : val && typeof val === "string" ? val : "__nuxt" },
99
+ rootTag: { $resolve: (val) => val && typeof val === "string" ? val : "div" },
100
+ rootAttrs: { $resolve: async (val, get) => {
101
+ const rootId = await get("app.rootId");
102
+ return {
103
+ id: rootId === false ? void 0 : rootId || "__nuxt",
104
+ ...typeof val === "object" ? val : {}
105
+ };
106
+ } },
107
+ teleportTag: { $resolve: (val) => val && typeof val === "string" ? val : "div" },
108
+ teleportId: { $resolve: (val) => val === false ? false : val && typeof val === "string" ? val : "teleports" },
109
+ teleportAttrs: { $resolve: async (val, get) => {
110
+ const teleportId = await get("app.teleportId");
111
+ return {
112
+ id: teleportId === false ? void 0 : teleportId || "teleports",
113
+ ...typeof val === "object" ? val : {}
114
+ };
115
+ } },
116
+ spaLoaderTag: { $resolve: (val) => val && typeof val === "string" ? val : "div" },
117
+ spaLoaderAttrs: { id: "__nuxt-loader" }
118
+ },
119
+ spaLoadingTemplate: { $resolve: async (val, get) => {
120
+ if (typeof val === "string") return resolve(await get("srcDir"), val);
121
+ if (typeof val === "boolean") return val;
122
+ return null;
123
+ } },
124
+ plugins: [],
125
+ css: { $resolve: (val) => {
126
+ if (!Array.isArray(val)) return [];
127
+ const css = [];
128
+ for (const item of val) if (typeof item === "string") css.push(item);
129
+ return css;
130
+ } },
131
+ unhead: {
132
+ legacy: false,
133
+ renderSSRHeadOptions: { $resolve: (val) => ({
134
+ omitLineBreaks: true,
135
+ ...typeof val === "object" ? val : {}
136
+ }) }
137
+ }
190
138
  });
191
139
 
192
- const build = defineResolvers({
193
- builder: {
194
- $resolve: (val) => {
195
- if (val && typeof val === "object" && "bundle" in val) {
196
- return val;
197
- }
198
- const map = {
199
- rspack: "@nuxt/rspack-builder",
200
- vite: "@nuxt/vite-builder",
201
- webpack: "@nuxt/webpack-builder"
202
- };
203
- if (typeof val === "string" && val in map) {
204
- return map[val];
205
- }
206
- return map.vite;
207
- }
208
- },
209
- sourcemap: {
210
- $resolve: async (val, get) => {
211
- if (typeof val === "boolean") {
212
- return { server: val, client: val };
213
- }
214
- return {
215
- server: true,
216
- client: await get("dev"),
217
- ...typeof val === "object" ? val : {}
218
- };
219
- }
220
- },
221
- logLevel: {
222
- $resolve: (val) => {
223
- if (val && typeof val === "string" && !["silent", "info", "verbose"].includes(val)) {
224
- console.warn(`Invalid \`logLevel\` option: \`${val}\`. Must be one of: \`silent\`, \`info\`, \`verbose\`.`);
225
- }
226
- return val && typeof val === "string" ? val : isTest ? "silent" : "info";
227
- }
228
- },
229
- build: {
230
- transpile: {
231
- $resolve: (val) => {
232
- const transpile = [];
233
- if (Array.isArray(val)) {
234
- for (const pattern of val) {
235
- if (!pattern) {
236
- continue;
237
- }
238
- if (typeof pattern === "string" || typeof pattern === "function" || pattern instanceof RegExp) {
239
- transpile.push(pattern);
240
- }
241
- }
242
- }
243
- return transpile;
244
- }
245
- },
246
- templates: [],
247
- analyze: {
248
- $resolve: async (val, get) => {
249
- const [rootDir, analyzeDir] = await Promise.all([get("rootDir"), get("analyzeDir")]);
250
- return {
251
- template: "treemap",
252
- projectRoot: rootDir,
253
- filename: join(analyzeDir, "{name}.html"),
254
- ...typeof val === "boolean" ? { enabled: val } : typeof val === "object" ? val : {}
255
- };
256
- }
257
- }
258
- },
259
- optimization: {
260
- keyedComposables: {
261
- $resolve: (val) => [
262
- { name: "callOnce", argumentLength: 3, source: "#app/composables/once" },
263
- { name: "defineNuxtComponent", argumentLength: 2, source: "#app/composables/component" },
264
- { name: "useState", argumentLength: 2, source: "#app/composables/state" },
265
- { name: "useFetch", argumentLength: 3, source: "#app/composables/fetch" },
266
- { name: "useAsyncData", argumentLength: 3, source: "#app/composables/asyncData" },
267
- { name: "useLazyAsyncData", argumentLength: 3, source: "#app/composables/asyncData" },
268
- { name: "useLazyFetch", argumentLength: 3, source: "#app/composables/fetch" },
269
- ...Array.isArray(val) ? val : []
270
- ].filter(Boolean)
271
- },
272
- treeShake: {
273
- composables: {
274
- server: {
275
- $resolve: async (val, get) => defu(
276
- typeof val === "object" ? val || {} : {},
277
- await get("dev") ? {} : {
278
- "vue": ["onMounted", "onUpdated", "onUnmounted", "onBeforeMount", "onBeforeUpdate", "onBeforeUnmount", "onRenderTracked", "onRenderTriggered", "onActivated", "onDeactivated"],
279
- "#app": ["definePayloadReviver", "definePageMeta"]
280
- }
281
- )
282
- },
283
- client: {
284
- $resolve: async (val, get) => defu(
285
- typeof val === "object" ? val || {} : {},
286
- await get("dev") ? {} : {
287
- "vue": ["onRenderTracked", "onRenderTriggered", "onServerPrefetch"],
288
- "#app": ["definePayloadReducer", "definePageMeta", "onPrehydrate"]
289
- }
290
- )
291
- }
292
- }
293
- },
294
- asyncTransforms: {
295
- asyncFunctions: ["defineNuxtPlugin", "defineNuxtRouteMiddleware"],
296
- objectDefinitions: {
297
- defineNuxtComponent: ["asyncData", "setup"],
298
- defineNuxtPlugin: ["setup"],
299
- definePageMeta: ["middleware", "validate"]
300
- }
301
- }
302
- }
140
+ //#endregion
141
+ //#region src/config/build.ts
142
+ var build_default = defineResolvers({
143
+ builder: { $resolve: (val) => {
144
+ if (val && typeof val === "object" && "bundle" in val) return val;
145
+ const map = {
146
+ rspack: "@nuxt/rspack-builder",
147
+ vite: "@nuxt/vite-builder",
148
+ webpack: "@nuxt/webpack-builder"
149
+ };
150
+ if (typeof val === "string" && val in map) return map[val];
151
+ return map.vite;
152
+ } },
153
+ sourcemap: { $resolve: async (val, get) => {
154
+ if (typeof val === "boolean") return {
155
+ server: val,
156
+ client: val
157
+ };
158
+ return {
159
+ server: true,
160
+ client: await get("dev"),
161
+ ...typeof val === "object" ? val : {}
162
+ };
163
+ } },
164
+ logLevel: { $resolve: (val) => {
165
+ if (val && typeof val === "string" && ![
166
+ "silent",
167
+ "info",
168
+ "verbose"
169
+ ].includes(val)) console.warn(`Invalid \`logLevel\` option: \`${val}\`. Must be one of: \`silent\`, \`info\`, \`verbose\`.`);
170
+ return val && typeof val === "string" ? val : isTest ? "silent" : "info";
171
+ } },
172
+ build: {
173
+ transpile: { $resolve: (val) => {
174
+ const transpile = [];
175
+ if (Array.isArray(val)) for (const pattern of val) {
176
+ if (!pattern) continue;
177
+ if (typeof pattern === "string" || typeof pattern === "function" || pattern instanceof RegExp) transpile.push(pattern);
178
+ }
179
+ return transpile;
180
+ } },
181
+ templates: [],
182
+ analyze: { $resolve: async (val, get) => {
183
+ const [rootDir, analyzeDir] = await Promise.all([get("rootDir"), get("analyzeDir")]);
184
+ return {
185
+ template: "treemap",
186
+ projectRoot: rootDir,
187
+ filename: join(analyzeDir, "{name}.html"),
188
+ ...typeof val === "boolean" ? { enabled: val } : typeof val === "object" ? val : {}
189
+ };
190
+ } }
191
+ },
192
+ optimization: {
193
+ keyedComposables: { $resolve: (val) => [
194
+ {
195
+ name: "callOnce",
196
+ argumentLength: 3,
197
+ source: "#app/composables/once"
198
+ },
199
+ {
200
+ name: "defineNuxtComponent",
201
+ argumentLength: 2,
202
+ source: "#app/composables/component"
203
+ },
204
+ {
205
+ name: "useState",
206
+ argumentLength: 2,
207
+ source: "#app/composables/state"
208
+ },
209
+ {
210
+ name: "useFetch",
211
+ argumentLength: 3,
212
+ source: "#app/composables/fetch"
213
+ },
214
+ {
215
+ name: "useAsyncData",
216
+ argumentLength: 3,
217
+ source: "#app/composables/asyncData"
218
+ },
219
+ {
220
+ name: "useLazyAsyncData",
221
+ argumentLength: 3,
222
+ source: "#app/composables/asyncData"
223
+ },
224
+ {
225
+ name: "useLazyFetch",
226
+ argumentLength: 3,
227
+ source: "#app/composables/fetch"
228
+ },
229
+ ...Array.isArray(val) ? val : []
230
+ ].filter(Boolean) },
231
+ treeShake: { composables: {
232
+ server: { $resolve: async (val, get) => defu(typeof val === "object" ? val || {} : {}, await get("dev") ? {} : {
233
+ "vue": [
234
+ "onMounted",
235
+ "onUpdated",
236
+ "onUnmounted",
237
+ "onBeforeMount",
238
+ "onBeforeUpdate",
239
+ "onBeforeUnmount",
240
+ "onRenderTracked",
241
+ "onRenderTriggered",
242
+ "onActivated",
243
+ "onDeactivated"
244
+ ],
245
+ "#app": ["definePayloadReviver", "definePageMeta"]
246
+ }) },
247
+ client: { $resolve: async (val, get) => defu(typeof val === "object" ? val || {} : {}, await get("dev") ? {} : {
248
+ "vue": [
249
+ "onRenderTracked",
250
+ "onRenderTriggered",
251
+ "onServerPrefetch"
252
+ ],
253
+ "#app": [
254
+ "definePayloadReducer",
255
+ "definePageMeta",
256
+ "onPrehydrate"
257
+ ]
258
+ }) }
259
+ } },
260
+ asyncTransforms: {
261
+ asyncFunctions: ["defineNuxtPlugin", "defineNuxtRouteMiddleware"],
262
+ objectDefinitions: {
263
+ defineNuxtComponent: ["asyncData", "setup"],
264
+ defineNuxtPlugin: ["setup"],
265
+ definePageMeta: ["middleware", "validate"]
266
+ }
267
+ }
268
+ }
303
269
  });
304
270
 
305
- const common = defineResolvers({
306
- extends: void 0,
307
- compatibilityDate: void 0,
308
- theme: void 0,
309
- rootDir: {
310
- $resolve: (val) => typeof val === "string" ? resolve(val) : process.cwd()
311
- },
312
- workspaceDir: {
313
- $resolve: async (val, get) => {
314
- const rootDir = await get("rootDir");
315
- return val && typeof val === "string" ? resolve(rootDir, val) : await findWorkspaceDir(rootDir, {
316
- gitConfig: "closest",
317
- try: true
318
- }).catch(() => rootDir);
319
- }
320
- },
321
- srcDir: {
322
- $resolve: async (val, get) => {
323
- if (val && typeof val === "string") {
324
- return resolve(await get("rootDir"), val);
325
- }
326
- const rootDir = await get("rootDir");
327
- const srcDir = resolve(rootDir, "app");
328
- if (!existsSync(srcDir)) {
329
- return rootDir;
330
- }
331
- const srcDirFiles = /* @__PURE__ */ new Set();
332
- const files = await readdir(srcDir).catch(() => []);
333
- for (const file of files) {
334
- if (file !== "spa-loading-template.html" && !file.startsWith("router.options")) {
335
- srcDirFiles.add(file);
336
- }
337
- }
338
- if (srcDirFiles.size === 0) {
339
- for (const file of ["app.vue", "App.vue"]) {
340
- if (existsSync(resolve(rootDir, file))) {
341
- return rootDir;
342
- }
343
- }
344
- const keys = ["assets", "layouts", "middleware", "pages", "plugins"];
345
- const dirs = await Promise.all(keys.map((key) => get(`dir.${key}`)));
346
- for (const dir of dirs) {
347
- if (existsSync(resolve(rootDir, dir))) {
348
- return rootDir;
349
- }
350
- }
351
- }
352
- return srcDir;
353
- }
354
- },
355
- serverDir: {
356
- $resolve: async (val, get) => {
357
- const rootDir = await get("rootDir");
358
- return resolve(rootDir, val && typeof val === "string" ? val : "server");
359
- }
360
- },
361
- buildDir: {
362
- $resolve: async (val, get) => {
363
- const rootDir = await get("rootDir");
364
- return resolve(rootDir, val && typeof val === "string" ? val : ".nuxt");
365
- }
366
- },
367
- appId: {
368
- $resolve: (val) => val && typeof val === "string" ? val : "nuxt-app"
369
- },
370
- buildId: {
371
- $resolve: async (val, get) => {
372
- if (typeof val === "string") {
373
- return val;
374
- }
375
- const [isDev, isTest2] = await Promise.all([get("dev"), get("test")]);
376
- return isDev ? "dev" : isTest2 ? "test" : randomUUID();
377
- }
378
- },
379
- modulesDir: {
380
- $default: ["node_modules"],
381
- $resolve: async (val, get) => {
382
- const rootDir = await get("rootDir");
383
- const modulesDir = /* @__PURE__ */ new Set([resolve(rootDir, "node_modules")]);
384
- if (Array.isArray(val)) {
385
- for (const dir of val) {
386
- if (dir && typeof dir === "string") {
387
- modulesDir.add(resolve(rootDir, dir));
388
- }
389
- }
390
- }
391
- return [...modulesDir];
392
- }
393
- },
394
- analyzeDir: {
395
- $resolve: async (val, get) => val && typeof val === "string" ? resolve(await get("rootDir"), val) : resolve(await get("buildDir"), "analyze")
396
- },
397
- dev: {
398
- $resolve: (val) => typeof val === "boolean" ? val : Boolean(isDevelopment)
399
- },
400
- test: {
401
- $resolve: (val) => typeof val === "boolean" ? val : Boolean(isTest)
402
- },
403
- debug: {
404
- $resolve: (val) => {
405
- val ??= isDebug;
406
- if (val === true) {
407
- return {
408
- templates: true,
409
- modules: true,
410
- watchers: true,
411
- hooks: {
412
- client: true,
413
- server: true
414
- },
415
- nitro: true,
416
- router: true,
417
- hydration: true
418
- };
419
- }
420
- if (val && typeof val === "object") {
421
- return val;
422
- }
423
- return false;
424
- }
425
- },
426
- ssr: {
427
- $resolve: (val) => typeof val === "boolean" ? val : true
428
- },
429
- modules: {
430
- $resolve: (val) => {
431
- const modules = [];
432
- if (Array.isArray(val)) {
433
- for (const mod of val) {
434
- if (!mod) {
435
- continue;
436
- }
437
- if (typeof mod === "string" || typeof mod === "function" || Array.isArray(mod) && mod[0]) {
438
- modules.push(mod);
439
- }
440
- }
441
- }
442
- return modules;
443
- }
444
- },
445
- dir: {
446
- app: {
447
- $resolve: async (val, get) => {
448
- const [srcDir, rootDir] = await Promise.all([get("srcDir"), get("rootDir")]);
449
- return resolve(await get("srcDir"), val && typeof val === "string" ? val : srcDir === rootDir ? "app" : ".");
450
- }
451
- },
452
- assets: "assets",
453
- layouts: "layouts",
454
- middleware: "middleware",
455
- modules: {
456
- $resolve: async (val, get) => {
457
- return resolve(await get("rootDir"), val && typeof val === "string" ? val : "modules");
458
- }
459
- },
460
- pages: "pages",
461
- plugins: "plugins",
462
- shared: {
463
- $resolve: (val) => {
464
- return val && typeof val === "string" ? val : "shared";
465
- }
466
- },
467
- public: {
468
- $resolve: async (val, get) => {
469
- return resolve(await get("rootDir"), val && typeof val === "string" ? val : "public");
470
- }
471
- }
472
- },
473
- extensions: {
474
- $resolve: (val) => {
475
- const extensions = [".js", ".jsx", ".mjs", ".ts", ".tsx", ".vue"];
476
- if (Array.isArray(val)) {
477
- for (const item of val) {
478
- if (item && typeof item === "string") {
479
- extensions.push(item);
480
- }
481
- }
482
- }
483
- return extensions;
484
- }
485
- },
486
- alias: {
487
- $resolve: async (val, get) => {
488
- const [srcDir, rootDir, buildDir, sharedDir, serverDir] = await Promise.all([get("srcDir"), get("rootDir"), get("buildDir"), get("dir.shared"), get("serverDir")]);
489
- const srcWithTrailingSlash = withTrailingSlash(srcDir);
490
- const rootWithTrailingSlash = withTrailingSlash(rootDir);
491
- return {
492
- "~": srcWithTrailingSlash,
493
- "@": srcWithTrailingSlash,
494
- "~~": rootWithTrailingSlash,
495
- "@@": rootWithTrailingSlash,
496
- "#shared": withTrailingSlash(resolve(rootDir, sharedDir)),
497
- "#server": withTrailingSlash(serverDir),
498
- "#build": withTrailingSlash(buildDir),
499
- "#internal/nuxt/paths": resolve(buildDir, "paths.mjs"),
500
- ...typeof val === "object" ? val : {}
501
- };
502
- }
503
- },
504
- ignoreOptions: void 0,
505
- ignorePrefix: {
506
- $resolve: (val) => val && typeof val === "string" ? val : "-"
507
- },
508
- ignore: {
509
- $resolve: async (val, get) => {
510
- const [rootDir, ignorePrefix, analyzeDir, buildDir] = await Promise.all([get("rootDir"), get("ignorePrefix"), get("analyzeDir"), get("buildDir")]);
511
- const ignore = /* @__PURE__ */ new Set([
512
- "**/*.stories.{js,cts,mts,ts,jsx,tsx}",
513
- // ignore storybook files
514
- "**/*.{spec,test}.{js,cts,mts,ts,jsx,tsx}",
515
- // ignore tests
516
- "**/*.d.{cts,mts,ts}",
517
- // ignore type declarations
518
- "**/*.d.vue.{cts,mts,ts}",
519
- "**/.{pnpm-store,vercel,netlify,output,git,cache,data}",
520
- "**/*.sock",
521
- relative(rootDir, analyzeDir),
522
- relative(rootDir, buildDir)
523
- ]);
524
- if (ignorePrefix) {
525
- ignore.add(`**/${ignorePrefix}*.*`);
526
- }
527
- if (Array.isArray(val)) {
528
- for (const pattern of val) {
529
- if (pattern) {
530
- ignore.add(pattern);
531
- }
532
- }
533
- }
534
- return [...ignore];
535
- }
536
- },
537
- watch: {
538
- $resolve: (val) => {
539
- if (Array.isArray(val)) {
540
- return val.filter((b) => typeof b === "string" || b instanceof RegExp);
541
- }
542
- return [];
543
- }
544
- },
545
- watchers: {
546
- rewatchOnRawEvents: void 0,
547
- webpack: {
548
- aggregateTimeout: 1e3
549
- },
550
- chokidar: {
551
- ignoreInitial: true,
552
- ignorePermissionErrors: true
553
- }
554
- },
555
- hooks: void 0,
556
- runtimeConfig: {
557
- $resolve: async (_val, get) => {
558
- const val = _val && typeof _val === "object" ? _val : {};
559
- const [app, buildId] = await Promise.all([get("app"), get("buildId")]);
560
- provideFallbackValues(val);
561
- return defu(val, {
562
- public: {},
563
- app: {
564
- buildId,
565
- baseURL: app.baseURL,
566
- buildAssetsDir: app.buildAssetsDir,
567
- cdnURL: app.cdnURL
568
- }
569
- });
570
- }
571
- },
572
- appConfig: {
573
- nuxt: {}
574
- },
575
- $schema: {}
271
+ //#endregion
272
+ //#region src/config/common.ts
273
+ var common_default = defineResolvers({
274
+ extends: void 0,
275
+ compatibilityDate: void 0,
276
+ theme: void 0,
277
+ rootDir: { $resolve: (val) => typeof val === "string" ? resolve(val) : process.cwd() },
278
+ workspaceDir: { $resolve: async (val, get) => {
279
+ const rootDir = await get("rootDir");
280
+ return val && typeof val === "string" ? resolve(rootDir, val) : await findWorkspaceDir(rootDir, {
281
+ gitConfig: "closest",
282
+ try: true
283
+ }).catch(() => rootDir);
284
+ } },
285
+ srcDir: { $resolve: async (val, get) => {
286
+ if (val && typeof val === "string") return resolve(await get("rootDir"), val);
287
+ const rootDir = await get("rootDir");
288
+ const srcDir = resolve(rootDir, "app");
289
+ if (!existsSync(srcDir)) return rootDir;
290
+ const srcDirFiles = /* @__PURE__ */ new Set();
291
+ const files = await readdir(srcDir).catch(() => []);
292
+ for (const file of files) if (file !== "spa-loading-template.html" && !file.startsWith("router.options")) srcDirFiles.add(file);
293
+ if (srcDirFiles.size === 0) {
294
+ for (const file of ["app.vue", "App.vue"]) if (existsSync(resolve(rootDir, file))) return rootDir;
295
+ const dirs = await Promise.all([
296
+ "assets",
297
+ "layouts",
298
+ "middleware",
299
+ "pages",
300
+ "plugins"
301
+ ].map((key) => get(`dir.${key}`)));
302
+ for (const dir of dirs) if (existsSync(resolve(rootDir, dir))) return rootDir;
303
+ }
304
+ return srcDir;
305
+ } },
306
+ serverDir: { $resolve: async (val, get) => {
307
+ return resolve(await get("rootDir"), val && typeof val === "string" ? val : "server");
308
+ } },
309
+ buildDir: { $resolve: async (val, get) => {
310
+ return resolve(await get("rootDir"), val && typeof val === "string" ? val : ".nuxt");
311
+ } },
312
+ appId: { $resolve: (val) => val && typeof val === "string" ? val : "nuxt-app" },
313
+ buildId: { $resolve: async (val, get) => {
314
+ if (typeof val === "string") return val;
315
+ const [isDev, isTest$1] = await Promise.all([get("dev"), get("test")]);
316
+ return isDev ? "dev" : isTest$1 ? "test" : randomUUID();
317
+ } },
318
+ modulesDir: {
319
+ $default: ["node_modules"],
320
+ $resolve: async (val, get) => {
321
+ const rootDir = await get("rootDir");
322
+ const modulesDir = new Set([resolve(rootDir, "node_modules")]);
323
+ if (Array.isArray(val)) {
324
+ for (const dir of val) if (dir && typeof dir === "string") modulesDir.add(resolve(rootDir, dir));
325
+ }
326
+ return [...modulesDir];
327
+ }
328
+ },
329
+ analyzeDir: { $resolve: async (val, get) => val && typeof val === "string" ? resolve(await get("rootDir"), val) : resolve(await get("buildDir"), "analyze") },
330
+ dev: { $resolve: (val) => typeof val === "boolean" ? val : Boolean(isDevelopment) },
331
+ test: { $resolve: (val) => typeof val === "boolean" ? val : Boolean(isTest) },
332
+ debug: { $resolve: (val) => {
333
+ val ??= isDebug;
334
+ if (val === true) return {
335
+ templates: true,
336
+ modules: true,
337
+ watchers: true,
338
+ hooks: {
339
+ client: true,
340
+ server: true
341
+ },
342
+ nitro: true,
343
+ router: true,
344
+ hydration: true
345
+ };
346
+ if (val && typeof val === "object") return val;
347
+ return false;
348
+ } },
349
+ ssr: { $resolve: (val) => typeof val === "boolean" ? val : true },
350
+ modules: { $resolve: (val) => {
351
+ const modules = [];
352
+ if (Array.isArray(val)) for (const mod of val) {
353
+ if (!mod) continue;
354
+ if (typeof mod === "string" || typeof mod === "function" || Array.isArray(mod) && mod[0]) modules.push(mod);
355
+ }
356
+ return modules;
357
+ } },
358
+ dir: {
359
+ app: { $resolve: async (val, get) => {
360
+ const [srcDir, rootDir] = await Promise.all([get("srcDir"), get("rootDir")]);
361
+ return resolve(await get("srcDir"), val && typeof val === "string" ? val : srcDir === rootDir ? "app" : ".");
362
+ } },
363
+ assets: "assets",
364
+ layouts: "layouts",
365
+ middleware: "middleware",
366
+ modules: { $resolve: async (val, get) => {
367
+ return resolve(await get("rootDir"), val && typeof val === "string" ? val : "modules");
368
+ } },
369
+ pages: "pages",
370
+ plugins: "plugins",
371
+ shared: { $resolve: (val) => {
372
+ return val && typeof val === "string" ? val : "shared";
373
+ } },
374
+ public: { $resolve: async (val, get) => {
375
+ return resolve(await get("rootDir"), val && typeof val === "string" ? val : "public");
376
+ } }
377
+ },
378
+ extensions: { $resolve: (val) => {
379
+ const extensions = [
380
+ ".js",
381
+ ".jsx",
382
+ ".mjs",
383
+ ".ts",
384
+ ".tsx",
385
+ ".vue"
386
+ ];
387
+ if (Array.isArray(val)) {
388
+ for (const item of val) if (item && typeof item === "string") extensions.push(item);
389
+ }
390
+ return extensions;
391
+ } },
392
+ alias: { $resolve: async (val, get) => {
393
+ const [srcDir, rootDir, buildDir, sharedDir, serverDir] = await Promise.all([
394
+ get("srcDir"),
395
+ get("rootDir"),
396
+ get("buildDir"),
397
+ get("dir.shared"),
398
+ get("serverDir")
399
+ ]);
400
+ const srcWithTrailingSlash = withTrailingSlash(srcDir);
401
+ const rootWithTrailingSlash = withTrailingSlash(rootDir);
402
+ return {
403
+ "~": srcWithTrailingSlash,
404
+ "@": srcWithTrailingSlash,
405
+ "~~": rootWithTrailingSlash,
406
+ "@@": rootWithTrailingSlash,
407
+ "#shared": withTrailingSlash(resolve(rootDir, sharedDir)),
408
+ "#server": withTrailingSlash(serverDir),
409
+ "#build": withTrailingSlash(buildDir),
410
+ "#internal/nuxt/paths": resolve(buildDir, "paths.mjs"),
411
+ ...typeof val === "object" ? val : {}
412
+ };
413
+ } },
414
+ ignoreOptions: void 0,
415
+ ignorePrefix: { $resolve: (val) => val && typeof val === "string" ? val : "-" },
416
+ ignore: { $resolve: async (val, get) => {
417
+ const [rootDir, ignorePrefix, analyzeDir, buildDir] = await Promise.all([
418
+ get("rootDir"),
419
+ get("ignorePrefix"),
420
+ get("analyzeDir"),
421
+ get("buildDir")
422
+ ]);
423
+ const ignore = new Set([
424
+ "**/*.stories.{js,cts,mts,ts,jsx,tsx}",
425
+ "**/*.{spec,test}.{js,cts,mts,ts,jsx,tsx}",
426
+ "**/*.d.{cts,mts,ts}",
427
+ "**/*.d.vue.{cts,mts,ts}",
428
+ "**/.{pnpm-store,vercel,netlify,output,git,cache,data}",
429
+ "**/*.sock",
430
+ relative(rootDir, analyzeDir),
431
+ relative(rootDir, buildDir)
432
+ ]);
433
+ if (ignorePrefix) ignore.add(`**/${ignorePrefix}*.*`);
434
+ if (Array.isArray(val)) {
435
+ for (const pattern of val) if (pattern) ignore.add(pattern);
436
+ }
437
+ return [...ignore];
438
+ } },
439
+ watch: { $resolve: (val) => {
440
+ if (Array.isArray(val)) return val.filter((b) => typeof b === "string" || b instanceof RegExp);
441
+ return [];
442
+ } },
443
+ watchers: {
444
+ rewatchOnRawEvents: void 0,
445
+ webpack: { aggregateTimeout: 1e3 },
446
+ chokidar: {
447
+ ignoreInitial: true,
448
+ ignorePermissionErrors: true
449
+ }
450
+ },
451
+ hooks: void 0,
452
+ runtimeConfig: { $resolve: async (_val, get) => {
453
+ const val = _val && typeof _val === "object" ? _val : {};
454
+ const [app, buildId] = await Promise.all([get("app"), get("buildId")]);
455
+ provideFallbackValues(val);
456
+ return defu(val, {
457
+ public: {},
458
+ app: {
459
+ buildId,
460
+ baseURL: app.baseURL,
461
+ buildAssetsDir: app.buildAssetsDir,
462
+ cdnURL: app.cdnURL
463
+ }
464
+ });
465
+ } },
466
+ appConfig: { nuxt: {} },
467
+ $schema: {}
576
468
  });
577
469
  function provideFallbackValues(obj) {
578
- for (const key in obj) {
579
- if (typeof obj[key] === "undefined" || obj[key] === null) {
580
- obj[key] = "";
581
- } else if (typeof obj[key] === "object") {
582
- provideFallbackValues(obj[key]);
583
- }
584
- }
470
+ for (const key in obj) if (typeof obj[key] === "undefined" || obj[key] === null) obj[key] = "";
471
+ else if (typeof obj[key] === "object") provideFallbackValues(obj[key]);
585
472
  }
586
473
  function withTrailingSlash(str) {
587
- return str.replace(/\/?$/, "/");
474
+ return str.replace(/\/?$/, "/");
588
475
  }
589
476
 
590
- const _messages = { "appName": "Nuxt", "loading": "Loading", "version": "4.0" };
477
+ //#endregion
478
+ //#region ../ui-templates/dist/templates/loading.ts
479
+ const _messages = {
480
+ "appName": "Nuxt",
481
+ "loading": "Loading",
482
+ "version": "4.0"
483
+ };
591
484
  const template = (messages) => {
592
- messages = { ..._messages, ...messages };
593
- 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><script>const prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches;function whatHemisphere(){let e=new Date;if(null==e.getTimezoneOffset)return null;e=e.getFullYear();let t=-new Date(e,0,1,0,0,0,0).getTimezoneOffset()- -new Date(e,6,1,0,0,0,0).getTimezoneOffset();return t<0?"N":t>0?"S":null}const months={N:[10,11,0],S:[4,5,6]},hemisphere=whatHemisphere();if(hemisphere&&months[hemisphere].includes((new Date).getMonth())&&!prefersReducedMotion){let e="false"!==localStorage.getItem("nuxt-snow"),t=null,n=[],r=Date.now();const i=25e-5,a=1.25,o={current:0,maxCurrent:4,force:.1,target:.1,min:.1,max:.4,easing:.01},s=(e,t)=>(e%t+t)%t,d=document.createElement("button");d.id="snow-toggle",d.style="position:fixed;bottom:16px;right:16px;z-index:100;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:20px;",document.body.appendChild(d);const h=document.createElement("canvas");h.id="snow-canvas",h.style="position:fixed;inset:0;z-index:-10;pointer-events:none;opacity:0;transition:opacity 0.5s;filter:blur(4px);",document.body.appendChild(h);const l=h.getContext("2d");function resize(){h.width=window.innerWidth,h.height=window.innerHeight,n=Array.from({length:Math.floor(h.width*h.height*i)},()=>({x:Math.random()*h.width,y:Math.random()*h.height,vx:1+Math.random(),vy:1+Math.random(),vsin:10*Math.random(),rangle:2*Math.random()*Math.PI,rsin:10*Math.random(),color:`rgba(255,255,255,${.1+.15*Math.random()})`,size:5*Math.random()*4*(h.height/1e3)}))}function draw(){l.clearRect(0,0,h.width,h.height);const e=Date.now(),i=e-r;r=e,o.force+=(o.target-o.force)*o.easing,o.current=Math.max(-o.maxCurrent,Math.min(o.current+o.force*i*.05,o.maxCurrent)),Math.random()>.995&&(o.target=(o.min+Math.random()*(o.max-o.min))*(Math.random()>.5?-1:1));const d=.2*i;n.forEach(e=>{e.x=s(e.x+d+o.current*e.vx,h.width),e.y=s(e.y+d*e.vy*a,h.height),e.x+=Math.sin(d*e.vsin)*e.rsin*.5,e.rangle+=.01*d,l.fillStyle=e.color,l.beginPath(),l.ellipse(e.x,e.y,e.size,.66*e.size,e.rangle,0,2*Math.PI),l.fill()}),t=requestAnimationFrame(draw)}function update(){d.innerHTML=e?"\u2600\uFE0F":"\u2744\uFE0F",d.title=e?"Disable snow":"Enable snow",e?(resize(),window.addEventListener("resize",resize),h.style.opacity=1,r=Date.now(),draw()):(t&&cancelAnimationFrame(t),t=null,window.removeEventListener("resize",resize),h.style.opacity=0)}d.onclick=()=>{e=!e,localStorage.setItem("nuxt-snow",e),update()},update()}<\/script></body></html>';
485
+ messages = {
486
+ ..._messages,
487
+ ...messages
488
+ };
489
+ 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><script>const prefersReducedMotion=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;function whatHemisphere(){let e=new Date;if(null==e.getTimezoneOffset)return null;e=e.getFullYear();let t=-new Date(e,0,1,0,0,0,0).getTimezoneOffset()- -new Date(e,6,1,0,0,0,0).getTimezoneOffset();return t<0?\"N\":t>0?\"S\":null}const months={N:[10,11,0],S:[4,5,6]},hemisphere=whatHemisphere();if(hemisphere&&months[hemisphere].includes((new Date).getMonth())&&!prefersReducedMotion){let e=\"false\"!==localStorage.getItem(\"nuxt-snow\"),t=null,n=[],r=Date.now();const i=25e-5,a=1.25,o={current:0,maxCurrent:4,force:.1,target:.1,min:.1,max:.4,easing:.01},s=(e,t)=>(e%t+t)%t,d=document.createElement(\"button\");d.id=\"snow-toggle\",d.style=\"position:fixed;bottom:16px;right:16px;z-index:100;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:20px;\",document.body.appendChild(d);const h=document.createElement(\"canvas\");h.id=\"snow-canvas\",h.style=\"position:fixed;inset:0;z-index:-10;pointer-events:none;opacity:0;transition:opacity 0.5s;filter:blur(4px);\",document.body.appendChild(h);const l=h.getContext(\"2d\");function resize(){h.width=window.innerWidth,h.height=window.innerHeight,n=Array.from({length:Math.floor(h.width*h.height*i)},()=>({x:Math.random()*h.width,y:Math.random()*h.height,vx:1+Math.random(),vy:1+Math.random(),vsin:10*Math.random(),rangle:2*Math.random()*Math.PI,rsin:10*Math.random(),color:`rgba(255,255,255,${.1+.15*Math.random()})`,size:5*Math.random()*4*(h.height/1e3)}))}function draw(){l.clearRect(0,0,h.width,h.height);const e=Date.now(),i=e-r;r=e,o.force+=(o.target-o.force)*o.easing,o.current=Math.max(-o.maxCurrent,Math.min(o.current+o.force*i*.05,o.maxCurrent)),Math.random()>.995&&(o.target=(o.min+Math.random()*(o.max-o.min))*(Math.random()>.5?-1:1));const d=.2*i;n.forEach(e=>{e.x=s(e.x+d+o.current*e.vx,h.width),e.y=s(e.y+d*e.vy*a,h.height),e.x+=Math.sin(d*e.vsin)*e.rsin*.5,e.rangle+=.01*d,l.fillStyle=e.color,l.beginPath(),l.ellipse(e.x,e.y,e.size,.66*e.size,e.rangle,0,2*Math.PI),l.fill()}),t=requestAnimationFrame(draw)}function update(){d.innerHTML=e?\"☀️\":\"❄️\",d.title=e?\"Disable snow\":\"Enable snow\",e?(resize(),window.addEventListener(\"resize\",resize),h.style.opacity=1,r=Date.now(),draw()):(t&&cancelAnimationFrame(t),t=null,window.removeEventListener(\"resize\",resize),h.style.opacity=0)}d.onclick=()=>{e=!e,localStorage.setItem(\"nuxt-snow\",e),update()},update()}<\/script></body></html>";
594
490
  };
595
491
 
596
- const dev = defineResolvers({
597
- devServer: {
598
- https: false,
599
- port: Number(process.env.NUXT_PORT || process.env.NITRO_PORT || process.env.PORT || 3e3),
600
- host: process.env.NUXT_HOST || process.env.NITRO_HOST || process.env.HOST || void 0,
601
- url: "http://localhost:3000",
602
- loadingTemplate: template,
603
- cors: {
604
- origin: [/^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/]
605
- }
606
- }
607
- });
492
+ //#endregion
493
+ //#region src/config/dev.ts
494
+ var dev_default = defineResolvers({ devServer: {
495
+ https: false,
496
+ port: Number(process.env.NUXT_PORT || process.env.NITRO_PORT || process.env.PORT || 3e3),
497
+ host: process.env.NUXT_HOST || process.env.NITRO_HOST || process.env.HOST || void 0,
498
+ url: "http://localhost:3000",
499
+ loadingTemplate: template,
500
+ cors: { origin: [/^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/] }
501
+ } });
608
502
 
609
- const esbuild = defineResolvers({
610
- esbuild: {
611
- options: {
612
- target: {
613
- $resolve: async (val, get) => {
614
- if (typeof val === "string") {
615
- return val;
616
- }
617
- const useDecorators = await get("experimental").then((r) => r?.decorators === true);
618
- if (useDecorators) {
619
- return "es2024";
620
- }
621
- return "esnext";
622
- }
623
- },
624
- jsxFactory: "h",
625
- jsxFragment: "Fragment",
626
- tsconfigRaw: {
627
- $resolve: async (_val, get) => {
628
- const val = typeof _val === "string" ? JSON.parse(_val) : _val && typeof _val === "object" ? _val : {};
629
- const useDecorators = await get("experimental").then((r) => r?.decorators === true);
630
- if (!useDecorators) {
631
- return val;
632
- }
633
- return defu({
634
- compilerOptions: {
635
- experimentalDecorators: false
636
- }
637
- }, val);
638
- }
639
- }
640
- }
641
- }
642
- });
503
+ //#endregion
504
+ //#region src/config/esbuild.ts
505
+ var esbuild_default = defineResolvers({ esbuild: { options: {
506
+ target: { $resolve: async (val, get) => {
507
+ if (typeof val === "string") return val;
508
+ if (await get("experimental").then((r) => r?.decorators === true)) return "es2024";
509
+ return "esnext";
510
+ } },
511
+ jsxFactory: "h",
512
+ jsxFragment: "Fragment",
513
+ tsconfigRaw: { $resolve: async (_val, get) => {
514
+ const val = typeof _val === "string" ? JSON.parse(_val) : _val && typeof _val === "object" ? _val : {};
515
+ if (!await get("experimental").then((r) => r?.decorators === true)) return val;
516
+ return defu({ compilerOptions: { experimentalDecorators: false } }, val);
517
+ } }
518
+ } } });
643
519
 
644
- const oxc = defineResolvers({
645
- oxc: {
646
- transform: {
647
- options: {
648
- target: {
649
- $resolve: async (val, get) => {
650
- if (typeof val === "string") {
651
- return val;
652
- }
653
- const useDecorators = await get("experimental").then(
654
- (r) => r?.decorators === true
655
- );
656
- if (useDecorators) {
657
- return "es2024";
658
- }
659
- return "esnext";
660
- }
661
- },
662
- jsxFactory: "h",
663
- jsxFragment: "Fragment"
664
- }
665
- }
666
- }
667
- });
520
+ //#endregion
521
+ //#region src/config/oxc.ts
522
+ var oxc_default = defineResolvers({ oxc: { transform: { options: {
523
+ target: { $resolve: async (val, get) => {
524
+ if (typeof val === "string") return val;
525
+ if (await get("experimental").then((r) => r?.decorators === true)) return "es2024";
526
+ return "esnext";
527
+ } },
528
+ jsxFactory: "h",
529
+ jsxFragment: "Fragment"
530
+ } } } });
668
531
 
669
- const experimental = defineResolvers({
670
- future: {
671
- compatibilityVersion: {
672
- // force resolution to `4` no matter what users pass
673
- $resolve: (val) => typeof val === "number" ? val : 4
674
- },
675
- multiApp: false,
676
- typescriptBundlerResolution: {
677
- async $resolve(val, get) {
678
- val = typeof val === "boolean" ? val : await get("experimental").then((e) => e?.typescriptBundlerResolution);
679
- if (typeof val === "boolean") {
680
- return val;
681
- }
682
- const setting = await get("typescript.tsConfig").then((r) => r?.compilerOptions?.moduleResolution);
683
- if (setting) {
684
- return setting.toLowerCase() === "bundler";
685
- }
686
- return true;
687
- }
688
- }
689
- },
690
- features: {
691
- inlineStyles: {
692
- async $resolve(_val, get) {
693
- const val = typeof _val === "boolean" || typeof _val === "function" ? _val : await get("experimental").then((e) => e?.inlineSSRStyles);
694
- if (val === false || await get("dev") || await get("ssr") === false) {
695
- return false;
696
- }
697
- return val ?? ((id) => !!id && id.includes(".vue"));
698
- }
699
- },
700
- devLogs: {
701
- async $resolve(val, get) {
702
- if (typeof val === "boolean" || val === "silent") {
703
- return val;
704
- }
705
- const [isDev, isTest] = await Promise.all([get("dev"), get("test")]);
706
- return isDev && !isTest;
707
- }
708
- },
709
- noScripts: {
710
- async $resolve(val, get) {
711
- const isValidLiteral = (val2) => {
712
- return typeof val2 === "string" && ["production", "all"].includes(val2);
713
- };
714
- return val === true ? "production" : val === false || isValidLiteral(val) ? val : await get("experimental").then((e) => e?.noScripts && "production") ?? false;
715
- }
716
- }
717
- },
718
- experimental: {
719
- decorators: false,
720
- asyncEntry: {
721
- $resolve: (val) => typeof val === "boolean" ? val : false
722
- },
723
- // TODO: Remove when nitro has support for mocking traced dependencies
724
- // https://github.com/nitrojs/nitro/issues/1118
725
- externalVue: true,
726
- serverAppConfig: false,
727
- emitRouteChunkError: {
728
- $resolve: (val) => {
729
- if (val === true) {
730
- return "manual";
731
- }
732
- if (val === "reload") {
733
- return "automatic";
734
- }
735
- if (val === false) {
736
- return false;
737
- }
738
- const validOptions = /* @__PURE__ */ new Set(["manual", "automatic", "automatic-immediate"]);
739
- if (typeof val === "string" && validOptions.has(val)) {
740
- return val;
741
- }
742
- return "automatic";
743
- }
744
- },
745
- templateRouteInjection: true,
746
- restoreState: false,
747
- renderJsonPayloads: true,
748
- noVueServer: false,
749
- payloadExtraction: true,
750
- clientFallback: false,
751
- crossOriginPrefetch: false,
752
- viewTransition: false,
753
- writeEarlyHints: false,
754
- componentIslands: {
755
- $resolve: (val) => {
756
- if (val === "local+remote") {
757
- return { remoteIsland: true };
758
- }
759
- if (val === "local") {
760
- return true;
761
- }
762
- return val ?? "auto";
763
- }
764
- },
765
- localLayerAliases: true,
766
- typedPages: false,
767
- appManifest: true,
768
- checkOutdatedBuildInterval: 1e3 * 60 * 60,
769
- watcher: {
770
- $resolve: async (val, get) => {
771
- const validOptions = /* @__PURE__ */ new Set(["chokidar", "parcel", "chokidar-granular"]);
772
- if (typeof val === "string" && validOptions.has(val)) {
773
- return val;
774
- }
775
- const [srcDir, rootDir] = await Promise.all([get("srcDir"), get("rootDir")]);
776
- if (srcDir === rootDir) {
777
- return "chokidar-granular";
778
- }
779
- return "chokidar";
780
- }
781
- },
782
- asyncContext: false,
783
- headNext: true,
784
- inlineRouteRules: false,
785
- scanPageMeta: {
786
- $resolve(val) {
787
- return typeof val === "boolean" || val === "after-resolve" ? val : "after-resolve";
788
- }
789
- },
790
- extraPageMetaExtractionKeys: [],
791
- sharedPrerenderData: {
792
- $resolve(val) {
793
- return typeof val === "boolean" ? val : true;
794
- }
795
- },
796
- cookieStore: true,
797
- defaults: {
798
- nuxtLink: {
799
- componentName: "NuxtLink",
800
- prefetch: true,
801
- prefetchOn: {
802
- visibility: true
803
- }
804
- },
805
- useAsyncData: {
806
- deep: false
807
- },
808
- useFetch: {}
809
- },
810
- clientNodeCompat: false,
811
- navigationRepaint: true,
812
- buildCache: false,
813
- normalizeComponentNames: {
814
- $resolve: (val) => {
815
- return typeof val === "boolean" ? val : true;
816
- }
817
- },
818
- spaLoadingTemplateLocation: {
819
- $resolve: (val) => {
820
- const validOptions = /* @__PURE__ */ new Set(["body", "within"]);
821
- return typeof val === "string" && validOptions.has(val) ? val : "body";
822
- }
823
- },
824
- browserDevtoolsTiming: {
825
- $resolve: async (val, get) => typeof val === "boolean" ? val : await get("dev")
826
- },
827
- chromeDevtoolsProjectSettings: true,
828
- debugModuleMutation: {
829
- $resolve: async (val, get) => {
830
- return typeof val === "boolean" ? val : Boolean(await get("debug"));
831
- }
832
- },
833
- lazyHydration: {
834
- $resolve: (val) => {
835
- return typeof val === "boolean" ? val : true;
836
- }
837
- },
838
- templateImportResolution: true,
839
- purgeCachedData: {
840
- $resolve: (val) => {
841
- return typeof val === "boolean" ? val : true;
842
- }
843
- },
844
- granularCachedData: {
845
- $resolve: (val) => {
846
- return typeof val === "boolean" ? val : true;
847
- }
848
- },
849
- alwaysRunFetchOnKeyChange: {
850
- $resolve: (val) => {
851
- return typeof val === "boolean" ? val : false;
852
- }
853
- },
854
- parseErrorData: {
855
- $resolve: (val) => {
856
- return typeof val === "boolean" ? val : true;
857
- }
858
- },
859
- enforceModuleCompatibility: false,
860
- pendingWhenIdle: {
861
- $resolve: (val) => {
862
- return typeof val === "boolean" ? val : false;
863
- }
864
- },
865
- entryImportMap: true,
866
- extractAsyncDataHandlers: {
867
- $resolve: (val) => {
868
- return typeof val === "boolean" ? val : false;
869
- }
870
- },
871
- viteEnvironmentApi: {
872
- $resolve: async (val, get) => {
873
- return typeof val === "boolean" ? val : await get("future.compatibilityVersion") >= 5;
874
- }
875
- }
876
- }
532
+ //#endregion
533
+ //#region src/config/experimental.ts
534
+ var experimental_default = defineResolvers({
535
+ future: {
536
+ compatibilityVersion: { $resolve: (val) => typeof val === "number" ? val : 4 },
537
+ multiApp: false,
538
+ typescriptBundlerResolution: { async $resolve(val, get) {
539
+ val = typeof val === "boolean" ? val : await get("experimental").then((e) => e?.typescriptBundlerResolution);
540
+ if (typeof val === "boolean") return val;
541
+ const setting = await get("typescript.tsConfig").then((r) => r?.compilerOptions?.moduleResolution);
542
+ if (setting) return setting.toLowerCase() === "bundler";
543
+ return true;
544
+ } }
545
+ },
546
+ features: {
547
+ inlineStyles: { async $resolve(_val, get) {
548
+ const val = typeof _val === "boolean" || typeof _val === "function" ? _val : await get("experimental").then((e) => e?.inlineSSRStyles);
549
+ if (val === false || await get("dev") || await get("ssr") === false) return false;
550
+ return val ?? ((id) => !!id && id.includes(".vue"));
551
+ } },
552
+ devLogs: { async $resolve(val, get) {
553
+ if (typeof val === "boolean" || val === "silent") return val;
554
+ const [isDev, isTest$1] = await Promise.all([get("dev"), get("test")]);
555
+ return isDev && !isTest$1;
556
+ } },
557
+ noScripts: { async $resolve(val, get) {
558
+ const isValidLiteral = (val$1) => {
559
+ return typeof val$1 === "string" && ["production", "all"].includes(val$1);
560
+ };
561
+ return val === true ? "production" : val === false || isValidLiteral(val) ? val : await get("experimental").then((e) => e?.noScripts && "production") ?? false;
562
+ } }
563
+ },
564
+ experimental: {
565
+ runtimeBaseURL: false,
566
+ decorators: false,
567
+ asyncEntry: { $resolve: (val) => typeof val === "boolean" ? val : false },
568
+ externalVue: true,
569
+ serverAppConfig: true,
570
+ emitRouteChunkError: { $resolve: (val) => {
571
+ if (val === true) return "manual";
572
+ if (val === "reload") return "automatic";
573
+ if (val === false) return false;
574
+ if (typeof val === "string" && new Set([
575
+ "manual",
576
+ "automatic",
577
+ "automatic-immediate"
578
+ ]).has(val)) return val;
579
+ return "automatic";
580
+ } },
581
+ templateRouteInjection: true,
582
+ restoreState: false,
583
+ renderJsonPayloads: true,
584
+ noVueServer: false,
585
+ payloadExtraction: true,
586
+ clientFallback: false,
587
+ crossOriginPrefetch: false,
588
+ viewTransition: false,
589
+ writeEarlyHints: false,
590
+ componentIslands: { $resolve: (val) => {
591
+ if (val === "local+remote") return { remoteIsland: true };
592
+ if (val === "local") return true;
593
+ return val ?? "auto";
594
+ } },
595
+ localLayerAliases: true,
596
+ typedPages: false,
597
+ appManifest: true,
598
+ checkOutdatedBuildInterval: 1e3 * 60 * 60,
599
+ watcher: { $resolve: async (val, get) => {
600
+ if (typeof val === "string" && new Set([
601
+ "chokidar",
602
+ "parcel",
603
+ "chokidar-granular"
604
+ ]).has(val)) return val;
605
+ const [srcDir, rootDir] = await Promise.all([get("srcDir"), get("rootDir")]);
606
+ if (srcDir === rootDir) return "chokidar-granular";
607
+ return "chokidar";
608
+ } },
609
+ asyncContext: false,
610
+ headNext: true,
611
+ inlineRouteRules: false,
612
+ scanPageMeta: { $resolve(val) {
613
+ return typeof val === "boolean" || val === "after-resolve" ? val : "after-resolve";
614
+ } },
615
+ extraPageMetaExtractionKeys: [],
616
+ sharedPrerenderData: { $resolve(val) {
617
+ return typeof val === "boolean" ? val : true;
618
+ } },
619
+ cookieStore: true,
620
+ defaults: {
621
+ nuxtLink: {
622
+ componentName: "NuxtLink",
623
+ prefetch: true,
624
+ prefetchOn: { visibility: true }
625
+ },
626
+ useAsyncData: { deep: false },
627
+ useFetch: {}
628
+ },
629
+ clientNodeCompat: false,
630
+ navigationRepaint: true,
631
+ buildCache: false,
632
+ normalizeComponentNames: { $resolve: (val) => {
633
+ return typeof val === "boolean" ? val : true;
634
+ } },
635
+ spaLoadingTemplateLocation: { $resolve: (val) => {
636
+ return typeof val === "string" && new Set(["body", "within"]).has(val) ? val : "body";
637
+ } },
638
+ browserDevtoolsTiming: { $resolve: async (val, get) => typeof val === "boolean" ? val : await get("dev") },
639
+ chromeDevtoolsProjectSettings: true,
640
+ debugModuleMutation: { $resolve: async (val, get) => {
641
+ return typeof val === "boolean" ? val : Boolean(await get("debug"));
642
+ } },
643
+ lazyHydration: { $resolve: (val) => {
644
+ return typeof val === "boolean" ? val : true;
645
+ } },
646
+ templateImportResolution: true,
647
+ purgeCachedData: { $resolve: (val) => {
648
+ return typeof val === "boolean" ? val : true;
649
+ } },
650
+ granularCachedData: { $resolve: (val) => {
651
+ return typeof val === "boolean" ? val : true;
652
+ } },
653
+ alwaysRunFetchOnKeyChange: { $resolve: (val) => {
654
+ return typeof val === "boolean" ? val : false;
655
+ } },
656
+ parseErrorData: { $resolve: (val) => {
657
+ return typeof val === "boolean" ? val : true;
658
+ } },
659
+ enforceModuleCompatibility: false,
660
+ pendingWhenIdle: { $resolve: (val) => {
661
+ return typeof val === "boolean" ? val : false;
662
+ } },
663
+ entryImportMap: true,
664
+ extractAsyncDataHandlers: { $resolve: (val) => {
665
+ return typeof val === "boolean" ? val : false;
666
+ } },
667
+ viteEnvironmentApi: { $resolve: async (val, get) => {
668
+ return typeof val === "boolean" ? val : await get("future.compatibilityVersion") >= 5;
669
+ } },
670
+ nitroAutoImports: { $resolve: async (val, get) => {
671
+ return typeof val === "boolean" ? val : await get("future.compatibilityVersion") < 5;
672
+ } }
673
+ }
877
674
  });
878
675
 
879
- const generate = defineResolvers({
880
- // @ts-expect-error TODO: remove in nuxt v5
881
- generate: {
882
- routes: [],
883
- exclude: []
884
- }
885
- });
676
+ //#endregion
677
+ //#region src/config/generate.ts
678
+ var generate_default = defineResolvers({ generate: {
679
+ routes: [],
680
+ exclude: []
681
+ } });
886
682
 
887
- const internal = defineResolvers({
888
- _majorVersion: 4,
889
- _legacyGenerate: false,
890
- _start: false,
891
- _build: false,
892
- _generate: false,
893
- _prepare: false,
894
- _cli: false,
895
- _requiredModules: {},
896
- _loadOptions: void 0,
897
- _nuxtConfigFile: void 0,
898
- _nuxtConfigFiles: [],
899
- appDir: "",
900
- _installedModules: [],
901
- _modules: []
683
+ //#endregion
684
+ //#region src/config/internal.ts
685
+ var internal_default = defineResolvers({
686
+ _majorVersion: 4,
687
+ _legacyGenerate: false,
688
+ _start: false,
689
+ _build: false,
690
+ _generate: false,
691
+ _prepare: false,
692
+ _cli: false,
693
+ _requiredModules: {},
694
+ _loadOptions: void 0,
695
+ _nuxtConfigFile: void 0,
696
+ _nuxtConfigFiles: [],
697
+ appDir: "",
698
+ _installedModules: [],
699
+ _modules: []
902
700
  });
903
701
 
904
- const nitro = defineResolvers({
905
- server: {
906
- builder: {
907
- $resolve: (val) => {
908
- if (typeof val === "string") {
909
- return val;
910
- }
911
- if (val && typeof val === "object" && "bundle" in val) {
912
- return val;
913
- }
914
- return "@nuxt/nitro-server";
915
- }
916
- }
917
- },
918
- nitro: {
919
- runtimeConfig: {
920
- $resolve: async (val, get) => {
921
- const runtimeConfig = await get("runtimeConfig");
922
- return {
923
- ...runtimeConfig,
924
- app: {
925
- ...runtimeConfig.app,
926
- baseURL: runtimeConfig.app.baseURL.startsWith("./") ? runtimeConfig.app.baseURL.slice(1) : runtimeConfig.app.baseURL
927
- },
928
- nitro: {
929
- envPrefix: "NUXT_",
930
- ...runtimeConfig.nitro
931
- }
932
- };
933
- }
934
- },
935
- routeRules: {
936
- $resolve: async (val, get) => {
937
- return {
938
- ...await get("routeRules"),
939
- ...val && typeof val === "object" ? val : {}
940
- };
941
- }
942
- }
943
- },
944
- routeRules: {},
945
- serverHandlers: [],
946
- devServerHandlers: []
702
+ //#endregion
703
+ //#region src/config/nitro.ts
704
+ var nitro_default = defineResolvers({
705
+ server: { builder: { $resolve: (val) => {
706
+ if (typeof val === "string") return val;
707
+ if (val && typeof val === "object" && "bundle" in val) return val;
708
+ return "@nuxt/nitro-server";
709
+ } } },
710
+ nitro: {
711
+ runtimeConfig: { $resolve: async (val, get) => {
712
+ const runtimeConfig = await get("runtimeConfig");
713
+ return {
714
+ ...runtimeConfig,
715
+ app: {
716
+ ...runtimeConfig.app,
717
+ baseURL: runtimeConfig.app.baseURL.startsWith("./") ? runtimeConfig.app.baseURL.slice(1) : runtimeConfig.app.baseURL
718
+ },
719
+ nitro: {
720
+ envPrefix: "NUXT_",
721
+ ...runtimeConfig.nitro
722
+ }
723
+ };
724
+ } },
725
+ routeRules: { $resolve: async (val, get) => {
726
+ return {
727
+ ...await get("routeRules"),
728
+ ...val && typeof val === "object" ? val : {}
729
+ };
730
+ } }
731
+ },
732
+ routeRules: {},
733
+ serverHandlers: [],
734
+ devServerHandlers: []
947
735
  });
948
736
 
737
+ //#endregion
738
+ //#region src/config/postcss.ts
949
739
  const ensureItemIsLast = (item) => (arr) => {
950
- const index = arr.indexOf(item);
951
- if (index !== -1) {
952
- arr.splice(index, 1);
953
- arr.push(item);
954
- }
955
- return arr;
740
+ const index = arr.indexOf(item);
741
+ if (index !== -1) {
742
+ arr.splice(index, 1);
743
+ arr.push(item);
744
+ }
745
+ return arr;
956
746
  };
957
747
  const orderPresets = {
958
- cssnanoLast: ensureItemIsLast("cssnano"),
959
- autoprefixerLast: ensureItemIsLast("autoprefixer"),
960
- autoprefixerAndCssnanoLast(names) {
961
- return orderPresets.cssnanoLast(orderPresets.autoprefixerLast(names));
962
- }
748
+ cssnanoLast: ensureItemIsLast("cssnano"),
749
+ autoprefixerLast: ensureItemIsLast("autoprefixer"),
750
+ autoprefixerAndCssnanoLast(names) {
751
+ return orderPresets.cssnanoLast(orderPresets.autoprefixerLast(names));
752
+ }
963
753
  };
964
- const postcss = defineResolvers({
965
- postcss: {
966
- order: {
967
- $resolve: (val) => {
968
- if (typeof val === "string") {
969
- if (!(val in orderPresets)) {
970
- throw new Error(`[nuxt] Unknown PostCSS order preset: ${val}`);
971
- }
972
- return orderPresets[val];
973
- }
974
- if (typeof val === "function") {
975
- return val;
976
- }
977
- if (Array.isArray(val)) {
978
- return val;
979
- }
980
- return orderPresets.autoprefixerAndCssnanoLast;
981
- }
982
- },
983
- plugins: {
984
- autoprefixer: {},
985
- cssnano: {
986
- $resolve: async (val, get) => {
987
- if (val || val === false) {
988
- return val;
989
- }
990
- if (await get("dev")) {
991
- return false;
992
- }
993
- return {};
994
- }
995
- }
996
- }
997
- }
998
- });
754
+ var postcss_default = defineResolvers({ postcss: {
755
+ order: { $resolve: (val) => {
756
+ if (typeof val === "string") {
757
+ if (!(val in orderPresets)) throw new Error(`[nuxt] Unknown PostCSS order preset: ${val}`);
758
+ return orderPresets[val];
759
+ }
760
+ if (typeof val === "function") return val;
761
+ if (Array.isArray(val)) return val;
762
+ return orderPresets.autoprefixerAndCssnanoLast;
763
+ } },
764
+ plugins: {
765
+ autoprefixer: {},
766
+ cssnano: { $resolve: async (val, get) => {
767
+ if (val || val === false) return val;
768
+ if (await get("dev")) return false;
769
+ return {};
770
+ } }
771
+ }
772
+ } });
999
773
 
1000
- const router = defineResolvers({
1001
- router: {
1002
- options: {
1003
- hashMode: false,
1004
- scrollBehaviorType: "auto"
1005
- }
1006
- }
1007
- });
774
+ //#endregion
775
+ //#region src/config/router.ts
776
+ var router_default = defineResolvers({ router: { options: {
777
+ hashMode: false,
778
+ scrollBehaviorType: "auto"
779
+ } } });
1008
780
 
1009
- const typescript = defineResolvers({
1010
- typescript: {
1011
- strict: true,
1012
- builder: {
1013
- $resolve: (val) => {
1014
- const validBuilderTypes = /* @__PURE__ */ new Set(["vite", "webpack", "rspack", "shared"]);
1015
- if (typeof val === "string" && validBuilderTypes.has(val)) {
1016
- return val;
1017
- }
1018
- if (val === false) {
1019
- return false;
1020
- }
1021
- return null;
1022
- }
1023
- },
1024
- hoist: {
1025
- $resolve: (val) => {
1026
- const defaults = [
1027
- // Nitro auto-imported/augmented dependencies
1028
- "nitro/types",
1029
- "nitro/runtime",
1030
- // TODO: remove in v5
1031
- "nitropack/types",
1032
- "nitropack/runtime",
1033
- "nitropack",
1034
- "defu",
1035
- "h3",
1036
- "consola",
1037
- "ofetch",
1038
- "crossws",
1039
- // Key nuxt dependencies
1040
- "@unhead/vue",
1041
- "@nuxt/devtools",
1042
- "vue",
1043
- "@vue/runtime-core",
1044
- "@vue/compiler-sfc",
1045
- "vue-router",
1046
- "vue-router/auto-routes",
1047
- "unplugin-vue-router/client",
1048
- "@nuxt/schema",
1049
- "nuxt"
1050
- ];
1051
- return val === false ? [] : Array.isArray(val) ? val.concat(defaults) : defaults;
1052
- }
1053
- },
1054
- includeWorkspace: false,
1055
- typeCheck: false,
1056
- tsConfig: {},
1057
- shim: false
1058
- }
1059
- });
781
+ //#endregion
782
+ //#region src/config/typescript.ts
783
+ var typescript_default = defineResolvers({ typescript: {
784
+ strict: true,
785
+ builder: { $resolve: (val) => {
786
+ if (typeof val === "string" && new Set([
787
+ "vite",
788
+ "webpack",
789
+ "rspack",
790
+ "shared"
791
+ ]).has(val)) return val;
792
+ if (val === false) return false;
793
+ return null;
794
+ } },
795
+ hoist: { $resolve: (val) => {
796
+ const defaults = [
797
+ "@unhead/vue",
798
+ "@nuxt/devtools",
799
+ "vue",
800
+ "@vue/runtime-core",
801
+ "@vue/compiler-sfc",
802
+ "vue-router",
803
+ "vue-router/auto-routes",
804
+ "unplugin-vue-router/client",
805
+ "@nuxt/schema",
806
+ "nuxt"
807
+ ];
808
+ return val === false ? [] : Array.isArray(val) ? val.concat(defaults) : defaults;
809
+ } },
810
+ includeWorkspace: false,
811
+ typeCheck: false,
812
+ tsConfig: {},
813
+ shim: false
814
+ } });
1060
815
 
1061
- const vite = defineResolvers({
1062
- vite: {
1063
- root: {
1064
- $resolve: async (val, get) => typeof val === "string" ? val : await get("srcDir")
1065
- },
1066
- mode: {
1067
- $resolve: async (val, get) => typeof val === "string" ? val : await get("dev") ? "development" : "production"
1068
- },
1069
- define: {
1070
- $resolve: async (_val, get) => {
1071
- const [isDev, isDebug] = await Promise.all([get("dev"), get("debug")]);
1072
- return {
1073
- "__VUE_PROD_HYDRATION_MISMATCH_DETAILS__": Boolean(isDebug && (isDebug === true || isDebug.hydration)),
1074
- "process.dev": isDev,
1075
- "import.meta.dev": isDev,
1076
- "process.test": isTest,
1077
- "import.meta.test": isTest,
1078
- ..._val && typeof _val === "object" ? _val : {}
1079
- };
1080
- }
1081
- },
1082
- resolve: {
1083
- extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"]
1084
- },
1085
- publicDir: {
1086
- $resolve: (val) => {
1087
- if (val) {
1088
- console.warn("Directly configuring the `vite.publicDir` option is not supported. Instead, set `dir.public`. You can read more in `https://nuxt.com/docs/4.x/api/nuxt-config#public`.");
1089
- }
1090
- return false;
1091
- }
1092
- },
1093
- vue: {
1094
- isProduction: {
1095
- $resolve: async (val, get) => typeof val === "boolean" ? val : !await get("dev")
1096
- },
1097
- template: {
1098
- compilerOptions: {
1099
- $resolve: async (val, get) => val ?? (await get("vue")).compilerOptions
1100
- },
1101
- transformAssetUrls: {
1102
- $resolve: async (val, get) => val ?? (await get("vue")).transformAssetUrls
1103
- }
1104
- },
1105
- script: {
1106
- hoistStatic: {
1107
- $resolve: async (val, get) => typeof val === "boolean" ? val : (await get("vue")).compilerOptions?.hoistStatic
1108
- }
1109
- },
1110
- features: {
1111
- propsDestructure: {
1112
- $resolve: async (val, get) => {
1113
- if (typeof val === "boolean") {
1114
- return val;
1115
- }
1116
- const vueOptions = await get("vue") || {};
1117
- return Boolean(
1118
- // @ts-expect-error TODO: remove in future: supporting a legacy schema
1119
- vueOptions.script?.propsDestructure ?? vueOptions.propsDestructure
1120
- );
1121
- }
1122
- }
1123
- }
1124
- },
1125
- vueJsx: {
1126
- $resolve: async (val, get) => {
1127
- return {
1128
- // TODO: investigate type divergence between types for @vue/compiler-core and @vue/babel-plugin-jsx
1129
- isCustomElement: (await get("vue")).compilerOptions?.isCustomElement,
1130
- ...typeof val === "object" ? val : {}
1131
- };
1132
- }
1133
- },
1134
- optimizeDeps: {
1135
- esbuildOptions: {
1136
- $resolve: async (val, get) => defu(val && typeof val === "object" ? val : {}, await get("esbuild.options"))
1137
- },
1138
- exclude: {
1139
- $resolve: (val) => [
1140
- ...Array.isArray(val) ? val : [],
1141
- "vue-demi"
1142
- ]
1143
- }
1144
- },
1145
- esbuild: {
1146
- $resolve: async (val, get) => {
1147
- return defu(val && typeof val === "object" ? val : {}, await get("esbuild.options"));
1148
- }
1149
- },
1150
- clearScreen: true,
1151
- build: {
1152
- assetsDir: {
1153
- $resolve: async (val, get) => typeof val === "string" ? val : (await get("app")).buildAssetsDir?.replace(/^\/+/, "")
1154
- },
1155
- emptyOutDir: false
1156
- },
1157
- server: {
1158
- fs: {
1159
- allow: {
1160
- $resolve: async (val, get) => {
1161
- const [buildDir, srcDir, rootDir, workspaceDir] = await Promise.all([get("buildDir"), get("srcDir"), get("rootDir"), get("workspaceDir")]);
1162
- return [.../* @__PURE__ */ new Set([
1163
- buildDir,
1164
- srcDir,
1165
- rootDir,
1166
- workspaceDir,
1167
- ...Array.isArray(val) ? val : []
1168
- ])];
1169
- }
1170
- }
1171
- }
1172
- },
1173
- cacheDir: {
1174
- $resolve: async (val, get) => typeof val === "string" ? val : resolve(await get("rootDir"), "node_modules/.cache/vite")
1175
- }
1176
- }
1177
- });
816
+ //#endregion
817
+ //#region src/config/vite.ts
818
+ var vite_default = defineResolvers({ vite: {
819
+ root: { $resolve: async (val, get) => typeof val === "string" ? val : await get("srcDir") },
820
+ mode: { $resolve: async (val, get) => typeof val === "string" ? val : await get("dev") ? "development" : "production" },
821
+ define: { $resolve: async (_val, get) => {
822
+ const [isDev, isDebug$1] = await Promise.all([get("dev"), get("debug")]);
823
+ return {
824
+ "__VUE_PROD_HYDRATION_MISMATCH_DETAILS__": Boolean(isDebug$1 && (isDebug$1 === true || isDebug$1.hydration)),
825
+ "process.dev": isDev,
826
+ "import.meta.dev": isDev,
827
+ "process.test": isTest,
828
+ "import.meta.test": isTest,
829
+ ..._val && typeof _val === "object" ? _val : {}
830
+ };
831
+ } },
832
+ resolve: { extensions: [
833
+ ".mjs",
834
+ ".js",
835
+ ".ts",
836
+ ".jsx",
837
+ ".tsx",
838
+ ".json",
839
+ ".vue"
840
+ ] },
841
+ publicDir: { $resolve: (val) => {
842
+ if (val) console.warn("Directly configuring the `vite.publicDir` option is not supported. Instead, set `dir.public`. You can read more in `https://nuxt.com/docs/4.x/api/nuxt-config#public`.");
843
+ return false;
844
+ } },
845
+ vue: {
846
+ isProduction: { $resolve: async (val, get) => typeof val === "boolean" ? val : !await get("dev") },
847
+ template: {
848
+ compilerOptions: { $resolve: async (val, get) => val ?? (await get("vue")).compilerOptions },
849
+ transformAssetUrls: { $resolve: async (val, get) => val ?? (await get("vue")).transformAssetUrls }
850
+ },
851
+ script: { hoistStatic: { $resolve: async (val, get) => typeof val === "boolean" ? val : (await get("vue")).compilerOptions?.hoistStatic } },
852
+ features: { propsDestructure: { $resolve: async (val, get) => {
853
+ if (typeof val === "boolean") return val;
854
+ const vueOptions = await get("vue") || {};
855
+ return Boolean(vueOptions.script?.propsDestructure ?? vueOptions.propsDestructure);
856
+ } } }
857
+ },
858
+ vueJsx: { $resolve: async (val, get) => {
859
+ return {
860
+ isCustomElement: (await get("vue")).compilerOptions?.isCustomElement,
861
+ ...typeof val === "object" ? val : {}
862
+ };
863
+ } },
864
+ optimizeDeps: {
865
+ esbuildOptions: { $resolve: async (val, get) => defu(val && typeof val === "object" ? val : {}, await get("esbuild.options")) },
866
+ exclude: { $resolve: (val) => [...Array.isArray(val) ? val : [], "vue-demi"] }
867
+ },
868
+ esbuild: { $resolve: async (val, get) => {
869
+ return defu(val && typeof val === "object" ? val : {}, await get("esbuild.options"));
870
+ } },
871
+ clearScreen: true,
872
+ build: {
873
+ assetsDir: { $resolve: async (val, get) => typeof val === "string" ? val : (await get("app")).buildAssetsDir?.replace(/^\/+/, "") },
874
+ emptyOutDir: false
875
+ },
876
+ server: { fs: { allow: { $resolve: async (val, get) => {
877
+ const [buildDir, srcDir, rootDir, workspaceDir] = await Promise.all([
878
+ get("buildDir"),
879
+ get("srcDir"),
880
+ get("rootDir"),
881
+ get("workspaceDir")
882
+ ]);
883
+ return [...new Set([
884
+ buildDir,
885
+ srcDir,
886
+ rootDir,
887
+ workspaceDir,
888
+ ...Array.isArray(val) ? val : []
889
+ ])];
890
+ } } } },
891
+ cacheDir: { $resolve: async (val, get) => typeof val === "string" ? val : resolve(await get("rootDir"), "node_modules/.cache/vite") }
892
+ } });
1178
893
 
1179
- const webpack = defineResolvers({
1180
- webpack: {
1181
- analyze: {
1182
- $resolve: async (val, get) => {
1183
- const value = typeof val === "boolean" ? { enabled: val } : val && typeof val === "object" ? val : {};
1184
- return defu(value, await get("build.analyze"));
1185
- }
1186
- },
1187
- profile: process.argv.includes("--profile"),
1188
- extractCSS: true,
1189
- cssSourceMap: {
1190
- $resolve: async (val, get) => typeof val === "boolean" ? val : await get("dev")
1191
- },
1192
- serverURLPolyfill: "url",
1193
- filenames: {
1194
- app: ({ isDev }) => isDev ? "[name].js" : "[contenthash:7].js",
1195
- chunk: ({ isDev }) => isDev ? "[name].js" : "[contenthash:7].js",
1196
- css: ({ isDev }) => isDev ? "[name].css" : "css/[contenthash:7].css",
1197
- img: ({ isDev }) => isDev ? "[path][name].[ext]" : "img/[name].[contenthash:7].[ext]",
1198
- font: ({ isDev }) => isDev ? "[path][name].[ext]" : "fonts/[name].[contenthash:7].[ext]",
1199
- video: ({ isDev }) => isDev ? "[path][name].[ext]" : "videos/[name].[contenthash:7].[ext]"
1200
- },
1201
- loaders: {
1202
- $resolve: async (val, get) => {
1203
- const loaders = val && typeof val === "object" ? val : {};
1204
- const styleLoaders = [
1205
- "css",
1206
- "cssModules",
1207
- "less",
1208
- "sass",
1209
- "scss",
1210
- "stylus",
1211
- "vueStyle"
1212
- ];
1213
- for (const name of styleLoaders) {
1214
- const loader = loaders[name];
1215
- if (loader && loader.sourceMap === void 0) {
1216
- loader.sourceMap = Boolean(
1217
- // @ts-expect-error TODO: remove legacay configuration
1218
- await get("build.cssSourceMap")
1219
- );
1220
- }
1221
- }
1222
- return loaders;
1223
- },
1224
- esbuild: {
1225
- $resolve: async (val, get) => {
1226
- return defu(val && typeof val === "object" ? val : {}, await get("esbuild.options"));
1227
- }
1228
- },
1229
- file: { esModule: false, limit: 1e3 },
1230
- fontUrl: { esModule: false, limit: 1e3 },
1231
- imgUrl: { esModule: false, limit: 1e3 },
1232
- pugPlain: {},
1233
- vue: {
1234
- transformAssetUrls: {
1235
- $resolve: async (val, get) => val ?? await get("vue.transformAssetUrls")
1236
- },
1237
- compilerOptions: {
1238
- $resolve: async (val, get) => val ?? await get("vue.compilerOptions")
1239
- },
1240
- propsDestructure: {
1241
- $resolve: async (val, get) => Boolean(val ?? await get("vue.propsDestructure"))
1242
- }
1243
- },
1244
- css: {
1245
- importLoaders: 0,
1246
- url: {
1247
- filter: (url, _resourcePath) => url[0] !== "/"
1248
- },
1249
- esModule: false
1250
- },
1251
- cssModules: {
1252
- importLoaders: 0,
1253
- url: {
1254
- filter: (url, _resourcePath) => url[0] !== "/"
1255
- },
1256
- esModule: false,
1257
- modules: {
1258
- localIdentName: "[local]_[hash:base64:5]"
1259
- }
1260
- },
1261
- less: {},
1262
- sass: {
1263
- sassOptions: {
1264
- indentedSyntax: true
1265
- }
1266
- },
1267
- scss: {},
1268
- stylus: {},
1269
- vueStyle: {}
1270
- },
1271
- plugins: [],
1272
- aggressiveCodeRemoval: false,
1273
- optimizeCSS: {
1274
- $resolve: async (val, get) => {
1275
- if (val === false || val && typeof val === "object") {
1276
- return val;
1277
- }
1278
- const extractCSS = await get("build.extractCSS");
1279
- return extractCSS ? {} : false;
1280
- }
1281
- },
1282
- optimization: {
1283
- runtimeChunk: "single",
1284
- minimize: {
1285
- $resolve: async (val, get) => typeof val === "boolean" ? val : !await get("dev")
1286
- },
1287
- minimizer: void 0,
1288
- splitChunks: {
1289
- chunks: "all",
1290
- automaticNameDelimiter: "/",
1291
- cacheGroups: {}
1292
- }
1293
- },
1294
- postcss: {
1295
- postcssOptions: {
1296
- plugins: {
1297
- $resolve: async (val, get) => val && typeof val === "object" ? val : await get("postcss.plugins")
1298
- }
1299
- }
1300
- },
1301
- devMiddleware: {
1302
- stats: "none"
1303
- },
1304
- hotMiddleware: {},
1305
- friendlyErrors: true,
1306
- warningIgnoreFilters: [],
1307
- experiments: {}
1308
- }
1309
- });
894
+ //#endregion
895
+ //#region src/config/webpack.ts
896
+ var webpack_default = defineResolvers({ webpack: {
897
+ analyze: { $resolve: async (val, get) => {
898
+ return defu(typeof val === "boolean" ? { enabled: val } : val && typeof val === "object" ? val : {}, await get("build.analyze"));
899
+ } },
900
+ profile: process.argv.includes("--profile"),
901
+ extractCSS: true,
902
+ cssSourceMap: { $resolve: async (val, get) => typeof val === "boolean" ? val : await get("dev") },
903
+ serverURLPolyfill: "url",
904
+ filenames: {
905
+ app: ({ isDev }) => isDev ? "[name].js" : "[contenthash:7].js",
906
+ chunk: ({ isDev }) => isDev ? "[name].js" : "[contenthash:7].js",
907
+ css: ({ isDev }) => isDev ? "[name].css" : "css/[contenthash:7].css",
908
+ img: ({ isDev }) => isDev ? "[path][name].[ext]" : "img/[name].[contenthash:7].[ext]",
909
+ font: ({ isDev }) => isDev ? "[path][name].[ext]" : "fonts/[name].[contenthash:7].[ext]",
910
+ video: ({ isDev }) => isDev ? "[path][name].[ext]" : "videos/[name].[contenthash:7].[ext]"
911
+ },
912
+ loaders: {
913
+ $resolve: async (val, get) => {
914
+ const loaders = val && typeof val === "object" ? val : {};
915
+ for (const name of [
916
+ "css",
917
+ "cssModules",
918
+ "less",
919
+ "sass",
920
+ "scss",
921
+ "stylus",
922
+ "vueStyle"
923
+ ]) {
924
+ const loader = loaders[name];
925
+ if (loader && loader.sourceMap === void 0) loader.sourceMap = Boolean(await get("build.cssSourceMap"));
926
+ }
927
+ return loaders;
928
+ },
929
+ esbuild: { $resolve: async (val, get) => {
930
+ return defu(val && typeof val === "object" ? val : {}, await get("esbuild.options"));
931
+ } },
932
+ file: {
933
+ esModule: false,
934
+ limit: 1e3
935
+ },
936
+ fontUrl: {
937
+ esModule: false,
938
+ limit: 1e3
939
+ },
940
+ imgUrl: {
941
+ esModule: false,
942
+ limit: 1e3
943
+ },
944
+ pugPlain: {},
945
+ vue: {
946
+ transformAssetUrls: { $resolve: async (val, get) => val ?? await get("vue.transformAssetUrls") },
947
+ compilerOptions: { $resolve: async (val, get) => val ?? await get("vue.compilerOptions") },
948
+ propsDestructure: { $resolve: async (val, get) => Boolean(val ?? await get("vue.propsDestructure")) }
949
+ },
950
+ css: {
951
+ importLoaders: 0,
952
+ url: { filter: (url, _resourcePath) => url[0] !== "/" },
953
+ esModule: false
954
+ },
955
+ cssModules: {
956
+ importLoaders: 0,
957
+ url: { filter: (url, _resourcePath) => url[0] !== "/" },
958
+ esModule: false,
959
+ modules: { localIdentName: "[local]_[hash:base64:5]" }
960
+ },
961
+ less: {},
962
+ sass: { sassOptions: { indentedSyntax: true } },
963
+ scss: {},
964
+ stylus: {},
965
+ vueStyle: {}
966
+ },
967
+ plugins: [],
968
+ aggressiveCodeRemoval: false,
969
+ optimizeCSS: { $resolve: async (val, get) => {
970
+ if (val === false || val && typeof val === "object") return val;
971
+ return await get("build.extractCSS") ? {} : false;
972
+ } },
973
+ optimization: {
974
+ runtimeChunk: "single",
975
+ minimize: { $resolve: async (val, get) => typeof val === "boolean" ? val : !await get("dev") },
976
+ minimizer: void 0,
977
+ splitChunks: {
978
+ chunks: "all",
979
+ automaticNameDelimiter: "/",
980
+ cacheGroups: {}
981
+ }
982
+ },
983
+ postcss: { postcssOptions: { plugins: { $resolve: async (val, get) => val && typeof val === "object" ? val : await get("postcss.plugins") } } },
984
+ devMiddleware: { stats: "none" },
985
+ hotMiddleware: {},
986
+ friendlyErrors: true,
987
+ warningIgnoreFilters: [],
988
+ experiments: {}
989
+ } });
1310
990
 
1311
- const index = {
1312
- ...adhoc,
1313
- ...app,
1314
- ...build,
1315
- ...common,
1316
- ...dev,
1317
- ...experimental,
1318
- ...generate,
1319
- ...internal,
1320
- ...nitro,
1321
- ...postcss,
1322
- ...router,
1323
- ...typescript,
1324
- ...esbuild,
1325
- ...oxc,
1326
- ...vite,
1327
- ...webpack
991
+ //#endregion
992
+ //#region src/config/index.ts
993
+ var config_default = {
994
+ ...adhoc_default,
995
+ ...app_default,
996
+ ...build_default,
997
+ ...common_default,
998
+ ...dev_default,
999
+ ...experimental_default,
1000
+ ...generate_default,
1001
+ ...internal_default,
1002
+ ...nitro_default,
1003
+ ...postcss_default,
1004
+ ...router_default,
1005
+ ...typescript_default,
1006
+ ...esbuild_default,
1007
+ ...oxc_default,
1008
+ ...vite_default,
1009
+ ...webpack_default
1328
1010
  };
1329
1011
 
1330
- export { index as NuxtConfigSchema };
1012
+ //#endregion
1013
+ export { config_default as NuxtConfigSchema };