@terrazzo/cli 2.0.0-alpha.4 → 2.0.0-alpha.5

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.js CHANGED
@@ -1,17 +1,12 @@
1
- import { builtinModules, createRequire } from "node:module";
1
+ import { createRequire } from "node:module";
2
2
  import { fileURLToPath, pathToFileURL } from "node:url";
3
3
  import { build, defineConfig as defineConfig$1, parse } from "@terrazzo/parser";
4
- import fs, { createReadStream, createWriteStream, existsSync, promises } from "node:fs";
5
- import path, { dirname, resolve } from "node:path";
4
+ import fs, { createReadStream, createWriteStream } from "node:fs";
5
+ import path from "node:path";
6
6
  import pc from "picocolors";
7
- import { createServer, version } from "vite";
8
- import process$1 from "node:process";
9
- import { Buffer as Buffer$1 } from "node:buffer";
10
- import { isatty } from "node:tty";
11
- import { formatWithOptions, inspect } from "node:util";
12
- import vm from "node:vm";
13
- import assert from "node:assert";
14
- import { performance as performance$1 } from "node:perf_hooks";
7
+ import { createServer } from "vite";
8
+ import { ViteNodeRunner } from "vite-node/client";
9
+ import { ViteNodeServer } from "vite-node/server";
15
10
  import chokidar from "chokidar";
16
11
  import yamlToMomoa from "yaml-to-momoa";
17
12
  import { exec } from "node:child_process";
@@ -27,1702 +22,6 @@ import mime from "mime";
27
22
  import * as momoa from "@humanwhocodes/momoa";
28
23
  import { getObjMember, getObjMembers, traverse } from "@terrazzo/json-schema-tools";
29
24
 
30
- //#region ../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs
31
- const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
32
- function normalizeWindowsPath(input = "") {
33
- if (!input) return input;
34
- return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());
35
- }
36
- const _UNC_REGEX = /^[/\\]{2}/;
37
- const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
38
- const _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
39
- const _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/;
40
- const _EXTNAME_RE = /.(\.[^./]+|\.)$/;
41
- const normalize = function(path$1) {
42
- if (path$1.length === 0) return ".";
43
- path$1 = normalizeWindowsPath(path$1);
44
- const isUNCPath = path$1.match(_UNC_REGEX);
45
- const isPathAbsolute = isAbsolute(path$1);
46
- const trailingSeparator = path$1[path$1.length - 1] === "/";
47
- path$1 = normalizeString(path$1, !isPathAbsolute);
48
- if (path$1.length === 0) {
49
- if (isPathAbsolute) return "/";
50
- return trailingSeparator ? "./" : ".";
51
- }
52
- if (trailingSeparator) path$1 += "/";
53
- if (_DRIVE_LETTER_RE.test(path$1)) path$1 += "/";
54
- if (isUNCPath) {
55
- if (!isPathAbsolute) return `//./${path$1}`;
56
- return `//${path$1}`;
57
- }
58
- return isPathAbsolute && !isAbsolute(path$1) ? `/${path$1}` : path$1;
59
- };
60
- const join = function(...segments) {
61
- let path$1 = "";
62
- for (const seg of segments) {
63
- if (!seg) continue;
64
- if (path$1.length > 0) {
65
- const pathTrailing = path$1[path$1.length - 1] === "/";
66
- const segLeading = seg[0] === "/";
67
- if (pathTrailing && segLeading) path$1 += seg.slice(1);
68
- else path$1 += pathTrailing || segLeading ? seg : `/${seg}`;
69
- } else path$1 += seg;
70
- }
71
- return normalize(path$1);
72
- };
73
- function cwd$1() {
74
- if (typeof process !== "undefined" && typeof process.cwd === "function") return process.cwd().replace(/\\/g, "/");
75
- return "/";
76
- }
77
- const resolve$1 = function(...arguments_) {
78
- arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));
79
- let resolvedPath = "";
80
- let resolvedAbsolute = false;
81
- for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {
82
- const path$1 = index >= 0 ? arguments_[index] : cwd$1();
83
- if (!path$1 || path$1.length === 0) continue;
84
- resolvedPath = `${path$1}/${resolvedPath}`;
85
- resolvedAbsolute = isAbsolute(path$1);
86
- }
87
- resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
88
- if (resolvedAbsolute && !isAbsolute(resolvedPath)) return `/${resolvedPath}`;
89
- return resolvedPath.length > 0 ? resolvedPath : ".";
90
- };
91
- function normalizeString(path$1, allowAboveRoot) {
92
- let res = "";
93
- let lastSegmentLength = 0;
94
- let lastSlash = -1;
95
- let dots = 0;
96
- let char = null;
97
- for (let index = 0; index <= path$1.length; ++index) {
98
- if (index < path$1.length) char = path$1[index];
99
- else if (char === "/") break;
100
- else char = "/";
101
- if (char === "/") {
102
- if (lastSlash === index - 1 || dots === 1);
103
- else if (dots === 2) {
104
- if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") {
105
- if (res.length > 2) {
106
- const lastSlashIndex = res.lastIndexOf("/");
107
- if (lastSlashIndex === -1) {
108
- res = "";
109
- lastSegmentLength = 0;
110
- } else {
111
- res = res.slice(0, lastSlashIndex);
112
- lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
113
- }
114
- lastSlash = index;
115
- dots = 0;
116
- continue;
117
- } else if (res.length > 0) {
118
- res = "";
119
- lastSegmentLength = 0;
120
- lastSlash = index;
121
- dots = 0;
122
- continue;
123
- }
124
- }
125
- if (allowAboveRoot) {
126
- res += res.length > 0 ? "/.." : "..";
127
- lastSegmentLength = 2;
128
- }
129
- } else {
130
- if (res.length > 0) res += `/${path$1.slice(lastSlash + 1, index)}`;
131
- else res = path$1.slice(lastSlash + 1, index);
132
- lastSegmentLength = index - lastSlash - 1;
133
- }
134
- lastSlash = index;
135
- dots = 0;
136
- } else if (char === "." && dots !== -1) ++dots;
137
- else dots = -1;
138
- }
139
- return res;
140
- }
141
- const isAbsolute = function(p) {
142
- return _IS_ABSOLUTE_RE.test(p);
143
- };
144
- const extname = function(p) {
145
- if (p === "..") return "";
146
- const match = _EXTNAME_RE.exec(normalizeWindowsPath(p));
147
- return match && match[1] || "";
148
- };
149
- const relative = function(from, to) {
150
- const _from = resolve$1(from).replace(_ROOT_FOLDER_RE, "$1").split("/");
151
- const _to = resolve$1(to).replace(_ROOT_FOLDER_RE, "$1").split("/");
152
- if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) return _to.join("/");
153
- const _fromCopy = [..._from];
154
- for (const segment of _fromCopy) {
155
- if (_to[0] !== segment) break;
156
- _from.shift();
157
- _to.shift();
158
- }
159
- return [..._from.map(() => ".."), ..._to].join("/");
160
- };
161
- const dirname$1 = function(p) {
162
- const segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1);
163
- if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) segments[0] += "/";
164
- return segments.join("/") || (isAbsolute(p) ? "/" : ".");
165
- };
166
-
167
- //#endregion
168
- //#region ../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/utils-ExLpYVUV.mjs
169
- const isWindows = process$1.platform === "win32";
170
- const drive = isWindows ? process$1.cwd()[0] : null;
171
- const driveOpposite = drive ? drive === drive.toUpperCase() ? drive.toLowerCase() : drive.toUpperCase() : null;
172
- const driveRegexp = drive ? /* @__PURE__ */ new RegExp(`(?:^|/@fs/)${drive}(\:[\\/])`) : null;
173
- const driveOppositeRegext = driveOpposite ? /* @__PURE__ */ new RegExp(`(?:^|/@fs/)${driveOpposite}(\:[\\/])`) : null;
174
- function slash(str) {
175
- return str.replace(/\\/g, "/");
176
- }
177
- const bareImportRE = /^(?![a-z]:)[\w@](?!.*:\/\/)/i;
178
- function isBareImport(id) {
179
- return bareImportRE.test(id);
180
- }
181
- function normalizeRequestId(id, base) {
182
- if (base && id.startsWith(withTrailingSlash(base))) id = `/${id.slice(base.length)}`;
183
- if (driveRegexp && !driveRegexp?.test(id) && driveOppositeRegext?.test(id)) id = id.replace(driveOppositeRegext, `${drive}$1`);
184
- if (id.startsWith("file://")) {
185
- const { file, postfix } = splitFileAndPostfix(id);
186
- return fileURLToPath(file) + postfix;
187
- }
188
- return id.replace(/^\/@id\/__x00__/, "\0").replace(/^\/@id\//, "").replace(/^__vite-browser-external:/, "").replace(/\?v=\w+/, "?").replace(/&v=\w+/, "").replace(/\?t=\w+/, "?").replace(/&t=\w+/, "").replace(/\?import/, "?").replace(/&import/, "").replace(/\?&/, "?").replace(/\?+$/, "");
189
- }
190
- const postfixRE = /[?#].*$/;
191
- function cleanUrl(url) {
192
- return url.replace(postfixRE, "");
193
- }
194
- function splitFileAndPostfix(path$1) {
195
- const file = cleanUrl(path$1);
196
- return {
197
- file,
198
- postfix: path$1.slice(file.length)
199
- };
200
- }
201
- const internalRequestRegexp = /* @__PURE__ */ new RegExp(`^/?(?:${["@vite/client", "@vite/env"].join("|")})$`);
202
- function isInternalRequest(id) {
203
- return internalRequestRegexp.test(id);
204
- }
205
- const prefixedBuiltins = new Set([
206
- "node:sea",
207
- "node:sqlite",
208
- "node:test",
209
- "node:test/reporters"
210
- ]);
211
- const builtins = new Set([
212
- ...builtinModules,
213
- "assert/strict",
214
- "diagnostics_channel",
215
- "dns/promises",
216
- "fs/promises",
217
- "path/posix",
218
- "path/win32",
219
- "readline/promises",
220
- "stream/consumers",
221
- "stream/promises",
222
- "stream/web",
223
- "timers/promises",
224
- "util/types",
225
- "wasi"
226
- ]);
227
- function normalizeModuleId(id) {
228
- if (prefixedBuiltins.has(id)) return id;
229
- if (id.startsWith("file://")) return fileURLToPath(id);
230
- return id.replace(/\\/g, "/").replace(/^\/@fs\//, isWindows ? "" : "/").replace(/^node:/, "").replace(/^\/+/, "/");
231
- }
232
- function isPrimitive(v) {
233
- return v !== Object(v);
234
- }
235
- function toFilePath(id, root) {
236
- let { absolute, exists } = (() => {
237
- if (id.startsWith("/@fs/")) return {
238
- absolute: id.slice(4),
239
- exists: true
240
- };
241
- if (!id.startsWith(withTrailingSlash(root)) && id.startsWith("/")) {
242
- const resolved = resolve$1(root, id.slice(1));
243
- if (existsSync(cleanUrl(resolved))) return {
244
- absolute: resolved,
245
- exists: true
246
- };
247
- } else if (id.startsWith(withTrailingSlash(root)) && existsSync(cleanUrl(id))) return {
248
- absolute: id,
249
- exists: true
250
- };
251
- return {
252
- absolute: id,
253
- exists: false
254
- };
255
- })();
256
- if (absolute.startsWith("//")) absolute = absolute.slice(1);
257
- return {
258
- path: isWindows && absolute.startsWith("/") ? slash(fileURLToPath(pathToFileURL(absolute.slice(1)).href)) : absolute,
259
- exists
260
- };
261
- }
262
- const NODE_BUILTIN_NAMESPACE = "node:";
263
- function isNodeBuiltin(id) {
264
- if (prefixedBuiltins.has(id)) return true;
265
- return builtins.has(id.startsWith(NODE_BUILTIN_NAMESPACE) ? id.slice(5) : id);
266
- }
267
- /**
268
- * Convert `Arrayable<T>` to `Array<T>`
269
- *
270
- * @category Array
271
- */
272
- function toArray(array) {
273
- if (array === null || array === void 0) array = [];
274
- if (Array.isArray(array)) return array;
275
- return [array];
276
- }
277
- function getCachedData(cache, basedir, originalBasedir) {
278
- const pkgData = cache.get(getFnpdCacheKey(basedir));
279
- if (pkgData) {
280
- traverseBetweenDirs(originalBasedir, basedir, (dir) => {
281
- cache.set(getFnpdCacheKey(dir), pkgData);
282
- });
283
- return pkgData;
284
- }
285
- }
286
- function setCacheData(cache, data, basedir, originalBasedir) {
287
- cache.set(getFnpdCacheKey(basedir), data);
288
- traverseBetweenDirs(originalBasedir, basedir, (dir) => {
289
- cache.set(getFnpdCacheKey(dir), data);
290
- });
291
- }
292
- function getFnpdCacheKey(basedir) {
293
- return `fnpd_${basedir}`;
294
- }
295
- /**
296
- * Traverse between `longerDir` (inclusive) and `shorterDir` (exclusive) and call `cb` for each dir.
297
- * @param longerDir Longer dir path, e.g. `/User/foo/bar/baz`
298
- * @param shorterDir Shorter dir path, e.g. `/User/foo`
299
- */
300
- function traverseBetweenDirs(longerDir, shorterDir, cb) {
301
- while (longerDir !== shorterDir) {
302
- cb(longerDir);
303
- longerDir = dirname$1(longerDir);
304
- }
305
- }
306
- function withTrailingSlash(path$1) {
307
- if (path$1[path$1.length - 1] !== "/") return `${path$1}/`;
308
- return path$1;
309
- }
310
- function createImportMetaEnvProxy() {
311
- const booleanKeys = [
312
- "DEV",
313
- "PROD",
314
- "SSR"
315
- ];
316
- return new Proxy(process$1.env, {
317
- get(_, key) {
318
- if (typeof key !== "string") return;
319
- if (booleanKeys.includes(key)) return !!process$1.env[key];
320
- return process$1.env[key];
321
- },
322
- set(_, key, value) {
323
- if (typeof key !== "string") return true;
324
- if (booleanKeys.includes(key)) process$1.env[key] = value ? "1" : "";
325
- else process$1.env[key] = value;
326
- return true;
327
- }
328
- });
329
- }
330
- const packageCache = /* @__PURE__ */ new Map();
331
- async function findNearestPackageData(basedir) {
332
- const originalBasedir = basedir;
333
- while (basedir) {
334
- const cached = getCachedData(packageCache, basedir, originalBasedir);
335
- if (cached) return cached;
336
- const pkgPath = join(basedir, "package.json");
337
- if ((await promises.stat(pkgPath).catch(() => {}))?.isFile()) {
338
- const pkgData = JSON.parse(await promises.readFile(pkgPath, "utf8"));
339
- if (packageCache) setCacheData(packageCache, pkgData, basedir, originalBasedir);
340
- return pkgData;
341
- }
342
- const nextBasedir = dirname$1(basedir);
343
- if (nextBasedir === basedir) break;
344
- basedir = nextBasedir;
345
- }
346
- return {};
347
- }
348
-
349
- //#endregion
350
- //#region ../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/source-map-DQLD3K8K.mjs
351
- var comma = ",".charCodeAt(0);
352
- ";".charCodeAt(0);
353
- var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
354
- var intToChar = new Uint8Array(64);
355
- var charToInt = new Uint8Array(128);
356
- for (let i = 0; i < chars.length; i++) {
357
- const c = chars.charCodeAt(i);
358
- intToChar[i] = c;
359
- charToInt[c] = i;
360
- }
361
- const fileContentsCache = {};
362
- const reSourceMap = /^data:application\/json[^,]+base64,/;
363
- let retrieveFileHandlers = [];
364
- let retrieveMapHandlers = [];
365
- function handlerExec(list) {
366
- return function(arg) {
367
- for (let i = 0; i < list.length; i++) {
368
- const ret = list[i](arg);
369
- if (ret) return ret;
370
- }
371
- return null;
372
- };
373
- }
374
- let retrieveFile = handlerExec(retrieveFileHandlers);
375
- retrieveFileHandlers.push((path$1) => {
376
- path$1 = path$1.trim();
377
- if (path$1.startsWith("file:")) path$1 = path$1.replace(/file:\/\/\/(\w:)?/, (protocol, drive$1) => {
378
- return drive$1 ? "" : "/";
379
- });
380
- if (path$1 in fileContentsCache) return fileContentsCache[path$1];
381
- let contents = "";
382
- try {
383
- if (fs.existsSync(path$1)) contents = fs.readFileSync(path$1, "utf8");
384
- } catch {}
385
- return fileContentsCache[path$1] = contents;
386
- });
387
- function supportRelativeURL(file, url) {
388
- if (!file) return url;
389
- const dir = path.dirname(file);
390
- const match = /^\w+:\/\/[^/]*/.exec(dir);
391
- let protocol = match ? match[0] : "";
392
- const startPath = dir.slice(protocol.length);
393
- if (protocol && /^\/\w:/.test(startPath)) {
394
- protocol += "/";
395
- return protocol + path.resolve(dir.slice(protocol.length), url).replace(/\\/g, "/");
396
- }
397
- return protocol + path.resolve(dir.slice(protocol.length), url);
398
- }
399
- function retrieveSourceMapURL(source) {
400
- const fileData = retrieveFile(source);
401
- if (!fileData) return null;
402
- const re = /\/\/[@#]\s*sourceMappingURL=([^\s'"]+)\s*$|\/\*[@#]\s*sourceMappingURL=[^\s*'"]+\s*\*\/\s*$/gm;
403
- let lastMatch, match;
404
- while (match = re.exec(fileData)) lastMatch = match;
405
- if (!lastMatch) return null;
406
- return lastMatch[1];
407
- }
408
- let retrieveSourceMap = handlerExec(retrieveMapHandlers);
409
- retrieveMapHandlers.push((source) => {
410
- let sourceMappingURL = retrieveSourceMapURL(source);
411
- if (!sourceMappingURL) return null;
412
- let sourceMapData;
413
- if (reSourceMap.test(sourceMappingURL)) {
414
- const rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(",") + 1);
415
- sourceMapData = Buffer$1.from(rawData, "base64").toString();
416
- sourceMappingURL = source;
417
- } else {
418
- sourceMappingURL = supportRelativeURL(source, sourceMappingURL);
419
- sourceMapData = retrieveFile(sourceMappingURL);
420
- }
421
- if (!sourceMapData) return null;
422
- return {
423
- url: sourceMappingURL,
424
- map: sourceMapData
425
- };
426
- });
427
- retrieveFileHandlers.slice(0);
428
- retrieveMapHandlers.slice(0);
429
- let SOURCEMAPPING_URL = "sourceMa";
430
- SOURCEMAPPING_URL += "ppingURL";
431
- const VITE_NODE_SOURCEMAPPING_SOURCE = "//# sourceMappingSource=vite-node";
432
- const VITE_NODE_SOURCEMAPPING_URL = `${SOURCEMAPPING_URL}=data:application/json;charset=utf-8`;
433
- function withInlineSourcemap(result, options) {
434
- const map = result.map;
435
- let code = result.code;
436
- if (!map || code.includes(VITE_NODE_SOURCEMAPPING_SOURCE)) return result;
437
- if ("sources" in map) map.sources = map.sources?.map((source) => {
438
- if (!source) return source;
439
- if (isAbsolute(source)) {
440
- const actualPath = !source.startsWith(withTrailingSlash(options.root)) && source.startsWith("/") ? resolve$1(options.root, source.slice(1)) : source;
441
- return relative(dirname$1(options.filepath), actualPath);
442
- }
443
- return source;
444
- });
445
- const OTHER_SOURCE_MAP_REGEXP = new RegExp(`//# ${SOURCEMAPPING_URL}=data:application/json[^,]+base64,([A-Za-z0-9+/=]+)$`, "gm");
446
- while (OTHER_SOURCE_MAP_REGEXP.test(code)) code = code.replace(OTHER_SOURCE_MAP_REGEXP, "");
447
- if (!options.noFirstLineMapping && map.mappings.startsWith(";")) map.mappings = `AAAA,CAAA${map.mappings}`;
448
- const sourceMap = Buffer$1.from(JSON.stringify(map), "utf-8").toString("base64");
449
- result.code = `${code.trimEnd()}\n\n${VITE_NODE_SOURCEMAPPING_SOURCE}\n//# ${VITE_NODE_SOURCEMAPPING_URL};base64,${sourceMap}\n`;
450
- return result;
451
- }
452
- function extractSourceMap(code) {
453
- const regexp = new RegExp(`//# ${VITE_NODE_SOURCEMAPPING_URL};base64,(.+)`, "gm");
454
- let lastMatch, match;
455
- while (match = regexp.exec(code)) lastMatch = match;
456
- if (lastMatch) return JSON.parse(Buffer$1.from(lastMatch[1], "base64").toString("utf-8"));
457
- return null;
458
- }
459
-
460
- //#endregion
461
- //#region ../../node_modules/.pnpm/obug@2.1.0/node_modules/obug/dist/core.js
462
- function coerce(value) {
463
- if (value instanceof Error) return value.stack || value.message;
464
- return value;
465
- }
466
- function selectColor(colors$1, namespace) {
467
- let hash = 0;
468
- for (let i = 0; i < namespace.length; i++) {
469
- hash = (hash << 5) - hash + namespace.charCodeAt(i);
470
- hash |= 0;
471
- }
472
- return colors$1[Math.abs(hash) % colors$1.length];
473
- }
474
- function matchesTemplate(search, template) {
475
- let searchIndex = 0;
476
- let templateIndex = 0;
477
- let starIndex = -1;
478
- let matchIndex = 0;
479
- while (searchIndex < search.length) if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) if (template[templateIndex] === "*") {
480
- starIndex = templateIndex;
481
- matchIndex = searchIndex;
482
- templateIndex++;
483
- } else {
484
- searchIndex++;
485
- templateIndex++;
486
- }
487
- else if (starIndex !== -1) {
488
- templateIndex = starIndex + 1;
489
- matchIndex++;
490
- searchIndex = matchIndex;
491
- } else return false;
492
- while (templateIndex < template.length && template[templateIndex] === "*") templateIndex++;
493
- return templateIndex === template.length;
494
- }
495
- function humanize(value) {
496
- if (value >= 1e3) return `${(value / 1e3).toFixed(1)}s`;
497
- return `${value}ms`;
498
- }
499
- let globalNamespaces = "";
500
- function createDebug$1(namespace, options) {
501
- let prevTime;
502
- let enableOverride;
503
- let namespacesCache;
504
- let enabledCache;
505
- const debug = (...args) => {
506
- if (!debug.enabled) return;
507
- const curr = Date.now();
508
- const diff = curr - (prevTime || curr);
509
- prevTime = curr;
510
- args[0] = coerce(args[0]);
511
- if (typeof args[0] !== "string") args.unshift("%O");
512
- let index = 0;
513
- args[0] = args[0].replace(/%([a-z%])/gi, (match, format) => {
514
- if (match === "%%") return "%";
515
- index++;
516
- const formatter = options.formatters[format];
517
- if (typeof formatter === "function") {
518
- const value = args[index];
519
- match = formatter.call(debug, value);
520
- args.splice(index, 1);
521
- index--;
522
- }
523
- return match;
524
- });
525
- options.formatArgs.call(debug, diff, args);
526
- debug.log(...args);
527
- };
528
- debug.extend = function(namespace$1, delimiter = ":") {
529
- return createDebug$1(this.namespace + delimiter + namespace$1, {
530
- useColors: this.useColors,
531
- color: this.color,
532
- formatArgs: this.formatArgs,
533
- formatters: this.formatters,
534
- inspectOpts: this.inspectOpts,
535
- log: this.log,
536
- humanize: this.humanize
537
- });
538
- };
539
- Object.assign(debug, options);
540
- debug.namespace = namespace;
541
- Object.defineProperty(debug, "enabled", {
542
- enumerable: true,
543
- configurable: false,
544
- get: () => {
545
- if (enableOverride != null) return enableOverride;
546
- if (namespacesCache !== globalNamespaces) {
547
- namespacesCache = globalNamespaces;
548
- enabledCache = enabled(namespace);
549
- }
550
- return enabledCache;
551
- },
552
- set: (v) => {
553
- enableOverride = v;
554
- }
555
- });
556
- return debug;
557
- }
558
- let names = [];
559
- let skips = [];
560
- function enable(namespaces$1) {
561
- globalNamespaces = namespaces$1;
562
- names = [];
563
- skips = [];
564
- const split = globalNamespaces.trim().replace(/\s+/g, ",").split(",").filter(Boolean);
565
- for (const ns of split) if (ns[0] === "-") skips.push(ns.slice(1));
566
- else names.push(ns);
567
- }
568
- function enabled(name) {
569
- for (const skip of skips) if (matchesTemplate(name, skip)) return false;
570
- for (const ns of names) if (matchesTemplate(name, ns)) return true;
571
- return false;
572
- }
573
-
574
- //#endregion
575
- //#region ../../node_modules/.pnpm/obug@2.1.0/node_modules/obug/dist/node.js
576
- const colors = process.stderr.getColorDepth && process.stderr.getColorDepth() > 2 ? [
577
- 20,
578
- 21,
579
- 26,
580
- 27,
581
- 32,
582
- 33,
583
- 38,
584
- 39,
585
- 40,
586
- 41,
587
- 42,
588
- 43,
589
- 44,
590
- 45,
591
- 56,
592
- 57,
593
- 62,
594
- 63,
595
- 68,
596
- 69,
597
- 74,
598
- 75,
599
- 76,
600
- 77,
601
- 78,
602
- 79,
603
- 80,
604
- 81,
605
- 92,
606
- 93,
607
- 98,
608
- 99,
609
- 112,
610
- 113,
611
- 128,
612
- 129,
613
- 134,
614
- 135,
615
- 148,
616
- 149,
617
- 160,
618
- 161,
619
- 162,
620
- 163,
621
- 164,
622
- 165,
623
- 166,
624
- 167,
625
- 168,
626
- 169,
627
- 170,
628
- 171,
629
- 172,
630
- 173,
631
- 178,
632
- 179,
633
- 184,
634
- 185,
635
- 196,
636
- 197,
637
- 198,
638
- 199,
639
- 200,
640
- 201,
641
- 202,
642
- 203,
643
- 204,
644
- 205,
645
- 206,
646
- 207,
647
- 208,
648
- 209,
649
- 214,
650
- 215,
651
- 220,
652
- 221
653
- ] : [
654
- 6,
655
- 2,
656
- 3,
657
- 4,
658
- 5,
659
- 1
660
- ];
661
- const inspectOpts = Object.keys(process.env).filter((key) => /^debug_/i.test(key)).reduce((obj, key) => {
662
- const prop = key.slice(6).toLowerCase().replace(/_([a-z])/g, (_, k) => k.toUpperCase());
663
- let value = process.env[key];
664
- if (value === "null") value = null;
665
- else if (/^yes|on|true|enabled$/i.test(value)) value = true;
666
- else if (/^no|off|false|disabled$/i.test(value)) value = false;
667
- else value = Number(value);
668
- obj[prop] = value;
669
- return obj;
670
- }, {});
671
- function useColors() {
672
- return "colors" in inspectOpts ? Boolean(inspectOpts.colors) : isatty(process.stderr.fd);
673
- }
674
- function getDate() {
675
- if (inspectOpts.hideDate) return "";
676
- return `${(/* @__PURE__ */ new Date()).toISOString()} `;
677
- }
678
- function formatArgs(diff, args) {
679
- const { namespace: name, useColors: useColors$1 } = this;
680
- if (useColors$1) {
681
- const c = this.color;
682
- const colorCode = `\u001B[3${c < 8 ? c : `8;5;${c}`}`;
683
- const prefix = ` ${colorCode};1m${name} \u001B[0m`;
684
- args[0] = prefix + args[0].split("\n").join(`\n${prefix}`);
685
- args.push(`${colorCode}m+${this.humanize(diff)}\u001B[0m`);
686
- } else args[0] = `${getDate()}${name} ${args[0]}`;
687
- }
688
- function log(...args) {
689
- process.stderr.write(`${formatWithOptions(this.inspectOpts, ...args)}\n`);
690
- }
691
- const defaultOptions = {
692
- useColors: useColors(),
693
- formatArgs,
694
- formatters: {
695
- o(v) {
696
- this.inspectOpts.colors = this.useColors;
697
- return inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
698
- },
699
- O(v) {
700
- this.inspectOpts.colors = this.useColors;
701
- return inspect(v, this.inspectOpts);
702
- }
703
- },
704
- inspectOpts,
705
- log,
706
- humanize
707
- };
708
- function createDebug(namespace, options) {
709
- var _ref;
710
- const color = (_ref = options && options.color) !== null && _ref !== void 0 ? _ref : selectColor(colors, namespace);
711
- return createDebug$1(namespace, Object.assign(defaultOptions, { color }, options));
712
- }
713
- enable(process.env.DEBUG || "");
714
-
715
- //#endregion
716
- //#region ../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/client-CyS7w_FB.mjs
717
- const { setTimeout: setTimeout$1, clearTimeout: clearTimeout$1 } = globalThis;
718
- const debugExecute = createDebug("vite-node:client:execute");
719
- const debugNative = createDebug("vite-node:client:native");
720
- const clientStub = {
721
- injectQuery: (id) => id,
722
- createHotContext: () => {
723
- return {
724
- accept: () => {},
725
- prune: () => {},
726
- dispose: () => {},
727
- decline: () => {},
728
- invalidate: () => {},
729
- on: () => {},
730
- send: () => {}
731
- };
732
- },
733
- updateStyle: () => {},
734
- removeStyle: () => {}
735
- };
736
- const env = createImportMetaEnvProxy();
737
- const DEFAULT_REQUEST_STUBS = {
738
- "/@vite/client": clientStub,
739
- "@vite/client": clientStub
740
- };
741
- var ModuleCacheMap = class extends Map {
742
- normalizePath(fsPath) {
743
- return normalizeModuleId(fsPath);
744
- }
745
- /**
746
- * Assign partial data to the map
747
- */
748
- update(fsPath, mod) {
749
- fsPath = this.normalizePath(fsPath);
750
- if (!super.has(fsPath)) this.setByModuleId(fsPath, mod);
751
- else Object.assign(super.get(fsPath), mod);
752
- return this;
753
- }
754
- setByModuleId(modulePath, mod) {
755
- return super.set(modulePath, mod);
756
- }
757
- set(fsPath, mod) {
758
- return this.setByModuleId(this.normalizePath(fsPath), mod);
759
- }
760
- getByModuleId(modulePath) {
761
- if (!super.has(modulePath)) this.setByModuleId(modulePath, {});
762
- const mod = super.get(modulePath);
763
- if (!mod.imports) Object.assign(mod, {
764
- imports: /* @__PURE__ */ new Set(),
765
- importers: /* @__PURE__ */ new Set()
766
- });
767
- return mod;
768
- }
769
- get(fsPath) {
770
- return this.getByModuleId(this.normalizePath(fsPath));
771
- }
772
- deleteByModuleId(modulePath) {
773
- return super.delete(modulePath);
774
- }
775
- delete(fsPath) {
776
- return this.deleteByModuleId(this.normalizePath(fsPath));
777
- }
778
- invalidateModule(mod) {
779
- delete mod.evaluated;
780
- delete mod.resolving;
781
- delete mod.promise;
782
- delete mod.exports;
783
- mod.importers?.clear();
784
- mod.imports?.clear();
785
- return true;
786
- }
787
- /**
788
- * Invalidate modules that dependent on the given modules, up to the main entry
789
- */
790
- invalidateDepTree(ids, invalidated = /* @__PURE__ */ new Set()) {
791
- for (const _id of ids) {
792
- const id = this.normalizePath(_id);
793
- if (invalidated.has(id)) continue;
794
- invalidated.add(id);
795
- const mod = super.get(id);
796
- if (mod?.importers) this.invalidateDepTree(mod.importers, invalidated);
797
- super.delete(id);
798
- }
799
- return invalidated;
800
- }
801
- /**
802
- * Invalidate dependency modules of the given modules, down to the bottom-level dependencies
803
- */
804
- invalidateSubDepTree(ids, invalidated = /* @__PURE__ */ new Set()) {
805
- for (const _id of ids) {
806
- const id = this.normalizePath(_id);
807
- if (invalidated.has(id)) continue;
808
- invalidated.add(id);
809
- const subIds = Array.from(super.entries()).filter(([, mod]) => mod.importers?.has(id)).map(([key]) => key);
810
- if (subIds.length) this.invalidateSubDepTree(subIds, invalidated);
811
- super.delete(id);
812
- }
813
- return invalidated;
814
- }
815
- /**
816
- * Return parsed source map based on inlined source map of the module
817
- */
818
- getSourceMap(id) {
819
- const cache = this.get(id);
820
- if (cache.map) return cache.map;
821
- const map = cache.code && extractSourceMap(cache.code);
822
- if (map) {
823
- cache.map = map;
824
- return map;
825
- }
826
- return null;
827
- }
828
- };
829
- var ViteNodeRunner = class {
830
- root;
831
- debug;
832
- /**
833
- * Holds the cache of modules
834
- * Keys of the map are filepaths, or plain package names
835
- */
836
- moduleCache;
837
- /**
838
- * Tracks the stack of modules being executed for the purpose of calculating import self-time.
839
- *
840
- * Note that while in most cases, imports are a linear stack of modules,
841
- * this is occasionally not the case, for example when you have parallel top-level dynamic imports like so:
842
- *
843
- * ```ts
844
- * await Promise.all([
845
- * import('./module1'),
846
- * import('./module2'),
847
- * ]);
848
- * ```
849
- *
850
- * In this case, the self time will be reported incorrectly for one of the modules (could go negative).
851
- * As top-level awaits with dynamic imports like this are uncommon, we don't handle this case specifically.
852
- */
853
- executionStack = [];
854
- performanceNow = performance.now.bind(performance);
855
- constructor(options) {
856
- this.options = options;
857
- this.root = options.root ?? process$1.cwd();
858
- this.moduleCache = options.moduleCache ?? new ModuleCacheMap();
859
- this.debug = options.debug ?? (typeof process$1 !== "undefined" ? !!process$1.env.VITE_NODE_DEBUG_RUNNER : false);
860
- }
861
- async executeFile(file) {
862
- const url = `/@fs/${slash(resolve(file))}`;
863
- return await this.cachedRequest(url, url, []);
864
- }
865
- async executeId(rawId) {
866
- const [id, url] = await this.resolveUrl(rawId);
867
- return await this.cachedRequest(id, url, []);
868
- }
869
- /** @internal */
870
- async cachedRequest(id, fsPath, callstack) {
871
- const importee = callstack[callstack.length - 1];
872
- const mod = this.moduleCache.get(fsPath);
873
- const { imports, importers } = mod;
874
- if (importee) importers.add(importee);
875
- const getStack = () => `stack:\n${[...callstack, fsPath].reverse().map((p) => ` - ${p}`).join("\n")}`;
876
- if (callstack.includes(fsPath) || Array.from(imports.values()).some((i) => importers.has(i))) {
877
- if (mod.exports) return mod.exports;
878
- }
879
- let debugTimer;
880
- if (this.debug) debugTimer = setTimeout$1(() => console.warn(`[vite-node] module ${fsPath} takes over 2s to load.\n${getStack()}`), 2e3);
881
- try {
882
- if (mod.promise) return await mod.promise;
883
- const promise = this.directRequest(id, fsPath, callstack);
884
- Object.assign(mod, {
885
- promise,
886
- evaluated: false
887
- });
888
- return await promise;
889
- } finally {
890
- mod.evaluated = true;
891
- if (debugTimer) clearTimeout$1(debugTimer);
892
- }
893
- }
894
- shouldResolveId(id, _importee) {
895
- return !isInternalRequest(id) && !isNodeBuiltin(id) && !id.startsWith("data:");
896
- }
897
- async _resolveUrl(id, importer) {
898
- const dep = normalizeRequestId(id, this.options.base);
899
- if (!this.shouldResolveId(dep)) return [dep, dep];
900
- const { path: path$1, exists } = toFilePath(dep, this.root);
901
- if (!this.options.resolveId || exists) return [dep, path$1];
902
- const resolved = await this.options.resolveId(dep, importer);
903
- if (resolved?.meta?.["vite:alias"]?.noResolved) {
904
- const error = /* @__PURE__ */ new Error(`Cannot find module '${id}'${importer ? ` imported from '${importer}'` : ""}.
905
-
906
- - If you rely on tsconfig.json's "paths" to resolve modules, please install "vite-tsconfig-paths" plugin to handle module resolution.
907
- - Make sure you don't have relative aliases in your Vitest config. Use absolute paths instead. Read more: https://vitest.dev/guide/common-errors`);
908
- Object.defineProperty(error, "code", {
909
- value: "ERR_MODULE_NOT_FOUND",
910
- enumerable: true
911
- });
912
- Object.defineProperty(error, Symbol.for("vitest.error.not_found.data"), {
913
- value: {
914
- id: dep,
915
- importer
916
- },
917
- enumerable: false
918
- });
919
- throw error;
920
- }
921
- const resolvedId = resolved ? normalizeRequestId(resolved.id, this.options.base) : dep;
922
- return [resolvedId, resolvedId];
923
- }
924
- async resolveUrl(id, importee) {
925
- const resolveKey = `resolve:${id}`;
926
- this.moduleCache.setByModuleId(resolveKey, { resolving: true });
927
- try {
928
- return await this._resolveUrl(id, importee);
929
- } finally {
930
- this.moduleCache.deleteByModuleId(resolveKey);
931
- }
932
- }
933
- /** @internal */
934
- async dependencyRequest(id, fsPath, callstack) {
935
- return await this.cachedRequest(id, fsPath, callstack);
936
- }
937
- async _fetchModule(id, importer) {
938
- try {
939
- return await this.options.fetchModule(id);
940
- } catch (cause) {
941
- if (typeof cause === "object" && cause.code === "ERR_LOAD_URL" || typeof cause?.message === "string" && cause.message.includes("Failed to load url")) {
942
- const error = new Error(`Cannot find ${isBareImport(id) ? "package" : "module"} '${id}'${importer ? ` imported from '${importer}'` : ""}`, { cause });
943
- error.code = "ERR_MODULE_NOT_FOUND";
944
- throw error;
945
- }
946
- throw cause;
947
- }
948
- }
949
- /** @internal */
950
- async directRequest(id, fsPath, _callstack) {
951
- const moduleId = normalizeModuleId(fsPath);
952
- const callstack = [..._callstack, moduleId];
953
- const mod = this.moduleCache.getByModuleId(moduleId);
954
- const request = async (dep) => {
955
- const [id$1, depFsPath] = await this.resolveUrl(String(dep), fsPath);
956
- this.moduleCache.getByModuleId(depFsPath).importers.add(moduleId);
957
- mod.imports.add(depFsPath);
958
- return this.dependencyRequest(id$1, depFsPath, callstack);
959
- };
960
- const requestStubs = this.options.requestStubs || DEFAULT_REQUEST_STUBS;
961
- if (id in requestStubs) return requestStubs[id];
962
- let { code: transformed, externalize } = await this._fetchModule(id, callstack[callstack.length - 2]);
963
- if (externalize) {
964
- debugNative(externalize);
965
- const exports$1 = await this.interopedImport(externalize);
966
- mod.exports = exports$1;
967
- return exports$1;
968
- }
969
- if (transformed == null) throw new Error(`[vite-node] Failed to load "${id}" imported from ${callstack[callstack.length - 2]}`);
970
- const { Object: Object$1, Reflect: Reflect$1, Symbol: Symbol$1 } = this.getContextPrimitives();
971
- const modulePath = cleanUrl(moduleId);
972
- const href = pathToFileURL(modulePath).href;
973
- const __filename = fileURLToPath(href);
974
- const __dirname = dirname(__filename);
975
- const meta = {
976
- url: href,
977
- env,
978
- filename: __filename,
979
- dirname: __dirname
980
- };
981
- const exports = Object$1.create(null);
982
- Object$1.defineProperty(exports, Symbol$1.toStringTag, {
983
- value: "Module",
984
- enumerable: false,
985
- configurable: false
986
- });
987
- const SYMBOL_NOT_DEFINED = Symbol$1("not defined");
988
- let moduleExports = SYMBOL_NOT_DEFINED;
989
- const cjsExports = new Proxy(exports, {
990
- get: (target, p, receiver) => {
991
- if (Reflect$1.has(target, p)) return Reflect$1.get(target, p, receiver);
992
- return Reflect$1.get(Object$1.prototype, p, receiver);
993
- },
994
- getPrototypeOf: () => Object$1.prototype,
995
- set: (_, p, value) => {
996
- if (p === "default" && this.shouldInterop(modulePath, { default: value }) && cjsExports !== value) {
997
- exportAll(cjsExports, value);
998
- exports.default = value;
999
- return true;
1000
- }
1001
- if (!Reflect$1.has(exports, "default")) exports.default = {};
1002
- if (moduleExports !== SYMBOL_NOT_DEFINED && isPrimitive(moduleExports)) {
1003
- defineExport(exports, p, () => void 0);
1004
- return true;
1005
- }
1006
- if (!isPrimitive(exports.default)) exports.default[p] = value;
1007
- if (p !== "default") defineExport(exports, p, () => value);
1008
- return true;
1009
- }
1010
- });
1011
- Object$1.assign(mod, {
1012
- code: transformed,
1013
- exports
1014
- });
1015
- const moduleProxy = {
1016
- set exports(value) {
1017
- exportAll(cjsExports, value);
1018
- exports.default = value;
1019
- moduleExports = value;
1020
- },
1021
- get exports() {
1022
- return cjsExports;
1023
- }
1024
- };
1025
- let hotContext;
1026
- if (this.options.createHotContext) Object$1.defineProperty(meta, "hot", {
1027
- enumerable: true,
1028
- get: () => {
1029
- hotContext ||= this.options.createHotContext?.(this, moduleId);
1030
- return hotContext;
1031
- },
1032
- set: (value) => {
1033
- hotContext = value;
1034
- }
1035
- });
1036
- const context = this.prepareContext({
1037
- __vite_ssr_import__: request,
1038
- __vite_ssr_dynamic_import__: request,
1039
- __vite_ssr_exports__: exports,
1040
- __vite_ssr_exportAll__: (obj) => exportAll(exports, obj),
1041
- __vite_ssr_exportName__: (name, getter) => Object$1.defineProperty(exports, name, {
1042
- enumerable: true,
1043
- configurable: true,
1044
- get: getter
1045
- }),
1046
- __vite_ssr_import_meta__: meta,
1047
- require: createRequire(href),
1048
- exports: cjsExports,
1049
- module: moduleProxy,
1050
- __filename,
1051
- __dirname
1052
- });
1053
- debugExecute(__filename);
1054
- if (transformed[0] === "#") transformed = transformed.replace(/^#!.*/, (s) => " ".repeat(s.length));
1055
- await this.runModule(context, transformed);
1056
- return exports;
1057
- }
1058
- getContextPrimitives() {
1059
- return {
1060
- Object,
1061
- Reflect,
1062
- Symbol
1063
- };
1064
- }
1065
- async runModule(context, transformed) {
1066
- const codeDefinition = `'use strict';async (${Object.keys(context).join(",")})=>{{`;
1067
- const code = `${codeDefinition}${transformed}\n}}`;
1068
- const options = {
1069
- filename: context.__filename,
1070
- lineOffset: 0,
1071
- columnOffset: -codeDefinition.length
1072
- };
1073
- const finishModuleExecutionInfo = this.startCalculateModuleExecutionInfo(options.filename, codeDefinition.length);
1074
- try {
1075
- await vm.runInThisContext(code, options)(...Object.values(context));
1076
- } finally {
1077
- this.options.moduleExecutionInfo?.set(options.filename, finishModuleExecutionInfo());
1078
- }
1079
- }
1080
- /**
1081
- * Starts calculating the module execution info such as the total duration and self time spent on executing the module.
1082
- * Returns a function to call once the module has finished executing.
1083
- */
1084
- startCalculateModuleExecutionInfo(filename, startOffset) {
1085
- const startTime = this.performanceNow();
1086
- this.executionStack.push({
1087
- filename,
1088
- startTime,
1089
- subImportTime: 0
1090
- });
1091
- return () => {
1092
- const duration = this.performanceNow() - startTime;
1093
- const currentExecution = this.executionStack.pop();
1094
- if (currentExecution == null) throw new Error("Execution stack is empty, this should never happen");
1095
- const selfTime = duration - currentExecution.subImportTime;
1096
- if (this.executionStack.length > 0) this.executionStack.at(-1).subImportTime += duration;
1097
- return {
1098
- startOffset,
1099
- duration,
1100
- selfTime
1101
- };
1102
- };
1103
- }
1104
- prepareContext(context) {
1105
- return context;
1106
- }
1107
- /**
1108
- * Define if a module should be interop-ed
1109
- * This function mostly for the ability to override by subclass
1110
- */
1111
- shouldInterop(path$1, mod) {
1112
- if (this.options.interopDefault === false) return false;
1113
- return !path$1.endsWith(".mjs") && "default" in mod;
1114
- }
1115
- importExternalModule(path$1) {
1116
- return import(
1117
- /* @vite-ignore */
1118
- path$1
1119
- );
1120
- }
1121
- /**
1122
- * Import a module and interop it
1123
- */
1124
- async interopedImport(path$1) {
1125
- const importedModule = await this.importExternalModule(path$1);
1126
- if (!this.shouldInterop(path$1, importedModule)) return importedModule;
1127
- const { mod, defaultExport } = interopModule(importedModule);
1128
- return new Proxy(mod, {
1129
- get(mod$1, prop) {
1130
- if (prop === "default") return defaultExport;
1131
- return mod$1[prop] ?? defaultExport?.[prop];
1132
- },
1133
- has(mod$1, prop) {
1134
- if (prop === "default") return defaultExport !== void 0;
1135
- return prop in mod$1 || defaultExport && prop in defaultExport;
1136
- },
1137
- getOwnPropertyDescriptor(mod$1, prop) {
1138
- const descriptor = Reflect.getOwnPropertyDescriptor(mod$1, prop);
1139
- if (descriptor) return descriptor;
1140
- if (prop === "default" && defaultExport !== void 0) return {
1141
- value: defaultExport,
1142
- enumerable: true,
1143
- configurable: true
1144
- };
1145
- }
1146
- });
1147
- }
1148
- };
1149
- function interopModule(mod) {
1150
- if (isPrimitive(mod)) return {
1151
- mod: { default: mod },
1152
- defaultExport: mod
1153
- };
1154
- let defaultExport = "default" in mod ? mod.default : mod;
1155
- if (!isPrimitive(defaultExport) && "__esModule" in defaultExport) {
1156
- mod = defaultExport;
1157
- if ("default" in defaultExport) defaultExport = defaultExport.default;
1158
- }
1159
- return {
1160
- mod,
1161
- defaultExport
1162
- };
1163
- }
1164
- function defineExport(exports, key, value) {
1165
- Object.defineProperty(exports, key, {
1166
- enumerable: true,
1167
- configurable: true,
1168
- get: value
1169
- });
1170
- }
1171
- function exportAll(exports, sourceModule) {
1172
- if (exports === sourceModule) return;
1173
- if (isPrimitive(sourceModule) || Array.isArray(sourceModule) || sourceModule instanceof Promise) return;
1174
- for (const key in sourceModule) if (key !== "default" && !(key in exports)) try {
1175
- defineExport(exports, key, () => sourceModule[key]);
1176
- } catch {}
1177
- }
1178
-
1179
- //#endregion
1180
- //#region ../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/dist-B2ebky9O.mjs
1181
- var d = {
1182
- reset: [0, 0],
1183
- bold: [
1184
- 1,
1185
- 22,
1186
- "\x1B[22m\x1B[1m"
1187
- ],
1188
- dim: [
1189
- 2,
1190
- 22,
1191
- "\x1B[22m\x1B[2m"
1192
- ],
1193
- italic: [3, 23],
1194
- underline: [4, 24],
1195
- inverse: [7, 27],
1196
- hidden: [8, 28],
1197
- strikethrough: [9, 29],
1198
- black: [30, 39],
1199
- red: [31, 39],
1200
- green: [32, 39],
1201
- yellow: [33, 39],
1202
- blue: [34, 39],
1203
- magenta: [35, 39],
1204
- cyan: [36, 39],
1205
- white: [37, 39],
1206
- gray: [90, 39],
1207
- bgBlack: [40, 49],
1208
- bgRed: [41, 49],
1209
- bgGreen: [42, 49],
1210
- bgYellow: [43, 49],
1211
- bgBlue: [44, 49],
1212
- bgMagenta: [45, 49],
1213
- bgCyan: [46, 49],
1214
- bgWhite: [47, 49],
1215
- blackBright: [90, 39],
1216
- redBright: [91, 39],
1217
- greenBright: [92, 39],
1218
- yellowBright: [93, 39],
1219
- blueBright: [94, 39],
1220
- magentaBright: [95, 39],
1221
- cyanBright: [96, 39],
1222
- whiteBright: [97, 39],
1223
- bgBlackBright: [100, 49],
1224
- bgRedBright: [101, 49],
1225
- bgGreenBright: [102, 49],
1226
- bgYellowBright: [103, 49],
1227
- bgBlueBright: [104, 49],
1228
- bgMagentaBright: [105, 49],
1229
- bgCyanBright: [106, 49],
1230
- bgWhiteBright: [107, 49]
1231
- };
1232
- function g(e) {
1233
- return String(e);
1234
- }
1235
- g.open = "";
1236
- g.close = "";
1237
- function h() {
1238
- let e = typeof process != "undefined" ? process : void 0, n = (e == null ? void 0 : e.env) || {}, a = n.FORCE_TTY !== "false", i = (e == null ? void 0 : e.argv) || [];
1239
- return !("NO_COLOR" in n || i.includes("--no-color")) && ("FORCE_COLOR" in n || i.includes("--color") || (e == null ? void 0 : e.platform) === "win32" || a && n.TERM !== "dumb" || "CI" in n) || typeof window != "undefined" && !!window.chrome;
1240
- }
1241
- function f() {
1242
- let e = h(), n = (r, t, u, o) => {
1243
- let l = "", s = 0;
1244
- do
1245
- l += r.substring(s, o) + u, s = o + t.length, o = r.indexOf(t, s);
1246
- while (~o);
1247
- return l + r.substring(s);
1248
- }, a = (r, t, u = r) => {
1249
- let o = (l) => {
1250
- let s = String(l), b = s.indexOf(t, r.length);
1251
- return ~b ? r + n(s, t, u, b) + t : r + s + t;
1252
- };
1253
- return o.open = r, o.close = t, o;
1254
- }, i = { isColorSupported: e }, c = (r) => `\x1B[${r}m`;
1255
- for (let r in d) {
1256
- let t = d[r];
1257
- i[r] = e ? a(c(t[0]), c(t[1]), t[2]) : g;
1258
- }
1259
- return i;
1260
- }
1261
- var C = f();
1262
-
1263
- //#endregion
1264
- //#region ../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/constants-DRkacFwN.mjs
1265
- const KNOWN_ASSET_TYPES = [
1266
- "apng",
1267
- "bmp",
1268
- "png",
1269
- "jpe?g",
1270
- "jfif",
1271
- "pjpeg",
1272
- "pjp",
1273
- "gif",
1274
- "svg",
1275
- "ico",
1276
- "webp",
1277
- "avif",
1278
- "mp4",
1279
- "webm",
1280
- "ogg",
1281
- "mp3",
1282
- "wav",
1283
- "flac",
1284
- "aac",
1285
- "woff2?",
1286
- "eot",
1287
- "ttf",
1288
- "otf",
1289
- "webmanifest",
1290
- "pdf",
1291
- "txt"
1292
- ];
1293
- const KNOWN_ASSET_RE = /* @__PURE__ */ new RegExp(`\\.(${KNOWN_ASSET_TYPES.join("|")})$`);
1294
-
1295
- //#endregion
1296
- //#region ../../node_modules/.pnpm/es-module-lexer@1.7.0/node_modules/es-module-lexer/dist/lexer.js
1297
- var ImportType;
1298
- (function(A$1) {
1299
- A$1[A$1.Static = 1] = "Static", A$1[A$1.Dynamic = 2] = "Dynamic", A$1[A$1.ImportMeta = 3] = "ImportMeta", A$1[A$1.StaticSourcePhase = 4] = "StaticSourcePhase", A$1[A$1.DynamicSourcePhase = 5] = "DynamicSourcePhase", A$1[A$1.StaticDeferPhase = 6] = "StaticDeferPhase", A$1[A$1.DynamicDeferPhase = 7] = "DynamicDeferPhase";
1300
- })(ImportType || (ImportType = {}));
1301
- const A = 1 === new Uint8Array(new Uint16Array([1]).buffer)[0];
1302
- function parse$1(E$1, g$1 = "@") {
1303
- if (!C$1) return init.then((() => parse$1(E$1)));
1304
- const I = E$1.length + 1, w = (C$1.__heap_base.value || C$1.__heap_base) + 4 * I - C$1.memory.buffer.byteLength;
1305
- w > 0 && C$1.memory.grow(Math.ceil(w / 65536));
1306
- const K = C$1.sa(I - 1);
1307
- if ((A ? B : Q)(E$1, new Uint16Array(C$1.memory.buffer, K, I)), !C$1.parse()) throw Object.assign(/* @__PURE__ */ new Error(`Parse error ${g$1}:${E$1.slice(0, C$1.e()).split("\n").length}:${C$1.e() - E$1.lastIndexOf("\n", C$1.e() - 1)}`), { idx: C$1.e() });
1308
- const o = [], D = [];
1309
- for (; C$1.ri();) {
1310
- const A$1 = C$1.is(), Q$1 = C$1.ie(), B$1 = C$1.it(), g$2 = C$1.ai(), I$1 = C$1.id(), w$1 = C$1.ss(), K$1 = C$1.se();
1311
- let D$1;
1312
- C$1.ip() && (D$1 = k(E$1.slice(-1 === I$1 ? A$1 - 1 : A$1, -1 === I$1 ? Q$1 + 1 : Q$1))), o.push({
1313
- n: D$1,
1314
- t: B$1,
1315
- s: A$1,
1316
- e: Q$1,
1317
- ss: w$1,
1318
- se: K$1,
1319
- d: I$1,
1320
- a: g$2
1321
- });
1322
- }
1323
- for (; C$1.re();) {
1324
- const A$1 = C$1.es(), Q$1 = C$1.ee(), B$1 = C$1.els(), g$2 = C$1.ele(), I$1 = E$1.slice(A$1, Q$1), w$1 = I$1[0], K$1 = B$1 < 0 ? void 0 : E$1.slice(B$1, g$2), o$1 = K$1 ? K$1[0] : "";
1325
- D.push({
1326
- s: A$1,
1327
- e: Q$1,
1328
- ls: B$1,
1329
- le: g$2,
1330
- n: "\"" === w$1 || "'" === w$1 ? k(I$1) : I$1,
1331
- ln: "\"" === o$1 || "'" === o$1 ? k(K$1) : K$1
1332
- });
1333
- }
1334
- function k(A$1) {
1335
- try {
1336
- return (0, eval)(A$1);
1337
- } catch (A$2) {}
1338
- }
1339
- return [
1340
- o,
1341
- D,
1342
- !!C$1.f(),
1343
- !!C$1.ms()
1344
- ];
1345
- }
1346
- function Q(A$1, Q$1) {
1347
- const B$1 = A$1.length;
1348
- let C$2 = 0;
1349
- for (; C$2 < B$1;) {
1350
- const B$2 = A$1.charCodeAt(C$2);
1351
- Q$1[C$2++] = (255 & B$2) << 8 | B$2 >>> 8;
1352
- }
1353
- }
1354
- function B(A$1, Q$1) {
1355
- const B$1 = A$1.length;
1356
- let C$2 = 0;
1357
- for (; C$2 < B$1;) Q$1[C$2] = A$1.charCodeAt(C$2++);
1358
- }
1359
- let C$1;
1360
- const E = () => {
1361
- return A$1 = "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GzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=", "undefined" != typeof Buffer ? Buffer.from(A$1, "base64") : Uint8Array.from(atob(A$1), ((A$2) => A$2.charCodeAt(0)));
1362
- var A$1;
1363
- };
1364
- const init = WebAssembly.compile(E()).then(WebAssembly.instantiate).then((({ exports: A$1 }) => {
1365
- C$1 = A$1;
1366
- }));
1367
-
1368
- //#endregion
1369
- //#region ../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/server-BWywEVuB.mjs
1370
- function hashCode(s) {
1371
- return s.split("").reduce((a, b) => {
1372
- a = (a << 5) - a + b.charCodeAt(0);
1373
- return a & a;
1374
- }, 0);
1375
- }
1376
- var Debugger = class {
1377
- dumpDir;
1378
- initPromise;
1379
- externalizeMap = /* @__PURE__ */ new Map();
1380
- constructor(root, options) {
1381
- this.options = options;
1382
- if (options.dumpModules) this.dumpDir = resolve$1(root, options.dumpModules === true ? ".vite-node/dump" : options.dumpModules);
1383
- if (this.dumpDir) if (options.loadDumppedModules) console.info(C.gray(`[vite-node] [debug] load modules from ${this.dumpDir}`));
1384
- else console.info(C.gray(`[vite-node] [debug] dump modules to ${this.dumpDir}`));
1385
- this.initPromise = this.clearDump();
1386
- }
1387
- async clearDump() {
1388
- if (!this.dumpDir) return;
1389
- if (!this.options.loadDumppedModules && existsSync(this.dumpDir)) await promises.rm(this.dumpDir, {
1390
- recursive: true,
1391
- force: true
1392
- });
1393
- await promises.mkdir(this.dumpDir, { recursive: true });
1394
- }
1395
- encodeId(id) {
1396
- return `${id.replace(/[^\w@\-]/g, "_").replace(/_+/g, "_")}-${hashCode(id)}.js`;
1397
- }
1398
- async recordExternalize(id, path$1) {
1399
- if (!this.dumpDir) return;
1400
- this.externalizeMap.set(id, path$1);
1401
- await this.writeInfo();
1402
- }
1403
- async dumpFile(id, result) {
1404
- if (!result || !this.dumpDir) return;
1405
- await this.initPromise;
1406
- const name = this.encodeId(id);
1407
- return await promises.writeFile(join(this.dumpDir, name), `// ${id.replace(/\0/g, "\\0")}\n${result.code}`, "utf-8");
1408
- }
1409
- async loadDump(id) {
1410
- if (!this.dumpDir) return null;
1411
- await this.initPromise;
1412
- const name = this.encodeId(id);
1413
- const path$1 = join(this.dumpDir, name);
1414
- if (!existsSync(path$1)) return null;
1415
- return {
1416
- code: (await promises.readFile(path$1, "utf-8")).replace(/^\/\/.*\n/, ""),
1417
- map: void 0
1418
- };
1419
- }
1420
- async writeInfo() {
1421
- if (!this.dumpDir) return;
1422
- const info = JSON.stringify({
1423
- time: (/* @__PURE__ */ new Date()).toLocaleString(),
1424
- externalize: Object.fromEntries(this.externalizeMap.entries())
1425
- }, null, 2);
1426
- return promises.writeFile(join(this.dumpDir, "info.json"), info, "utf-8");
1427
- }
1428
- };
1429
- const BUILTIN_EXTENSIONS = new Set([
1430
- ".mjs",
1431
- ".cjs",
1432
- ".node",
1433
- ".wasm"
1434
- ]);
1435
- const ESM_EXT_RE = /\.(es|esm|esm-browser|esm-bundler|es6|module)\.js$/;
1436
- const ESM_FOLDER_RE = /\/(es|esm)\/(.*\.js)$/;
1437
- const defaultInline = [
1438
- /virtual:/,
1439
- /\.[mc]?ts$/,
1440
- /[?&](init|raw|url|inline)\b/,
1441
- KNOWN_ASSET_RE
1442
- ];
1443
- const depsExternal = [/\/node_modules\/.*\.cjs\.js$/, /\/node_modules\/.*\.mjs$/];
1444
- function guessCJSversion(id) {
1445
- if (id.match(ESM_EXT_RE)) {
1446
- for (const i of [
1447
- id.replace(ESM_EXT_RE, ".mjs"),
1448
- id.replace(ESM_EXT_RE, ".umd.js"),
1449
- id.replace(ESM_EXT_RE, ".cjs.js"),
1450
- id.replace(ESM_EXT_RE, ".js")
1451
- ]) if (existsSync(i)) return i;
1452
- }
1453
- if (id.match(ESM_FOLDER_RE)) {
1454
- for (const i of [
1455
- id.replace(ESM_FOLDER_RE, "/umd/$1"),
1456
- id.replace(ESM_FOLDER_RE, "/cjs/$1"),
1457
- id.replace(ESM_FOLDER_RE, "/lib/$1"),
1458
- id.replace(ESM_FOLDER_RE, "/$1")
1459
- ]) if (existsSync(i)) return i;
1460
- }
1461
- }
1462
- async function isValidNodeImport(id) {
1463
- const extension = extname(id);
1464
- if (BUILTIN_EXTENSIONS.has(extension)) return true;
1465
- if (extension !== ".js") return false;
1466
- id = id.replace("file:///", "");
1467
- if ((await findNearestPackageData(dirname$1(id))).type === "module") return true;
1468
- if (/\.(?:\w+-)?esm?(?:-\w+)?\.js$|\/esm?\//.test(id)) return false;
1469
- try {
1470
- await init;
1471
- const code = await promises.readFile(id, "utf8");
1472
- const [, , , hasModuleSyntax] = parse$1(code);
1473
- return !hasModuleSyntax;
1474
- } catch {
1475
- return false;
1476
- }
1477
- }
1478
- const _defaultExternalizeCache = /* @__PURE__ */ new Map();
1479
- async function shouldExternalize(id, options, cache = _defaultExternalizeCache) {
1480
- if (!cache.has(id)) cache.set(id, _shouldExternalize(id, options));
1481
- return cache.get(id);
1482
- }
1483
- async function _shouldExternalize(id, options) {
1484
- if (isNodeBuiltin(id)) return id;
1485
- if (id.startsWith("data:") || /^(?:https?:)?\/\//.test(id)) return id;
1486
- id = patchWindowsImportPath(id);
1487
- const moduleDirectories = options?.moduleDirectories || ["/node_modules/"];
1488
- if (matchExternalizePattern(id, moduleDirectories, options?.inline)) return false;
1489
- if (options?.inlineFiles && options?.inlineFiles.includes(id)) return false;
1490
- if (matchExternalizePattern(id, moduleDirectories, options?.external)) return id;
1491
- if (options?.cacheDir && id.includes(options.cacheDir)) return id;
1492
- const isLibraryModule = moduleDirectories.some((dir) => id.includes(dir));
1493
- id = isLibraryModule && options?.fallbackCJS ? guessCJSversion(id) || id : id;
1494
- if (matchExternalizePattern(id, moduleDirectories, defaultInline)) return false;
1495
- if (matchExternalizePattern(id, moduleDirectories, depsExternal)) return id;
1496
- if (isLibraryModule && await isValidNodeImport(id)) return id;
1497
- return false;
1498
- }
1499
- function matchExternalizePattern(id, moduleDirectories, patterns) {
1500
- if (patterns == null) return false;
1501
- if (patterns === true) return true;
1502
- for (const ex of patterns) if (typeof ex === "string") {
1503
- if (moduleDirectories.some((dir) => id.includes(join(dir, ex)))) return true;
1504
- } else if (ex.test(id)) return true;
1505
- return false;
1506
- }
1507
- function patchWindowsImportPath(path$1) {
1508
- if (path$1.match(/^\w:\\/)) return `file:///${slash(path$1)}`;
1509
- else if (path$1.match(/^\w:\//)) return `file:///${path$1}`;
1510
- else return path$1;
1511
- }
1512
- const debugRequest = createDebug("vite-node:server:request");
1513
- var ViteNodeServer = class {
1514
- fetchPromiseMap = {
1515
- ssr: /* @__PURE__ */ new Map(),
1516
- web: /* @__PURE__ */ new Map()
1517
- };
1518
- transformPromiseMap = {
1519
- ssr: /* @__PURE__ */ new Map(),
1520
- web: /* @__PURE__ */ new Map()
1521
- };
1522
- durations = {
1523
- ssr: /* @__PURE__ */ new Map(),
1524
- web: /* @__PURE__ */ new Map()
1525
- };
1526
- existingOptimizedDeps = /* @__PURE__ */ new Set();
1527
- fetchCaches = {
1528
- ssr: /* @__PURE__ */ new Map(),
1529
- web: /* @__PURE__ */ new Map()
1530
- };
1531
- fetchCache = /* @__PURE__ */ new Map();
1532
- externalizeCache = /* @__PURE__ */ new Map();
1533
- debugger;
1534
- constructor(server, options = {}) {
1535
- this.server = server;
1536
- this.options = options;
1537
- const ssrOptions = server.config.ssr;
1538
- options.deps ??= {};
1539
- options.deps.cacheDir = relative(server.config.root, options.deps.cacheDir || server.config.cacheDir);
1540
- if (ssrOptions) {
1541
- if (ssrOptions.noExternal === true) options.deps.inline ??= true;
1542
- else if (options.deps.inline !== true) {
1543
- options.deps.inline ??= [];
1544
- const inline = options.deps.inline;
1545
- options.deps.inline.push(...toArray(ssrOptions.noExternal).filter((dep) => !inline.includes(dep)));
1546
- }
1547
- }
1548
- if (process$1.env.VITE_NODE_DEBUG_DUMP) options.debug = Object.assign({
1549
- dumpModules: !!process$1.env.VITE_NODE_DEBUG_DUMP,
1550
- loadDumppedModules: process$1.env.VITE_NODE_DEBUG_DUMP === "load"
1551
- }, options.debug ?? {});
1552
- if (options.debug) this.debugger = new Debugger(server.config.root, options.debug);
1553
- if (options.deps.inlineFiles) options.deps.inlineFiles = options.deps.inlineFiles.flatMap((file) => {
1554
- if (file.startsWith("file://")) return file;
1555
- const resolvedId = resolve$1(file);
1556
- return [resolvedId, pathToFileURL(resolvedId).href];
1557
- });
1558
- options.deps.moduleDirectories ??= [];
1559
- const customModuleDirectories = (process$1.env.VITE_NODE_DEPS_MODULE_DIRECTORIES || process$1.env.npm_config_VITE_NODE_DEPS_MODULE_DIRECTORIES)?.split(",");
1560
- if (customModuleDirectories) options.deps.moduleDirectories.push(...customModuleDirectories);
1561
- options.deps.moduleDirectories = options.deps.moduleDirectories.map((dir) => {
1562
- if (!dir.startsWith("/")) dir = `/${dir}`;
1563
- if (!dir.endsWith("/")) dir += "/";
1564
- return normalize(dir);
1565
- });
1566
- if (!options.deps.moduleDirectories.includes("/node_modules/")) options.deps.moduleDirectories.push("/node_modules/");
1567
- }
1568
- shouldExternalize(id) {
1569
- return shouldExternalize(id, this.options.deps, this.externalizeCache);
1570
- }
1571
- getTotalDuration() {
1572
- const ssrDurations = [...this.durations.ssr.values()].flat();
1573
- const webDurations = [...this.durations.web.values()].flat();
1574
- return [...ssrDurations, ...webDurations].reduce((a, b) => a + b, 0);
1575
- }
1576
- async ensureExists(id) {
1577
- if (this.existingOptimizedDeps.has(id)) return true;
1578
- if (existsSync(id)) {
1579
- this.existingOptimizedDeps.add(id);
1580
- return true;
1581
- }
1582
- return new Promise((resolve$1$1) => {
1583
- setTimeout(() => {
1584
- this.ensureExists(id).then(() => {
1585
- resolve$1$1(true);
1586
- });
1587
- });
1588
- });
1589
- }
1590
- async resolveId(id, importer, transformMode) {
1591
- if (importer && !importer.startsWith(withTrailingSlash(this.server.config.root))) importer = resolve$1(this.server.config.root, importer);
1592
- const mode = transformMode ?? (importer && this.getTransformMode(importer) || "ssr");
1593
- return this.server.pluginContainer.resolveId(id, importer, { ssr: mode === "ssr" });
1594
- }
1595
- getSourceMap(source) {
1596
- source = normalizeModuleId(source);
1597
- const fetchResult = this.fetchCache.get(source)?.result;
1598
- if (fetchResult?.map) return fetchResult.map;
1599
- return (this.server.moduleGraph.getModuleById(source)?.ssrTransformResult)?.map || null;
1600
- }
1601
- assertMode(mode) {
1602
- assert(mode === "web" || mode === "ssr", `"transformMode" can only be "web" or "ssr", received "${mode}".`);
1603
- }
1604
- async fetchModule(id, transformMode) {
1605
- const mode = transformMode || this.getTransformMode(id);
1606
- return this.fetchResult(id, mode).then((r) => {
1607
- return this.options.sourcemap !== true ? {
1608
- ...r,
1609
- map: void 0
1610
- } : r;
1611
- });
1612
- }
1613
- async fetchResult(id, mode) {
1614
- const moduleId = normalizeModuleId(id);
1615
- this.assertMode(mode);
1616
- const promiseMap = this.fetchPromiseMap[mode];
1617
- if (!promiseMap.has(moduleId)) promiseMap.set(moduleId, this._fetchModule(moduleId, mode).finally(() => {
1618
- promiseMap.delete(moduleId);
1619
- }));
1620
- return promiseMap.get(moduleId);
1621
- }
1622
- async transformRequest(id, filepath = id, transformMode) {
1623
- const mode = transformMode || this.getTransformMode(id);
1624
- this.assertMode(mode);
1625
- const promiseMap = this.transformPromiseMap[mode];
1626
- if (!promiseMap.has(id)) promiseMap.set(id, this._transformRequest(id, filepath, mode).finally(() => {
1627
- promiseMap.delete(id);
1628
- }));
1629
- return promiseMap.get(id);
1630
- }
1631
- async transformModule(id, transformMode) {
1632
- if (transformMode !== "web") throw new Error("`transformModule` only supports `transformMode: \"web\"`.");
1633
- const normalizedId = normalizeModuleId(id);
1634
- return { code: (this.server.moduleGraph.getModuleById(normalizedId)?.transformResult || await this.server.transformRequest(normalizedId))?.code };
1635
- }
1636
- getTransformMode(id) {
1637
- const withoutQuery = id.split("?")[0];
1638
- if (this.options.transformMode?.web?.some((r) => withoutQuery.match(r))) return "web";
1639
- if (this.options.transformMode?.ssr?.some((r) => withoutQuery.match(r))) return "ssr";
1640
- if (withoutQuery.match(/\.([cm]?[jt]sx?|json)$/)) return "ssr";
1641
- return "web";
1642
- }
1643
- getChangedModule(id, file) {
1644
- const module = this.server.moduleGraph.getModuleById(id) || this.server.moduleGraph.getModuleById(file);
1645
- if (module) return module;
1646
- const _modules = this.server.moduleGraph.getModulesByFile(file);
1647
- if (!_modules || !_modules.size) return null;
1648
- let mod = [..._modules][0];
1649
- let latestMax = -1;
1650
- for (const m of _modules) {
1651
- const timestamp = Math.max(m.lastHMRTimestamp, m.lastInvalidationTimestamp);
1652
- if (timestamp > latestMax) {
1653
- latestMax = timestamp;
1654
- mod = m;
1655
- }
1656
- }
1657
- return mod;
1658
- }
1659
- async _fetchModule(id, transformMode) {
1660
- let result;
1661
- const cacheDir = this.options.deps?.cacheDir;
1662
- if (cacheDir && id.includes(cacheDir)) {
1663
- if (!id.startsWith(withTrailingSlash(this.server.config.root))) id = join(this.server.config.root, id);
1664
- const timeout = setTimeout(() => {
1665
- throw new Error(`ViteNodeServer: ${id} not found. This is a bug, please report it.`);
1666
- }, 5e3);
1667
- await this.ensureExists(id);
1668
- clearTimeout(timeout);
1669
- }
1670
- const { path: filePath } = toFilePath(id, this.server.config.root);
1671
- const moduleNode = this.getChangedModule(id, filePath);
1672
- const cache = this.fetchCaches[transformMode].get(filePath);
1673
- const timestamp = moduleNode ? Math.max(moduleNode.lastHMRTimestamp, moduleNode.lastInvalidationTimestamp) : 0;
1674
- if (cache && (timestamp === 0 || cache.timestamp >= timestamp)) return cache.result;
1675
- const time$1 = Date.now();
1676
- const externalize = await this.shouldExternalize(filePath);
1677
- let duration;
1678
- if (externalize) {
1679
- result = { externalize };
1680
- this.debugger?.recordExternalize(id, externalize);
1681
- } else {
1682
- const start = performance$1.now();
1683
- const r = await this._transformRequest(id, filePath, transformMode);
1684
- duration = performance$1.now() - start;
1685
- result = {
1686
- code: r?.code,
1687
- map: r?.map
1688
- };
1689
- }
1690
- const cacheEntry = {
1691
- duration,
1692
- timestamp: time$1,
1693
- result
1694
- };
1695
- const durations = this.durations[transformMode].get(filePath) || [];
1696
- this.durations[transformMode].set(filePath, [...durations, duration ?? 0]);
1697
- this.fetchCaches[transformMode].set(filePath, cacheEntry);
1698
- this.fetchCache.set(filePath, cacheEntry);
1699
- return result;
1700
- }
1701
- async processTransformResult(filepath, result) {
1702
- return withInlineSourcemap(result, {
1703
- filepath: this.server.moduleGraph.getModuleById(filepath)?.file || filepath,
1704
- root: this.server.config.root,
1705
- noFirstLineMapping: Number(version.split(".")[0]) >= 6
1706
- });
1707
- }
1708
- async _transformRequest(id, filepath, transformMode) {
1709
- debugRequest(id);
1710
- let result = null;
1711
- if (this.options.debug?.loadDumppedModules) {
1712
- result = await this.debugger?.loadDump(id) ?? null;
1713
- if (result) return result;
1714
- }
1715
- if (transformMode === "web") {
1716
- result = await this.server.transformRequest(id);
1717
- if (result) result = await this.server.ssrTransform(result.code, result.map, id);
1718
- } else result = await this.server.transformRequest(id, { ssr: true });
1719
- if ((this.options.sourcemap ?? "inline") === "inline" && result) result = await this.processTransformResult(filepath, result);
1720
- if (this.options.debug?.dumpModules) await this.debugger?.dumpFile(id, result);
1721
- return result;
1722
- }
1723
- };
1724
-
1725
- //#endregion
1726
25
  //#region src/shared.ts
1727
26
  const cwd = new URL(`${pathToFileURL(process.cwd())}/`);
1728
27
  const DEFAULT_CONFIG_PATH = new URL("./terrazzo.config.ts", cwd);
@@ -1778,7 +77,7 @@ async function loadConfig({ cmd, flags, logger }) {
1778
77
  return viteNodeServer.resolveId(...args);
1779
78
  }
1780
79
  }).executeFile(resolvedConfigPath);
1781
- if (!mod.default) throw new Error(`No default export found in ${resolvedConfigPath}. See https://terrazzo.dev/docs for instructions.`);
80
+ if (!mod.default) throw new Error(`No default export found in ${resolvedConfigPath.replace(fileURLToPath(cwd), "")}. See https://terrazzo.dev/docs for instructions.`);
1782
81
  config = defineConfig$1(mod.default, {
1783
82
  cwd,
1784
83
  logger
@@ -1921,7 +220,7 @@ function resolveConfig(filename) {
1921
220
  ".cjs"
1922
221
  ]) {
1923
222
  const maybeFilename = `terrazzo.config${ext}`;
1924
- if (fs.existsSync(maybeFilename)) return maybeFilename;
223
+ if (fs.existsSync(new URL(maybeFilename, cwd))) return fileURLToPath(new URL(maybeFilename, cwd));
1925
224
  }
1926
225
  }
1927
226
  /** Resolve tokens.json path (for lint command) */
@@ -1961,12 +260,13 @@ async function buildCmd({ config, configPath, flags, logger }) {
1961
260
  });
1962
261
  return;
1963
262
  }
1964
- let { tokens, sources } = await parse(rawSchemas, {
263
+ let { tokens, resolver, sources } = await parse(rawSchemas, {
1965
264
  config,
1966
265
  logger,
1967
266
  yamlToMomoa
1968
267
  });
1969
268
  let result = await build(tokens, {
269
+ resolver,
1970
270
  sources,
1971
271
  config,
1972
272
  logger
@@ -1996,7 +296,9 @@ async function buildCmd({ config, configPath, flags, logger }) {
1996
296
  });
1997
297
  tokens = parseResult.tokens;
1998
298
  sources = parseResult.sources;
299
+ resolver = parseResult.resolver;
1999
300
  result = await build(tokens, {
301
+ resolver,
2000
302
  sources,
2001
303
  config,
2002
304
  logger
@@ -2211,14 +513,14 @@ async function initCmd({ logger }) {
2211
513
  const pluginCount = `${newPlugins.length} ${pluralize(newPlugins.length, "plugin", "plugins")}`;
2212
514
  const s = spinner();
2213
515
  s.start(`Installing ${pluginCount}`);
2214
- await new Promise((resolve$2, reject) => {
516
+ await new Promise((resolve, reject) => {
2215
517
  const subprocess = exec([
2216
518
  packageManager,
2217
519
  INSTALL_COMMAND[packageManager],
2218
520
  newPlugins.join(" ")
2219
521
  ].join(" "), { cwd });
2220
522
  subprocess.on("error", reject);
2221
- subprocess.on("exit", resolve$2);
523
+ subprocess.on("exit", resolve);
2222
524
  });
2223
525
  s.message("Updating config");
2224
526
  if (configPath) {
@@ -2372,8 +674,8 @@ async function labCmd({ config, logger }) {
2372
674
  /**
2373
675
  * The cli entrypoint is going to manually exit the process after labCmd returns.
2374
676
  */
2375
- await new Promise((resolve$2, reject) => {
2376
- server.on("close", resolve$2);
677
+ await new Promise((resolve, reject) => {
678
+ server.on("close", resolve);
2377
679
  server.on("error", reject);
2378
680
  });
2379
681
  }
@@ -2495,8 +797,8 @@ function normalizeTypography(node) {
2495
797
  //#endregion
2496
798
  //#region src/version.ts
2497
799
  function versionCmd() {
2498
- const { version: version$1 } = JSON.parse(fs.readFileSync(new URL("../package.json", import.meta.url), "utf8"));
2499
- console.log(version$1);
800
+ const { version } = JSON.parse(fs.readFileSync(new URL("../package.json", import.meta.url), "utf8"));
801
+ console.log(version);
2500
802
  }
2501
803
 
2502
804
  //#endregion