react-email 6.0.0-canary.2 → 6.0.1
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/CHANGELOG.md +50 -0
- package/dev/CHANGELOG.md +2 -0
- package/dev/package.json +1 -1
- package/dist/cli/index.mjs +759 -620
- package/dist/index.cjs +3837 -3206
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +3818 -3188
- package/package.json +12 -7
- package/src/components/body/__snapshots__/body.spec.tsx.snap +11 -11
- package/src/components/body/body.spec.tsx +1 -1
- package/src/components/head/head.spec.tsx +3 -3
- package/src/components/html/html.spec.tsx +1 -1
- package/src/components/tailwind/e2e/integrations.spec.ts +2 -2
- package/src/components/tailwind/e2e/nextjs/emails/vercel-invite-user.tsx +2 -2
- package/src/components/tailwind/e2e/nextjs/next.config.mjs +0 -1
- package/src/components/tailwind/e2e/nextjs/package.json +3 -4
- package/src/components/tailwind/e2e/nextjs/src/app/page.tsx +1 -1
- package/src/components/tailwind/e2e/vite/emails/vercel-invite-user.tsx +2 -2
- package/src/components/tailwind/e2e/vite/package.json +2 -3
- package/src/components/tailwind/e2e/vite/src/App.tsx +1 -1
- package/src/components/tailwind/tailwind.spec.tsx +19 -21
- package/tsdown.config.ts +4 -2
- package/vitest.e2e.config.ts +17 -0
package/dist/cli/index.mjs
CHANGED
|
@@ -34,26 +34,21 @@ import { lookup } from "mime-types";
|
|
|
34
34
|
import { build } from "esbuild";
|
|
35
35
|
import { glob } from "glob";
|
|
36
36
|
import normalize$1 from "normalize-path";
|
|
37
|
-
|
|
38
|
-
//#region rolldown:runtime
|
|
37
|
+
//#region \0rolldown/runtime.js
|
|
39
38
|
var __create = Object.create;
|
|
40
39
|
var __defProp = Object.defineProperty;
|
|
41
40
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
42
41
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
43
42
|
var __getProtoOf = Object.getPrototypeOf;
|
|
44
43
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
45
|
-
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
44
|
+
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
46
45
|
var __copyProps = (to, from, except, desc) => {
|
|
47
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
46
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
47
|
+
key = keys[i];
|
|
48
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
49
|
+
get: ((k) => from[k]).bind(null, key),
|
|
50
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
51
|
+
});
|
|
57
52
|
}
|
|
58
53
|
return to;
|
|
59
54
|
};
|
|
@@ -62,30 +57,29 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
62
57
|
enumerable: true
|
|
63
58
|
}) : target, mod));
|
|
64
59
|
var __require$1 = /* @__PURE__ */ createRequire(import.meta.url);
|
|
65
|
-
|
|
66
60
|
//#endregion
|
|
67
|
-
//#region ../../node_modules/.pnpm/fdir@6.5.0_picomatch@4.0.
|
|
61
|
+
//#region ../../node_modules/.pnpm/fdir@6.5.0_picomatch@4.0.4/node_modules/fdir/dist/index.mjs
|
|
68
62
|
var __require = /* @__PURE__ */ createRequire$1(import.meta.url);
|
|
69
|
-
function cleanPath(path
|
|
70
|
-
let normalized = normalize(path
|
|
63
|
+
function cleanPath(path) {
|
|
64
|
+
let normalized = normalize(path);
|
|
71
65
|
if (normalized.length > 1 && normalized[normalized.length - 1] === sep) normalized = normalized.substring(0, normalized.length - 1);
|
|
72
66
|
return normalized;
|
|
73
67
|
}
|
|
74
68
|
const SLASHES_REGEX = /[\\/]/g;
|
|
75
|
-
function convertSlashes(path
|
|
76
|
-
return path
|
|
69
|
+
function convertSlashes(path, separator) {
|
|
70
|
+
return path.replace(SLASHES_REGEX, separator);
|
|
77
71
|
}
|
|
78
72
|
const WINDOWS_ROOT_DIR_REGEX = /^[a-z]:[\\/]$/i;
|
|
79
|
-
function isRootDirectory(path
|
|
80
|
-
return path
|
|
73
|
+
function isRootDirectory(path) {
|
|
74
|
+
return path === "/" || WINDOWS_ROOT_DIR_REGEX.test(path);
|
|
81
75
|
}
|
|
82
|
-
function normalizePath(path
|
|
76
|
+
function normalizePath(path, options) {
|
|
83
77
|
const { resolvePaths, normalizePath: normalizePath$1, pathSeparator } = options;
|
|
84
|
-
const pathNeedsCleaning = process.platform === "win32" && path
|
|
85
|
-
if (resolvePaths) path
|
|
86
|
-
if (normalizePath$1 || pathNeedsCleaning) path
|
|
87
|
-
if (path
|
|
88
|
-
return convertSlashes(path
|
|
78
|
+
const pathNeedsCleaning = process.platform === "win32" && path.includes("/") || path.startsWith(".");
|
|
79
|
+
if (resolvePaths) path = resolve(path);
|
|
80
|
+
if (normalizePath$1 || pathNeedsCleaning) path = cleanPath(path);
|
|
81
|
+
if (path === ".") return "";
|
|
82
|
+
return convertSlashes(path[path.length - 1] !== pathSeparator ? path + pathSeparator : path, pathSeparator);
|
|
89
83
|
}
|
|
90
84
|
function joinPathWithBasePath(filename, directoryPath) {
|
|
91
85
|
return directoryPath + filename;
|
|
@@ -121,8 +115,8 @@ const pushDirectory = (directoryPath, paths) => {
|
|
|
121
115
|
paths.push(directoryPath || ".");
|
|
122
116
|
};
|
|
123
117
|
const pushDirectoryFilter = (directoryPath, paths, filters) => {
|
|
124
|
-
const path
|
|
125
|
-
if (filters.every((filter) => filter(path
|
|
118
|
+
const path = directoryPath || ".";
|
|
119
|
+
if (filters.every((filter) => filter(path, true))) paths.push(path);
|
|
126
120
|
};
|
|
127
121
|
const empty$2 = () => {};
|
|
128
122
|
function build$6(root, options) {
|
|
@@ -171,26 +165,26 @@ const empty = () => {};
|
|
|
171
165
|
function build$3(options) {
|
|
172
166
|
return options.group ? groupFiles : empty;
|
|
173
167
|
}
|
|
174
|
-
const resolveSymlinksAsync = function(path
|
|
175
|
-
const { queue, fs
|
|
168
|
+
const resolveSymlinksAsync = function(path, state, callback$1) {
|
|
169
|
+
const { queue, fs, options: { suppressErrors } } = state;
|
|
176
170
|
queue.enqueue();
|
|
177
|
-
fs
|
|
171
|
+
fs.realpath(path, (error, resolvedPath) => {
|
|
178
172
|
if (error) return queue.dequeue(suppressErrors ? null : error, state);
|
|
179
|
-
fs
|
|
173
|
+
fs.stat(resolvedPath, (error$1, stat) => {
|
|
180
174
|
if (error$1) return queue.dequeue(suppressErrors ? null : error$1, state);
|
|
181
|
-
if (stat.isDirectory() && isRecursive(path
|
|
175
|
+
if (stat.isDirectory() && isRecursive(path, resolvedPath, state)) return queue.dequeue(null, state);
|
|
182
176
|
callback$1(stat, resolvedPath);
|
|
183
177
|
queue.dequeue(null, state);
|
|
184
178
|
});
|
|
185
179
|
});
|
|
186
180
|
};
|
|
187
|
-
const resolveSymlinks = function(path
|
|
188
|
-
const { queue, fs
|
|
181
|
+
const resolveSymlinks = function(path, state, callback$1) {
|
|
182
|
+
const { queue, fs, options: { suppressErrors } } = state;
|
|
189
183
|
queue.enqueue();
|
|
190
184
|
try {
|
|
191
|
-
const resolvedPath = fs
|
|
192
|
-
const stat = fs
|
|
193
|
-
if (stat.isDirectory() && isRecursive(path
|
|
185
|
+
const resolvedPath = fs.realpathSync(path);
|
|
186
|
+
const stat = fs.statSync(resolvedPath);
|
|
187
|
+
if (stat.isDirectory() && isRecursive(path, resolvedPath, state)) return;
|
|
194
188
|
callback$1(stat, resolvedPath);
|
|
195
189
|
} catch (e) {
|
|
196
190
|
if (!suppressErrors) throw e;
|
|
@@ -200,16 +194,16 @@ function build$2(options, isSynchronous) {
|
|
|
200
194
|
if (!options.resolveSymlinks || options.excludeSymlinks) return null;
|
|
201
195
|
return isSynchronous ? resolveSymlinks : resolveSymlinksAsync;
|
|
202
196
|
}
|
|
203
|
-
function isRecursive(path
|
|
197
|
+
function isRecursive(path, resolved, state) {
|
|
204
198
|
if (state.options.useRealPaths) return isRecursiveUsingRealPaths(resolved, state);
|
|
205
|
-
let parent = dirname(path
|
|
199
|
+
let parent = dirname(path);
|
|
206
200
|
let depth = 1;
|
|
207
201
|
while (parent !== state.root && depth < 2) {
|
|
208
202
|
const resolvedPath = state.symlinks.get(parent);
|
|
209
203
|
if (!!resolvedPath && (resolvedPath === resolved || resolvedPath.startsWith(resolved) || resolved.startsWith(resolvedPath))) depth++;
|
|
210
204
|
else parent = dirname(parent);
|
|
211
205
|
}
|
|
212
|
-
state.symlinks.set(path
|
|
206
|
+
state.symlinks.set(path, resolved);
|
|
213
207
|
return depth > 1;
|
|
214
208
|
}
|
|
215
209
|
function isRecursiveUsingRealPaths(resolved, state) {
|
|
@@ -258,22 +252,22 @@ const readdirOpts = { withFileTypes: true };
|
|
|
258
252
|
const walkAsync = (state, crawlPath, directoryPath, currentDepth, callback$1) => {
|
|
259
253
|
state.queue.enqueue();
|
|
260
254
|
if (currentDepth < 0) return state.queue.dequeue(null, state);
|
|
261
|
-
const { fs
|
|
255
|
+
const { fs } = state;
|
|
262
256
|
state.visited.push(crawlPath);
|
|
263
257
|
state.counts.directories++;
|
|
264
|
-
fs
|
|
258
|
+
fs.readdir(crawlPath || ".", readdirOpts, (error, entries = []) => {
|
|
265
259
|
callback$1(entries, directoryPath, currentDepth);
|
|
266
260
|
state.queue.dequeue(state.options.suppressErrors ? null : error, state);
|
|
267
261
|
});
|
|
268
262
|
};
|
|
269
263
|
const walkSync = (state, crawlPath, directoryPath, currentDepth, callback$1) => {
|
|
270
|
-
const { fs
|
|
264
|
+
const { fs } = state;
|
|
271
265
|
if (currentDepth < 0) return;
|
|
272
266
|
state.visited.push(crawlPath);
|
|
273
267
|
state.counts.directories++;
|
|
274
268
|
let entries = [];
|
|
275
269
|
try {
|
|
276
|
-
entries = fs
|
|
270
|
+
entries = fs.readdirSync(crawlPath || ".", readdirOpts);
|
|
277
271
|
} catch (e) {
|
|
278
272
|
if (!state.options.suppressErrors) throw e;
|
|
279
273
|
}
|
|
@@ -384,25 +378,25 @@ var Walker = class {
|
|
|
384
378
|
const { paths, options: { filters, resolveSymlinks: resolveSymlinks$1, excludeSymlinks, exclude, maxFiles, signal, useRealPaths, pathSeparator }, controller } = this.state;
|
|
385
379
|
if (controller.aborted || signal && signal.aborted || maxFiles && paths.length > maxFiles) return;
|
|
386
380
|
const files = this.getArray(this.state.paths);
|
|
387
|
-
for (let i
|
|
388
|
-
const entry = entries[i
|
|
381
|
+
for (let i = 0; i < entries.length; ++i) {
|
|
382
|
+
const entry = entries[i];
|
|
389
383
|
if (entry.isFile() || entry.isSymbolicLink() && !resolveSymlinks$1 && !excludeSymlinks) {
|
|
390
384
|
const filename = this.joinPath(entry.name, directoryPath);
|
|
391
385
|
this.pushFile(filename, files, this.state.counts, filters);
|
|
392
386
|
} else if (entry.isDirectory()) {
|
|
393
|
-
let path
|
|
394
|
-
if (exclude && exclude(entry.name, path
|
|
395
|
-
this.pushDirectory(path
|
|
396
|
-
this.walkDirectory(this.state, path
|
|
387
|
+
let path = joinDirectoryPath(entry.name, directoryPath, this.state.options.pathSeparator);
|
|
388
|
+
if (exclude && exclude(entry.name, path)) continue;
|
|
389
|
+
this.pushDirectory(path, paths, filters);
|
|
390
|
+
this.walkDirectory(this.state, path, path, depth - 1, this.walk);
|
|
397
391
|
} else if (this.resolveSymlink && entry.isSymbolicLink()) {
|
|
398
|
-
let path
|
|
399
|
-
this.resolveSymlink(path
|
|
392
|
+
let path = joinPathWithBasePath(entry.name, directoryPath);
|
|
393
|
+
this.resolveSymlink(path, this.state, (stat, resolvedPath) => {
|
|
400
394
|
if (stat.isDirectory()) {
|
|
401
395
|
resolvedPath = normalizePath(resolvedPath, this.state.options);
|
|
402
|
-
if (exclude && exclude(entry.name, useRealPaths ? resolvedPath : path
|
|
403
|
-
this.walkDirectory(this.state, resolvedPath, useRealPaths ? resolvedPath : path
|
|
396
|
+
if (exclude && exclude(entry.name, useRealPaths ? resolvedPath : path + pathSeparator)) return;
|
|
397
|
+
this.walkDirectory(this.state, resolvedPath, useRealPaths ? resolvedPath : path + pathSeparator, depth - 1, this.walk);
|
|
404
398
|
} else {
|
|
405
|
-
resolvedPath = useRealPaths ? resolvedPath : path
|
|
399
|
+
resolvedPath = useRealPaths ? resolvedPath : path;
|
|
406
400
|
const filename = basename(resolvedPath);
|
|
407
401
|
const directoryPath$1 = normalizePath(dirname(resolvedPath), this.state.options);
|
|
408
402
|
resolvedPath = this.joinPath(filename, directoryPath$1);
|
|
@@ -567,16 +561,16 @@ var Builder = class {
|
|
|
567
561
|
isMatch = globFn(patterns, ...options);
|
|
568
562
|
this.globCache[patterns.join("\0")] = isMatch;
|
|
569
563
|
}
|
|
570
|
-
this.options.filters.push((path
|
|
564
|
+
this.options.filters.push((path) => isMatch(path));
|
|
571
565
|
return this;
|
|
572
566
|
}
|
|
573
567
|
};
|
|
574
|
-
|
|
575
568
|
//#endregion
|
|
576
|
-
//#region ../../node_modules/.pnpm/picomatch@4.0.
|
|
569
|
+
//#region ../../node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/constants.js
|
|
577
570
|
var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
578
571
|
const WIN_SLASH = "\\\\/";
|
|
579
572
|
const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
|
|
573
|
+
const DEFAULT_MAX_EXTGLOB_RECURSION = 0;
|
|
580
574
|
/**
|
|
581
575
|
* Posix glob regex
|
|
582
576
|
*/
|
|
@@ -625,28 +619,26 @@ var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
625
619
|
END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,
|
|
626
620
|
SEP: "\\"
|
|
627
621
|
};
|
|
628
|
-
/**
|
|
629
|
-
* POSIX Bracket Regex
|
|
630
|
-
*/
|
|
631
|
-
const POSIX_REGEX_SOURCE = {
|
|
632
|
-
alnum: "a-zA-Z0-9",
|
|
633
|
-
alpha: "a-zA-Z",
|
|
634
|
-
ascii: "\\x00-\\x7F",
|
|
635
|
-
blank: " \\t",
|
|
636
|
-
cntrl: "\\x00-\\x1F\\x7F",
|
|
637
|
-
digit: "0-9",
|
|
638
|
-
graph: "\\x21-\\x7E",
|
|
639
|
-
lower: "a-z",
|
|
640
|
-
print: "\\x20-\\x7E ",
|
|
641
|
-
punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
|
|
642
|
-
space: " \\t\\r\\n\\v\\f",
|
|
643
|
-
upper: "A-Z",
|
|
644
|
-
word: "A-Za-z0-9_",
|
|
645
|
-
xdigit: "A-Fa-f0-9"
|
|
646
|
-
};
|
|
647
622
|
module.exports = {
|
|
623
|
+
DEFAULT_MAX_EXTGLOB_RECURSION,
|
|
648
624
|
MAX_LENGTH: 1024 * 64,
|
|
649
|
-
POSIX_REGEX_SOURCE
|
|
625
|
+
POSIX_REGEX_SOURCE: {
|
|
626
|
+
__proto__: null,
|
|
627
|
+
alnum: "a-zA-Z0-9",
|
|
628
|
+
alpha: "a-zA-Z",
|
|
629
|
+
ascii: "\\x00-\\x7F",
|
|
630
|
+
blank: " \\t",
|
|
631
|
+
cntrl: "\\x00-\\x1F\\x7F",
|
|
632
|
+
digit: "0-9",
|
|
633
|
+
graph: "\\x21-\\x7E",
|
|
634
|
+
lower: "a-z",
|
|
635
|
+
print: "\\x20-\\x7E ",
|
|
636
|
+
punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
|
|
637
|
+
space: " \\t\\r\\n\\v\\f",
|
|
638
|
+
upper: "A-Z",
|
|
639
|
+
word: "A-Za-z0-9_",
|
|
640
|
+
xdigit: "A-Fa-f0-9"
|
|
641
|
+
},
|
|
650
642
|
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
|
|
651
643
|
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
|
|
652
644
|
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
|
|
@@ -736,16 +728,15 @@ var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
736
728
|
}
|
|
737
729
|
};
|
|
738
730
|
}));
|
|
739
|
-
|
|
740
731
|
//#endregion
|
|
741
|
-
//#region ../../node_modules/.pnpm/picomatch@4.0.
|
|
732
|
+
//#region ../../node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/utils.js
|
|
742
733
|
var require_utils$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
743
734
|
const { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants();
|
|
744
735
|
exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
|
|
745
|
-
exports.hasRegexChars = (str
|
|
746
|
-
exports.isRegexChar = (str
|
|
747
|
-
exports.escapeRegex = (str
|
|
748
|
-
exports.toPosixSlashes = (str
|
|
736
|
+
exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
|
|
737
|
+
exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str);
|
|
738
|
+
exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
|
|
739
|
+
exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
|
|
749
740
|
exports.isWindows = () => {
|
|
750
741
|
if (typeof navigator !== "undefined" && navigator.platform) {
|
|
751
742
|
const platform = navigator.platform.toLowerCase();
|
|
@@ -754,8 +745,8 @@ var require_utils$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
754
745
|
if (typeof process !== "undefined" && process.platform) return process.platform === "win32";
|
|
755
746
|
return false;
|
|
756
747
|
};
|
|
757
|
-
exports.removeBackslashes = (str
|
|
758
|
-
return str
|
|
748
|
+
exports.removeBackslashes = (str) => {
|
|
749
|
+
return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
|
|
759
750
|
return match === "\\" ? "" : match;
|
|
760
751
|
});
|
|
761
752
|
};
|
|
@@ -778,16 +769,15 @@ var require_utils$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
778
769
|
if (state.negated === true) output = `(?:^(?!${output}).*$)`;
|
|
779
770
|
return output;
|
|
780
771
|
};
|
|
781
|
-
exports.basename = (path
|
|
782
|
-
const segs = path
|
|
772
|
+
exports.basename = (path, { windows } = {}) => {
|
|
773
|
+
const segs = path.split(windows ? /[\\/]/ : "/");
|
|
783
774
|
const last = segs[segs.length - 1];
|
|
784
775
|
if (last === "") return segs[segs.length - 2];
|
|
785
776
|
return last;
|
|
786
777
|
};
|
|
787
778
|
}));
|
|
788
|
-
|
|
789
779
|
//#endregion
|
|
790
|
-
//#region ../../node_modules/.pnpm/picomatch@4.0.
|
|
780
|
+
//#region ../../node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/scan.js
|
|
791
781
|
var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
792
782
|
const utils = require_utils$1();
|
|
793
783
|
const { CHAR_ASTERISK, CHAR_AT, CHAR_BACKWARD_SLASH, CHAR_COMMA, CHAR_DOT, CHAR_EXCLAMATION_MARK, CHAR_FORWARD_SLASH, CHAR_LEFT_CURLY_BRACE, CHAR_LEFT_PARENTHESES, CHAR_LEFT_SQUARE_BRACKET, CHAR_PLUS, CHAR_QUESTION_MARK, CHAR_RIGHT_CURLY_BRACE, CHAR_RIGHT_PARENTHESES, CHAR_RIGHT_SQUARE_BRACKET } = require_constants();
|
|
@@ -820,9 +810,9 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
820
810
|
const slashes = [];
|
|
821
811
|
const tokens = [];
|
|
822
812
|
const parts = [];
|
|
823
|
-
let str
|
|
813
|
+
let str = input;
|
|
824
814
|
let index = -1;
|
|
825
|
-
let start
|
|
815
|
+
let start = 0;
|
|
826
816
|
let lastIndex = 0;
|
|
827
817
|
let isBrace = false;
|
|
828
818
|
let isBracket = false;
|
|
@@ -843,10 +833,10 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
843
833
|
isGlob: false
|
|
844
834
|
};
|
|
845
835
|
const eos = () => index >= length;
|
|
846
|
-
const peek = () => str
|
|
836
|
+
const peek = () => str.charCodeAt(index + 1);
|
|
847
837
|
const advance = () => {
|
|
848
838
|
prev = code;
|
|
849
|
-
return str
|
|
839
|
+
return str.charCodeAt(++index);
|
|
850
840
|
};
|
|
851
841
|
while (index < length) {
|
|
852
842
|
code = advance();
|
|
@@ -905,8 +895,8 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
905
895
|
isGlob: false
|
|
906
896
|
};
|
|
907
897
|
if (finished === true) continue;
|
|
908
|
-
if (prev === CHAR_DOT && index === start
|
|
909
|
-
start
|
|
898
|
+
if (prev === CHAR_DOT && index === start + 1) {
|
|
899
|
+
start += 2;
|
|
910
900
|
continue;
|
|
911
901
|
}
|
|
912
902
|
lastIndex = index + 1;
|
|
@@ -917,7 +907,7 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
917
907
|
isGlob = token.isGlob = true;
|
|
918
908
|
isExtglob = token.isExtglob = true;
|
|
919
909
|
finished = true;
|
|
920
|
-
if (code === CHAR_EXCLAMATION_MARK && index === start
|
|
910
|
+
if (code === CHAR_EXCLAMATION_MARK && index === start) negatedExtglob = true;
|
|
921
911
|
if (scanToEnd === true) {
|
|
922
912
|
while (eos() !== true && (code = advance())) {
|
|
923
913
|
if (code === CHAR_BACKWARD_SLASH) {
|
|
@@ -966,9 +956,9 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
966
956
|
if (scanToEnd === true) continue;
|
|
967
957
|
break;
|
|
968
958
|
}
|
|
969
|
-
if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start
|
|
959
|
+
if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
|
|
970
960
|
negated = token.negated = true;
|
|
971
|
-
start
|
|
961
|
+
start++;
|
|
972
962
|
continue;
|
|
973
963
|
}
|
|
974
964
|
if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
|
|
@@ -999,34 +989,34 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
999
989
|
isExtglob = false;
|
|
1000
990
|
isGlob = false;
|
|
1001
991
|
}
|
|
1002
|
-
let base = str
|
|
992
|
+
let base = str;
|
|
1003
993
|
let prefix = "";
|
|
1004
|
-
let glob
|
|
1005
|
-
if (start
|
|
1006
|
-
prefix = str
|
|
1007
|
-
str
|
|
1008
|
-
lastIndex -= start
|
|
994
|
+
let glob = "";
|
|
995
|
+
if (start > 0) {
|
|
996
|
+
prefix = str.slice(0, start);
|
|
997
|
+
str = str.slice(start);
|
|
998
|
+
lastIndex -= start;
|
|
1009
999
|
}
|
|
1010
1000
|
if (base && isGlob === true && lastIndex > 0) {
|
|
1011
|
-
base = str
|
|
1012
|
-
glob
|
|
1001
|
+
base = str.slice(0, lastIndex);
|
|
1002
|
+
glob = str.slice(lastIndex);
|
|
1013
1003
|
} else if (isGlob === true) {
|
|
1014
1004
|
base = "";
|
|
1015
|
-
glob
|
|
1016
|
-
} else base = str
|
|
1017
|
-
if (base && base !== "" && base !== "/" && base !== str
|
|
1005
|
+
glob = str;
|
|
1006
|
+
} else base = str;
|
|
1007
|
+
if (base && base !== "" && base !== "/" && base !== str) {
|
|
1018
1008
|
if (isPathSeparator(base.charCodeAt(base.length - 1))) base = base.slice(0, -1);
|
|
1019
1009
|
}
|
|
1020
1010
|
if (opts.unescape === true) {
|
|
1021
|
-
if (glob
|
|
1011
|
+
if (glob) glob = utils.removeBackslashes(glob);
|
|
1022
1012
|
if (base && backslashes === true) base = utils.removeBackslashes(base);
|
|
1023
1013
|
}
|
|
1024
1014
|
const state = {
|
|
1025
1015
|
prefix,
|
|
1026
1016
|
input,
|
|
1027
|
-
start
|
|
1017
|
+
start,
|
|
1028
1018
|
base,
|
|
1029
|
-
glob
|
|
1019
|
+
glob,
|
|
1030
1020
|
isBrace,
|
|
1031
1021
|
isBracket,
|
|
1032
1022
|
isGlob,
|
|
@@ -1043,11 +1033,11 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1043
1033
|
if (opts.parts === true || opts.tokens === true) {
|
|
1044
1034
|
let prevIndex;
|
|
1045
1035
|
for (let idx = 0; idx < slashes.length; idx++) {
|
|
1046
|
-
const n = prevIndex ? prevIndex + 1 : start
|
|
1047
|
-
const i
|
|
1048
|
-
const value = input.slice(n, i
|
|
1036
|
+
const n = prevIndex ? prevIndex + 1 : start;
|
|
1037
|
+
const i = slashes[idx];
|
|
1038
|
+
const value = input.slice(n, i);
|
|
1049
1039
|
if (opts.tokens) {
|
|
1050
|
-
if (idx === 0 && start
|
|
1040
|
+
if (idx === 0 && start !== 0) {
|
|
1051
1041
|
tokens[idx].isPrefix = true;
|
|
1052
1042
|
tokens[idx].value = prefix;
|
|
1053
1043
|
} else tokens[idx].value = value;
|
|
@@ -1055,7 +1045,7 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1055
1045
|
state.maxDepth += tokens[idx].depth;
|
|
1056
1046
|
}
|
|
1057
1047
|
if (idx !== 0 || value !== "") parts.push(value);
|
|
1058
|
-
prevIndex = i
|
|
1048
|
+
prevIndex = i;
|
|
1059
1049
|
}
|
|
1060
1050
|
if (prevIndex && prevIndex + 1 < input.length) {
|
|
1061
1051
|
const value = input.slice(prevIndex + 1);
|
|
@@ -1073,9 +1063,8 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1073
1063
|
};
|
|
1074
1064
|
module.exports = scan;
|
|
1075
1065
|
}));
|
|
1076
|
-
|
|
1077
1066
|
//#endregion
|
|
1078
|
-
//#region ../../node_modules/.pnpm/picomatch@4.0.
|
|
1067
|
+
//#region ../../node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/parse.js
|
|
1079
1068
|
var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
1080
1069
|
const constants = require_constants();
|
|
1081
1070
|
const utils = require_utils$1();
|
|
@@ -1100,8 +1089,179 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1100
1089
|
/**
|
|
1101
1090
|
* Create the message for a syntax error
|
|
1102
1091
|
*/
|
|
1103
|
-
const syntaxError = (type
|
|
1104
|
-
return `Missing ${type
|
|
1092
|
+
const syntaxError = (type, char) => {
|
|
1093
|
+
return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
|
|
1094
|
+
};
|
|
1095
|
+
const splitTopLevel = (input) => {
|
|
1096
|
+
const parts = [];
|
|
1097
|
+
let bracket = 0;
|
|
1098
|
+
let paren = 0;
|
|
1099
|
+
let quote = 0;
|
|
1100
|
+
let value = "";
|
|
1101
|
+
let escaped = false;
|
|
1102
|
+
for (const ch of input) {
|
|
1103
|
+
if (escaped === true) {
|
|
1104
|
+
value += ch;
|
|
1105
|
+
escaped = false;
|
|
1106
|
+
continue;
|
|
1107
|
+
}
|
|
1108
|
+
if (ch === "\\") {
|
|
1109
|
+
value += ch;
|
|
1110
|
+
escaped = true;
|
|
1111
|
+
continue;
|
|
1112
|
+
}
|
|
1113
|
+
if (ch === "\"") {
|
|
1114
|
+
quote = quote === 1 ? 0 : 1;
|
|
1115
|
+
value += ch;
|
|
1116
|
+
continue;
|
|
1117
|
+
}
|
|
1118
|
+
if (quote === 0) {
|
|
1119
|
+
if (ch === "[") bracket++;
|
|
1120
|
+
else if (ch === "]" && bracket > 0) bracket--;
|
|
1121
|
+
else if (bracket === 0) {
|
|
1122
|
+
if (ch === "(") paren++;
|
|
1123
|
+
else if (ch === ")" && paren > 0) paren--;
|
|
1124
|
+
else if (ch === "|" && paren === 0) {
|
|
1125
|
+
parts.push(value);
|
|
1126
|
+
value = "";
|
|
1127
|
+
continue;
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
value += ch;
|
|
1132
|
+
}
|
|
1133
|
+
parts.push(value);
|
|
1134
|
+
return parts;
|
|
1135
|
+
};
|
|
1136
|
+
const isPlainBranch = (branch) => {
|
|
1137
|
+
let escaped = false;
|
|
1138
|
+
for (const ch of branch) {
|
|
1139
|
+
if (escaped === true) {
|
|
1140
|
+
escaped = false;
|
|
1141
|
+
continue;
|
|
1142
|
+
}
|
|
1143
|
+
if (ch === "\\") {
|
|
1144
|
+
escaped = true;
|
|
1145
|
+
continue;
|
|
1146
|
+
}
|
|
1147
|
+
if (/[?*+@!()[\]{}]/.test(ch)) return false;
|
|
1148
|
+
}
|
|
1149
|
+
return true;
|
|
1150
|
+
};
|
|
1151
|
+
const normalizeSimpleBranch = (branch) => {
|
|
1152
|
+
let value = branch.trim();
|
|
1153
|
+
let changed = true;
|
|
1154
|
+
while (changed === true) {
|
|
1155
|
+
changed = false;
|
|
1156
|
+
if (/^@\([^\\()[\]{}|]+\)$/.test(value)) {
|
|
1157
|
+
value = value.slice(2, -1);
|
|
1158
|
+
changed = true;
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
1161
|
+
if (!isPlainBranch(value)) return;
|
|
1162
|
+
return value.replace(/\\(.)/g, "$1");
|
|
1163
|
+
};
|
|
1164
|
+
const hasRepeatedCharPrefixOverlap = (branches) => {
|
|
1165
|
+
const values = branches.map(normalizeSimpleBranch).filter(Boolean);
|
|
1166
|
+
for (let i = 0; i < values.length; i++) for (let j = i + 1; j < values.length; j++) {
|
|
1167
|
+
const a = values[i];
|
|
1168
|
+
const b = values[j];
|
|
1169
|
+
const char = a[0];
|
|
1170
|
+
if (!char || a !== char.repeat(a.length) || b !== char.repeat(b.length)) continue;
|
|
1171
|
+
if (a === b || a.startsWith(b) || b.startsWith(a)) return true;
|
|
1172
|
+
}
|
|
1173
|
+
return false;
|
|
1174
|
+
};
|
|
1175
|
+
const parseRepeatedExtglob = (pattern, requireEnd = true) => {
|
|
1176
|
+
if (pattern[0] !== "+" && pattern[0] !== "*" || pattern[1] !== "(") return;
|
|
1177
|
+
let bracket = 0;
|
|
1178
|
+
let paren = 0;
|
|
1179
|
+
let quote = 0;
|
|
1180
|
+
let escaped = false;
|
|
1181
|
+
for (let i = 1; i < pattern.length; i++) {
|
|
1182
|
+
const ch = pattern[i];
|
|
1183
|
+
if (escaped === true) {
|
|
1184
|
+
escaped = false;
|
|
1185
|
+
continue;
|
|
1186
|
+
}
|
|
1187
|
+
if (ch === "\\") {
|
|
1188
|
+
escaped = true;
|
|
1189
|
+
continue;
|
|
1190
|
+
}
|
|
1191
|
+
if (ch === "\"") {
|
|
1192
|
+
quote = quote === 1 ? 0 : 1;
|
|
1193
|
+
continue;
|
|
1194
|
+
}
|
|
1195
|
+
if (quote === 1) continue;
|
|
1196
|
+
if (ch === "[") {
|
|
1197
|
+
bracket++;
|
|
1198
|
+
continue;
|
|
1199
|
+
}
|
|
1200
|
+
if (ch === "]" && bracket > 0) {
|
|
1201
|
+
bracket--;
|
|
1202
|
+
continue;
|
|
1203
|
+
}
|
|
1204
|
+
if (bracket > 0) continue;
|
|
1205
|
+
if (ch === "(") {
|
|
1206
|
+
paren++;
|
|
1207
|
+
continue;
|
|
1208
|
+
}
|
|
1209
|
+
if (ch === ")") {
|
|
1210
|
+
paren--;
|
|
1211
|
+
if (paren === 0) {
|
|
1212
|
+
if (requireEnd === true && i !== pattern.length - 1) return;
|
|
1213
|
+
return {
|
|
1214
|
+
type: pattern[0],
|
|
1215
|
+
body: pattern.slice(2, i),
|
|
1216
|
+
end: i
|
|
1217
|
+
};
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
};
|
|
1222
|
+
const getStarExtglobSequenceOutput = (pattern) => {
|
|
1223
|
+
let index = 0;
|
|
1224
|
+
const chars = [];
|
|
1225
|
+
while (index < pattern.length) {
|
|
1226
|
+
const match = parseRepeatedExtglob(pattern.slice(index), false);
|
|
1227
|
+
if (!match || match.type !== "*") return;
|
|
1228
|
+
const branches = splitTopLevel(match.body).map((branch) => branch.trim());
|
|
1229
|
+
if (branches.length !== 1) return;
|
|
1230
|
+
const branch = normalizeSimpleBranch(branches[0]);
|
|
1231
|
+
if (!branch || branch.length !== 1) return;
|
|
1232
|
+
chars.push(branch);
|
|
1233
|
+
index += match.end + 1;
|
|
1234
|
+
}
|
|
1235
|
+
if (chars.length < 1) return;
|
|
1236
|
+
return `${chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`}*`;
|
|
1237
|
+
};
|
|
1238
|
+
const repeatedExtglobRecursion = (pattern) => {
|
|
1239
|
+
let depth = 0;
|
|
1240
|
+
let value = pattern.trim();
|
|
1241
|
+
let match = parseRepeatedExtglob(value);
|
|
1242
|
+
while (match) {
|
|
1243
|
+
depth++;
|
|
1244
|
+
value = match.body.trim();
|
|
1245
|
+
match = parseRepeatedExtglob(value);
|
|
1246
|
+
}
|
|
1247
|
+
return depth;
|
|
1248
|
+
};
|
|
1249
|
+
const analyzeRepeatedExtglob = (body, options) => {
|
|
1250
|
+
if (options.maxExtglobRecursion === false) return { risky: false };
|
|
1251
|
+
const max = typeof options.maxExtglobRecursion === "number" ? options.maxExtglobRecursion : constants.DEFAULT_MAX_EXTGLOB_RECURSION;
|
|
1252
|
+
const branches = splitTopLevel(body).map((branch) => branch.trim());
|
|
1253
|
+
if (branches.length > 1) {
|
|
1254
|
+
if (branches.some((branch) => branch === "") || branches.some((branch) => /^[*?]+$/.test(branch)) || hasRepeatedCharPrefixOverlap(branches)) return { risky: true };
|
|
1255
|
+
}
|
|
1256
|
+
for (const branch of branches) {
|
|
1257
|
+
const safeOutput = getStarExtglobSequenceOutput(branch);
|
|
1258
|
+
if (safeOutput) return {
|
|
1259
|
+
risky: true,
|
|
1260
|
+
safeOutput
|
|
1261
|
+
};
|
|
1262
|
+
if (repeatedExtglobRecursion(branch) > max) return { risky: true };
|
|
1263
|
+
}
|
|
1264
|
+
return { risky: false };
|
|
1105
1265
|
};
|
|
1106
1266
|
/**
|
|
1107
1267
|
* Parse the given input string.
|
|
@@ -1126,8 +1286,8 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1126
1286
|
const PLATFORM_CHARS = constants.globChars(opts.windows);
|
|
1127
1287
|
const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
|
|
1128
1288
|
const { DOT_LITERAL, PLUS_LITERAL, SLASH_LITERAL, ONE_CHAR, DOTS_SLASH, NO_DOT, NO_DOT_SLASH, NO_DOTS_SLASH, QMARK, QMARK_NO_DOT, STAR, START_ANCHOR } = PLATFORM_CHARS;
|
|
1129
|
-
const globstar = (opts
|
|
1130
|
-
return `(${capture}(?:(?!${START_ANCHOR}${opts
|
|
1289
|
+
const globstar = (opts) => {
|
|
1290
|
+
return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
|
|
1131
1291
|
};
|
|
1132
1292
|
const nodot = opts.dot ? "" : NO_DOT;
|
|
1133
1293
|
const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
|
|
@@ -1165,8 +1325,8 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1165
1325
|
const peek = state.peek = (n = 1) => input[state.index + n];
|
|
1166
1326
|
const advance = state.advance = () => input[++state.index] || "";
|
|
1167
1327
|
const remaining = () => input.slice(state.index + 1);
|
|
1168
|
-
const consume = (value
|
|
1169
|
-
state.consumed += value
|
|
1328
|
+
const consume = (value = "", num = 0) => {
|
|
1329
|
+
state.consumed += value;
|
|
1170
1330
|
state.index += num;
|
|
1171
1331
|
};
|
|
1172
1332
|
const append = (token) => {
|
|
@@ -1185,12 +1345,12 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1185
1345
|
state.start++;
|
|
1186
1346
|
return true;
|
|
1187
1347
|
};
|
|
1188
|
-
const increment = (type
|
|
1189
|
-
state[type
|
|
1190
|
-
stack.push(type
|
|
1348
|
+
const increment = (type) => {
|
|
1349
|
+
state[type]++;
|
|
1350
|
+
stack.push(type);
|
|
1191
1351
|
};
|
|
1192
|
-
const decrement = (type
|
|
1193
|
-
state[type
|
|
1352
|
+
const decrement = (type) => {
|
|
1353
|
+
state[type]--;
|
|
1194
1354
|
stack.pop();
|
|
1195
1355
|
};
|
|
1196
1356
|
/**
|
|
@@ -1223,20 +1383,22 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1223
1383
|
tokens.push(tok);
|
|
1224
1384
|
prev = tok;
|
|
1225
1385
|
};
|
|
1226
|
-
const extglobOpen = (type
|
|
1386
|
+
const extglobOpen = (type, value) => {
|
|
1227
1387
|
const token = {
|
|
1228
|
-
...EXTGLOB_CHARS[value
|
|
1388
|
+
...EXTGLOB_CHARS[value],
|
|
1229
1389
|
conditions: 1,
|
|
1230
1390
|
inner: ""
|
|
1231
1391
|
};
|
|
1232
1392
|
token.prev = prev;
|
|
1233
1393
|
token.parens = state.parens;
|
|
1234
1394
|
token.output = state.output;
|
|
1395
|
+
token.startIndex = state.index;
|
|
1396
|
+
token.tokensIndex = tokens.length;
|
|
1235
1397
|
const output = (opts.capture ? "(" : "") + token.open;
|
|
1236
1398
|
increment("parens");
|
|
1237
1399
|
push({
|
|
1238
|
-
type
|
|
1239
|
-
value
|
|
1400
|
+
type,
|
|
1401
|
+
value,
|
|
1240
1402
|
output: state.output ? "" : ONE_CHAR
|
|
1241
1403
|
});
|
|
1242
1404
|
push({
|
|
@@ -1248,6 +1410,30 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1248
1410
|
extglobs.push(token);
|
|
1249
1411
|
};
|
|
1250
1412
|
const extglobClose = (token) => {
|
|
1413
|
+
const literal = input.slice(token.startIndex, state.index + 1);
|
|
1414
|
+
const analysis = analyzeRepeatedExtglob(input.slice(token.startIndex + 2, state.index), opts);
|
|
1415
|
+
if ((token.type === "plus" || token.type === "star") && analysis.risky) {
|
|
1416
|
+
const safeOutput = analysis.safeOutput ? (token.output ? "" : ONE_CHAR) + (opts.capture ? `(${analysis.safeOutput})` : analysis.safeOutput) : void 0;
|
|
1417
|
+
const open = tokens[token.tokensIndex];
|
|
1418
|
+
open.type = "text";
|
|
1419
|
+
open.value = literal;
|
|
1420
|
+
open.output = safeOutput || utils.escapeRegex(literal);
|
|
1421
|
+
for (let i = token.tokensIndex + 1; i < tokens.length; i++) {
|
|
1422
|
+
tokens[i].value = "";
|
|
1423
|
+
tokens[i].output = "";
|
|
1424
|
+
delete tokens[i].suffix;
|
|
1425
|
+
}
|
|
1426
|
+
state.output = token.output + open.output;
|
|
1427
|
+
state.backtrack = true;
|
|
1428
|
+
push({
|
|
1429
|
+
type: "paren",
|
|
1430
|
+
extglob: true,
|
|
1431
|
+
value,
|
|
1432
|
+
output: ""
|
|
1433
|
+
});
|
|
1434
|
+
decrement("parens");
|
|
1435
|
+
return;
|
|
1436
|
+
}
|
|
1251
1437
|
let output = token.close + (opts.capture ? ")" : "");
|
|
1252
1438
|
let rest;
|
|
1253
1439
|
if (token.type === "negate") {
|
|
@@ -1351,9 +1537,9 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1351
1537
|
if (inner.includes(":")) {
|
|
1352
1538
|
const idx = prev.value.lastIndexOf("[");
|
|
1353
1539
|
const pre = prev.value.slice(0, idx);
|
|
1354
|
-
const posix
|
|
1355
|
-
if (posix
|
|
1356
|
-
prev.value = pre + posix
|
|
1540
|
+
const posix = POSIX_REGEX_SOURCE[prev.value.slice(idx + 2)];
|
|
1541
|
+
if (posix) {
|
|
1542
|
+
prev.value = pre + posix;
|
|
1357
1543
|
state.backtrack = true;
|
|
1358
1544
|
advance();
|
|
1359
1545
|
if (!bos.output && tokens.indexOf(prev) === 1) bos.output = ONE_CHAR;
|
|
@@ -1495,10 +1681,10 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1495
1681
|
if (brace.dots === true) {
|
|
1496
1682
|
const arr = tokens.slice();
|
|
1497
1683
|
const range = [];
|
|
1498
|
-
for (let i
|
|
1684
|
+
for (let i = arr.length - 1; i >= 0; i--) {
|
|
1499
1685
|
tokens.pop();
|
|
1500
|
-
if (arr[i
|
|
1501
|
-
if (arr[i
|
|
1686
|
+
if (arr[i].type === "brace") break;
|
|
1687
|
+
if (arr[i].type !== "dots") range.unshift(arr[i].value);
|
|
1502
1688
|
}
|
|
1503
1689
|
output = expandRange(range, opts);
|
|
1504
1690
|
state.backtrack = true;
|
|
@@ -1903,12 +2089,12 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1903
2089
|
};
|
|
1904
2090
|
let star = opts.bash === true ? ".*?" : STAR;
|
|
1905
2091
|
if (opts.capture) star = `(${star})`;
|
|
1906
|
-
const globstar = (opts
|
|
1907
|
-
if (opts
|
|
1908
|
-
return `(${capture}(?:(?!${START_ANCHOR}${opts
|
|
2092
|
+
const globstar = (opts) => {
|
|
2093
|
+
if (opts.noglobstar === true) return star;
|
|
2094
|
+
return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
|
|
1909
2095
|
};
|
|
1910
|
-
const create = (str
|
|
1911
|
-
switch (str
|
|
2096
|
+
const create = (str) => {
|
|
2097
|
+
switch (str) {
|
|
1912
2098
|
case "*": return `${nodot}${ONE_CHAR}${star}`;
|
|
1913
2099
|
case ".*": return `${DOT_LITERAL}${ONE_CHAR}${star}`;
|
|
1914
2100
|
case "*.*": return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
|
|
@@ -1918,11 +2104,11 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1918
2104
|
case "**/*.*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
|
|
1919
2105
|
case "**/.*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
|
|
1920
2106
|
default: {
|
|
1921
|
-
const match = /^(.*?)\.(\w+)$/.exec(str
|
|
2107
|
+
const match = /^(.*?)\.(\w+)$/.exec(str);
|
|
1922
2108
|
if (!match) return;
|
|
1923
|
-
const source
|
|
1924
|
-
if (!source
|
|
1925
|
-
return source
|
|
2109
|
+
const source = create(match[1]);
|
|
2110
|
+
if (!source) return;
|
|
2111
|
+
return source + DOT_LITERAL + match[2];
|
|
1926
2112
|
}
|
|
1927
2113
|
}
|
|
1928
2114
|
};
|
|
@@ -1932,9 +2118,8 @@ var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1932
2118
|
};
|
|
1933
2119
|
module.exports = parse;
|
|
1934
2120
|
}));
|
|
1935
|
-
|
|
1936
2121
|
//#endregion
|
|
1937
|
-
//#region ../../node_modules/.pnpm/picomatch@4.0.
|
|
2122
|
+
//#region ../../node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/picomatch.js
|
|
1938
2123
|
var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
1939
2124
|
const scan = require_scan();
|
|
1940
2125
|
const parse = require_parse$1();
|
|
@@ -1962,23 +2147,23 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1962
2147
|
* @return {Function=} Returns a matcher function.
|
|
1963
2148
|
* @api public
|
|
1964
2149
|
*/
|
|
1965
|
-
const picomatch = (glob
|
|
1966
|
-
if (Array.isArray(glob
|
|
1967
|
-
const fns = glob
|
|
1968
|
-
const arrayMatcher = (str
|
|
2150
|
+
const picomatch = (glob, options, returnState = false) => {
|
|
2151
|
+
if (Array.isArray(glob)) {
|
|
2152
|
+
const fns = glob.map((input) => picomatch(input, options, returnState));
|
|
2153
|
+
const arrayMatcher = (str) => {
|
|
1969
2154
|
for (const isMatch of fns) {
|
|
1970
|
-
const state
|
|
1971
|
-
if (state
|
|
2155
|
+
const state = isMatch(str);
|
|
2156
|
+
if (state) return state;
|
|
1972
2157
|
}
|
|
1973
2158
|
return false;
|
|
1974
2159
|
};
|
|
1975
2160
|
return arrayMatcher;
|
|
1976
2161
|
}
|
|
1977
|
-
const isState = isObject(glob
|
|
1978
|
-
if (glob
|
|
2162
|
+
const isState = isObject(glob) && glob.tokens && glob.input;
|
|
2163
|
+
if (glob === "" || typeof glob !== "string" && !isState) throw new TypeError("Expected pattern to be a non-empty string");
|
|
1979
2164
|
const opts = options || {};
|
|
1980
|
-
const posix
|
|
1981
|
-
const regex = isState ? picomatch.compileRe(glob
|
|
2165
|
+
const posix = opts.windows;
|
|
2166
|
+
const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
|
|
1982
2167
|
const state = regex.state;
|
|
1983
2168
|
delete regex.state;
|
|
1984
2169
|
let isIgnored = () => false;
|
|
@@ -1993,14 +2178,14 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1993
2178
|
}
|
|
1994
2179
|
const matcher = (input, returnObject = false) => {
|
|
1995
2180
|
const { isMatch, match, output } = picomatch.test(input, regex, options, {
|
|
1996
|
-
glob
|
|
1997
|
-
posix
|
|
2181
|
+
glob,
|
|
2182
|
+
posix
|
|
1998
2183
|
});
|
|
1999
2184
|
const result = {
|
|
2000
|
-
glob
|
|
2185
|
+
glob,
|
|
2001
2186
|
state,
|
|
2002
2187
|
regex,
|
|
2003
|
-
posix
|
|
2188
|
+
posix,
|
|
2004
2189
|
input,
|
|
2005
2190
|
output,
|
|
2006
2191
|
match,
|
|
@@ -2038,21 +2223,21 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2038
2223
|
* @return {Object} Returns an object with matching info.
|
|
2039
2224
|
* @api public
|
|
2040
2225
|
*/
|
|
2041
|
-
picomatch.test = (input, regex, options, { glob
|
|
2226
|
+
picomatch.test = (input, regex, options, { glob, posix } = {}) => {
|
|
2042
2227
|
if (typeof input !== "string") throw new TypeError("Expected input to be a string");
|
|
2043
2228
|
if (input === "") return {
|
|
2044
2229
|
isMatch: false,
|
|
2045
2230
|
output: ""
|
|
2046
2231
|
};
|
|
2047
2232
|
const opts = options || {};
|
|
2048
|
-
const format = opts.format || (posix
|
|
2049
|
-
let match = input === glob
|
|
2233
|
+
const format = opts.format || (posix ? utils.toPosixSlashes : null);
|
|
2234
|
+
let match = input === glob;
|
|
2050
2235
|
let output = match && format ? format(input) : input;
|
|
2051
2236
|
if (match === false) {
|
|
2052
2237
|
output = format ? format(input) : input;
|
|
2053
|
-
match = output === glob
|
|
2238
|
+
match = output === glob;
|
|
2054
2239
|
}
|
|
2055
|
-
if (match === false || opts.capture === true) if (opts.matchBase === true || opts.basename === true) match = picomatch.matchBase(input, regex, options, posix
|
|
2240
|
+
if (match === false || opts.capture === true) if (opts.matchBase === true || opts.basename === true) match = picomatch.matchBase(input, regex, options, posix);
|
|
2056
2241
|
else match = regex.exec(output);
|
|
2057
2242
|
return {
|
|
2058
2243
|
isMatch: Boolean(match),
|
|
@@ -2073,8 +2258,8 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2073
2258
|
* @return {Boolean}
|
|
2074
2259
|
* @api public
|
|
2075
2260
|
*/
|
|
2076
|
-
picomatch.matchBase = (input, glob
|
|
2077
|
-
return (glob
|
|
2261
|
+
picomatch.matchBase = (input, glob, options) => {
|
|
2262
|
+
return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(utils.basename(input));
|
|
2078
2263
|
};
|
|
2079
2264
|
/**
|
|
2080
2265
|
* Returns true if **any** of the given glob `patterns` match the specified `string`.
|
|
@@ -2092,7 +2277,7 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2092
2277
|
* @return {Boolean} Returns true if any patterns match `str`
|
|
2093
2278
|
* @api public
|
|
2094
2279
|
*/
|
|
2095
|
-
picomatch.isMatch = (str
|
|
2280
|
+
picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
|
|
2096
2281
|
/**
|
|
2097
2282
|
* Parse a glob pattern to create the source string for a regular
|
|
2098
2283
|
* expression.
|
|
@@ -2144,6 +2329,14 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2144
2329
|
* Compile a regular expression from the `state` object returned by the
|
|
2145
2330
|
* [parse()](#parse) method.
|
|
2146
2331
|
*
|
|
2332
|
+
* ```js
|
|
2333
|
+
* const picomatch = require('picomatch');
|
|
2334
|
+
* const state = picomatch.parse('*.js');
|
|
2335
|
+
* // picomatch.compileRe(state[, options]);
|
|
2336
|
+
*
|
|
2337
|
+
* console.log(picomatch.compileRe(state));
|
|
2338
|
+
* //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
|
|
2339
|
+
* ```
|
|
2147
2340
|
* @param {Object} `state`
|
|
2148
2341
|
* @param {Object} `options`
|
|
2149
2342
|
* @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser.
|
|
@@ -2167,10 +2360,10 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2167
2360
|
*
|
|
2168
2361
|
* ```js
|
|
2169
2362
|
* const picomatch = require('picomatch');
|
|
2170
|
-
*
|
|
2171
|
-
* // picomatch.compileRe(state[, options]);
|
|
2363
|
+
* // picomatch.makeRe(state[, options]);
|
|
2172
2364
|
*
|
|
2173
|
-
*
|
|
2365
|
+
* const result = picomatch.makeRe('*.js');
|
|
2366
|
+
* console.log(result);
|
|
2174
2367
|
* //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
|
|
2175
2368
|
* ```
|
|
2176
2369
|
* @param {String} `state` The object returned from the `.parse` method.
|
|
@@ -2225,26 +2418,21 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2225
2418
|
*/
|
|
2226
2419
|
module.exports = picomatch;
|
|
2227
2420
|
}));
|
|
2228
|
-
|
|
2229
2421
|
//#endregion
|
|
2230
|
-
//#region ../../node_modules/.pnpm/
|
|
2231
|
-
var
|
|
2422
|
+
//#region ../../node_modules/.pnpm/tinyglobby@0.2.15/node_modules/tinyglobby/dist/index.mjs
|
|
2423
|
+
var import_picomatch = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
2232
2424
|
const pico = require_picomatch$1();
|
|
2233
2425
|
const utils = require_utils$1();
|
|
2234
|
-
function picomatch(glob
|
|
2426
|
+
function picomatch(glob, options, returnState = false) {
|
|
2235
2427
|
if (options && (options.windows === null || options.windows === void 0)) options = {
|
|
2236
2428
|
...options,
|
|
2237
2429
|
windows: utils.isWindows()
|
|
2238
2430
|
};
|
|
2239
|
-
return pico(glob
|
|
2431
|
+
return pico(glob, options, returnState);
|
|
2240
2432
|
}
|
|
2241
2433
|
Object.assign(picomatch, pico);
|
|
2242
2434
|
module.exports = picomatch;
|
|
2243
|
-
}));
|
|
2244
|
-
|
|
2245
|
-
//#endregion
|
|
2246
|
-
//#region ../../node_modules/.pnpm/tinyglobby@0.2.15/node_modules/tinyglobby/dist/index.mjs
|
|
2247
|
-
var import_picomatch = /* @__PURE__ */ __toESM(require_picomatch(), 1);
|
|
2435
|
+
})))(), 1);
|
|
2248
2436
|
const isReadonlyArray = Array.isArray;
|
|
2249
2437
|
const isWin = process.platform === "win32";
|
|
2250
2438
|
const ONLY_PARENT_DIRECTORIES = /^(\/?\.\.)+$/;
|
|
@@ -2253,20 +2441,20 @@ function getPartialMatcher(patterns, options = {}) {
|
|
|
2253
2441
|
const patternsParts = Array(patternsCount);
|
|
2254
2442
|
const matchers = Array(patternsCount);
|
|
2255
2443
|
const globstarEnabled = !options.noglobstar;
|
|
2256
|
-
for (let i
|
|
2257
|
-
const parts = splitPattern(patterns[i
|
|
2258
|
-
patternsParts[i
|
|
2444
|
+
for (let i = 0; i < patternsCount; i++) {
|
|
2445
|
+
const parts = splitPattern(patterns[i]);
|
|
2446
|
+
patternsParts[i] = parts;
|
|
2259
2447
|
const partsCount = parts.length;
|
|
2260
2448
|
const partMatchers = Array(partsCount);
|
|
2261
2449
|
for (let j = 0; j < partsCount; j++) partMatchers[j] = (0, import_picomatch.default)(parts[j], options);
|
|
2262
|
-
matchers[i
|
|
2450
|
+
matchers[i] = partMatchers;
|
|
2263
2451
|
}
|
|
2264
2452
|
return (input) => {
|
|
2265
2453
|
const inputParts = input.split("/");
|
|
2266
2454
|
if (inputParts[0] === ".." && ONLY_PARENT_DIRECTORIES.test(input)) return true;
|
|
2267
|
-
for (let i
|
|
2268
|
-
const patternParts = patternsParts[i
|
|
2269
|
-
const matcher = matchers[i
|
|
2455
|
+
for (let i = 0; i < patterns.length; i++) {
|
|
2456
|
+
const patternParts = patternsParts[i];
|
|
2457
|
+
const matcher = matchers[i];
|
|
2270
2458
|
const inputPatternCount = inputParts.length;
|
|
2271
2459
|
const minParts = Math.min(inputPatternCount, patternParts.length);
|
|
2272
2460
|
let j = 0;
|
|
@@ -2288,8 +2476,8 @@ const isRoot = isWin ? (p) => WIN32_ROOT_DIR.test(p) : (p) => p === "/";
|
|
|
2288
2476
|
function buildFormat(cwd, root, absolute) {
|
|
2289
2477
|
if (cwd === root || root.startsWith(`${cwd}/`)) {
|
|
2290
2478
|
if (absolute) {
|
|
2291
|
-
const start
|
|
2292
|
-
return (p, isDir) => p.slice(start
|
|
2479
|
+
const start = isRoot(cwd) ? cwd.length : cwd.length + 1;
|
|
2480
|
+
return (p, isDir) => p.slice(start, isDir ? -1 : void 0) || ".";
|
|
2293
2481
|
}
|
|
2294
2482
|
const prefix = root.slice(cwd.length + 1);
|
|
2295
2483
|
if (prefix) return (p, isDir) => {
|
|
@@ -2314,15 +2502,15 @@ function buildRelative(cwd, root) {
|
|
|
2314
2502
|
};
|
|
2315
2503
|
}
|
|
2316
2504
|
const splitPatternOptions = { parts: true };
|
|
2317
|
-
function splitPattern(path$1
|
|
2505
|
+
function splitPattern(path$1) {
|
|
2318
2506
|
var _result$parts;
|
|
2319
|
-
const result = import_picomatch.default.scan(path$1
|
|
2320
|
-
return ((_result$parts = result.parts) === null || _result$parts === void 0 ? void 0 : _result$parts.length) ? result.parts : [path$1
|
|
2507
|
+
const result = import_picomatch.default.scan(path$1, splitPatternOptions);
|
|
2508
|
+
return ((_result$parts = result.parts) === null || _result$parts === void 0 ? void 0 : _result$parts.length) ? result.parts : [path$1];
|
|
2321
2509
|
}
|
|
2322
2510
|
const POSIX_UNESCAPED_GLOB_SYMBOLS = /(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g;
|
|
2323
2511
|
const WIN32_UNESCAPED_GLOB_SYMBOLS = /(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g;
|
|
2324
|
-
const escapePosixPath = (path$1
|
|
2325
|
-
const escapeWin32Path = (path$1
|
|
2512
|
+
const escapePosixPath = (path$1) => path$1.replace(POSIX_UNESCAPED_GLOB_SYMBOLS, "\\$&");
|
|
2513
|
+
const escapeWin32Path = (path$1) => path$1.replace(WIN32_UNESCAPED_GLOB_SYMBOLS, "\\$&");
|
|
2326
2514
|
/**
|
|
2327
2515
|
* Escapes a path's special characters depending on the platform.
|
|
2328
2516
|
* @see {@link https://superchupu.dev/tinyglobby/documentation#escapePath}
|
|
@@ -2363,16 +2551,16 @@ function normalizePattern(pattern, expandDirectories, cwd, props, isIgnore) {
|
|
|
2363
2551
|
const parts = splitPattern(result);
|
|
2364
2552
|
if (parentDirectoryMatch === null || parentDirectoryMatch === void 0 ? void 0 : parentDirectoryMatch[0]) {
|
|
2365
2553
|
const n = (parentDirectoryMatch[0].length + 1) / 3;
|
|
2366
|
-
let i
|
|
2554
|
+
let i = 0;
|
|
2367
2555
|
const cwdParts = escapedCwd.split("/");
|
|
2368
|
-
while (i
|
|
2369
|
-
result = result.slice(0, (n - i
|
|
2370
|
-
i
|
|
2556
|
+
while (i < n && parts[i + n] === cwdParts[cwdParts.length + i - n]) {
|
|
2557
|
+
result = result.slice(0, (n - i - 1) * 3) + result.slice((n - i) * 3 + parts[i + n].length + 1) || ".";
|
|
2558
|
+
i++;
|
|
2371
2559
|
}
|
|
2372
|
-
const potentialRoot = posix.join(cwd, parentDirectoryMatch[0].slice(i
|
|
2560
|
+
const potentialRoot = posix.join(cwd, parentDirectoryMatch[0].slice(i * 3));
|
|
2373
2561
|
if (!potentialRoot.startsWith(".") && props.root.length > potentialRoot.length) {
|
|
2374
2562
|
props.root = potentialRoot;
|
|
2375
|
-
props.depthOffset = -n + i
|
|
2563
|
+
props.depthOffset = -n + i;
|
|
2376
2564
|
}
|
|
2377
2565
|
}
|
|
2378
2566
|
if (!isIgnore && props.depthOffset >= 0) {
|
|
@@ -2380,13 +2568,13 @@ function normalizePattern(pattern, expandDirectories, cwd, props, isIgnore) {
|
|
|
2380
2568
|
(_props$commonPath = props.commonPath) !== null && _props$commonPath !== void 0 || (props.commonPath = parts);
|
|
2381
2569
|
const newCommonPath = [];
|
|
2382
2570
|
const length = Math.min(props.commonPath.length, parts.length);
|
|
2383
|
-
for (let i
|
|
2384
|
-
const part = parts[i
|
|
2385
|
-
if (part === "**" && !parts[i
|
|
2571
|
+
for (let i = 0; i < length; i++) {
|
|
2572
|
+
const part = parts[i];
|
|
2573
|
+
if (part === "**" && !parts[i + 1]) {
|
|
2386
2574
|
newCommonPath.pop();
|
|
2387
2575
|
break;
|
|
2388
2576
|
}
|
|
2389
|
-
if (part !== props.commonPath[i
|
|
2577
|
+
if (part !== props.commonPath[i] || isDynamicPattern(part) || i === parts.length - 1) break;
|
|
2390
2578
|
newCommonPath.push(part);
|
|
2391
2579
|
}
|
|
2392
2580
|
props.depthOffset = newCommonPath.length;
|
|
@@ -2414,10 +2602,10 @@ function processPatterns({ patterns = ["**/*"], ignore = [], expandDirectories =
|
|
|
2414
2602
|
ignore: ignorePatterns
|
|
2415
2603
|
};
|
|
2416
2604
|
}
|
|
2417
|
-
function formatPaths(paths, relative
|
|
2418
|
-
for (let i
|
|
2419
|
-
const path$1
|
|
2420
|
-
paths[i
|
|
2605
|
+
function formatPaths(paths, relative) {
|
|
2606
|
+
for (let i = paths.length - 1; i >= 0; i--) {
|
|
2607
|
+
const path$1 = paths[i];
|
|
2608
|
+
paths[i] = relative(path$1);
|
|
2421
2609
|
}
|
|
2422
2610
|
return paths;
|
|
2423
2611
|
}
|
|
@@ -2469,9 +2657,9 @@ function getCrawler(patterns, inputOptions = {}) {
|
|
|
2469
2657
|
const formatExclude = options.absolute ? format : buildFormat(cwd, props.root, true);
|
|
2470
2658
|
const fdirOptions = {
|
|
2471
2659
|
filters: [options.debug ? (p, isDirectory) => {
|
|
2472
|
-
const path$1
|
|
2473
|
-
const matches = matcher(path$1
|
|
2474
|
-
if (matches) log(`matched ${path$1
|
|
2660
|
+
const path$1 = format(p, isDirectory);
|
|
2661
|
+
const matches = matcher(path$1);
|
|
2662
|
+
if (matches) log(`matched ${path$1}`);
|
|
2475
2663
|
return matches;
|
|
2476
2664
|
} : (p, isDirectory) => matcher(format(p, isDirectory))],
|
|
2477
2665
|
exclude: options.debug ? (_, p) => {
|
|
@@ -2514,26 +2702,25 @@ function getCrawler(patterns, inputOptions = {}) {
|
|
|
2514
2702
|
props.root = props.root.replace(BACKSLASHES, "");
|
|
2515
2703
|
const root = props.root;
|
|
2516
2704
|
if (options.debug) log("internal properties:", props);
|
|
2517
|
-
const relative
|
|
2518
|
-
return [new Builder(fdirOptions).crawl(root), relative
|
|
2705
|
+
const relative = cwd !== root && !options.absolute && buildRelative(cwd, props.root);
|
|
2706
|
+
return [new Builder(fdirOptions).crawl(root), relative];
|
|
2519
2707
|
}
|
|
2520
2708
|
async function glob$1(patternsOrOptions, options) {
|
|
2521
2709
|
if (patternsOrOptions && (options === null || options === void 0 ? void 0 : options.patterns)) throw new Error("Cannot pass patterns as both an argument and an option");
|
|
2522
2710
|
const isModern = isReadonlyArray(patternsOrOptions) || typeof patternsOrOptions === "string";
|
|
2523
2711
|
const opts = isModern ? options : patternsOrOptions;
|
|
2524
|
-
const [crawler, relative
|
|
2525
|
-
if (!relative
|
|
2526
|
-
return formatPaths(await crawler.withPromise(), relative
|
|
2712
|
+
const [crawler, relative] = getCrawler(isModern ? patternsOrOptions : patternsOrOptions.patterns, opts);
|
|
2713
|
+
if (!relative) return crawler.withPromise();
|
|
2714
|
+
return formatPaths(await crawler.withPromise(), relative);
|
|
2527
2715
|
}
|
|
2528
2716
|
function globSync(patternsOrOptions, options) {
|
|
2529
2717
|
if (patternsOrOptions && (options === null || options === void 0 ? void 0 : options.patterns)) throw new Error("Cannot pass patterns as both an argument and an option");
|
|
2530
2718
|
const isModern = isReadonlyArray(patternsOrOptions) || typeof patternsOrOptions === "string";
|
|
2531
2719
|
const opts = isModern ? options : patternsOrOptions;
|
|
2532
|
-
const [crawler, relative
|
|
2533
|
-
if (!relative
|
|
2534
|
-
return formatPaths(crawler.sync(), relative
|
|
2720
|
+
const [crawler, relative] = getCrawler(isModern ? patternsOrOptions : patternsOrOptions.patterns, opts);
|
|
2721
|
+
if (!relative) return crawler.sync();
|
|
2722
|
+
return formatPaths(crawler.sync(), relative);
|
|
2535
2723
|
}
|
|
2536
|
-
|
|
2537
2724
|
//#endregion
|
|
2538
2725
|
//#region ../../node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs
|
|
2539
2726
|
/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */
|
|
@@ -2575,12 +2762,12 @@ var common = {
|
|
|
2575
2762
|
isNegativeZero,
|
|
2576
2763
|
extend
|
|
2577
2764
|
};
|
|
2578
|
-
function formatError(exception
|
|
2579
|
-
var where = "", message = exception
|
|
2580
|
-
if (!exception
|
|
2581
|
-
if (exception
|
|
2582
|
-
where += "(" + (exception
|
|
2583
|
-
if (!compact && exception
|
|
2765
|
+
function formatError(exception, compact) {
|
|
2766
|
+
var where = "", message = exception.reason || "(unknown reason)";
|
|
2767
|
+
if (!exception.mark) return message;
|
|
2768
|
+
if (exception.mark.name) where += "in \"" + exception.mark.name + "\" ";
|
|
2769
|
+
where += "(" + (exception.mark.line + 1) + ":" + (exception.mark.column + 1) + ")";
|
|
2770
|
+
if (!compact && exception.mark.snippet) where += "\n\n" + exception.mark.snippet;
|
|
2584
2771
|
return message + " " + where;
|
|
2585
2772
|
}
|
|
2586
2773
|
function YAMLException$1(reason, mark) {
|
|
@@ -2636,21 +2823,21 @@ function makeSnippet(mark, options) {
|
|
|
2636
2823
|
if (mark.position <= match.index && foundLineNo < 0) foundLineNo = lineStarts.length - 2;
|
|
2637
2824
|
}
|
|
2638
2825
|
if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;
|
|
2639
|
-
var result = "", i
|
|
2826
|
+
var result = "", i, line;
|
|
2640
2827
|
var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;
|
|
2641
2828
|
var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);
|
|
2642
|
-
for (i
|
|
2643
|
-
if (foundLineNo - i
|
|
2644
|
-
line = getLine(mark.buffer, lineStarts[foundLineNo - i
|
|
2645
|
-
result = common.repeat(" ", options.indent) + padStart((mark.line - i
|
|
2829
|
+
for (i = 1; i <= options.linesBefore; i++) {
|
|
2830
|
+
if (foundLineNo - i < 0) break;
|
|
2831
|
+
line = getLine(mark.buffer, lineStarts[foundLineNo - i], lineEnds[foundLineNo - i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), maxLineLength);
|
|
2832
|
+
result = common.repeat(" ", options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + " | " + line.str + "\n" + result;
|
|
2646
2833
|
}
|
|
2647
2834
|
line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);
|
|
2648
2835
|
result += common.repeat(" ", options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + " | " + line.str + "\n";
|
|
2649
2836
|
result += common.repeat("-", options.indent + lineNoLength + 3 + line.pos) + "^\n";
|
|
2650
|
-
for (i
|
|
2651
|
-
if (foundLineNo + i
|
|
2652
|
-
line = getLine(mark.buffer, lineStarts[foundLineNo + i
|
|
2653
|
-
result += common.repeat(" ", options.indent) + padStart((mark.line + i
|
|
2837
|
+
for (i = 1; i <= options.linesAfter; i++) {
|
|
2838
|
+
if (foundLineNo + i >= lineEnds.length) break;
|
|
2839
|
+
line = getLine(mark.buffer, lineStarts[foundLineNo + i], lineEnds[foundLineNo + i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), maxLineLength);
|
|
2840
|
+
result += common.repeat(" ", options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + " | " + line.str + "\n";
|
|
2654
2841
|
}
|
|
2655
2842
|
return result.replace(/\n$/, "");
|
|
2656
2843
|
}
|
|
@@ -2672,10 +2859,10 @@ var YAML_NODE_KINDS = [
|
|
|
2672
2859
|
"sequence",
|
|
2673
2860
|
"mapping"
|
|
2674
2861
|
];
|
|
2675
|
-
function compileStyleAliases(map
|
|
2862
|
+
function compileStyleAliases(map) {
|
|
2676
2863
|
var result = {};
|
|
2677
|
-
if (map
|
|
2678
|
-
map
|
|
2864
|
+
if (map !== null) Object.keys(map).forEach(function(style) {
|
|
2865
|
+
map[style].forEach(function(alias) {
|
|
2679
2866
|
result[String(alias)] = style;
|
|
2680
2867
|
});
|
|
2681
2868
|
});
|
|
@@ -2683,8 +2870,8 @@ function compileStyleAliases(map$1) {
|
|
|
2683
2870
|
}
|
|
2684
2871
|
function Type$1(tag, options) {
|
|
2685
2872
|
options = options || {};
|
|
2686
|
-
Object.keys(options).forEach(function(name
|
|
2687
|
-
if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name
|
|
2873
|
+
Object.keys(options).forEach(function(name) {
|
|
2874
|
+
if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) throw new exception("Unknown option \"" + name + "\" is met in definition of \"" + tag + "\" YAML type.");
|
|
2688
2875
|
});
|
|
2689
2876
|
this.options = options;
|
|
2690
2877
|
this.tag = tag;
|
|
@@ -2704,10 +2891,10 @@ function Type$1(tag, options) {
|
|
|
2704
2891
|
this.styleAliases = compileStyleAliases(options["styleAliases"] || null);
|
|
2705
2892
|
if (YAML_NODE_KINDS.indexOf(this.kind) === -1) throw new exception("Unknown kind \"" + this.kind + "\" is specified for \"" + tag + "\" YAML type.");
|
|
2706
2893
|
}
|
|
2707
|
-
var type$
|
|
2708
|
-
function compileList(schema
|
|
2894
|
+
var type$2 = Type$1;
|
|
2895
|
+
function compileList(schema, name) {
|
|
2709
2896
|
var result = [];
|
|
2710
|
-
schema
|
|
2897
|
+
schema[name].forEach(function(currentType) {
|
|
2711
2898
|
var newIndex = result.length;
|
|
2712
2899
|
result.forEach(function(previousType, previousIndex) {
|
|
2713
2900
|
if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) newIndex = previousIndex;
|
|
@@ -2729,11 +2916,11 @@ function compileMap() {
|
|
|
2729
2916
|
fallback: []
|
|
2730
2917
|
}
|
|
2731
2918
|
}, index, length;
|
|
2732
|
-
function collectType(type
|
|
2733
|
-
if (type
|
|
2734
|
-
result.multi[type
|
|
2735
|
-
result.multi["fallback"].push(type
|
|
2736
|
-
} else result[type
|
|
2919
|
+
function collectType(type) {
|
|
2920
|
+
if (type.multi) {
|
|
2921
|
+
result.multi[type.kind].push(type);
|
|
2922
|
+
result.multi["fallback"].push(type);
|
|
2923
|
+
} else result[type.kind][type.tag] = result["fallback"][type.tag] = type;
|
|
2737
2924
|
}
|
|
2738
2925
|
for (index = 0, length = arguments.length; index < length; index += 1) arguments[index].forEach(collectType);
|
|
2739
2926
|
return result;
|
|
@@ -2741,22 +2928,22 @@ function compileMap() {
|
|
|
2741
2928
|
function Schema$1(definition) {
|
|
2742
2929
|
return this.extend(definition);
|
|
2743
2930
|
}
|
|
2744
|
-
Schema$1.prototype.extend = function extend
|
|
2931
|
+
Schema$1.prototype.extend = function extend(definition) {
|
|
2745
2932
|
var implicit = [];
|
|
2746
2933
|
var explicit = [];
|
|
2747
|
-
if (definition instanceof type$
|
|
2934
|
+
if (definition instanceof type$2) explicit.push(definition);
|
|
2748
2935
|
else if (Array.isArray(definition)) explicit = explicit.concat(definition);
|
|
2749
2936
|
else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {
|
|
2750
2937
|
if (definition.implicit) implicit = implicit.concat(definition.implicit);
|
|
2751
2938
|
if (definition.explicit) explicit = explicit.concat(definition.explicit);
|
|
2752
2939
|
} else throw new exception("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
|
|
2753
|
-
implicit.forEach(function(type$1
|
|
2754
|
-
if (!(type$1
|
|
2755
|
-
if (type$1
|
|
2756
|
-
if (type$1
|
|
2940
|
+
implicit.forEach(function(type$1) {
|
|
2941
|
+
if (!(type$1 instanceof type$2)) throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.");
|
|
2942
|
+
if (type$1.loadKind && type$1.loadKind !== "scalar") throw new exception("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
|
|
2943
|
+
if (type$1.multi) throw new exception("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.");
|
|
2757
2944
|
});
|
|
2758
|
-
explicit.forEach(function(type$1
|
|
2759
|
-
if (!(type$1
|
|
2945
|
+
explicit.forEach(function(type$1) {
|
|
2946
|
+
if (!(type$1 instanceof type$2)) throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.");
|
|
2760
2947
|
});
|
|
2761
2948
|
var result = Object.create(Schema$1.prototype);
|
|
2762
2949
|
result.implicit = (this.implicit || []).concat(implicit);
|
|
@@ -2767,19 +2954,19 @@ Schema$1.prototype.extend = function extend$1(definition) {
|
|
|
2767
2954
|
return result;
|
|
2768
2955
|
};
|
|
2769
2956
|
var schema = Schema$1;
|
|
2770
|
-
var str = new type$
|
|
2957
|
+
var str = new type$2("tag:yaml.org,2002:str", {
|
|
2771
2958
|
kind: "scalar",
|
|
2772
2959
|
construct: function(data) {
|
|
2773
2960
|
return data !== null ? data : "";
|
|
2774
2961
|
}
|
|
2775
2962
|
});
|
|
2776
|
-
var seq = new type$
|
|
2963
|
+
var seq = new type$2("tag:yaml.org,2002:seq", {
|
|
2777
2964
|
kind: "sequence",
|
|
2778
2965
|
construct: function(data) {
|
|
2779
2966
|
return data !== null ? data : [];
|
|
2780
2967
|
}
|
|
2781
2968
|
});
|
|
2782
|
-
var map = new type$
|
|
2969
|
+
var map = new type$2("tag:yaml.org,2002:map", {
|
|
2783
2970
|
kind: "mapping",
|
|
2784
2971
|
construct: function(data) {
|
|
2785
2972
|
return data !== null ? data : {};
|
|
@@ -2801,7 +2988,7 @@ function constructYamlNull() {
|
|
|
2801
2988
|
function isNull(object) {
|
|
2802
2989
|
return object === null;
|
|
2803
2990
|
}
|
|
2804
|
-
var _null = new type$
|
|
2991
|
+
var _null = new type$2("tag:yaml.org,2002:null", {
|
|
2805
2992
|
kind: "scalar",
|
|
2806
2993
|
resolve: resolveYamlNull,
|
|
2807
2994
|
construct: constructYamlNull,
|
|
@@ -2836,7 +3023,7 @@ function constructYamlBoolean(data) {
|
|
|
2836
3023
|
function isBoolean(object) {
|
|
2837
3024
|
return Object.prototype.toString.call(object) === "[object Boolean]";
|
|
2838
3025
|
}
|
|
2839
|
-
var bool = new type$
|
|
3026
|
+
var bool = new type$2("tag:yaml.org,2002:bool", {
|
|
2840
3027
|
kind: "scalar",
|
|
2841
3028
|
resolve: resolveYamlBoolean,
|
|
2842
3029
|
construct: constructYamlBoolean,
|
|
@@ -2933,7 +3120,7 @@ function constructYamlInteger(data) {
|
|
|
2933
3120
|
function isInteger(object) {
|
|
2934
3121
|
return Object.prototype.toString.call(object) === "[object Number]" && object % 1 === 0 && !common.isNegativeZero(object);
|
|
2935
3122
|
}
|
|
2936
|
-
var int = new type$
|
|
3123
|
+
var int = new type$2("tag:yaml.org,2002:int", {
|
|
2937
3124
|
kind: "scalar",
|
|
2938
3125
|
resolve: resolveYamlInteger,
|
|
2939
3126
|
construct: constructYamlInteger,
|
|
@@ -2998,7 +3185,7 @@ function representYamlFloat(object, style) {
|
|
|
2998
3185
|
function isFloat(object) {
|
|
2999
3186
|
return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object));
|
|
3000
3187
|
}
|
|
3001
|
-
var float = new type$
|
|
3188
|
+
var float = new type$2("tag:yaml.org,2002:float", {
|
|
3002
3189
|
kind: "scalar",
|
|
3003
3190
|
resolve: resolveYamlFloat,
|
|
3004
3191
|
construct: constructYamlFloat,
|
|
@@ -3051,7 +3238,7 @@ function constructYamlTimestamp(data) {
|
|
|
3051
3238
|
function representYamlTimestamp(object) {
|
|
3052
3239
|
return object.toISOString();
|
|
3053
3240
|
}
|
|
3054
|
-
var timestamp = new type$
|
|
3241
|
+
var timestamp = new type$2("tag:yaml.org,2002:timestamp", {
|
|
3055
3242
|
kind: "scalar",
|
|
3056
3243
|
resolve: resolveYamlTimestamp,
|
|
3057
3244
|
construct: constructYamlTimestamp,
|
|
@@ -3061,16 +3248,16 @@ var timestamp = new type$1("tag:yaml.org,2002:timestamp", {
|
|
|
3061
3248
|
function resolveYamlMerge(data) {
|
|
3062
3249
|
return data === "<<" || data === null;
|
|
3063
3250
|
}
|
|
3064
|
-
var merge = new type$
|
|
3251
|
+
var merge = new type$2("tag:yaml.org,2002:merge", {
|
|
3065
3252
|
kind: "scalar",
|
|
3066
3253
|
resolve: resolveYamlMerge
|
|
3067
3254
|
});
|
|
3068
3255
|
var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
|
|
3069
3256
|
function resolveYamlBinary(data) {
|
|
3070
3257
|
if (data === null) return false;
|
|
3071
|
-
var code, idx, bitlen = 0, max = data.length, map
|
|
3258
|
+
var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;
|
|
3072
3259
|
for (idx = 0; idx < max; idx++) {
|
|
3073
|
-
code = map
|
|
3260
|
+
code = map.indexOf(data.charAt(idx));
|
|
3074
3261
|
if (code > 64) continue;
|
|
3075
3262
|
if (code < 0) return false;
|
|
3076
3263
|
bitlen += 6;
|
|
@@ -3078,14 +3265,14 @@ function resolveYamlBinary(data) {
|
|
|
3078
3265
|
return bitlen % 8 === 0;
|
|
3079
3266
|
}
|
|
3080
3267
|
function constructYamlBinary(data) {
|
|
3081
|
-
var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map
|
|
3268
|
+
var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map = BASE64_MAP, bits = 0, result = [];
|
|
3082
3269
|
for (idx = 0; idx < max; idx++) {
|
|
3083
3270
|
if (idx % 4 === 0 && idx) {
|
|
3084
3271
|
result.push(bits >> 16 & 255);
|
|
3085
3272
|
result.push(bits >> 8 & 255);
|
|
3086
3273
|
result.push(bits & 255);
|
|
3087
3274
|
}
|
|
3088
|
-
bits = bits << 6 | map
|
|
3275
|
+
bits = bits << 6 | map.indexOf(input.charAt(idx));
|
|
3089
3276
|
}
|
|
3090
3277
|
tailbits = max % 4 * 6;
|
|
3091
3278
|
if (tailbits === 0) {
|
|
@@ -3099,39 +3286,39 @@ function constructYamlBinary(data) {
|
|
|
3099
3286
|
return new Uint8Array(result);
|
|
3100
3287
|
}
|
|
3101
3288
|
function representYamlBinary(object) {
|
|
3102
|
-
var result = "", bits = 0, idx, tail, max = object.length, map
|
|
3289
|
+
var result = "", bits = 0, idx, tail, max = object.length, map = BASE64_MAP;
|
|
3103
3290
|
for (idx = 0; idx < max; idx++) {
|
|
3104
3291
|
if (idx % 3 === 0 && idx) {
|
|
3105
|
-
result += map
|
|
3106
|
-
result += map
|
|
3107
|
-
result += map
|
|
3108
|
-
result += map
|
|
3292
|
+
result += map[bits >> 18 & 63];
|
|
3293
|
+
result += map[bits >> 12 & 63];
|
|
3294
|
+
result += map[bits >> 6 & 63];
|
|
3295
|
+
result += map[bits & 63];
|
|
3109
3296
|
}
|
|
3110
3297
|
bits = (bits << 8) + object[idx];
|
|
3111
3298
|
}
|
|
3112
3299
|
tail = max % 3;
|
|
3113
3300
|
if (tail === 0) {
|
|
3114
|
-
result += map
|
|
3115
|
-
result += map
|
|
3116
|
-
result += map
|
|
3117
|
-
result += map
|
|
3301
|
+
result += map[bits >> 18 & 63];
|
|
3302
|
+
result += map[bits >> 12 & 63];
|
|
3303
|
+
result += map[bits >> 6 & 63];
|
|
3304
|
+
result += map[bits & 63];
|
|
3118
3305
|
} else if (tail === 2) {
|
|
3119
|
-
result += map
|
|
3120
|
-
result += map
|
|
3121
|
-
result += map
|
|
3122
|
-
result += map
|
|
3306
|
+
result += map[bits >> 10 & 63];
|
|
3307
|
+
result += map[bits >> 4 & 63];
|
|
3308
|
+
result += map[bits << 2 & 63];
|
|
3309
|
+
result += map[64];
|
|
3123
3310
|
} else if (tail === 1) {
|
|
3124
|
-
result += map
|
|
3125
|
-
result += map
|
|
3126
|
-
result += map
|
|
3127
|
-
result += map
|
|
3311
|
+
result += map[bits >> 2 & 63];
|
|
3312
|
+
result += map[bits << 4 & 63];
|
|
3313
|
+
result += map[64];
|
|
3314
|
+
result += map[64];
|
|
3128
3315
|
}
|
|
3129
3316
|
return result;
|
|
3130
3317
|
}
|
|
3131
3318
|
function isBinary(obj) {
|
|
3132
3319
|
return Object.prototype.toString.call(obj) === "[object Uint8Array]";
|
|
3133
3320
|
}
|
|
3134
|
-
var binary = new type$
|
|
3321
|
+
var binary = new type$2("tag:yaml.org,2002:binary", {
|
|
3135
3322
|
kind: "scalar",
|
|
3136
3323
|
resolve: resolveYamlBinary,
|
|
3137
3324
|
construct: constructYamlBinary,
|
|
@@ -3158,7 +3345,7 @@ function resolveYamlOmap(data) {
|
|
|
3158
3345
|
function constructYamlOmap(data) {
|
|
3159
3346
|
return data !== null ? data : [];
|
|
3160
3347
|
}
|
|
3161
|
-
var omap = new type$
|
|
3348
|
+
var omap = new type$2("tag:yaml.org,2002:omap", {
|
|
3162
3349
|
kind: "sequence",
|
|
3163
3350
|
resolve: resolveYamlOmap,
|
|
3164
3351
|
construct: constructYamlOmap
|
|
@@ -3188,7 +3375,7 @@ function constructYamlPairs(data) {
|
|
|
3188
3375
|
}
|
|
3189
3376
|
return result;
|
|
3190
3377
|
}
|
|
3191
|
-
var pairs = new type$
|
|
3378
|
+
var pairs = new type$2("tag:yaml.org,2002:pairs", {
|
|
3192
3379
|
kind: "sequence",
|
|
3193
3380
|
resolve: resolveYamlPairs,
|
|
3194
3381
|
construct: constructYamlPairs
|
|
@@ -3205,7 +3392,7 @@ function resolveYamlSet(data) {
|
|
|
3205
3392
|
function constructYamlSet(data) {
|
|
3206
3393
|
return data !== null ? data : {};
|
|
3207
3394
|
}
|
|
3208
|
-
var set = new type$
|
|
3395
|
+
var set = new type$2("tag:yaml.org,2002:set", {
|
|
3209
3396
|
kind: "mapping",
|
|
3210
3397
|
resolve: resolveYamlSet,
|
|
3211
3398
|
construct: constructYamlSet
|
|
@@ -3322,7 +3509,7 @@ function throwWarning(state, message) {
|
|
|
3322
3509
|
if (state.onWarning) state.onWarning.call(null, generateError(state, message));
|
|
3323
3510
|
}
|
|
3324
3511
|
var directiveHandlers = {
|
|
3325
|
-
YAML: function handleYamlDirective(state, name
|
|
3512
|
+
YAML: function handleYamlDirective(state, name, args) {
|
|
3326
3513
|
var match, major, minor;
|
|
3327
3514
|
if (state.version !== null) throwError(state, "duplication of %YAML directive");
|
|
3328
3515
|
if (args.length !== 1) throwError(state, "YAML directive accepts exactly one argument");
|
|
@@ -3335,7 +3522,7 @@ var directiveHandlers = {
|
|
|
3335
3522
|
state.checkLineBreaks = minor < 2;
|
|
3336
3523
|
if (minor !== 1 && minor !== 2) throwWarning(state, "unsupported YAML version of the document");
|
|
3337
3524
|
},
|
|
3338
|
-
TAG: function handleTagDirective(state, name
|
|
3525
|
+
TAG: function handleTagDirective(state, name, args) {
|
|
3339
3526
|
var handle, prefix;
|
|
3340
3527
|
if (args.length !== 2) throwError(state, "TAG directive accepts exactly two arguments");
|
|
3341
3528
|
handle = args[0];
|
|
@@ -3351,10 +3538,10 @@ var directiveHandlers = {
|
|
|
3351
3538
|
state.tagMap[handle] = prefix;
|
|
3352
3539
|
}
|
|
3353
3540
|
};
|
|
3354
|
-
function captureSegment(state, start
|
|
3541
|
+
function captureSegment(state, start, end, checkJson) {
|
|
3355
3542
|
var _position, _length, _character, _result;
|
|
3356
|
-
if (start
|
|
3357
|
-
_result = state.input.slice(start
|
|
3543
|
+
if (start < end) {
|
|
3544
|
+
_result = state.input.slice(start, end);
|
|
3358
3545
|
if (checkJson) for (_position = 0, _length = _result.length; _position < _length; _position += 1) {
|
|
3359
3546
|
_character = _result.charCodeAt(_position);
|
|
3360
3547
|
if (!(_character === 9 || 32 <= _character && _character <= 1114111)) throwError(state, "expected valid JSON character");
|
|
@@ -3893,7 +4080,7 @@ function readAlias(state) {
|
|
|
3893
4080
|
return true;
|
|
3894
4081
|
}
|
|
3895
4082
|
function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
|
|
3896
|
-
var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, typeList, type
|
|
4083
|
+
var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, typeList, type, flowIndent, blockIndent;
|
|
3897
4084
|
if (state.listener !== null) state.listener("open", state);
|
|
3898
4085
|
state.tag = null;
|
|
3899
4086
|
state.anchor = null;
|
|
@@ -3939,29 +4126,29 @@ function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact
|
|
|
3939
4126
|
} else if (state.tag === "?") {
|
|
3940
4127
|
if (state.result !== null && state.kind !== "scalar") throwError(state, "unacceptable node kind for !<?> tag; it should be \"scalar\", not \"" + state.kind + "\"");
|
|
3941
4128
|
for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
|
|
3942
|
-
type
|
|
3943
|
-
if (type
|
|
3944
|
-
state.result = type
|
|
3945
|
-
state.tag = type
|
|
4129
|
+
type = state.implicitTypes[typeIndex];
|
|
4130
|
+
if (type.resolve(state.result)) {
|
|
4131
|
+
state.result = type.construct(state.result);
|
|
4132
|
+
state.tag = type.tag;
|
|
3946
4133
|
if (state.anchor !== null) state.anchorMap[state.anchor] = state.result;
|
|
3947
4134
|
break;
|
|
3948
4135
|
}
|
|
3949
4136
|
}
|
|
3950
4137
|
} else if (state.tag !== "!") {
|
|
3951
|
-
if (_hasOwnProperty$1.call(state.typeMap[state.kind || "fallback"], state.tag)) type
|
|
4138
|
+
if (_hasOwnProperty$1.call(state.typeMap[state.kind || "fallback"], state.tag)) type = state.typeMap[state.kind || "fallback"][state.tag];
|
|
3952
4139
|
else {
|
|
3953
|
-
type
|
|
4140
|
+
type = null;
|
|
3954
4141
|
typeList = state.typeMap.multi[state.kind || "fallback"];
|
|
3955
4142
|
for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {
|
|
3956
|
-
type
|
|
4143
|
+
type = typeList[typeIndex];
|
|
3957
4144
|
break;
|
|
3958
4145
|
}
|
|
3959
4146
|
}
|
|
3960
|
-
if (!type
|
|
3961
|
-
if (state.result !== null && type
|
|
3962
|
-
if (!type
|
|
4147
|
+
if (!type) throwError(state, "unknown tag !<" + state.tag + ">");
|
|
4148
|
+
if (state.result !== null && type.kind !== state.kind) throwError(state, "unacceptable node kind for !<" + state.tag + "> tag; it should be \"" + type.kind + "\", not \"" + state.kind + "\"");
|
|
4149
|
+
if (!type.resolve(state.result, state.tag)) throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
|
|
3963
4150
|
else {
|
|
3964
|
-
state.result = type
|
|
4151
|
+
state.result = type.construct(state.result, state.tag);
|
|
3965
4152
|
if (state.anchor !== null) state.anchorMap[state.anchor] = state.result;
|
|
3966
4153
|
}
|
|
3967
4154
|
}
|
|
@@ -4123,17 +4310,17 @@ var DEPRECATED_BOOLEANS_SYNTAX = [
|
|
|
4123
4310
|
"OFF"
|
|
4124
4311
|
];
|
|
4125
4312
|
var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
|
|
4126
|
-
function compileStyleMap(schema
|
|
4127
|
-
var result, keys, index, length, tag, style, type
|
|
4128
|
-
if (map
|
|
4313
|
+
function compileStyleMap(schema, map) {
|
|
4314
|
+
var result, keys, index, length, tag, style, type;
|
|
4315
|
+
if (map === null) return {};
|
|
4129
4316
|
result = {};
|
|
4130
|
-
keys = Object.keys(map
|
|
4317
|
+
keys = Object.keys(map);
|
|
4131
4318
|
for (index = 0, length = keys.length; index < length; index += 1) {
|
|
4132
4319
|
tag = keys[index];
|
|
4133
|
-
style = String(map
|
|
4320
|
+
style = String(map[tag]);
|
|
4134
4321
|
if (tag.slice(0, 2) === "!!") tag = "tag:yaml.org,2002:" + tag.slice(2);
|
|
4135
|
-
type
|
|
4136
|
-
if (type
|
|
4322
|
+
type = schema.compiledTypeMap["fallback"][tag];
|
|
4323
|
+
if (type && _hasOwnProperty.call(type.styleAliases, style)) style = type.styleAliases[style];
|
|
4137
4324
|
result[tag] = style;
|
|
4138
4325
|
}
|
|
4139
4326
|
return result;
|
|
@@ -4194,11 +4381,11 @@ function indentString(string, spaces) {
|
|
|
4194
4381
|
function generateNextLine(state, level) {
|
|
4195
4382
|
return "\n" + common.repeat(" ", state.indent * level);
|
|
4196
4383
|
}
|
|
4197
|
-
function testImplicitResolving(state, str
|
|
4198
|
-
var index, length, type
|
|
4384
|
+
function testImplicitResolving(state, str) {
|
|
4385
|
+
var index, length, type;
|
|
4199
4386
|
for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {
|
|
4200
|
-
type
|
|
4201
|
-
if (type
|
|
4387
|
+
type = state.implicitTypes[index];
|
|
4388
|
+
if (type.resolve(str)) return true;
|
|
4202
4389
|
}
|
|
4203
4390
|
return false;
|
|
4204
4391
|
}
|
|
@@ -4235,7 +4422,7 @@ function needIndentIndicator(string) {
|
|
|
4235
4422
|
}
|
|
4236
4423
|
var STYLE_PLAIN = 1, STYLE_SINGLE = 2, STYLE_LITERAL = 3, STYLE_FOLDED = 4, STYLE_DOUBLE = 5;
|
|
4237
4424
|
function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType, quotingType, forceQuotes, inblock) {
|
|
4238
|
-
var i
|
|
4425
|
+
var i;
|
|
4239
4426
|
var char = 0;
|
|
4240
4427
|
var prevChar = null;
|
|
4241
4428
|
var hasLineBreak = false;
|
|
@@ -4243,26 +4430,26 @@ function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, te
|
|
|
4243
4430
|
var shouldTrackWidth = lineWidth !== -1;
|
|
4244
4431
|
var previousLineBreak = -1;
|
|
4245
4432
|
var plain = isPlainSafeFirst(codePointAt(string, 0)) && isPlainSafeLast(codePointAt(string, string.length - 1));
|
|
4246
|
-
if (singleLineOnly || forceQuotes) for (i
|
|
4247
|
-
char = codePointAt(string, i
|
|
4433
|
+
if (singleLineOnly || forceQuotes) for (i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {
|
|
4434
|
+
char = codePointAt(string, i);
|
|
4248
4435
|
if (!isPrintable(char)) return STYLE_DOUBLE;
|
|
4249
4436
|
plain = plain && isPlainSafe(char, prevChar, inblock);
|
|
4250
4437
|
prevChar = char;
|
|
4251
4438
|
}
|
|
4252
4439
|
else {
|
|
4253
|
-
for (i
|
|
4254
|
-
char = codePointAt(string, i
|
|
4440
|
+
for (i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {
|
|
4441
|
+
char = codePointAt(string, i);
|
|
4255
4442
|
if (char === CHAR_LINE_FEED) {
|
|
4256
4443
|
hasLineBreak = true;
|
|
4257
4444
|
if (shouldTrackWidth) {
|
|
4258
|
-
hasFoldableLine = hasFoldableLine || i
|
|
4259
|
-
previousLineBreak = i
|
|
4445
|
+
hasFoldableLine = hasFoldableLine || i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ";
|
|
4446
|
+
previousLineBreak = i;
|
|
4260
4447
|
}
|
|
4261
4448
|
} else if (!isPrintable(char)) return STYLE_DOUBLE;
|
|
4262
4449
|
plain = plain && isPlainSafe(char, prevChar, inblock);
|
|
4263
4450
|
prevChar = char;
|
|
4264
4451
|
}
|
|
4265
|
-
hasFoldableLine = hasFoldableLine || shouldTrackWidth && i
|
|
4452
|
+
hasFoldableLine = hasFoldableLine || shouldTrackWidth && i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ";
|
|
4266
4453
|
}
|
|
4267
4454
|
if (!hasLineBreak && !hasFoldableLine) {
|
|
4268
4455
|
if (plain && !forceQuotes && !testAmbiguousType(string)) return STYLE_PLAIN;
|
|
@@ -4281,8 +4468,8 @@ function writeScalar(state, string, level, iskey, inblock) {
|
|
|
4281
4468
|
var indent = state.indent * Math.max(1, level);
|
|
4282
4469
|
var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
|
|
4283
4470
|
var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel;
|
|
4284
|
-
function testAmbiguity(string
|
|
4285
|
-
return testImplicitResolving(state, string
|
|
4471
|
+
function testAmbiguity(string) {
|
|
4472
|
+
return testImplicitResolving(state, string);
|
|
4286
4473
|
}
|
|
4287
4474
|
switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) {
|
|
4288
4475
|
case STYLE_PLAIN: return string;
|
|
@@ -4325,32 +4512,32 @@ function foldLine(line, width) {
|
|
|
4325
4512
|
if (line === "" || line[0] === " ") return line;
|
|
4326
4513
|
var breakRe = / [^ ]/g;
|
|
4327
4514
|
var match;
|
|
4328
|
-
var start
|
|
4515
|
+
var start = 0, end, curr = 0, next = 0;
|
|
4329
4516
|
var result = "";
|
|
4330
4517
|
while (match = breakRe.exec(line)) {
|
|
4331
4518
|
next = match.index;
|
|
4332
|
-
if (next - start
|
|
4333
|
-
end = curr > start
|
|
4334
|
-
result += "\n" + line.slice(start
|
|
4335
|
-
start
|
|
4519
|
+
if (next - start > width) {
|
|
4520
|
+
end = curr > start ? curr : next;
|
|
4521
|
+
result += "\n" + line.slice(start, end);
|
|
4522
|
+
start = end + 1;
|
|
4336
4523
|
}
|
|
4337
4524
|
curr = next;
|
|
4338
4525
|
}
|
|
4339
4526
|
result += "\n";
|
|
4340
|
-
if (line.length - start
|
|
4341
|
-
else result += line.slice(start
|
|
4527
|
+
if (line.length - start > width && curr > start) result += line.slice(start, curr) + "\n" + line.slice(curr + 1);
|
|
4528
|
+
else result += line.slice(start);
|
|
4342
4529
|
return result.slice(1);
|
|
4343
4530
|
}
|
|
4344
4531
|
function escapeString(string) {
|
|
4345
4532
|
var result = "";
|
|
4346
4533
|
var char = 0;
|
|
4347
4534
|
var escapeSeq;
|
|
4348
|
-
for (var i
|
|
4349
|
-
char = codePointAt(string, i
|
|
4535
|
+
for (var i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {
|
|
4536
|
+
char = codePointAt(string, i);
|
|
4350
4537
|
escapeSeq = ESCAPE_SEQUENCES[char];
|
|
4351
4538
|
if (!escapeSeq && isPrintable(char)) {
|
|
4352
|
-
result += string[i
|
|
4353
|
-
if (char >= 65536) result += string[i
|
|
4539
|
+
result += string[i];
|
|
4540
|
+
if (char >= 65536) result += string[i + 1];
|
|
4354
4541
|
} else result += escapeSeq || encodeHex(char);
|
|
4355
4542
|
}
|
|
4356
4543
|
return result;
|
|
@@ -4429,18 +4616,18 @@ function writeBlockMapping(state, level, object, compact) {
|
|
|
4429
4616
|
state.dump = _result || "{}";
|
|
4430
4617
|
}
|
|
4431
4618
|
function detectType(state, object, explicit) {
|
|
4432
|
-
var _result, typeList = explicit ? state.explicitTypes : state.implicitTypes, index, length, type
|
|
4619
|
+
var _result, typeList = explicit ? state.explicitTypes : state.implicitTypes, index, length, type, style;
|
|
4433
4620
|
for (index = 0, length = typeList.length; index < length; index += 1) {
|
|
4434
|
-
type
|
|
4435
|
-
if ((type
|
|
4436
|
-
if (explicit) if (type
|
|
4437
|
-
else state.tag = type
|
|
4621
|
+
type = typeList[index];
|
|
4622
|
+
if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === "object" && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) {
|
|
4623
|
+
if (explicit) if (type.multi && type.representName) state.tag = type.representName(object);
|
|
4624
|
+
else state.tag = type.tag;
|
|
4438
4625
|
else state.tag = "?";
|
|
4439
|
-
if (type
|
|
4440
|
-
style = state.styleMap[type
|
|
4441
|
-
if (_toString.call(type
|
|
4442
|
-
else if (_hasOwnProperty.call(type
|
|
4443
|
-
else throw new exception("!<" + type
|
|
4626
|
+
if (type.represent) {
|
|
4627
|
+
style = state.styleMap[type.tag] || type.defaultStyle;
|
|
4628
|
+
if (_toString.call(type.represent) === "[object Function]") _result = type.represent(object, style);
|
|
4629
|
+
else if (_hasOwnProperty.call(type.represent, style)) _result = type.represent[style](object, style);
|
|
4630
|
+
else throw new exception("!<" + type.tag + "> tag resolver accepts not \"" + style + "\" style");
|
|
4444
4631
|
state.dump = _result;
|
|
4445
4632
|
}
|
|
4446
4633
|
return true;
|
|
@@ -4452,11 +4639,11 @@ function writeNode(state, level, object, block, compact, iskey, isblockseq) {
|
|
|
4452
4639
|
state.tag = null;
|
|
4453
4640
|
state.dump = object;
|
|
4454
4641
|
if (!detectType(state, object, false)) detectType(state, object, true);
|
|
4455
|
-
var type
|
|
4642
|
+
var type = _toString.call(state.dump);
|
|
4456
4643
|
var inblock = block;
|
|
4457
4644
|
var tagStr;
|
|
4458
4645
|
if (block) block = state.flowLevel < 0 || state.flowLevel > level;
|
|
4459
|
-
var objectOrArray = type
|
|
4646
|
+
var objectOrArray = type === "[object Object]" || type === "[object Array]", duplicateIndex, duplicate;
|
|
4460
4647
|
if (objectOrArray) {
|
|
4461
4648
|
duplicateIndex = state.duplicates.indexOf(object);
|
|
4462
4649
|
duplicate = duplicateIndex !== -1;
|
|
@@ -4465,14 +4652,14 @@ function writeNode(state, level, object, block, compact, iskey, isblockseq) {
|
|
|
4465
4652
|
if (duplicate && state.usedDuplicates[duplicateIndex]) state.dump = "*ref_" + duplicateIndex;
|
|
4466
4653
|
else {
|
|
4467
4654
|
if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) state.usedDuplicates[duplicateIndex] = true;
|
|
4468
|
-
if (type
|
|
4655
|
+
if (type === "[object Object]") if (block && Object.keys(state.dump).length !== 0) {
|
|
4469
4656
|
writeBlockMapping(state, level, state.dump, compact);
|
|
4470
4657
|
if (duplicate) state.dump = "&ref_" + duplicateIndex + state.dump;
|
|
4471
4658
|
} else {
|
|
4472
4659
|
writeFlowMapping(state, level, state.dump);
|
|
4473
4660
|
if (duplicate) state.dump = "&ref_" + duplicateIndex + " " + state.dump;
|
|
4474
4661
|
}
|
|
4475
|
-
else if (type
|
|
4662
|
+
else if (type === "[object Array]") if (block && state.dump.length !== 0) {
|
|
4476
4663
|
if (state.noArrayIndent && !isblockseq && level > 0) writeBlockSequence(state, level - 1, state.dump, compact);
|
|
4477
4664
|
else writeBlockSequence(state, level, state.dump, compact);
|
|
4478
4665
|
if (duplicate) state.dump = "&ref_" + duplicateIndex + state.dump;
|
|
@@ -4480,12 +4667,12 @@ function writeNode(state, level, object, block, compact, iskey, isblockseq) {
|
|
|
4480
4667
|
writeFlowSequence(state, level, state.dump);
|
|
4481
4668
|
if (duplicate) state.dump = "&ref_" + duplicateIndex + " " + state.dump;
|
|
4482
4669
|
}
|
|
4483
|
-
else if (type
|
|
4670
|
+
else if (type === "[object String]") {
|
|
4484
4671
|
if (state.tag !== "?") writeScalar(state, state.dump, level, iskey, inblock);
|
|
4485
|
-
} else if (type
|
|
4672
|
+
} else if (type === "[object Undefined]") return false;
|
|
4486
4673
|
else {
|
|
4487
4674
|
if (state.skipInvalid) return false;
|
|
4488
|
-
throw new exception("unacceptable kind of an object to dump " + type
|
|
4675
|
+
throw new exception("unacceptable kind of an object to dump " + type);
|
|
4489
4676
|
}
|
|
4490
4677
|
if (state.tag !== null && state.tag !== "?") {
|
|
4491
4678
|
tagStr = encodeURI(state.tag[0] === "!" ? state.tag.slice(1) : state.tag).replace(/!/g, "%21");
|
|
@@ -4534,51 +4721,36 @@ function renamed(from, to) {
|
|
|
4534
4721
|
throw new Error("Function yaml." + from + " is removed in js-yaml 4. Use yaml." + to + " instead, which is now safe by default.");
|
|
4535
4722
|
};
|
|
4536
4723
|
}
|
|
4537
|
-
var Type = type$1;
|
|
4538
|
-
var Schema = schema;
|
|
4539
|
-
var FAILSAFE_SCHEMA = failsafe;
|
|
4540
|
-
var JSON_SCHEMA = json;
|
|
4541
|
-
var CORE_SCHEMA = core;
|
|
4542
|
-
var DEFAULT_SCHEMA = _default;
|
|
4543
|
-
var load = loader.load;
|
|
4544
|
-
var loadAll = loader.loadAll;
|
|
4545
|
-
var dump = dumper.dump;
|
|
4546
|
-
var YAMLException = exception;
|
|
4547
|
-
var types = {
|
|
4548
|
-
binary,
|
|
4549
|
-
float,
|
|
4550
|
-
map,
|
|
4551
|
-
null: _null,
|
|
4552
|
-
pairs,
|
|
4553
|
-
set,
|
|
4554
|
-
timestamp,
|
|
4555
|
-
bool,
|
|
4556
|
-
int,
|
|
4557
|
-
merge,
|
|
4558
|
-
omap,
|
|
4559
|
-
seq,
|
|
4560
|
-
str
|
|
4561
|
-
};
|
|
4562
|
-
var safeLoad = renamed("safeLoad", "load");
|
|
4563
|
-
var safeLoadAll = renamed("safeLoadAll", "loadAll");
|
|
4564
|
-
var safeDump = renamed("safeDump", "dump");
|
|
4565
4724
|
var jsYaml = {
|
|
4566
|
-
Type,
|
|
4567
|
-
Schema,
|
|
4568
|
-
FAILSAFE_SCHEMA,
|
|
4569
|
-
JSON_SCHEMA,
|
|
4570
|
-
CORE_SCHEMA,
|
|
4571
|
-
DEFAULT_SCHEMA,
|
|
4572
|
-
load,
|
|
4573
|
-
loadAll,
|
|
4574
|
-
dump,
|
|
4575
|
-
YAMLException,
|
|
4576
|
-
types
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4725
|
+
Type: type$2,
|
|
4726
|
+
Schema: schema,
|
|
4727
|
+
FAILSAFE_SCHEMA: failsafe,
|
|
4728
|
+
JSON_SCHEMA: json,
|
|
4729
|
+
CORE_SCHEMA: core,
|
|
4730
|
+
DEFAULT_SCHEMA: _default,
|
|
4731
|
+
load: loader.load,
|
|
4732
|
+
loadAll: loader.loadAll,
|
|
4733
|
+
dump: dumper.dump,
|
|
4734
|
+
YAMLException: exception,
|
|
4735
|
+
types: {
|
|
4736
|
+
binary,
|
|
4737
|
+
float,
|
|
4738
|
+
map,
|
|
4739
|
+
null: _null,
|
|
4740
|
+
pairs,
|
|
4741
|
+
set,
|
|
4742
|
+
timestamp,
|
|
4743
|
+
bool,
|
|
4744
|
+
int,
|
|
4745
|
+
merge,
|
|
4746
|
+
omap,
|
|
4747
|
+
seq,
|
|
4748
|
+
str
|
|
4749
|
+
},
|
|
4750
|
+
safeLoad: renamed("safeLoad", "load"),
|
|
4751
|
+
safeLoadAll: renamed("safeLoadAll", "loadAll"),
|
|
4752
|
+
safeDump: renamed("safeDump", "dump")
|
|
4580
4753
|
};
|
|
4581
|
-
|
|
4582
4754
|
//#endregion
|
|
4583
4755
|
//#region ../../node_modules/.pnpm/jju@1.4.0/node_modules/jju/lib/unicode.js
|
|
4584
4756
|
var require_unicode = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
@@ -4604,7 +4776,6 @@ var require_unicode = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4604
4776
|
module.exports.NonAsciiIdentifierStart = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
|
|
4605
4777
|
module.exports.NonAsciiIdentifierPart = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0\u08A2-\u08AC\u08E4-\u08FE\u0900-\u0963\u0966-\u096F\u0971-\u0977\u0979-\u097F\u0981-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C82\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D02\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191C\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1D00-\u1DE6\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA697\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7B\uAA80-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE26\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
|
|
4606
4778
|
}));
|
|
4607
|
-
|
|
4608
4779
|
//#endregion
|
|
4609
4780
|
//#region ../../node_modules/.pnpm/jju@1.4.0/node_modules/jju/lib/parse.js
|
|
4610
4781
|
var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
@@ -4661,22 +4832,22 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4661
4832
|
return v;
|
|
4662
4833
|
};
|
|
4663
4834
|
if (options._tokenize) (function() {
|
|
4664
|
-
var start
|
|
4835
|
+
var start = null;
|
|
4665
4836
|
tokenStart = function() {
|
|
4666
|
-
if (start
|
|
4667
|
-
start
|
|
4837
|
+
if (start !== null) throw Error("internal error, token overlap");
|
|
4838
|
+
start = position;
|
|
4668
4839
|
};
|
|
4669
|
-
tokenEnd = function(v, type
|
|
4670
|
-
if (start
|
|
4840
|
+
tokenEnd = function(v, type) {
|
|
4841
|
+
if (start != position) {
|
|
4671
4842
|
var hash = {
|
|
4672
|
-
raw: input.substr(start
|
|
4673
|
-
type
|
|
4843
|
+
raw: input.substr(start, position - start),
|
|
4844
|
+
type,
|
|
4674
4845
|
stack: stack.slice(0)
|
|
4675
4846
|
};
|
|
4676
4847
|
if (v !== void 0) hash.value = v;
|
|
4677
4848
|
options._tokenize.call(null, hash);
|
|
4678
4849
|
}
|
|
4679
|
-
start
|
|
4850
|
+
start = null;
|
|
4680
4851
|
return v;
|
|
4681
4852
|
};
|
|
4682
4853
|
})();
|
|
@@ -4799,8 +4970,8 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4799
4970
|
function parseKeyword(keyword) {
|
|
4800
4971
|
var _pos = position;
|
|
4801
4972
|
var len = keyword.length;
|
|
4802
|
-
for (var i
|
|
4803
|
-
if (position >= length || keyword[i
|
|
4973
|
+
for (var i = 1; i < len; i++) {
|
|
4974
|
+
if (position >= length || keyword[i] != input[position]) {
|
|
4804
4975
|
position = _pos - 1;
|
|
4805
4976
|
fail();
|
|
4806
4977
|
}
|
|
@@ -4893,17 +5064,17 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4893
5064
|
}
|
|
4894
5065
|
function parseNumber() {
|
|
4895
5066
|
position--;
|
|
4896
|
-
var start
|
|
4897
|
-
var to_num = function(is_octal
|
|
4898
|
-
var str
|
|
4899
|
-
if (is_octal
|
|
4900
|
-
else var result = Number(str
|
|
5067
|
+
var start = position, chr = input[position++];
|
|
5068
|
+
var to_num = function(is_octal) {
|
|
5069
|
+
var str = input.substr(start, position - start);
|
|
5070
|
+
if (is_octal) var result = parseInt(str.replace(/^0o?/, ""), 8);
|
|
5071
|
+
else var result = Number(str);
|
|
4901
5072
|
if (Number.isNaN(result)) {
|
|
4902
5073
|
position--;
|
|
4903
|
-
fail("Bad numeric literal - \"" + input.substr(start
|
|
4904
|
-
} else if (!json5 && !str
|
|
5074
|
+
fail("Bad numeric literal - \"" + input.substr(start, position - start + 1) + "\"");
|
|
5075
|
+
} else if (!json5 && !str.match(/^-?(0|[1-9][0-9]*)(\.[0-9]+)?(e[+-]?[0-9]+)?$/i)) {
|
|
4905
5076
|
position--;
|
|
4906
|
-
fail("Non-json numeric literal - \"" + input.substr(start
|
|
5077
|
+
fail("Non-json numeric literal - \"" + input.substr(start, position - start + 1) + "\"");
|
|
4907
5078
|
} else return result;
|
|
4908
5079
|
};
|
|
4909
5080
|
if (chr === "-" || chr === "+" && json5) chr = input[position++];
|
|
@@ -4926,10 +5097,10 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4926
5097
|
if (json5 && (is_octal || is_hex)) {
|
|
4927
5098
|
while (position < length && (is_hex ? isHexDigit : isOctDigit)(input[position])) position++;
|
|
4928
5099
|
var sign = 1;
|
|
4929
|
-
if (input[start
|
|
5100
|
+
if (input[start] === "-") {
|
|
4930
5101
|
sign = -1;
|
|
4931
|
-
start
|
|
4932
|
-
} else if (input[start
|
|
5102
|
+
start++;
|
|
5103
|
+
} else if (input[start] === "+") start++;
|
|
4933
5104
|
return sign * to_num(is_octal);
|
|
4934
5105
|
}
|
|
4935
5106
|
}
|
|
@@ -4977,7 +5148,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4977
5148
|
else if (json5 && isLineTerminator(chr)) newline(chr);
|
|
4978
5149
|
else if (chr === "u" || chr === "x" && json5) {
|
|
4979
5150
|
var off = chr === "u" ? 4 : 2;
|
|
4980
|
-
for (var i
|
|
5151
|
+
for (var i = 0; i < off; i++) {
|
|
4981
5152
|
if (position >= length) fail();
|
|
4982
5153
|
if (!isHexDigit(input[position])) fail("Bad escape sequence");
|
|
4983
5154
|
position++;
|
|
@@ -5048,15 +5219,14 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5048
5219
|
return tokens;
|
|
5049
5220
|
};
|
|
5050
5221
|
}));
|
|
5051
|
-
|
|
5052
5222
|
//#endregion
|
|
5053
5223
|
//#region ../../node_modules/.pnpm/jju@1.4.0/node_modules/jju/lib/stringify.js
|
|
5054
5224
|
var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
5055
5225
|
var Uni = require_unicode();
|
|
5056
5226
|
if (!(function f() {}).name) Object.defineProperty((function() {}).constructor.prototype, "name", { get: function() {
|
|
5057
|
-
var name
|
|
5058
|
-
Object.defineProperty(this, "name", { value: name
|
|
5059
|
-
return name
|
|
5227
|
+
var name = this.toString().match(/^\s*function\s*(\S*)\s*\(/)[1];
|
|
5228
|
+
Object.defineProperty(this, "name", { value: name });
|
|
5229
|
+
return name;
|
|
5060
5230
|
} });
|
|
5061
5231
|
var special_chars = {
|
|
5062
5232
|
0: "\\0",
|
|
@@ -5072,28 +5242,28 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5072
5242
|
var escapable = /[\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/;
|
|
5073
5243
|
function _stringify(object, options, recursiveLvl, currentKey) {
|
|
5074
5244
|
var json5 = options.mode === "json5" || !options.mode;
|
|
5075
|
-
function indent(str
|
|
5245
|
+
function indent(str, add) {
|
|
5076
5246
|
var prefix = options._prefix ? options._prefix : "";
|
|
5077
|
-
if (!options.indent) return prefix + str
|
|
5247
|
+
if (!options.indent) return prefix + str;
|
|
5078
5248
|
var result = "";
|
|
5079
5249
|
var count = recursiveLvl + (add || 0);
|
|
5080
|
-
for (var i
|
|
5081
|
-
return prefix + result + str
|
|
5250
|
+
for (var i = 0; i < count; i++) result += options.indent;
|
|
5251
|
+
return prefix + result + str + (add ? "\n" : "");
|
|
5082
5252
|
}
|
|
5083
5253
|
function _stringify_key(key) {
|
|
5084
5254
|
if (options.quote_keys) return _stringify_str(key);
|
|
5085
5255
|
if (String(Number(key)) == key && key[0] != "-") return key;
|
|
5086
5256
|
if (key == "") return _stringify_str(key);
|
|
5087
5257
|
var result = "";
|
|
5088
|
-
for (var i
|
|
5089
|
-
if (i
|
|
5090
|
-
if (!Uni.isIdentifierPart(key[i
|
|
5091
|
-
} else if (!Uni.isIdentifierStart(key[i
|
|
5092
|
-
var chr = key.charCodeAt(i
|
|
5093
|
-
if (options.ascii) if (chr < 128) result += key[i
|
|
5258
|
+
for (var i = 0; i < key.length; i++) {
|
|
5259
|
+
if (i > 0) {
|
|
5260
|
+
if (!Uni.isIdentifierPart(key[i])) return _stringify_str(key);
|
|
5261
|
+
} else if (!Uni.isIdentifierStart(key[i])) return _stringify_str(key);
|
|
5262
|
+
var chr = key.charCodeAt(i);
|
|
5263
|
+
if (options.ascii) if (chr < 128) result += key[i];
|
|
5094
5264
|
else result += "\\u" + ("0000" + chr.toString(16)).slice(-4);
|
|
5095
|
-
else if (escapable.exec(key[i
|
|
5096
|
-
else result += key[i
|
|
5265
|
+
else if (escapable.exec(key[i])) result += "\\u" + ("0000" + chr.toString(16)).slice(-4);
|
|
5266
|
+
else result += key[i];
|
|
5097
5267
|
}
|
|
5098
5268
|
return result;
|
|
5099
5269
|
}
|
|
@@ -5101,24 +5271,24 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5101
5271
|
var quote = options.quote;
|
|
5102
5272
|
var quoteChr = quote.charCodeAt(0);
|
|
5103
5273
|
var result = "";
|
|
5104
|
-
for (var i
|
|
5105
|
-
var chr = key.charCodeAt(i
|
|
5274
|
+
for (var i = 0; i < key.length; i++) {
|
|
5275
|
+
var chr = key.charCodeAt(i);
|
|
5106
5276
|
if (chr < 16) if (chr === 0 && json5) result += "\\0";
|
|
5107
5277
|
else if (chr >= 8 && chr <= 13 && (json5 || chr !== 11)) result += special_chars[chr];
|
|
5108
5278
|
else if (json5) result += "\\x0" + chr.toString(16);
|
|
5109
5279
|
else result += "\\u000" + chr.toString(16);
|
|
5110
5280
|
else if (chr < 32) if (json5) result += "\\x" + chr.toString(16);
|
|
5111
5281
|
else result += "\\u00" + chr.toString(16);
|
|
5112
|
-
else if (chr >= 32 && chr < 128) if (chr === 47 && i
|
|
5282
|
+
else if (chr >= 32 && chr < 128) if (chr === 47 && i && key[i - 1] === "<") result += "\\" + key[i];
|
|
5113
5283
|
else if (chr === 92) result += "\\\\";
|
|
5114
5284
|
else if (chr === quoteChr) result += "\\" + quote;
|
|
5115
|
-
else result += key[i
|
|
5116
|
-
else if (options.ascii || Uni.isLineTerminator(key[i
|
|
5285
|
+
else result += key[i];
|
|
5286
|
+
else if (options.ascii || Uni.isLineTerminator(key[i]) || escapable.exec(key[i])) if (chr < 256) if (json5) result += "\\x" + chr.toString(16);
|
|
5117
5287
|
else result += "\\u00" + chr.toString(16);
|
|
5118
5288
|
else if (chr < 4096) result += "\\u0" + chr.toString(16);
|
|
5119
5289
|
else if (chr < 65536) result += "\\u" + chr.toString(16);
|
|
5120
5290
|
else throw Error("weird codepoint");
|
|
5121
|
-
else result += key[i
|
|
5291
|
+
else result += key[i];
|
|
5122
5292
|
}
|
|
5123
5293
|
return quote + result + quote;
|
|
5124
5294
|
}
|
|
@@ -5127,8 +5297,8 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5127
5297
|
var result = [], len = 0, braces;
|
|
5128
5298
|
if (Array.isArray(object)) {
|
|
5129
5299
|
braces = "[]";
|
|
5130
|
-
for (var i
|
|
5131
|
-
var s = _stringify(object[i
|
|
5300
|
+
for (var i = 0; i < object.length; i++) {
|
|
5301
|
+
var s = _stringify(object[i], options, recursiveLvl + 1, String(i));
|
|
5132
5302
|
if (s === void 0) s = "null";
|
|
5133
5303
|
len += s.length + 2;
|
|
5134
5304
|
result.push(s + ",");
|
|
@@ -5144,7 +5314,7 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5144
5314
|
}
|
|
5145
5315
|
};
|
|
5146
5316
|
if (Array.isArray(options.replacer)) {
|
|
5147
|
-
for (var i
|
|
5317
|
+
for (var i = 0; i < options.replacer.length; i++) if (hasOwnProperty.call(object, options.replacer[i])) fn(options.replacer[i]);
|
|
5148
5318
|
} else {
|
|
5149
5319
|
var keys = Object.keys(object);
|
|
5150
5320
|
if (options.sort_keys) keys = keys.sort(typeof options.sort_keys === "function" ? options.sort_keys : void 0);
|
|
@@ -5164,26 +5334,25 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5164
5334
|
return braces[0] + innerStuff + braces[1];
|
|
5165
5335
|
}
|
|
5166
5336
|
}
|
|
5167
|
-
function _stringify_nonobject(object
|
|
5168
|
-
if (typeof options.replacer === "function") object
|
|
5169
|
-
switch (typeof object
|
|
5170
|
-
case "string": return _stringify_str(object
|
|
5337
|
+
function _stringify_nonobject(object) {
|
|
5338
|
+
if (typeof options.replacer === "function") object = options.replacer.call(null, currentKey, object);
|
|
5339
|
+
switch (typeof object) {
|
|
5340
|
+
case "string": return _stringify_str(object);
|
|
5171
5341
|
case "number":
|
|
5172
|
-
if (object
|
|
5173
|
-
if (!json5 && !Number.isFinite(object
|
|
5174
|
-
return object
|
|
5175
|
-
case "boolean": return object
|
|
5342
|
+
if (object === 0 && 1 / object < 0) return "-0";
|
|
5343
|
+
if (!json5 && !Number.isFinite(object)) return "null";
|
|
5344
|
+
return object.toString();
|
|
5345
|
+
case "boolean": return object.toString();
|
|
5176
5346
|
case "undefined": return;
|
|
5177
|
-
|
|
5178
|
-
default: return JSON.stringify(object$1);
|
|
5347
|
+
default: return JSON.stringify(object);
|
|
5179
5348
|
}
|
|
5180
5349
|
}
|
|
5181
5350
|
if (options._stringify_key) return _stringify_key(object);
|
|
5182
5351
|
if (typeof object === "object") {
|
|
5183
5352
|
if (object === null) return "null";
|
|
5184
|
-
var str
|
|
5185
|
-
if (typeof (str
|
|
5186
|
-
else if (typeof (str
|
|
5353
|
+
var str;
|
|
5354
|
+
if (typeof (str = object.toJSON5) === "function" && options.mode !== "json") object = str.call(object, currentKey);
|
|
5355
|
+
else if (typeof (str = object.toJSON) === "function") object = str.call(object, currentKey);
|
|
5187
5356
|
if (object === null) return "null";
|
|
5188
5357
|
if (typeof object !== "object") return _stringify_nonobject(object);
|
|
5189
5358
|
if (object.constructor === Number || object.constructor === Boolean || object.constructor === String) {
|
|
@@ -5223,7 +5392,6 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5223
5392
|
return _stringify(object, options, 0, "");
|
|
5224
5393
|
};
|
|
5225
5394
|
}));
|
|
5226
|
-
|
|
5227
5395
|
//#endregion
|
|
5228
5396
|
//#region ../../node_modules/.pnpm/jju@1.4.0/node_modules/jju/lib/analyze.js
|
|
5229
5397
|
var require_analyze = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
@@ -5246,31 +5414,31 @@ var require_analyze = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5246
5414
|
newline: {},
|
|
5247
5415
|
quote: {}
|
|
5248
5416
|
};
|
|
5249
|
-
for (var i
|
|
5250
|
-
if (input[i
|
|
5251
|
-
if (input[i
|
|
5252
|
-
if (input[i
|
|
5253
|
-
if (input[i
|
|
5254
|
-
var ws_len = input[i
|
|
5255
|
-
var indent_len = input[i
|
|
5417
|
+
for (var i = 0; i < input.length; i++) {
|
|
5418
|
+
if (input[i].type === "newline") {
|
|
5419
|
+
if (input[i + 1] && input[i + 1].type === "whitespace") {
|
|
5420
|
+
if (input[i + 1].raw[0] === " ") stats.indent[" "] = (stats.indent[" "] || 0) + 1;
|
|
5421
|
+
if (input[i + 1].raw.match(/^\x20+$/)) {
|
|
5422
|
+
var ws_len = input[i + 1].raw.length;
|
|
5423
|
+
var indent_len = input[i + 1].stack.length + 1;
|
|
5256
5424
|
if (ws_len % indent_len === 0) {
|
|
5257
5425
|
var t = Array(ws_len / indent_len + 1).join(" ");
|
|
5258
5426
|
stats.indent[t] = (stats.indent[t] || 0) + 1;
|
|
5259
5427
|
}
|
|
5260
5428
|
}
|
|
5261
5429
|
}
|
|
5262
|
-
stats.newline[input[i
|
|
5430
|
+
stats.newline[input[i].raw] = (stats.newline[input[i].raw] || 0) + 1;
|
|
5263
5431
|
}
|
|
5264
|
-
if (input[i
|
|
5265
|
-
if (input[i
|
|
5266
|
-
if (input[i
|
|
5267
|
-
if (input[i
|
|
5268
|
-
if (input[i
|
|
5432
|
+
if (input[i].type === "newline") result.has_newlines = true;
|
|
5433
|
+
if (input[i].type === "whitespace") result.has_whitespace = true;
|
|
5434
|
+
if (input[i].type === "comment") result.has_comments = true;
|
|
5435
|
+
if (input[i].type === "key") {
|
|
5436
|
+
if (input[i].raw[0] !== "\"" && input[i].raw[0] !== "'") result.quote_keys = false;
|
|
5269
5437
|
}
|
|
5270
|
-
if (input[i
|
|
5271
|
-
if (input[i
|
|
5438
|
+
if (input[i].type === "key" || input[i].type === "literal") {
|
|
5439
|
+
if (input[i].raw[0] === "\"" || input[i].raw[0] === "'") stats.quote[input[i].raw[0]] = (stats.quote[input[i].raw[0]] || 0) + 1;
|
|
5272
5440
|
}
|
|
5273
|
-
if (input[i
|
|
5441
|
+
if (input[i].type === "separator" && input[i].raw === ",") for (var j = i + 1; j < input.length; j++) {
|
|
5274
5442
|
if (input[j].type === "literal" || input[j].type === "key") break;
|
|
5275
5443
|
if (input[j].type === "separator") result.has_trailing_comma = true;
|
|
5276
5444
|
}
|
|
@@ -5281,7 +5449,6 @@ var require_analyze = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5281
5449
|
return result;
|
|
5282
5450
|
};
|
|
5283
5451
|
}));
|
|
5284
|
-
|
|
5285
5452
|
//#endregion
|
|
5286
5453
|
//#region ../../node_modules/.pnpm/jju@1.4.0/node_modules/jju/lib/document.js
|
|
5287
5454
|
var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
@@ -5312,12 +5479,12 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5312
5479
|
result.data = null;
|
|
5313
5480
|
return result;
|
|
5314
5481
|
}
|
|
5315
|
-
function arg_to_path(path
|
|
5316
|
-
if (typeof path
|
|
5317
|
-
if (path
|
|
5318
|
-
if (typeof path
|
|
5319
|
-
if (!Array.isArray(path
|
|
5320
|
-
return path
|
|
5482
|
+
function arg_to_path(path) {
|
|
5483
|
+
if (typeof path === "number") path = String(path);
|
|
5484
|
+
if (path === "") path = [];
|
|
5485
|
+
if (typeof path === "string") path = path.split(".");
|
|
5486
|
+
if (!Array.isArray(path)) throw Error("Invalid path type, string or array expected");
|
|
5487
|
+
return path;
|
|
5321
5488
|
}
|
|
5322
5489
|
function find_element_in_tokenlist(element, lvl, tokens, begin, end) {
|
|
5323
5490
|
while (tokens[begin].stack[lvl] != element) if (begin++ >= end) return false;
|
|
@@ -5402,23 +5569,23 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5402
5569
|
} else throw error(" of an array");
|
|
5403
5570
|
else return true;
|
|
5404
5571
|
}
|
|
5405
|
-
Document.prototype.set = function(path
|
|
5406
|
-
path
|
|
5407
|
-
if (path
|
|
5572
|
+
Document.prototype.set = function(path, value) {
|
|
5573
|
+
path = arg_to_path(path);
|
|
5574
|
+
if (path.length === 0) {
|
|
5408
5575
|
if (value === void 0) throw Error("can't remove root document");
|
|
5409
5576
|
this._data = value;
|
|
5410
5577
|
var new_key = false;
|
|
5411
5578
|
} else {
|
|
5412
5579
|
var data = this._data;
|
|
5413
|
-
for (var i
|
|
5414
|
-
check_if_can_be_placed(path
|
|
5415
|
-
data = data[path
|
|
5580
|
+
for (var i = 0; i < path.length - 1; i++) {
|
|
5581
|
+
check_if_can_be_placed(path[i], data, false);
|
|
5582
|
+
data = data[path[i]];
|
|
5416
5583
|
}
|
|
5417
|
-
if (i
|
|
5418
|
-
var new_key = !(path
|
|
5584
|
+
if (i === path.length - 1) check_if_can_be_placed(path[i], data, value === void 0);
|
|
5585
|
+
var new_key = !(path[i] in data);
|
|
5419
5586
|
if (value === void 0) if (Array.isArray(data)) data.pop();
|
|
5420
|
-
else delete data[path
|
|
5421
|
-
else data[path
|
|
5587
|
+
else delete data[path[i]];
|
|
5588
|
+
else data[path[i]] = value;
|
|
5422
5589
|
}
|
|
5423
5590
|
if (!this._tokens.length) this._tokens = [{
|
|
5424
5591
|
raw: "",
|
|
@@ -5427,14 +5594,14 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5427
5594
|
value: void 0
|
|
5428
5595
|
}];
|
|
5429
5596
|
var position = [find_first_non_ws_token(this._tokens, 0, this._tokens.length - 1), find_last_non_ws_token(this._tokens, 0, this._tokens.length - 1)];
|
|
5430
|
-
for (var i
|
|
5431
|
-
position = find_element_in_tokenlist(path
|
|
5597
|
+
for (var i = 0; i < path.length - 1; i++) {
|
|
5598
|
+
position = find_element_in_tokenlist(path[i], i, this._tokens, position[0], position[1]);
|
|
5432
5599
|
if (position == false) throw Error("internal error, please report this");
|
|
5433
5600
|
}
|
|
5434
|
-
if (path
|
|
5601
|
+
if (path.length === 0) var newtokens = value_to_tokenlist(value, path, this._options);
|
|
5435
5602
|
else if (!new_key) {
|
|
5436
5603
|
var pos_old = position;
|
|
5437
|
-
position = find_element_in_tokenlist(path
|
|
5604
|
+
position = find_element_in_tokenlist(path[i], i, this._tokens, position[0], position[1]);
|
|
5438
5605
|
if (value === void 0 && position !== false) {
|
|
5439
5606
|
var newtokens = [];
|
|
5440
5607
|
if (!Array.isArray(data)) {
|
|
@@ -5444,7 +5611,7 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5444
5611
|
position[0] = pos2;
|
|
5445
5612
|
var pos2 = find_last_non_ws_token(this._tokens, pos_old[0], position[0] - 1);
|
|
5446
5613
|
assert.equal(this._tokens[pos2].type, "key");
|
|
5447
|
-
assert.equal(this._tokens[pos2].value, path
|
|
5614
|
+
assert.equal(this._tokens[pos2].value, path[path.length - 1]);
|
|
5448
5615
|
position[0] = pos2;
|
|
5449
5616
|
}
|
|
5450
5617
|
var pos2 = find_last_non_ws_token(this._tokens, pos_old[0], position[0] - 1);
|
|
@@ -5456,20 +5623,20 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5456
5623
|
if (this._tokens[pos2].raw === ",") position[1] = pos2;
|
|
5457
5624
|
}
|
|
5458
5625
|
} else {
|
|
5459
|
-
var indent = pos2 !== false ? detect_indent_style(this._tokens, Array.isArray(data), pos_old[0], position[1] - 1, i
|
|
5460
|
-
var newtokens = value_to_tokenlist(value, path
|
|
5626
|
+
var indent = pos2 !== false ? detect_indent_style(this._tokens, Array.isArray(data), pos_old[0], position[1] - 1, i) : {};
|
|
5627
|
+
var newtokens = value_to_tokenlist(value, path, this._options, false, indent);
|
|
5461
5628
|
}
|
|
5462
5629
|
} else {
|
|
5463
|
-
var path_1 = path
|
|
5630
|
+
var path_1 = path.slice(0, i);
|
|
5464
5631
|
var pos2 = find_last_non_ws_token(this._tokens, position[0] + 1, position[1] - 1);
|
|
5465
5632
|
assert(pos2 !== false);
|
|
5466
|
-
var indent = pos2 !== false ? detect_indent_style(this._tokens, Array.isArray(data), position[0] + 1, pos2, i
|
|
5467
|
-
var newtokens = value_to_tokenlist(value, path
|
|
5633
|
+
var indent = pos2 !== false ? detect_indent_style(this._tokens, Array.isArray(data), position[0] + 1, pos2, i) : {};
|
|
5634
|
+
var newtokens = value_to_tokenlist(value, path, this._options, false, indent);
|
|
5468
5635
|
var prefix = [];
|
|
5469
5636
|
if (indent.newline && indent.newline.length) prefix = prefix.concat(indent.newline);
|
|
5470
5637
|
if (indent.prefix && indent.prefix.length) prefix = prefix.concat(indent.prefix);
|
|
5471
5638
|
if (!Array.isArray(data)) {
|
|
5472
|
-
prefix = prefix.concat(value_to_tokenlist(path
|
|
5639
|
+
prefix = prefix.concat(value_to_tokenlist(path[path.length - 1], path_1, this._options, true));
|
|
5473
5640
|
if (indent.sep1 && indent.sep1.length) prefix = prefix.concat(indent.sep1);
|
|
5474
5641
|
prefix.push({
|
|
5475
5642
|
raw: ":",
|
|
@@ -5479,7 +5646,7 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5479
5646
|
if (indent.sep2 && indent.sep2.length) prefix = prefix.concat(indent.sep2);
|
|
5480
5647
|
}
|
|
5481
5648
|
newtokens.unshift.apply(newtokens, prefix);
|
|
5482
|
-
if (this._tokens[pos2].type === "separator" && this._tokens[pos2].stack.length === path
|
|
5649
|
+
if (this._tokens[pos2].type === "separator" && this._tokens[pos2].stack.length === path.length - 1) {
|
|
5483
5650
|
if (this._tokens[pos2].raw === ",") newtokens.push({
|
|
5484
5651
|
raw: ",",
|
|
5485
5652
|
type: "separator",
|
|
@@ -5500,24 +5667,24 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5500
5667
|
this._tokens.splice.apply(this._tokens, newtokens);
|
|
5501
5668
|
return this;
|
|
5502
5669
|
};
|
|
5503
|
-
Document.prototype.unset = function(path
|
|
5504
|
-
return this.set(path
|
|
5670
|
+
Document.prototype.unset = function(path) {
|
|
5671
|
+
return this.set(path, void 0);
|
|
5505
5672
|
};
|
|
5506
|
-
Document.prototype.get = function(path
|
|
5507
|
-
path
|
|
5673
|
+
Document.prototype.get = function(path) {
|
|
5674
|
+
path = arg_to_path(path);
|
|
5508
5675
|
var data = this._data;
|
|
5509
|
-
for (var i
|
|
5676
|
+
for (var i = 0; i < path.length; i++) {
|
|
5510
5677
|
if (!isObject(data)) return void 0;
|
|
5511
|
-
data = data[path
|
|
5678
|
+
data = data[path[i]];
|
|
5512
5679
|
}
|
|
5513
5680
|
return data;
|
|
5514
5681
|
};
|
|
5515
|
-
Document.prototype.has = function(path
|
|
5516
|
-
path
|
|
5682
|
+
Document.prototype.has = function(path) {
|
|
5683
|
+
path = arg_to_path(path);
|
|
5517
5684
|
var data = this._data;
|
|
5518
|
-
for (var i
|
|
5685
|
+
for (var i = 0; i < path.length; i++) {
|
|
5519
5686
|
if (!isObject(data)) return false;
|
|
5520
|
-
data = data[path
|
|
5687
|
+
data = data[path[i]];
|
|
5521
5688
|
}
|
|
5522
5689
|
return data !== void 0;
|
|
5523
5690
|
};
|
|
@@ -5525,31 +5692,31 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5525
5692
|
var self = this;
|
|
5526
5693
|
change([], self._data, value);
|
|
5527
5694
|
return self;
|
|
5528
|
-
function change(path
|
|
5695
|
+
function change(path, old_data, new_data) {
|
|
5529
5696
|
if (!isObject(new_data) || !isObject(old_data)) {
|
|
5530
|
-
if (new_data !== old_data) self.set(path
|
|
5531
|
-
} else if (Array.isArray(new_data) != Array.isArray(old_data)) self.set(path
|
|
5532
|
-
else if (Array.isArray(new_data)) if (new_data.length > old_data.length) for (var i
|
|
5533
|
-
path
|
|
5534
|
-
change(path
|
|
5535
|
-
path
|
|
5536
|
-
}
|
|
5537
|
-
else for (var i
|
|
5538
|
-
path
|
|
5539
|
-
change(path
|
|
5540
|
-
path
|
|
5697
|
+
if (new_data !== old_data) self.set(path, new_data);
|
|
5698
|
+
} else if (Array.isArray(new_data) != Array.isArray(old_data)) self.set(path, new_data);
|
|
5699
|
+
else if (Array.isArray(new_data)) if (new_data.length > old_data.length) for (var i = 0; i < new_data.length; i++) {
|
|
5700
|
+
path.push(String(i));
|
|
5701
|
+
change(path, old_data[i], new_data[i]);
|
|
5702
|
+
path.pop();
|
|
5703
|
+
}
|
|
5704
|
+
else for (var i = old_data.length - 1; i >= 0; i--) {
|
|
5705
|
+
path.push(String(i));
|
|
5706
|
+
change(path, old_data[i], new_data[i]);
|
|
5707
|
+
path.pop();
|
|
5541
5708
|
}
|
|
5542
5709
|
else {
|
|
5543
|
-
for (var i
|
|
5544
|
-
path
|
|
5545
|
-
change(path
|
|
5546
|
-
path
|
|
5710
|
+
for (var i in new_data) {
|
|
5711
|
+
path.push(String(i));
|
|
5712
|
+
change(path, old_data[i], new_data[i]);
|
|
5713
|
+
path.pop();
|
|
5547
5714
|
}
|
|
5548
|
-
for (var i
|
|
5549
|
-
if (i
|
|
5550
|
-
path
|
|
5551
|
-
change(path
|
|
5552
|
-
path
|
|
5715
|
+
for (var i in old_data) {
|
|
5716
|
+
if (i in new_data) continue;
|
|
5717
|
+
path.push(String(i));
|
|
5718
|
+
change(path, old_data[i], new_data[i]);
|
|
5719
|
+
path.pop();
|
|
5553
5720
|
}
|
|
5554
5721
|
}
|
|
5555
5722
|
}
|
|
@@ -5564,7 +5731,6 @@ var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5564
5731
|
return Document(source, options).update(new_value).toString();
|
|
5565
5732
|
};
|
|
5566
5733
|
}));
|
|
5567
|
-
|
|
5568
5734
|
//#endregion
|
|
5569
5735
|
//#region ../../node_modules/.pnpm/jju@1.4.0/node_modules/jju/lib/utils.js
|
|
5570
5736
|
var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
@@ -5599,7 +5765,6 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5599
5765
|
};
|
|
5600
5766
|
};
|
|
5601
5767
|
}));
|
|
5602
|
-
|
|
5603
5768
|
//#endregion
|
|
5604
5769
|
//#region ../../node_modules/.pnpm/jju@1.4.0/node_modules/jju/index.js
|
|
5605
5770
|
var require_jju = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
@@ -5629,7 +5794,6 @@ var require_jju = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5629
5794
|
"scripts": {"postinstall": "js-yaml package.yaml > package.json ; npm install"}
|
|
5630
5795
|
}
|
|
5631
5796
|
**/
|
|
5632
|
-
|
|
5633
5797
|
//#endregion
|
|
5634
5798
|
//#region ../../node_modules/.pnpm/@manypkg+tools@2.1.0/node_modules/@manypkg/tools/dist/manypkg-tools.js
|
|
5635
5799
|
var import_jju = /* @__PURE__ */ __toESM(require_jju(), 1);
|
|
@@ -5731,7 +5895,7 @@ function hasBunLockFileSync(directory) {
|
|
|
5731
5895
|
try {
|
|
5732
5896
|
fs$1.accessSync(path$2.join(directory, "bun.lock"), F_OK);
|
|
5733
5897
|
return true;
|
|
5734
|
-
} catch (err
|
|
5898
|
+
} catch (err) {
|
|
5735
5899
|
return false;
|
|
5736
5900
|
}
|
|
5737
5901
|
}
|
|
@@ -5931,11 +6095,11 @@ const NpmTool = {
|
|
|
5931
6095
|
}
|
|
5932
6096
|
}
|
|
5933
6097
|
};
|
|
5934
|
-
async function readYamlFile(path
|
|
5935
|
-
return fsp.readFile(path
|
|
6098
|
+
async function readYamlFile(path) {
|
|
6099
|
+
return fsp.readFile(path, "utf8").then((data) => jsYaml.load(data));
|
|
5936
6100
|
}
|
|
5937
|
-
function readYamlFileSync(path
|
|
5938
|
-
return jsYaml.load(fs.readFileSync(path
|
|
6101
|
+
function readYamlFileSync(path) {
|
|
6102
|
+
return jsYaml.load(fs.readFileSync(path, "utf8"));
|
|
5939
6103
|
}
|
|
5940
6104
|
const PnpmTool = {
|
|
5941
6105
|
type: "pnpm",
|
|
@@ -6176,7 +6340,6 @@ const YarnTool = {
|
|
|
6176
6340
|
}
|
|
6177
6341
|
}
|
|
6178
6342
|
};
|
|
6179
|
-
|
|
6180
6343
|
//#endregion
|
|
6181
6344
|
//#region ../../node_modules/.pnpm/@manypkg+find-root@3.1.0/node_modules/@manypkg/find-root/dist/manypkg-find-root.js
|
|
6182
6345
|
/**
|
|
@@ -6261,7 +6424,6 @@ async function findUp(matcher, cwd) {
|
|
|
6261
6424
|
directory = path.dirname(directory);
|
|
6262
6425
|
}
|
|
6263
6426
|
}
|
|
6264
|
-
|
|
6265
6427
|
//#endregion
|
|
6266
6428
|
//#region ../../node_modules/.pnpm/@manypkg+get-packages@3.1.0/node_modules/@manypkg/get-packages/dist/manypkg-get-packages.js
|
|
6267
6429
|
var PackageJsonMissingNameError = class extends Error {
|
|
@@ -6298,15 +6460,14 @@ function validatePackages(packages) {
|
|
|
6298
6460
|
throw new PackageJsonMissingNameError(pkgJsonsMissingNameField);
|
|
6299
6461
|
}
|
|
6300
6462
|
}
|
|
6301
|
-
|
|
6302
6463
|
//#endregion
|
|
6303
6464
|
//#region src/cli/utils/get-emails-directory-metadata.ts
|
|
6304
6465
|
const isFileAnEmail = async (fullPath) => {
|
|
6305
6466
|
let fileHandle;
|
|
6306
6467
|
try {
|
|
6307
6468
|
fileHandle = await fs.promises.open(fullPath, "r");
|
|
6308
|
-
} catch (exception
|
|
6309
|
-
console.warn(exception
|
|
6469
|
+
} catch (exception) {
|
|
6470
|
+
console.warn(exception);
|
|
6310
6471
|
return false;
|
|
6311
6472
|
}
|
|
6312
6473
|
if ((await fileHandle.stat()).isDirectory()) {
|
|
@@ -6344,7 +6505,7 @@ const getEmailsDirectoryMetadata = async (absolutePathToEmailsDirectory, keepFil
|
|
|
6344
6505
|
if (!fs.existsSync(absolutePathToEmailsDirectory)) return;
|
|
6345
6506
|
const dirents = await fs.promises.readdir(absolutePathToEmailsDirectory, { withFileTypes: true });
|
|
6346
6507
|
const isEmailPredicates = await Promise.all(dirents.map((dirent) => isFileAnEmail(path.join(absolutePathToEmailsDirectory, dirent.name))));
|
|
6347
|
-
const emailFilenames = dirents.filter((_, i
|
|
6508
|
+
const emailFilenames = dirents.filter((_, i) => isEmailPredicates[i]).map((dirent) => keepFileExtensions ? dirent.name : dirent.name.replace(path.extname(dirent.name), ""));
|
|
6348
6509
|
const subDirectories = await Promise.all(dirents.filter((dirent) => dirent.isDirectory() && !dirent.name.startsWith("_") && dirent.name !== "static").map((dirent) => {
|
|
6349
6510
|
return getEmailsDirectoryMetadata(path.join(absolutePathToEmailsDirectory, dirent.name), keepFileExtensions, true, baseDirectoryPath);
|
|
6350
6511
|
}));
|
|
@@ -6357,20 +6518,21 @@ const getEmailsDirectoryMetadata = async (absolutePathToEmailsDirectory, keepFil
|
|
|
6357
6518
|
};
|
|
6358
6519
|
return isSubDirectory ? mergeDirectoriesWithSubDirectories(emailsMetadata) : emailsMetadata;
|
|
6359
6520
|
};
|
|
6360
|
-
|
|
6361
6521
|
//#endregion
|
|
6362
6522
|
//#region package.json
|
|
6363
6523
|
var package_default = {
|
|
6364
6524
|
name: "react-email",
|
|
6365
|
-
version: "6.0.
|
|
6525
|
+
version: "6.0.1",
|
|
6366
6526
|
description: "A live preview of your emails right in your browser.",
|
|
6367
6527
|
bin: { "email": "./dist/cli/index.mjs" },
|
|
6368
6528
|
type: "module",
|
|
6529
|
+
types: "./dist/index.d.mts",
|
|
6369
6530
|
scripts: {
|
|
6370
6531
|
"build": "tsdown",
|
|
6371
6532
|
"build:watch": "tsdown --watch src",
|
|
6372
6533
|
"clean": "rm -rf dist",
|
|
6373
6534
|
"test": "vitest run",
|
|
6535
|
+
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
6374
6536
|
"test:watch": "vitest",
|
|
6375
6537
|
"typecheck": "tsc --noEmit"
|
|
6376
6538
|
},
|
|
@@ -6395,11 +6557,11 @@ var package_default = {
|
|
|
6395
6557
|
dependencies: {
|
|
6396
6558
|
"@babel/parser": "catalog:",
|
|
6397
6559
|
"@babel/traverse": "catalog:",
|
|
6398
|
-
"@react-email/render": "workspace:>=2.0.7
|
|
6560
|
+
"@react-email/render": "workspace:>=2.0.7",
|
|
6399
6561
|
"chokidar": "^4.0.3",
|
|
6400
6562
|
"commander": "catalog:",
|
|
6401
6563
|
"conf": "^15.0.2",
|
|
6402
|
-
"css-tree": "3.1
|
|
6564
|
+
"css-tree": "3.2.1",
|
|
6403
6565
|
"debounce": "^2.0.0",
|
|
6404
6566
|
"esbuild": "catalog:",
|
|
6405
6567
|
"glob": "^13.0.6",
|
|
@@ -6424,15 +6586,17 @@ var package_default = {
|
|
|
6424
6586
|
"@types/css-tree": "catalog:",
|
|
6425
6587
|
"@types/mime-types": "catalog:",
|
|
6426
6588
|
"@types/prompts": "2.4.9",
|
|
6589
|
+
"@types/shelljs": "0.10.0",
|
|
6427
6590
|
"next": "catalog:",
|
|
6428
6591
|
"react": "catalog:",
|
|
6429
6592
|
"react-dom": "catalog:",
|
|
6593
|
+
"shelljs": "0.10.0",
|
|
6430
6594
|
"shlex": "3.0.0",
|
|
6431
6595
|
"tsx": "catalog:",
|
|
6432
|
-
"typescript": "catalog:"
|
|
6596
|
+
"typescript": "catalog:",
|
|
6597
|
+
"yalc": "catalog:"
|
|
6433
6598
|
}
|
|
6434
6599
|
};
|
|
6435
|
-
|
|
6436
6600
|
//#endregion
|
|
6437
6601
|
//#region src/cli/utils/get-ui-location.ts
|
|
6438
6602
|
const ensurePreviewServerInstalled = async (message) => {
|
|
@@ -6455,11 +6619,10 @@ const getUiLocation = async () => {
|
|
|
6455
6619
|
} catch (_exception) {
|
|
6456
6620
|
await ensurePreviewServerInstalled("To run the preview server, the package \"@react-email/ui\" must be installed. Would you like to install it?");
|
|
6457
6621
|
}
|
|
6458
|
-
const { version
|
|
6459
|
-
if (version
|
|
6622
|
+
const { version } = await usersProject.import("@react-email/ui");
|
|
6623
|
+
if (version !== package_default.version) await ensurePreviewServerInstalled(`To run the preview server, the version of "@react-email/ui" must match the version of "react-email" (${package_default.version}). Would you like to install it?`);
|
|
6460
6624
|
return previewServerLocation;
|
|
6461
6625
|
};
|
|
6462
|
-
|
|
6463
6626
|
//#endregion
|
|
6464
6627
|
//#region src/cli/utils/register-spinner-autostopping.ts
|
|
6465
6628
|
const spinners = /* @__PURE__ */ new Set();
|
|
@@ -6476,7 +6639,6 @@ process.on("exit", (code) => {
|
|
|
6476
6639
|
const registerSpinnerAutostopping = (spinner) => {
|
|
6477
6640
|
spinners.add(spinner);
|
|
6478
6641
|
};
|
|
6479
|
-
|
|
6480
6642
|
//#endregion
|
|
6481
6643
|
//#region src/cli/commands/build.ts
|
|
6482
6644
|
const isInReactEmailMonorepo = !path.dirname(fileURLToPath(import.meta.url)).includes("node_modules");
|
|
@@ -6542,7 +6704,7 @@ const updatePackageJson = async (builtUiPath) => {
|
|
|
6542
6704
|
packageJson.scripts.start = "cross-env NODE_OPTIONS=\"--experimental-vm-modules --disable-warning=ExperimentalWarning\" next start";
|
|
6543
6705
|
delete packageJson.scripts.postbuild;
|
|
6544
6706
|
packageJson.name = "ui";
|
|
6545
|
-
for (const [dependency, version
|
|
6707
|
+
for (const [dependency, version] of Object.entries(packageJson.devDependencies)) packageJson.devDependencies[dependency] = version.replace("workspace:", "");
|
|
6546
6708
|
await fs.promises.writeFile(packageJsonPath, JSON.stringify(packageJson), "utf8");
|
|
6547
6709
|
};
|
|
6548
6710
|
const build$1 = async ({ dir: emailsDirRelativePath, packageManager }) => {
|
|
@@ -6603,7 +6765,6 @@ const build$1 = async ({ dir: emailsDirRelativePath, packageManager }) => {
|
|
|
6603
6765
|
process.exit(1);
|
|
6604
6766
|
}
|
|
6605
6767
|
};
|
|
6606
|
-
|
|
6607
6768
|
//#endregion
|
|
6608
6769
|
//#region src/cli/utils/preview/hot-reloading/get-imported-modules.ts
|
|
6609
6770
|
const traverse = typeof traverseModule === "function" ? traverseModule : traverseModule.default;
|
|
@@ -6642,7 +6803,6 @@ const getImportedModules = (contents) => {
|
|
|
6642
6803
|
});
|
|
6643
6804
|
return importedPaths;
|
|
6644
6805
|
};
|
|
6645
|
-
|
|
6646
6806
|
//#endregion
|
|
6647
6807
|
//#region src/cli/utils/preview/hot-reloading/resolve-path-aliases.ts
|
|
6648
6808
|
const resolvePathAliases = (importPaths, projectPath) => {
|
|
@@ -6664,7 +6824,6 @@ const resolvePathAliases = (importPaths, projectPath) => {
|
|
|
6664
6824
|
}
|
|
6665
6825
|
return importPaths;
|
|
6666
6826
|
};
|
|
6667
|
-
|
|
6668
6827
|
//#endregion
|
|
6669
6828
|
//#region src/cli/utils/preview/hot-reloading/create-dependency-graph.ts
|
|
6670
6829
|
const readAllFilesInsideDirectory = async (directory) => {
|
|
@@ -6707,8 +6866,8 @@ const checkFileExtensionsUntilItExists = (pathWithoutExtension) => {
|
|
|
6707
6866
|
*/
|
|
6708
6867
|
const createDependencyGraph = async (directory) => {
|
|
6709
6868
|
const modulePaths = (await readAllFilesInsideDirectory(directory)).filter(isJavascriptModule);
|
|
6710
|
-
const graph = Object.fromEntries(modulePaths.map((path
|
|
6711
|
-
path
|
|
6869
|
+
const graph = Object.fromEntries(modulePaths.map((path) => [path, {
|
|
6870
|
+
path,
|
|
6712
6871
|
dependencyPaths: [],
|
|
6713
6872
|
dependentPaths: [],
|
|
6714
6873
|
moduleDependencies: []
|
|
@@ -6767,9 +6926,9 @@ const createDependencyGraph = async (directory) => {
|
|
|
6767
6926
|
};
|
|
6768
6927
|
for (const filePath of modulePaths) await updateModuleDependenciesInGraph(filePath);
|
|
6769
6928
|
const removeModuleFromGraph = (filePath) => {
|
|
6770
|
-
const module
|
|
6771
|
-
if (module
|
|
6772
|
-
for (const dependencyPath of module
|
|
6929
|
+
const module = graph[filePath];
|
|
6930
|
+
if (module) {
|
|
6931
|
+
for (const dependencyPath of module.dependencyPaths) if (graph[dependencyPath]) graph[dependencyPath].dependentPaths = graph[dependencyPath].dependentPaths.filter((dependentPath) => dependentPath !== filePath);
|
|
6773
6932
|
delete graph[filePath];
|
|
6774
6933
|
}
|
|
6775
6934
|
};
|
|
@@ -6814,12 +6973,11 @@ const createDependencyGraph = async (directory) => {
|
|
|
6814
6973
|
} }
|
|
6815
6974
|
];
|
|
6816
6975
|
};
|
|
6817
|
-
|
|
6818
6976
|
//#endregion
|
|
6819
6977
|
//#region src/cli/utils/preview/hot-reloading/setup-hot-reloading.ts
|
|
6820
|
-
const setupHotreloading = async (devServer
|
|
6978
|
+
const setupHotreloading = async (devServer, emailDirRelativePath) => {
|
|
6821
6979
|
let clients = [];
|
|
6822
|
-
new Server(devServer
|
|
6980
|
+
new Server(devServer).on("connection", (client) => {
|
|
6823
6981
|
clients.push(client);
|
|
6824
6982
|
client.on("disconnect", () => {
|
|
6825
6983
|
clients = clients.filter((item) => item !== client);
|
|
@@ -6866,15 +7024,10 @@ const setupHotreloading = async (devServer$1, emailDirRelativePath) => {
|
|
|
6866
7024
|
});
|
|
6867
7025
|
return watcher;
|
|
6868
7026
|
};
|
|
6869
|
-
|
|
6870
|
-
//#endregion
|
|
6871
|
-
//#region src/cli/utils/conf.ts
|
|
6872
|
-
const encryptionKey = "h2#x658}1#qY(@!:7,BD1J)q12$[tM25";
|
|
6873
7027
|
const conf = new Conf({
|
|
6874
7028
|
projectName: "react-email",
|
|
6875
|
-
encryptionKey
|
|
7029
|
+
encryptionKey: "h2#x658}1#qY(@!:7,BD1J)q12$[tM25"
|
|
6876
7030
|
});
|
|
6877
|
-
|
|
6878
7031
|
//#endregion
|
|
6879
7032
|
//#region src/cli/utils/style-text.ts
|
|
6880
7033
|
/**
|
|
@@ -6882,7 +7035,6 @@ const conf = new Conf({
|
|
|
6882
7035
|
* Returns the original text when styleText is unavailable.
|
|
6883
7036
|
*/
|
|
6884
7037
|
const styleText = nodeUtil.styleText ? nodeUtil.styleText : (_, text) => text;
|
|
6885
|
-
|
|
6886
7038
|
//#endregion
|
|
6887
7039
|
//#region src/cli/utils/preview/get-env-variables-for-preview-app.ts
|
|
6888
7040
|
const getEnvVariablesForPreviewApp = (relativePathToEmailsDirectory, previewServerLocation, cwd, resendApiKey) => {
|
|
@@ -6894,7 +7046,6 @@ const getEnvVariablesForPreviewApp = (relativePathToEmailsDirectory, previewServ
|
|
|
6894
7046
|
REACT_EMAIL_INTERNAL_RESEND_API_KEY: resendApiKey
|
|
6895
7047
|
};
|
|
6896
7048
|
};
|
|
6897
|
-
|
|
6898
7049
|
//#endregion
|
|
6899
7050
|
//#region src/cli/utils/preview/serve-static-file.ts
|
|
6900
7051
|
const serveStaticFile = async (res, pathname, staticDirRelativePath) => {
|
|
@@ -6913,29 +7064,28 @@ const serveStaticFile = async (res, pathname, staticDirRelativePath) => {
|
|
|
6913
7064
|
res.setHeader("Content-type", lookup(ext) || "text/plain");
|
|
6914
7065
|
res.end(fileData);
|
|
6915
7066
|
fileHandle.close();
|
|
6916
|
-
} catch (exception
|
|
7067
|
+
} catch (exception) {
|
|
6917
7068
|
if (!existsSync(fileAbsolutePath)) {
|
|
6918
7069
|
res.statusCode = 404;
|
|
6919
7070
|
res.end();
|
|
6920
7071
|
} else {
|
|
6921
7072
|
const sanitizedFilePath = fileAbsolutePath.replace(/\n|\r/g, "");
|
|
6922
|
-
console.error(`Could not read file at %s to be served, here's the exception:`, sanitizedFilePath, exception
|
|
7073
|
+
console.error(`Could not read file at %s to be served, here's the exception:`, sanitizedFilePath, exception);
|
|
6923
7074
|
res.statusCode = 500;
|
|
6924
7075
|
res.end("Could not read file to be served! Check your terminal for more information.");
|
|
6925
7076
|
}
|
|
6926
7077
|
}
|
|
6927
7078
|
};
|
|
6928
|
-
|
|
6929
7079
|
//#endregion
|
|
6930
7080
|
//#region src/cli/utils/preview/start-dev-server.ts
|
|
6931
7081
|
let devServer;
|
|
6932
7082
|
const safeAsyncServerListen = (server, port) => {
|
|
6933
|
-
return new Promise((resolve
|
|
7083
|
+
return new Promise((resolve) => {
|
|
6934
7084
|
server.listen(port, () => {
|
|
6935
|
-
resolve
|
|
7085
|
+
resolve({ portAlreadyInUse: false });
|
|
6936
7086
|
});
|
|
6937
7087
|
server.on("error", (e) => {
|
|
6938
|
-
if (e.code === "EADDRINUSE") resolve
|
|
7088
|
+
if (e.code === "EADDRINUSE") resolve({ portAlreadyInUse: true });
|
|
6939
7089
|
});
|
|
6940
7090
|
});
|
|
6941
7091
|
};
|
|
@@ -7013,10 +7163,10 @@ const startDevServer = async (emailsDirRelativePath, staticBaseDirRelativePath,
|
|
|
7013
7163
|
const nextReadyPromise = app.prepare();
|
|
7014
7164
|
try {
|
|
7015
7165
|
await nextReadyPromise;
|
|
7016
|
-
} catch (exception
|
|
7166
|
+
} catch (exception) {
|
|
7017
7167
|
spinner.stopAndPersist({
|
|
7018
7168
|
symbol: logSymbols.error,
|
|
7019
|
-
text: ` Preview Server had an error: ${exception
|
|
7169
|
+
text: ` Preview Server had an error: ${exception}`
|
|
7020
7170
|
});
|
|
7021
7171
|
process.exit(1);
|
|
7022
7172
|
}
|
|
@@ -7055,7 +7205,6 @@ process.on("uncaughtException", makeExitHandler({
|
|
|
7055
7205
|
shouldKillProcess: true,
|
|
7056
7206
|
killWithErrorCode: true
|
|
7057
7207
|
}));
|
|
7058
|
-
|
|
7059
7208
|
//#endregion
|
|
7060
7209
|
//#region src/cli/utils/tree.ts
|
|
7061
7210
|
const SYMBOLS = {
|
|
@@ -7076,9 +7225,9 @@ const getTreeLines = async (dirPath, depth, currentDepth = 0) => {
|
|
|
7076
7225
|
if (a.isFile() && b.isDirectory()) return 1;
|
|
7077
7226
|
return b.name > a.name ? -1 : 1;
|
|
7078
7227
|
});
|
|
7079
|
-
for (let i
|
|
7080
|
-
const dirent = childDirents[i
|
|
7081
|
-
const isLast = i
|
|
7228
|
+
for (let i = 0; i < childDirents.length; i++) {
|
|
7229
|
+
const dirent = childDirents[i];
|
|
7230
|
+
const isLast = i === childDirents.length - 1;
|
|
7082
7231
|
const branchingSymbol = isLast ? SYMBOLS.LAST_BRANCH : SYMBOLS.BRANCH;
|
|
7083
7232
|
const verticalSymbol = isLast ? SYMBOLS.INDENT : SYMBOLS.VERTICAL;
|
|
7084
7233
|
if (dirent.isFile()) lines.push(`${branchingSymbol}${dirent.name}`);
|
|
@@ -7093,7 +7242,6 @@ const getTreeLines = async (dirPath, depth, currentDepth = 0) => {
|
|
|
7093
7242
|
const tree = async (dirPath, depth) => {
|
|
7094
7243
|
return (await getTreeLines(dirPath, depth)).join(os.EOL);
|
|
7095
7244
|
};
|
|
7096
|
-
|
|
7097
7245
|
//#endregion
|
|
7098
7246
|
//#region src/cli/commands/dev.ts
|
|
7099
7247
|
const dev = async ({ dir: emailsDirRelativePath, port }) => {
|
|
@@ -7108,13 +7256,11 @@ const dev = async ({ dir: emailsDirRelativePath, port }) => {
|
|
|
7108
7256
|
process.exit(1);
|
|
7109
7257
|
}
|
|
7110
7258
|
};
|
|
7111
|
-
|
|
7112
7259
|
//#endregion
|
|
7113
7260
|
//#region src/cli/utils/esbuild/escape-string-for-regex.ts
|
|
7114
7261
|
function escapeStringForRegex(string) {
|
|
7115
7262
|
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
|
|
7116
7263
|
}
|
|
7117
|
-
|
|
7118
7264
|
//#endregion
|
|
7119
7265
|
//#region src/cli/utils/esbuild/renderring-utilities-exporter.ts
|
|
7120
7266
|
/**
|
|
@@ -7155,7 +7301,6 @@ const renderingUtilitiesExporter = (emailTemplates) => ({
|
|
|
7155
7301
|
});
|
|
7156
7302
|
}
|
|
7157
7303
|
});
|
|
7158
|
-
|
|
7159
7304
|
//#endregion
|
|
7160
7305
|
//#region src/cli/commands/export.ts
|
|
7161
7306
|
const getEmailTemplatesFromDirectory = (emailDirectory) => {
|
|
@@ -7197,13 +7342,12 @@ const exportTemplates = async (pathToWhereEmailMarkupShouldBeDumped, emailsDirec
|
|
|
7197
7342
|
plugins: [renderingUtilitiesExporter(allTemplates)],
|
|
7198
7343
|
write: true
|
|
7199
7344
|
});
|
|
7200
|
-
} catch (exception
|
|
7345
|
+
} catch (exception) {
|
|
7201
7346
|
if (spinner) spinner.stopAndPersist({
|
|
7202
7347
|
symbol: logSymbols.error,
|
|
7203
7348
|
text: "Failed to build emails"
|
|
7204
7349
|
});
|
|
7205
|
-
|
|
7206
|
-
console.error(`\n${buildFailure.message}`);
|
|
7350
|
+
console.error(`\n${exception.message}`);
|
|
7207
7351
|
process.exit(1);
|
|
7208
7352
|
}
|
|
7209
7353
|
if (spinner) spinner.succeed();
|
|
@@ -7218,12 +7362,12 @@ const exportTemplates = async (pathToWhereEmailMarkupShouldBeDumped, emailsDirec
|
|
|
7218
7362
|
const rendered = await emailModule.render(emailModule.reactEmailCreateReactElement(emailModule.default, {}), options);
|
|
7219
7363
|
writeFileSync(template.replace(".cjs", options.plainText ? ".txt" : ".html"), rendered);
|
|
7220
7364
|
unlinkSync(template);
|
|
7221
|
-
} catch (exception
|
|
7365
|
+
} catch (exception) {
|
|
7222
7366
|
if (spinner) spinner.stopAndPersist({
|
|
7223
7367
|
symbol: logSymbols.error,
|
|
7224
7368
|
text: `failed when rendering ${template.split("/").pop()}`
|
|
7225
7369
|
});
|
|
7226
|
-
console.error(exception
|
|
7370
|
+
console.error(exception);
|
|
7227
7371
|
process.exit(1);
|
|
7228
7372
|
}
|
|
7229
7373
|
if (spinner) {
|
|
@@ -7237,13 +7381,13 @@ const exportTemplates = async (pathToWhereEmailMarkupShouldBeDumped, emailsDirec
|
|
|
7237
7381
|
if (fs.existsSync(pathToDumpStaticFilesInto)) await fs.promises.rm(pathToDumpStaticFilesInto, { recursive: true });
|
|
7238
7382
|
try {
|
|
7239
7383
|
await fs.promises.cp(staticDirectoryPath, pathToDumpStaticFilesInto, { recursive: true });
|
|
7240
|
-
} catch (exception
|
|
7241
|
-
console.error(exception
|
|
7384
|
+
} catch (exception) {
|
|
7385
|
+
console.error(exception);
|
|
7242
7386
|
if (spinner) spinner.stopAndPersist({
|
|
7243
7387
|
symbol: logSymbols.error,
|
|
7244
7388
|
text: "Failed to copy static files"
|
|
7245
7389
|
});
|
|
7246
|
-
console.error(`Something went wrong while copying the file to ${pathToWhereEmailMarkupShouldBeDumped}/static, ${exception
|
|
7390
|
+
console.error(`Something went wrong while copying the file to ${pathToWhereEmailMarkupShouldBeDumped}/static, ${exception}`);
|
|
7247
7391
|
process.exit(1);
|
|
7248
7392
|
}
|
|
7249
7393
|
}
|
|
@@ -7257,14 +7401,12 @@ const exportTemplates = async (pathToWhereEmailMarkupShouldBeDumped, emailsDirec
|
|
|
7257
7401
|
});
|
|
7258
7402
|
}
|
|
7259
7403
|
};
|
|
7260
|
-
|
|
7261
7404
|
//#endregion
|
|
7262
7405
|
//#region src/cli/commands/resend/reset.ts
|
|
7263
7406
|
async function resendReset() {
|
|
7264
7407
|
conf.delete("resendApiKey");
|
|
7265
7408
|
console.info(`${logSymbols.success} Resend API Key successfully deleted`);
|
|
7266
7409
|
}
|
|
7267
|
-
|
|
7268
7410
|
//#endregion
|
|
7269
7411
|
//#region src/cli/commands/resend/setup.ts
|
|
7270
7412
|
async function resendSetup() {
|
|
@@ -7281,7 +7423,6 @@ async function resendSetup() {
|
|
|
7281
7423
|
console.info(`You can always remove it with ${styleText("green", "npx react-email@latest resend reset")}`);
|
|
7282
7424
|
}
|
|
7283
7425
|
}
|
|
7284
|
-
|
|
7285
7426
|
//#endregion
|
|
7286
7427
|
//#region src/cli/commands/start.ts
|
|
7287
7428
|
const start = async () => {
|
|
@@ -7312,7 +7453,6 @@ const start = async () => {
|
|
|
7312
7453
|
process.exit(1);
|
|
7313
7454
|
}
|
|
7314
7455
|
};
|
|
7315
|
-
|
|
7316
7456
|
//#endregion
|
|
7317
7457
|
//#region src/cli/index.ts
|
|
7318
7458
|
const requiredFlags = ["--experimental-vm-modules", "--disable-warning=ExperimentalWarning"];
|
|
@@ -7339,6 +7479,5 @@ else {
|
|
|
7339
7479
|
resend.command("reset").description("Deletes your API Key from the React Email configuration").action(resendReset);
|
|
7340
7480
|
program.parse();
|
|
7341
7481
|
}
|
|
7342
|
-
|
|
7343
7482
|
//#endregion
|
|
7344
|
-
export {
|
|
7483
|
+
export {};
|