UNPKG

47.2 kBJavaScriptView Raw
1/*!
2 Stencil Node System v2.8.0 | MIT Licensed | https://stenciljs.com
3 */
4function _interopDefaultLegacy(e) {
5 return e && "object" == typeof e && "default" in e ? e : {
6 default: e
7 };
8}
9
10function _interopNamespace(e) {
11 if (e && e.__esModule) return e;
12 var t = Object.create(null);
13 return e && Object.keys(e).forEach((function(r) {
14 if ("default" !== r) {
15 var s = Object.getOwnPropertyDescriptor(e, r);
16 Object.defineProperty(t, r, s.get ? s : {
17 enumerable: !0,
18 get: function() {
19 return e[r];
20 }
21 });
22 }
23 })), t.default = e, t;
24}
25
26async function nodeCopyTasks(e, t) {
27 const r = {
28 diagnostics: [],
29 dirPaths: [],
30 filePaths: []
31 };
32 try {
33 n = await Promise.all(e.map((e => async function r(e, t) {
34 return (e => {
35 const t = {
36 "{": "}",
37 "(": ")",
38 "[": "]"
39 }, r = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/;
40 if ("" === e) return !1;
41 let s;
42 for (;s = r.exec(e); ) {
43 if (s[2]) return !0;
44 let r = s.index + s[0].length;
45 const n = s[1], o = n ? t[n] : null;
46 if (n && o) {
47 const t = e.indexOf(o, r);
48 -1 !== t && (r = t + 1);
49 }
50 e = e.slice(r);
51 }
52 return !1;
53 })(e.src) ? await async function r(e, t) {
54 return (await asyncGlob(e.src, {
55 cwd: t,
56 nodir: !0
57 })).map((r => function s(e, t, r) {
58 const s = path__default.default.join(e.dest, e.keepDirStructure ? r : path__default.default.basename(r));
59 return {
60 src: path__default.default.join(t, r),
61 dest: s,
62 warn: e.warn,
63 keepDirStructure: e.keepDirStructure
64 };
65 }(e, t, r)));
66 }(e, t) : [ {
67 src: getSrcAbsPath(t, e.src),
68 dest: e.keepDirStructure ? path__default.default.join(e.dest, e.src) : e.dest,
69 warn: e.warn,
70 keepDirStructure: e.keepDirStructure
71 } ];
72 }(e, t)))), e = n.flat ? n.flat(1) : n.reduce(((e, t) => (e.push(...t), e)), []);
73 const s = [];
74 for (;e.length > 0; ) {
75 const t = e.splice(0, 100);
76 await Promise.all(t.map((e => processCopyTask(r, s, e))));
77 }
78 const o = function s(e) {
79 const t = [];
80 return e.forEach((e => {
81 !function r(e, t) {
82 (t = normalizePath(t)) !== ROOT_DIR && t + "/" !== ROOT_DIR && "" !== t && (e.includes(t) || e.push(t));
83 }(t, path__default.default.dirname(e.dest));
84 })), t.sort(((e, t) => {
85 const r = e.split("/").length, s = t.split("/").length;
86 return r < s ? -1 : r > s ? 1 : e < t ? -1 : e > t ? 1 : 0;
87 })), t;
88 }(s);
89 try {
90 await Promise.all(o.map((e => mkdir(e, {
91 recursive: !0
92 }))));
93 } catch (e) {}
94 for (;s.length > 0; ) {
95 const e = s.splice(0, 100);
96 await Promise.all(e.map((e => copyFile(e.src, e.dest))));
97 }
98 } catch (e) {
99 catchError(r.diagnostics, e);
100 }
101 var n;
102 return r;
103}
104
105function getSrcAbsPath(e, t) {
106 return path__default.default.isAbsolute(t) ? t : path__default.default.join(e, t);
107}
108
109async function processCopyTask(e, t, r) {
110 try {
111 r.src = normalizePath(r.src), r.dest = normalizePath(r.dest), (await stat(r.src)).isDirectory() ? (e.dirPaths.includes(r.dest) || e.dirPaths.push(r.dest),
112 await async function s(e, t, r) {
113 try {
114 const s = await readdir(r.src);
115 await Promise.all(s.map((async s => {
116 const n = {
117 src: path__default.default.join(r.src, s),
118 dest: path__default.default.join(r.dest, s),
119 warn: r.warn
120 };
121 await processCopyTask(e, t, n);
122 })));
123 } catch (t) {
124 catchError(e.diagnostics, t);
125 }
126 }(e, t, r)) : function n(e) {
127 return e = e.trim().toLowerCase(), IGNORE.some((t => e.endsWith(t)));
128 }(r.src) || (e.filePaths.includes(r.dest) || e.filePaths.push(r.dest), t.push(r));
129 } catch (t) {
130 !1 !== r.warn && (buildError(e.diagnostics).messageText = t.message);
131 }
132}
133
134function asyncGlob(e, t) {
135 return new Promise(((r, s) => {
136 (0, glob__default.default.glob)(e, t, ((e, t) => {
137 e ? s(e) : r(t);
138 }));
139 }));
140}
141
142function semiver(e, t, r) {
143 return e = e.split("."), t = t.split("."), fn(e[0], t[0]) || fn(e[1], t[1]) || (t[2] = t.slice(2).join("."),
144 (r = /[.-]/.test(e[2] = e.slice(2).join("."))) == /[.-]/.test(t[2]) ? fn(e[2], t[2]) : r ? -1 : 1);
145}
146
147async function checkVersion(e, t) {
148 try {
149 const r = await async function r(e) {
150 try {
151 const e = await function t() {
152 return new Promise((e => {
153 fs__default.default.readFile(getLastCheckStoragePath(), "utf8", ((t, r) => {
154 if (!t && isString(r)) try {
155 e(JSON.parse(r));
156 } catch (e) {}
157 e(null);
158 }));
159 }));
160 }();
161 if (null == e) return setLastCheck(), null;
162 if (!function r(e, t, s) {
163 return t + s < e;
164 }(Date.now(), e, 6048e5)) return null;
165 const t = setLastCheck(), r = await async function s(e) {
166 const t = await Promise.resolve().then((function() {
167 return _interopNamespace(require("https"));
168 }));
169 return new Promise(((r, s) => {
170 const n = t.request(e, (t => {
171 if (t.statusCode > 299) return void s(`url: ${e}, staus: ${t.statusCode}`);
172 t.once("error", s);
173 const n = [];
174 t.once("end", (() => {
175 r(n.join(""));
176 })), t.on("data", (e => {
177 n.push(e);
178 }));
179 }));
180 n.once("error", s), n.end();
181 }));
182 }(REGISTRY_URL), s = JSON.parse(r);
183 return await t, s["dist-tags"].latest;
184 } catch (t) {
185 e.debug(`getLatestCompilerVersion error: ${t}`);
186 }
187 return null;
188 }(e);
189 if (null != r) return () => {
190 semiver(t, r) < 0 ? function s(e, t, r) {
191 const s = "npm install @stencil/core", n = [ `Update available: ${t} ${ARROW} ${r}`, "To get the latest, please run:", s, CHANGELOG ], o = n.reduce(((e, t) => t.length > e ? t.length : e), 0), i = [];
192 let a = BOX_TOP_LEFT;
193 for (;a.length <= o + 2 * PADDING; ) a += BOX_HORIZONTAL;
194 a += BOX_TOP_RIGHT, i.push(a), n.forEach((e => {
195 let t = BOX_VERTICAL;
196 for (let e = 0; e < PADDING; e++) t += " ";
197 for (t += e; t.length <= o + 2 * PADDING; ) t += " ";
198 t += BOX_VERTICAL, i.push(t);
199 }));
200 let l = BOX_BOTTOM_LEFT;
201 for (;l.length <= o + 2 * PADDING; ) l += BOX_HORIZONTAL;
202 l += BOX_BOTTOM_RIGHT, i.push(l);
203 let c = `${INDENT}${i.join(`\n${INDENT}`)}\n`;
204 c = c.replace(t, e.red(t)), c = c.replace(r, e.green(r)), c = c.replace(s, e.cyan(s)),
205 c = c.replace(CHANGELOG, e.dim(CHANGELOG)), console.log(c);
206 }(e, t, r) : console.debug(`${e.cyan("@stencil/core")} version ${e.green(t)} is the latest version`);
207 };
208 } catch (t) {
209 e.debug(`unable to load latest compiler version: ${t}`);
210 }
211 return noop;
212}
213
214function setLastCheck() {
215 return new Promise((e => {
216 const t = JSON.stringify(Date.now());
217 fs__default.default.writeFile(getLastCheckStoragePath(), t, (() => {
218 e();
219 }));
220 }));
221}
222
223function getLastCheckStoragePath() {
224 return path__default.default.join(os.tmpdir(), "stencil_last_version_node.json");
225}
226
227function getNextWorker(e) {
228 const t = e.filter((e => !e.stopped));
229 return 0 === t.length ? null : t.sort(((e, t) => e.tasks.size < t.tasks.size ? -1 : e.tasks.size > t.tasks.size ? 1 : e.totalTasksAssigned < t.totalTasksAssigned ? -1 : e.totalTasksAssigned > t.totalTasksAssigned ? 1 : 0))[0];
230}
231
232var symbols, ansiColors, create_1, fn, exit;
233
234Object.defineProperty(exports, "__esModule", {
235 value: !0
236});
237
238const fs = require("./graceful-fs.js"), path = require("path"), util = require("util"), glob = require("./glob.js"), os = require("os"), crypto = require("crypto"), events = require("events"), cp = require("child_process"), fs__default = _interopDefaultLegacy(fs), path__default = _interopDefaultLegacy(path), glob__default = _interopDefaultLegacy(glob), os__namespace = _interopNamespace(os), cp__namespace = _interopNamespace(cp), createTerminalLogger = e => {
239 let t = "info", r = null;
240 const s = [], n = e => {
241 if (e.length) {
242 const t = new Date, r = "[" + ("0" + t.getMinutes()).slice(-2) + ":" + ("0" + t.getSeconds()).slice(-2) + "." + Math.floor(t.getMilliseconds() / 1e3 * 10) + "]";
243 e[0] = f(r) + e[0].substr(r.length);
244 }
245 }, o = e => {
246 if (e.length) {
247 const t = "[ WARN ]";
248 e[0] = h(u(t)) + e[0].substr(t.length);
249 }
250 }, i = e => {
251 if (e.length) {
252 const t = "[ ERROR ]";
253 e[0] = h(c(t)) + e[0].substr(t.length);
254 }
255 }, a = e => {
256 if (e.length) {
257 const t = new Date, r = "[" + ("0" + t.getMinutes()).slice(-2) + ":" + ("0" + t.getSeconds()).slice(-2) + "." + Math.floor(t.getMilliseconds() / 1e3 * 10) + "]";
258 e[0] = d(r) + e[0].substr(r.length);
259 }
260 }, l = (t, n) => {
261 if (r) {
262 const r = new Date, o = ("0" + r.getHours()).slice(-2) + ":" + ("0" + r.getMinutes()).slice(-2) + ":" + ("0" + r.getSeconds()).slice(-2) + ".0" + Math.floor(r.getMilliseconds() / 1e3 * 10) + " " + ("000" + (e.memoryUsage() / 1e6).toFixed(1)).slice(-6) + "MB " + t + " " + n.join(", ");
263 s.push(o);
264 }
265 }, c = t => e.color(t, "red"), u = t => e.color(t, "yellow"), d = t => e.color(t, "cyan"), h = t => e.color(t, "bold"), f = t => e.color(t, "dim"), p = t => e.color(t, "bgRed"), g = e => LOG_LEVELS.indexOf(e) >= LOG_LEVELS.indexOf(t), m = (t, r, s) => {
266 var n, o;
267 let i = t.length - r + s - 1;
268 for (;t.length + INDENT$1.length > e.getColumns(); ) if (r > t.length - r + s && r > 5) t = t.substr(1),
269 r--; else {
270 if (!(i > 1)) break;
271 t = t.substr(0, t.length - 1), i--;
272 }
273 const a = [], l = Math.max(t.length, r + s);
274 for (n = 0; n < l; n++) o = t.charAt(n), n >= r && n < r + s && (o = p("" === o ? " " : o)),
275 a.push(o);
276 return a.join("");
277 }, _ = e => e.trim().startsWith("//") ? f(e) : e.split(" ").map((e => JS_KEYWORDS.indexOf(e) > -1 ? d(e) : e)).join(" "), y = e => {
278 let t = !0;
279 const r = [];
280 for (var s = 0; s < e.length; s++) {
281 const n = e.charAt(s);
282 ";" === n || "{" === n ? t = !0 : ".#,:}@$[]/*".indexOf(n) > -1 && (t = !1), t && "abcdefghijklmnopqrstuvwxyz-_".indexOf(n.toLowerCase()) > -1 ? r.push(d(n)) : r.push(n);
283 }
284 return r.join("");
285 };
286 return {
287 enableColors: e.enableColors,
288 emoji: e.emoji,
289 getLevel: () => t,
290 setLevel: e => t = e,
291 debug: (...t) => {
292 if (g("debug")) {
293 e.memoryUsage() > 0 && t.push(f(` MEM: ${(e.memoryUsage() / 1e6).toFixed(1)}MB`));
294 const r = wordWrap(t, e.getColumns());
295 a(r), console.log(r.join("\n"));
296 }
297 l("D", t);
298 },
299 info: (...t) => {
300 if (g("info")) {
301 const r = wordWrap(t, e.getColumns());
302 n(r), console.log(r.join("\n"));
303 }
304 l("I", t);
305 },
306 warn: (...t) => {
307 if (g("warn")) {
308 const r = wordWrap(t, e.getColumns());
309 o(r), console.warn("\n" + r.join("\n") + "\n");
310 }
311 l("W", t);
312 },
313 error: (...t) => {
314 for (let e = 0; e < t.length; e++) if (t[e] instanceof Error) {
315 const r = t[e];
316 t[e] = r.message, r.stack && (t[e] += "\n" + r.stack);
317 }
318 if (g("error")) {
319 const r = wordWrap(t, e.getColumns());
320 i(r), console.error("\n" + r.join("\n") + "\n");
321 }
322 l("E", t);
323 },
324 createTimeSpan: (t, r = !1, s) => {
325 const o = Date.now(), i = () => Date.now() - o, c = {
326 duration: i,
327 finish: (t, o, c, u) => {
328 const d = i();
329 let p;
330 return p = d > 1e3 ? "in " + (d / 1e3).toFixed(2) + " s" : parseFloat(d.toFixed(3)) > 0 ? "in " + d + " ms" : "in less than 1 ms",
331 ((t, r, s, o, i, c, u) => {
332 let d = t;
333 if (s && (d = e.color(t, s)), o && (d = h(d)), d += " " + f(r), c) {
334 if (g("debug")) {
335 const t = [ d ], r = e.memoryUsage();
336 r > 0 && t.push(f(` MEM: ${(r / 1e6).toFixed(1)}MB`));
337 const s = wordWrap(t, e.getColumns());
338 a(s), console.log(s.join("\n"));
339 }
340 l("D", [ `${t} ${r}` ]);
341 } else {
342 const s = wordWrap([ d ], e.getColumns());
343 n(s), console.log(s.join("\n")), l("I", [ `${t} ${r}` ]), u && u.push(`${t} ${r}`);
344 }
345 i && console.log("");
346 })(t, p, o, c, u, r, s), d;
347 }
348 };
349 return ((t, r, s) => {
350 const o = [ `${t} ${f("...")}` ];
351 if (r) {
352 if (g("debug")) {
353 e.memoryUsage() > 0 && o.push(f(` MEM: ${(e.memoryUsage() / 1e6).toFixed(1)}MB`));
354 const r = wordWrap(o, e.getColumns());
355 a(r), console.log(r.join("\n")), l("D", [ `${t} ...` ]);
356 }
357 } else {
358 const r = wordWrap(o, e.getColumns());
359 n(r), console.log(r.join("\n")), l("I", [ `${t} ...` ]), s && s.push(`${t} ...`);
360 }
361 })(t, r, s), c;
362 },
363 printDiagnostics: (r, s) => {
364 if (!r || 0 === r.length) return;
365 let l = [ "" ];
366 r.forEach((r => {
367 l = l.concat(((r, s) => {
368 const l = wordWrap([ r.messageText ], e.getColumns());
369 let c = "";
370 r.header && "Build Error" !== r.header && (c += r.header), "string" == typeof r.absFilePath && "string" != typeof r.relFilePath && ("string" != typeof s && (s = e.cwd()),
371 r.relFilePath = e.relativePath(s, r.absFilePath), r.relFilePath.includes("/") || (r.relFilePath = "./" + r.relFilePath));
372 let h = r.relFilePath;
373 return "string" != typeof h && (h = r.absFilePath), "string" == typeof h && (c.length > 0 && (c += ": "),
374 c += d(h), "number" == typeof r.lineNumber && r.lineNumber > -1 && (c += f(":"),
375 c += u(`${r.lineNumber}`), "number" == typeof r.columnNumber && r.columnNumber > -1 && (c += f(":"),
376 c += u(`${r.columnNumber}`)))), c.length > 0 && l.unshift(INDENT$1 + c), l.push(""),
377 r.lines && r.lines.length && (prepareLines(r.lines).forEach((e => {
378 if (!isMeaningfulLine(e.text)) return;
379 let t = "";
380 for (e.lineNumber > -1 && (t = `L${e.lineNumber}: `); t.length < INDENT$1.length; ) t = " " + t;
381 let s = e.text;
382 e.errorCharStart > -1 && (s = m(s, e.errorCharStart, e.errorLength)), t = f(t),
383 "typescript" === r.language || "javascript" === r.language ? t += _(s) : "scss" === r.language || "css" === r.language ? t += y(s) : t += s,
384 l.push(t);
385 })), l.push("")), "error" === r.level ? i(l) : "warn" === r.level ? o(l) : "debug" === r.level ? a(l) : n(l),
386 null != r.debugText && "debug" === t && (l.push(r.debugText), a(wordWrap([ r.debugText ], e.getColumns()))),
387 l;
388 })(r, s));
389 })), console.log(l.join("\n"));
390 },
391 red: c,
392 green: t => e.color(t, "green"),
393 yellow: u,
394 blue: t => e.color(t, "blue"),
395 magenta: t => e.color(t, "magenta"),
396 cyan: d,
397 gray: t => e.color(t, "gray"),
398 bold: h,
399 dim: f,
400 bgRed: p,
401 setLogFilePath: e => r = e,
402 writeLogs: t => {
403 if (r) try {
404 l("F", [ "--------------------------------------" ]), e.writeLogs(r, s.join("\n"), t);
405 } catch (e) {}
406 s.length = 0;
407 }
408 };
409}, LOG_LEVELS = [ "debug", "info", "warn", "error" ], wordWrap = (e, t) => {
410 const r = [], s = [];
411 e.forEach((e => {
412 null === e ? s.push("null") : void 0 === e ? s.push("undefined") : "string" == typeof e ? e.replace(/\s/gm, " ").split(" ").forEach((e => {
413 e.trim().length && s.push(e.trim());
414 })) : "number" == typeof e || "boolean" == typeof e || "function" == typeof e ? s.push(e.toString()) : Array.isArray(e) || Object(e) === e ? s.push((() => e.toString())) : s.push(e.toString());
415 }));
416 let n = INDENT$1;
417 return s.forEach((e => {
418 r.length > 25 || ("function" == typeof e ? (n.trim().length && r.push(n), r.push(e()),
419 n = INDENT$1) : INDENT$1.length + e.length > t - 1 ? (n.trim().length && r.push(n),
420 r.push(INDENT$1 + e), n = INDENT$1) : e.length + n.length > t - 1 ? (r.push(n),
421 n = INDENT$1 + e + " ") : n += e + " ");
422 })), n.trim().length && r.push(n), r.map((e => e.trimRight()));
423}, prepareLines = e => {
424 const t = JSON.parse(JSON.stringify(e));
425 for (let e = 0; e < 100; e++) {
426 if (!eachLineHasLeadingWhitespace(t)) return t;
427 for (let e = 0; e < t.length; e++) if (t[e].text = t[e].text.substr(1), t[e].errorCharStart--,
428 !t[e].text.length) return t;
429 }
430 return t;
431}, eachLineHasLeadingWhitespace = e => {
432 if (!e.length) return !1;
433 for (var t = 0; t < e.length; t++) {
434 if (!e[t].text || e[t].text.length < 1) return !1;
435 const r = e[t].text.charAt(0);
436 if (" " !== r && "\t" !== r) return !1;
437 }
438 return !0;
439}, isMeaningfulLine = e => !!e && (e = e.trim()).length > 0, JS_KEYWORDS = [ "abstract", "any", "as", "break", "boolean", "case", "catch", "class", "console", "const", "continue", "debugger", "declare", "default", "delete", "do", "else", "enum", "export", "extends", "false", "finally", "for", "from", "function", "get", "if", "import", "in", "implements", "Infinity", "instanceof", "let", "module", "namespace", "NaN", "new", "number", "null", "public", "private", "protected", "require", "return", "static", "set", "string", "super", "switch", "this", "throw", "try", "true", "type", "typeof", "undefined", "var", "void", "with", "while", "yield" ], INDENT$1 = " ";
440
441symbols = function createCommonjsModule(e, t, r) {
442 return e(r = {
443 path: t,
444 exports: {},
445 require: function(e, t) {
446 return function r() {
447 throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs");
448 }();
449 }
450 }, r.exports), r.exports;
451}((function(e) {
452 const t = "Hyper" === process.env.TERM_PROGRAM, r = "win32" === process.platform, s = "linux" === process.platform, n = {
453 ballotDisabled: "☒",
454 ballotOff: "☐",
455 ballotOn: "☑",
456 bullet: "•",
457 bulletWhite: "◦",
458 fullBlock: "█",
459 heart: "❤",
460 identicalTo: "≡",
461 line: "─",
462 mark: "※",
463 middot: "·",
464 minus: "-",
465 multiplication: "×",
466 obelus: "÷",
467 pencilDownRight: "✎",
468 pencilRight: "✏",
469 pencilUpRight: "✐",
470 percent: "%",
471 pilcrow2: "❡",
472 pilcrow: "¶",
473 plusMinus: "±",
474 section: "§",
475 starsOff: "☆",
476 starsOn: "★",
477 upDownArrow: "↕"
478 }, o = Object.assign({}, n, {
479 check: "√",
480 cross: "×",
481 ellipsisLarge: "...",
482 ellipsis: "...",
483 info: "i",
484 question: "?",
485 questionSmall: "?",
486 pointer: ">",
487 pointerSmall: "»",
488 radioOff: "( )",
489 radioOn: "(*)",
490 warning: "‼"
491 }), i = Object.assign({}, n, {
492 ballotCross: "✘",
493 check: "✔",
494 cross: "✖",
495 ellipsisLarge: "⋯",
496 ellipsis: "…",
497 info: "ℹ",
498 question: "?",
499 questionFull: "?",
500 questionSmall: "﹖",
501 pointer: s ? "▸" : "❯",
502 pointerSmall: s ? "‣" : "›",
503 radioOff: "◯",
504 radioOn: "◉",
505 warning: "⚠"
506 });
507 e.exports = r && !t ? o : i, Reflect.defineProperty(e.exports, "common", {
508 enumerable: !1,
509 value: n
510 }), Reflect.defineProperty(e.exports, "windows", {
511 enumerable: !1,
512 value: o
513 }), Reflect.defineProperty(e.exports, "other", {
514 enumerable: !1,
515 value: i
516 });
517}));
518
519const ANSI_REGEX = /[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g, create = () => {
520 const e = {
521 enabled: !0,
522 visible: !0,
523 styles: {},
524 keys: {}
525 };
526 "FORCE_COLOR" in process.env && (e.enabled = "0" !== process.env.FORCE_COLOR);
527 const t = (e, t, r) => "function" == typeof e ? e(t) : e.wrap(t, r), r = (r, s) => {
528 if ("" === r || null == r) return "";
529 if (!1 === e.enabled) return r;
530 if (!1 === e.visible) return "";
531 let n = "" + r, o = n.includes("\n"), i = s.length;
532 for (i > 0 && s.includes("unstyle") && (s = [ ...new Set([ "unstyle", ...s ]) ].reverse()); i-- > 0; ) n = t(e.styles[s[i]], n, o);
533 return n;
534 }, s = (t, s, n) => {
535 e.styles[t] = (e => {
536 let t = e.open = `[${e.codes[0]}m`, r = e.close = `[${e.codes[1]}m`, s = e.regex = new RegExp(`\\u001b\\[${e.codes[1]}m`, "g");
537 return e.wrap = (e, n) => {
538 e.includes(r) && (e = e.replace(s, r + t));
539 let o = t + e + r;
540 return n ? o.replace(/\r*\n/g, `${r}$&${t}`) : o;
541 }, e;
542 })({
543 name: t,
544 codes: s
545 }), (e.keys[n] || (e.keys[n] = [])).push(t), Reflect.defineProperty(e, t, {
546 configurable: !0,
547 enumerable: !0,
548 set(r) {
549 e.alias(t, r);
550 },
551 get() {
552 let s = e => r(e, s.stack);
553 return Reflect.setPrototypeOf(s, e), s.stack = this.stack ? this.stack.concat(t) : [ t ],
554 s;
555 }
556 });
557 };
558 return s("reset", [ 0, 0 ], "modifier"), s("bold", [ 1, 22 ], "modifier"), s("dim", [ 2, 22 ], "modifier"),
559 s("italic", [ 3, 23 ], "modifier"), s("underline", [ 4, 24 ], "modifier"), s("inverse", [ 7, 27 ], "modifier"),
560 s("hidden", [ 8, 28 ], "modifier"), s("strikethrough", [ 9, 29 ], "modifier"), s("black", [ 30, 39 ], "color"),
561 s("red", [ 31, 39 ], "color"), s("green", [ 32, 39 ], "color"), s("yellow", [ 33, 39 ], "color"),
562 s("blue", [ 34, 39 ], "color"), s("magenta", [ 35, 39 ], "color"), s("cyan", [ 36, 39 ], "color"),
563 s("white", [ 37, 39 ], "color"), s("gray", [ 90, 39 ], "color"), s("grey", [ 90, 39 ], "color"),
564 s("bgBlack", [ 40, 49 ], "bg"), s("bgRed", [ 41, 49 ], "bg"), s("bgGreen", [ 42, 49 ], "bg"),
565 s("bgYellow", [ 43, 49 ], "bg"), s("bgBlue", [ 44, 49 ], "bg"), s("bgMagenta", [ 45, 49 ], "bg"),
566 s("bgCyan", [ 46, 49 ], "bg"), s("bgWhite", [ 47, 49 ], "bg"), s("blackBright", [ 90, 39 ], "bright"),
567 s("redBright", [ 91, 39 ], "bright"), s("greenBright", [ 92, 39 ], "bright"), s("yellowBright", [ 93, 39 ], "bright"),
568 s("blueBright", [ 94, 39 ], "bright"), s("magentaBright", [ 95, 39 ], "bright"),
569 s("cyanBright", [ 96, 39 ], "bright"), s("whiteBright", [ 97, 39 ], "bright"), s("bgBlackBright", [ 100, 49 ], "bgBright"),
570 s("bgRedBright", [ 101, 49 ], "bgBright"), s("bgGreenBright", [ 102, 49 ], "bgBright"),
571 s("bgYellowBright", [ 103, 49 ], "bgBright"), s("bgBlueBright", [ 104, 49 ], "bgBright"),
572 s("bgMagentaBright", [ 105, 49 ], "bgBright"), s("bgCyanBright", [ 106, 49 ], "bgBright"),
573 s("bgWhiteBright", [ 107, 49 ], "bgBright"), e.ansiRegex = ANSI_REGEX, e.hasColor = e.hasAnsi = t => (e.ansiRegex.lastIndex = 0,
574 "string" == typeof t && "" !== t && e.ansiRegex.test(t)), e.alias = (t, s) => {
575 let n = "string" == typeof s ? e[s] : s;
576 if ("function" != typeof n) throw new TypeError("Expected alias to be the name of an existing color (string) or a function");
577 n.stack || (Reflect.defineProperty(n, "name", {
578 value: t
579 }), e.styles[t] = n, n.stack = [ t ]), Reflect.defineProperty(e, t, {
580 configurable: !0,
581 enumerable: !0,
582 set(r) {
583 e.alias(t, r);
584 },
585 get() {
586 let t = e => r(e, t.stack);
587 return Reflect.setPrototypeOf(t, e), t.stack = this.stack ? this.stack.concat(n.stack) : n.stack,
588 t;
589 }
590 });
591 }, e.theme = t => {
592 if (null === (r = t) || "object" != typeof r || Array.isArray(r)) throw new TypeError("Expected theme to be an object");
593 var r;
594 for (let r of Object.keys(t)) e.alias(r, t[r]);
595 return e;
596 }, e.alias("unstyle", (t => "string" == typeof t && "" !== t ? (e.ansiRegex.lastIndex = 0,
597 t.replace(e.ansiRegex, "")) : "")), e.alias("noop", (e => e)), e.none = e.clear = e.noop,
598 e.stripColor = e.unstyle, e.symbols = symbols, e.define = s, e;
599};
600
601ansiColors = create(), create_1 = create, ansiColors.create = create_1;
602
603const noop = () => {}, isString = e => "string" == typeof e, buildError = e => {
604 const t = {
605 level: "error",
606 type: "build",
607 header: "Build Error",
608 messageText: "build error",
609 relFilePath: null,
610 absFilePath: null,
611 lines: []
612 };
613 return e && e.push(t), t;
614}, catchError = (e, t, r) => {
615 const s = {
616 level: "error",
617 type: "build",
618 header: "Build Error",
619 messageText: "build error",
620 relFilePath: null,
621 absFilePath: null,
622 lines: []
623 };
624 return isString(r) ? s.messageText = r : null != t && (null != t.stack ? s.messageText = t.stack.toString() : null != t.message ? s.messageText = t.message.toString() : s.messageText = t.toString()),
625 null == e || shouldIgnoreError(s.messageText) || e.push(s), s;
626}, shouldIgnoreError = e => e === TASK_CANCELED_MSG, TASK_CANCELED_MSG = "task canceled", normalizePath = e => {
627 if ("string" != typeof e) throw new Error("invalid path to normalize");
628 e = normalizeSlashes(e.trim());
629 const t = pathComponents(e, getRootLength(e)), r = reducePathComponents(t), s = r[0], n = r[1], o = s + r.slice(1).join("/");
630 return "" === o ? "." : "" === s && n && e.includes("/") && !n.startsWith(".") && !n.startsWith("@") ? "./" + o : o;
631}, normalizeSlashes = e => e.replace(backslashRegExp, "/"), backslashRegExp = /\\/g, reducePathComponents = e => {
632 if (!Array.isArray(e) || 0 === e.length) return [];
633 const t = [ e[0] ];
634 for (let r = 1; r < e.length; r++) {
635 const s = e[r];
636 if (s && "." !== s) {
637 if (".." === s) if (t.length > 1) {
638 if (".." !== t[t.length - 1]) {
639 t.pop();
640 continue;
641 }
642 } else if (t[0]) continue;
643 t.push(s);
644 }
645 }
646 return t;
647}, getRootLength = e => {
648 const t = getEncodedRootLength(e);
649 return t < 0 ? ~t : t;
650}, getEncodedRootLength = e => {
651 if (!e) return 0;
652 const t = e.charCodeAt(0);
653 if (47 === t || 92 === t) {
654 if (e.charCodeAt(1) !== t) return 1;
655 const r = e.indexOf(47 === t ? "/" : "\\", 2);
656 return r < 0 ? e.length : r + 1;
657 }
658 if (isVolumeCharacter(t) && 58 === e.charCodeAt(1)) {
659 const t = e.charCodeAt(2);
660 if (47 === t || 92 === t) return 3;
661 if (2 === e.length) return 2;
662 }
663 const r = e.indexOf("://");
664 if (-1 !== r) {
665 const t = r + "://".length, s = e.indexOf("/", t);
666 if (-1 !== s) {
667 const n = e.slice(0, r), o = e.slice(t, s);
668 if ("file" === n && ("" === o || "localhost" === o) && isVolumeCharacter(e.charCodeAt(s + 1))) {
669 const t = getFileUrlVolumeSeparatorEnd(e, s + 2);
670 if (-1 !== t) {
671 if (47 === e.charCodeAt(t)) return ~(t + 1);
672 if (t === e.length) return ~t;
673 }
674 }
675 return ~(s + 1);
676 }
677 return ~e.length;
678 }
679 return 0;
680}, isVolumeCharacter = e => e >= 97 && e <= 122 || e >= 65 && e <= 90, getFileUrlVolumeSeparatorEnd = (e, t) => {
681 const r = e.charCodeAt(t);
682 if (58 === r) return t + 1;
683 if (37 === r && 51 === e.charCodeAt(t + 1)) {
684 const r = e.charCodeAt(t + 2);
685 if (97 === r || 65 === r) return t + 3;
686 }
687 return -1;
688}, pathComponents = (e, t) => {
689 const r = e.substring(0, t), s = e.substring(t).split("/"), n = s.length;
690 return n > 0 && !s[n - 1] && s.pop(), [ r, ...s ];
691}, copyFile = util.promisify(fs__default.default.copyFile), mkdir = util.promisify(fs__default.default.mkdir), readdir = util.promisify(fs__default.default.readdir);
692
693util.promisify(fs__default.default.readFile);
694
695const stat = util.promisify(fs__default.default.stat), ROOT_DIR = normalizePath(path__default.default.resolve("/")), IGNORE = [ ".ds_store", ".gitignore", "desktop.ini", "thumbs.db" ];
696
697fn = new Intl.Collator(0, {
698 numeric: 1
699}).compare;
700
701const REGISTRY_URL = "https://registry.npmjs.org/@stencil/core", CHANGELOG = "https://github.com/ionic-team/stencil/blob/master/CHANGELOG.md", ARROW = "→", BOX_TOP_LEFT = "╭", BOX_TOP_RIGHT = "╮", BOX_BOTTOM_LEFT = "╰", BOX_BOTTOM_RIGHT = "╯", BOX_VERTICAL = "│", BOX_HORIZONTAL = "─", PADDING = 2, INDENT = " ";
702
703exit = function e(t, r) {
704 function s() {
705 n === r.length && process.exit(t);
706 }
707 r || (r = [ process.stdout, process.stderr ]);
708 var n = 0;
709 r.forEach((function(e) {
710 0 === e.bufferSize ? n++ : e.write("", "utf-8", (function() {
711 n++, s();
712 })), e.write = function() {};
713 })), s(), process.on("exit", (function() {
714 process.exit(t);
715 }));
716};
717
718class NodeLazyRequire {
719 constructor(e, t) {
720 this.nodeResolveModule = e, this.lazyDependencies = t, this.ensured = new Set;
721 }
722 async ensure(e, t) {
723 const r = [], s = [];
724 if (t.forEach((t => {
725 if (!this.ensured.has(t)) {
726 const [r, n] = this.lazyDependencies[t];
727 try {
728 const s = this.nodeResolveModule.resolveModule(e, t);
729 if (semiver(JSON.parse(fs__default.default.readFileSync(s, "utf8")).version, r) >= 0) return void this.ensured.add(t);
730 } catch (e) {}
731 s.push(`${t}@${n}`);
732 }
733 })), s.length > 0) {
734 const e = buildError(r);
735 e.header = "Please install missing dev dependencies with either npm or yarn.", e.messageText = `npm install --save-dev ${s.join(" ")}`;
736 }
737 return r;
738 }
739 require(e, t) {
740 const r = this.getModulePath(e, t);
741 return require(r);
742 }
743 getModulePath(e, t) {
744 const r = this.nodeResolveModule.resolveModule(e, t);
745 return path__default.default.dirname(r);
746 }
747}
748
749class NodeResolveModule {
750 constructor() {
751 this.resolveModuleCache = new Map;
752 }
753 resolveModule(e, t, r) {
754 const s = `${e}:${t}`, n = this.resolveModuleCache.get(s);
755 if (n) return n;
756 if (r && r.manuallyResolve) return this.resolveModuleManually(e, t, s);
757 if (t.startsWith("@types/")) return this.resolveTypesModule(e, t, s);
758 const o = require("module");
759 e = path__default.default.resolve(e);
760 const i = path__default.default.join(e, "noop.js");
761 let a = normalizePath(o._resolveFilename(t, {
762 id: i,
763 filename: i,
764 paths: o._nodeModulePaths(e)
765 }));
766 const l = normalizePath(path__default.default.parse(e).root);
767 let c;
768 for (;a !== l; ) if (a = normalizePath(path__default.default.dirname(a)), c = path__default.default.join(a, "package.json"),
769 fs__default.default.existsSync(c)) return this.resolveModuleCache.set(s, c), c;
770 throw new Error(`error loading "${t}" from "${e}"`);
771 }
772 resolveTypesModule(e, t, r) {
773 const s = t.split("/"), n = normalizePath(path__default.default.parse(e).root);
774 let o, i = normalizePath(path__default.default.join(e, "noop.js"));
775 for (;i !== n; ) if (i = normalizePath(path__default.default.dirname(i)), o = path__default.default.join(i, "node_modules", s[0], s[1], "package.json"),
776 fs__default.default.existsSync(o)) return this.resolveModuleCache.set(r, o), o;
777 throw new Error(`error loading "${t}" from "${e}"`);
778 }
779 resolveModuleManually(e, t, r) {
780 const s = normalizePath(path__default.default.parse(e).root);
781 let n, o = normalizePath(path__default.default.join(e, "noop.js"));
782 for (;o !== s; ) if (o = normalizePath(path__default.default.dirname(o)), n = path__default.default.join(o, "node_modules", t, "package.json"),
783 fs__default.default.existsSync(n)) return this.resolveModuleCache.set(r, n), n;
784 throw new Error(`error loading "${t}" from "${e}"`);
785 }
786}
787
788class NodeWorkerMain extends events.EventEmitter {
789 constructor(e, t) {
790 super(), this.id = e, this.tasks = new Map, this.exitCode = null, this.processQueue = !0,
791 this.sendQueue = [], this.stopped = !1, this.successfulMessage = !1, this.totalTasksAssigned = 0,
792 this.fork(t);
793 }
794 fork(e) {
795 const t = {
796 execArgv: process.execArgv.filter((e => !/^--(debug|inspect)/.test(e))),
797 env: process.env,
798 cwd: process.cwd(),
799 silent: !0
800 };
801 this.childProcess = cp__namespace.fork(e, [], t), this.childProcess.stdout.setEncoding("utf8"),
802 this.childProcess.stdout.on("data", (e => {
803 console.log(e);
804 })), this.childProcess.stderr.setEncoding("utf8"), this.childProcess.stderr.on("data", (e => {
805 console.log(e);
806 })), this.childProcess.on("message", this.receiveFromWorker.bind(this)), this.childProcess.on("error", (e => {
807 this.emit("error", e);
808 })), this.childProcess.once("exit", (e => {
809 this.exitCode = e, this.emit("exit", e);
810 }));
811 }
812 run(e) {
813 this.totalTasksAssigned++, this.tasks.set(e.stencilId, e), this.sendToWorker({
814 stencilId: e.stencilId,
815 args: e.inputArgs
816 });
817 }
818 sendToWorker(e) {
819 this.processQueue ? this.childProcess.send(e, (e => {
820 if (!(e && e instanceof Error) && (this.processQueue = !0, this.sendQueue.length > 0)) {
821 const e = this.sendQueue.slice();
822 this.sendQueue = [], e.forEach((e => this.sendToWorker(e)));
823 }
824 })) && !/^win/.test(process.platform) || (this.processQueue = !1) : this.sendQueue.push(e);
825 }
826 receiveFromWorker(e) {
827 if (this.successfulMessage = !0, this.stopped) return;
828 const t = this.tasks.get(e.stencilId);
829 t ? (null != e.stencilRtnError ? t.reject(e.stencilRtnError) : t.resolve(e.stencilRtnValue),
830 this.tasks.delete(e.stencilId), this.emit("response", e)) : null != e.stencilRtnError && this.emit("error", e.stencilRtnError);
831 }
832 stop() {
833 this.stopped = !0, this.tasks.forEach((e => e.reject(TASK_CANCELED_MSG))), this.tasks.clear(),
834 this.successfulMessage ? (this.childProcess.send({
835 exit: !0
836 }), setTimeout((() => {
837 null === this.exitCode && this.childProcess.kill("SIGKILL");
838 }), 100)) : this.childProcess.kill("SIGKILL");
839 }
840}
841
842class NodeWorkerController extends events.EventEmitter {
843 constructor(e, t) {
844 super(), this.forkModulePath = e, this.workerIds = 0, this.stencilId = 0, this.isEnding = !1,
845 this.taskQueue = [], this.workers = [];
846 const r = os.cpus().length;
847 this.useForkedWorkers = t > 0, this.maxWorkers = Math.max(Math.min(t, r), 2) - 1,
848 this.useForkedWorkers ? this.startWorkers() : this.mainThreadRunner = require(e);
849 }
850 onError(e, t) {
851 if ("ERR_IPC_CHANNEL_CLOSED" === e.code) return this.stopWorker(t);
852 "EPIPE" !== e.code && console.error(e);
853 }
854 onExit(e) {
855 setTimeout((() => {
856 let t = !1;
857 const r = this.workers.find((t => t.id === e));
858 r && (r.tasks.forEach((e => {
859 e.retries++, this.taskQueue.unshift(e), t = !0;
860 })), r.tasks.clear()), this.stopWorker(e), t && this.processTaskQueue();
861 }), 10);
862 }
863 startWorkers() {
864 for (;this.workers.length < this.maxWorkers; ) this.startWorker();
865 }
866 startWorker() {
867 const e = this.workerIds++, t = new NodeWorkerMain(e, this.forkModulePath);
868 t.on("response", this.processTaskQueue.bind(this)), t.once("exit", (() => {
869 this.onExit(e);
870 })), t.on("error", (t => {
871 this.onError(t, e);
872 })), this.workers.push(t);
873 }
874 stopWorker(e) {
875 const t = this.workers.find((t => t.id === e));
876 if (t) {
877 t.stop();
878 const e = this.workers.indexOf(t);
879 e > -1 && this.workers.splice(e, 1);
880 }
881 }
882 processTaskQueue() {
883 if (!this.isEnding) for (this.useForkedWorkers && this.startWorkers(); this.taskQueue.length > 0; ) {
884 const e = getNextWorker(this.workers);
885 if (!e) break;
886 e.run(this.taskQueue.shift());
887 }
888 }
889 send(...e) {
890 return this.isEnding ? Promise.reject(TASK_CANCELED_MSG) : this.useForkedWorkers ? new Promise(((t, r) => {
891 const s = {
892 stencilId: this.stencilId++,
893 inputArgs: e,
894 retries: 0,
895 resolve: t,
896 reject: r
897 };
898 this.taskQueue.push(s), this.processTaskQueue();
899 })) : this.mainThreadRunner[e[0]].apply(null, e.slice(1));
900 }
901 handler(e) {
902 return (...t) => this.send(e, ...t);
903 }
904 cancelTasks() {
905 for (const e of this.workers) e.tasks.forEach((e => e.reject(TASK_CANCELED_MSG))),
906 e.tasks.clear();
907 this.taskQueue.length = 0;
908 }
909 destroy() {
910 if (!this.isEnding) {
911 this.isEnding = !0;
912 for (const e of this.taskQueue) e.reject(TASK_CANCELED_MSG);
913 this.taskQueue.length = 0;
914 const e = this.workers.map((e => e.id));
915 for (const t of e) this.stopWorker(t);
916 }
917 }
918}
919
920exports.createNodeLogger = e => {
921 let t = !0;
922 const r = e.process, s = createTerminalLogger({
923 color: (e, r) => t ? ansiColors[r](e) : e,
924 cwd: () => r.cwd(),
925 emoji: e => "win32" !== r.platform ? e : "",
926 enableColors: e => t = e,
927 getColumns: () => {
928 const e = r.stdout && r.stdout.columns || 80;
929 return Math.max(Math.min(120, e), 60);
930 },
931 memoryUsage: () => r.memoryUsage().rss,
932 relativePath: (e, t) => path__default.default.relative(e, t),
933 writeLogs: (e, t, r) => {
934 if (r) try {
935 fs__default.default.accessSync(e);
936 } catch (e) {
937 r = !1;
938 }
939 r ? fs__default.default.appendFileSync(e, t) : fs__default.default.writeFileSync(e, t);
940 }
941 });
942 return s.createLineUpdater = async () => {
943 const e = await Promise.resolve().then((function() {
944 return _interopNamespace(require("readline"));
945 }));
946 let t = Promise.resolve();
947 const s = s => (s = s.substr(0, r.stdout.columns - 5) + "", t = t.then((() => new Promise((t => {
948 e.clearLine(r.stdout, 0), e.cursorTo(r.stdout, 0, null), r.stdout.write(s, t);
949 })))));
950 return r.stdout.write("[?25l"), {
951 update: s,
952 stop: () => s("[?25h")
953 };
954 }, s;
955}, exports.createNodeSys = function createNodeSys(e = {}) {
956 const t = e.process || global.process, r = new Set, s = [], n = os.cpus(), o = n.length, i = os.platform(), a = path__default.default.join(__dirname, "..", "..", "compiler", "stencil.js"), l = path__default.default.join(__dirname, "..", "..", "dev-server", "index.js"), c = () => {
957 const e = [];
958 let t;
959 for (;"function" == typeof (t = s.pop()); ) try {
960 const s = t();
961 (r = s) && ("object" == typeof r || "function" == typeof r) && "function" == typeof r.then && e.push(s);
962 } catch (e) {}
963 var r;
964 return e.length > 0 ? Promise.all(e) : null;
965 }, u = {
966 name: "node",
967 version: t.versions.node,
968 access: e => new Promise((t => {
969 fs__default.default.access(e, (e => t(!e)));
970 })),
971 accessSync(e) {
972 let t = !1;
973 try {
974 fs__default.default.accessSync(e), t = !0;
975 } catch (e) {}
976 return t;
977 },
978 addDestory(e) {
979 r.add(e);
980 },
981 removeDestory(e) {
982 r.delete(e);
983 },
984 applyPrerenderGlobalPatch(e) {
985 if ("function" != typeof global.fetch) {
986 const t = require(path__default.default.join(__dirname, "node-fetch.js"));
987 global.fetch = (r, s) => {
988 if ("string" == typeof r) {
989 const n = new URL(r, e.devServerHostUrl).href;
990 return t.fetch(n, s);
991 }
992 return r.url = new URL(r.url, e.devServerHostUrl).href, t.fetch(r, s);
993 }, global.Headers = t.Headers, global.Request = t.Request, global.Response = t.Response,
994 global.FetchError = t.FetchError;
995 }
996 e.window.fetch = global.fetch, e.window.Headers = global.Headers, e.window.Request = global.Request,
997 e.window.Response = global.Response, e.window.FetchError = global.FetchError;
998 },
999 fetch: (e, t) => {
1000 const r = require(path__default.default.join(__dirname, "node-fetch.js"));
1001 if ("string" == typeof e) {
1002 const s = new URL(e).href;
1003 return r.fetch(s, t);
1004 }
1005 return e.url = new URL(e.url).href, r.fetch(e, t);
1006 },
1007 checkVersion,
1008 copyFile: (e, t) => new Promise((r => {
1009 fs__default.default.copyFile(e, t, (e => {
1010 r(!e);
1011 }));
1012 })),
1013 createDir: (e, t) => new Promise((r => {
1014 t ? fs__default.default.mkdir(e, t, (t => {
1015 r({
1016 basename: path__default.default.basename(e),
1017 dirname: path__default.default.dirname(e),
1018 path: e,
1019 newDirs: [],
1020 error: t
1021 });
1022 })) : fs__default.default.mkdir(e, (t => {
1023 r({
1024 basename: path__default.default.basename(e),
1025 dirname: path__default.default.dirname(e),
1026 path: e,
1027 newDirs: [],
1028 error: t
1029 });
1030 }));
1031 })),
1032 createDirSync(e, t) {
1033 const r = {
1034 basename: path__default.default.basename(e),
1035 dirname: path__default.default.dirname(e),
1036 path: e,
1037 newDirs: [],
1038 error: null
1039 };
1040 try {
1041 fs__default.default.mkdirSync(e, t);
1042 } catch (e) {
1043 r.error = e;
1044 }
1045 return r;
1046 },
1047 createWorkerController(e) {
1048 const t = path__default.default.join(__dirname, "worker.js");
1049 return new NodeWorkerController(t, e);
1050 },
1051 async destroy() {
1052 const e = [];
1053 r.forEach((t => {
1054 try {
1055 const r = t();
1056 r && r.then && e.push(r);
1057 } catch (e) {
1058 console.error(`node sys destroy: ${e}`);
1059 }
1060 })), e.length > 0 && await Promise.all(e), r.clear();
1061 },
1062 dynamicImport: e => Promise.resolve(require(e)),
1063 encodeToBase64: e => Buffer.from(e).toString("base64"),
1064 ensureDependencies: async () => ({
1065 stencilPath: u.getCompilerExecutingPath(),
1066 diagnostics: []
1067 }),
1068 async ensureResources() {},
1069 exit: async e => {
1070 await c(), exit(e);
1071 },
1072 getCurrentDirectory: () => normalizePath(t.cwd()),
1073 getCompilerExecutingPath: () => a,
1074 getDevServerExecutingPath: () => l,
1075 getEnvironmentVar: e => process.env[e],
1076 getLocalModulePath: () => null,
1077 getRemoteModuleUrl: () => null,
1078 glob: asyncGlob,
1079 hardwareConcurrency: o,
1080 isSymbolicLink: e => new Promise((t => {
1081 try {
1082 fs__default.default.lstat(e, ((e, r) => {
1083 t(!e && r.isSymbolicLink());
1084 }));
1085 } catch (e) {
1086 t(!1);
1087 }
1088 })),
1089 nextTick: t.nextTick,
1090 normalizePath,
1091 onProcessInterrupt: e => {
1092 s.includes(e) || s.push(e);
1093 },
1094 platformPath: path__default.default,
1095 readDir: e => new Promise((t => {
1096 fs__default.default.readdir(e, ((r, s) => {
1097 t(r ? [] : s.map((t => normalizePath(path__default.default.join(e, t)))));
1098 }));
1099 })),
1100 isTTY() {
1101 var e;
1102 return !!(null === (e = null === process || void 0 === process ? void 0 : process.stdout) || void 0 === e ? void 0 : e.isTTY);
1103 },
1104 readDirSync(e) {
1105 try {
1106 return fs__default.default.readdirSync(e).map((t => normalizePath(path__default.default.join(e, t))));
1107 } catch (e) {}
1108 return [];
1109 },
1110 readFile: (e, t) => new Promise("binary" === t ? t => {
1111 fs__default.default.readFile(e, ((e, r) => {
1112 t(r);
1113 }));
1114 } : t => {
1115 fs__default.default.readFile(e, "utf8", ((e, r) => {
1116 t(r);
1117 }));
1118 }),
1119 readFileSync(e) {
1120 try {
1121 return fs__default.default.readFileSync(e, "utf8");
1122 } catch (e) {}
1123 },
1124 homeDir() {
1125 try {
1126 return os__namespace.homedir();
1127 } catch (e) {}
1128 },
1129 realpath: e => new Promise((t => {
1130 fs__default.default.realpath(e, "utf8", ((e, r) => {
1131 t({
1132 path: r,
1133 error: e
1134 });
1135 }));
1136 })),
1137 realpathSync(e) {
1138 const t = {
1139 path: void 0,
1140 error: null
1141 };
1142 try {
1143 t.path = fs__default.default.realpathSync(e, "utf8");
1144 } catch (e) {
1145 t.error = e;
1146 }
1147 return t;
1148 },
1149 rename: (e, t) => new Promise((r => {
1150 fs__default.default.rename(e, t, (s => {
1151 r({
1152 oldPath: e,
1153 newPath: t,
1154 error: s,
1155 oldDirs: [],
1156 oldFiles: [],
1157 newDirs: [],
1158 newFiles: [],
1159 renamed: [],
1160 isFile: !1,
1161 isDirectory: !1
1162 });
1163 }));
1164 })),
1165 resolvePath: e => normalizePath(e),
1166 removeDir: (e, t) => new Promise((r => {
1167 t && t.recursive ? fs__default.default.rmdir(e, {
1168 recursive: !0
1169 }, (t => {
1170 r({
1171 basename: path__default.default.basename(e),
1172 dirname: path__default.default.dirname(e),
1173 path: e,
1174 removedDirs: [],
1175 removedFiles: [],
1176 error: t
1177 });
1178 })) : fs__default.default.rmdir(e, (t => {
1179 r({
1180 basename: path__default.default.basename(e),
1181 dirname: path__default.default.dirname(e),
1182 path: e,
1183 removedDirs: [],
1184 removedFiles: [],
1185 error: t
1186 });
1187 }));
1188 })),
1189 removeDirSync(e, t) {
1190 try {
1191 return t && t.recursive ? fs__default.default.rmdirSync(e, {
1192 recursive: !0
1193 }) : fs__default.default.rmdirSync(e), {
1194 basename: path__default.default.basename(e),
1195 dirname: path__default.default.dirname(e),
1196 path: e,
1197 removedDirs: [],
1198 removedFiles: [],
1199 error: null
1200 };
1201 } catch (t) {
1202 return {
1203 basename: path__default.default.basename(e),
1204 dirname: path__default.default.dirname(e),
1205 path: e,
1206 removedDirs: [],
1207 removedFiles: [],
1208 error: t
1209 };
1210 }
1211 },
1212 removeFile: e => new Promise((t => {
1213 fs__default.default.unlink(e, (r => {
1214 t({
1215 basename: path__default.default.basename(e),
1216 dirname: path__default.default.dirname(e),
1217 path: e,
1218 error: r
1219 });
1220 }));
1221 })),
1222 removeFileSync(e) {
1223 const t = {
1224 basename: path__default.default.basename(e),
1225 dirname: path__default.default.dirname(e),
1226 path: e,
1227 error: null
1228 };
1229 try {
1230 fs__default.default.unlinkSync(e);
1231 } catch (e) {
1232 t.error = e;
1233 }
1234 return t;
1235 },
1236 setupCompiler(e) {
1237 const t = e.ts, r = t.sys.watchDirectory, s = t.sys.watchFile;
1238 u.watchTimeout = 80, u.events = (() => {
1239 const e = [], t = t => {
1240 const r = e.findIndex((e => e.callback === t));
1241 return r > -1 && (e.splice(r, 1), !0);
1242 };
1243 return {
1244 emit: (t, r) => {
1245 const s = t.toLowerCase().trim(), n = e.slice();
1246 for (const e of n) if (null == e.eventName) try {
1247 e.callback(t, r);
1248 } catch (e) {
1249 console.error(e);
1250 } else if (e.eventName === s) try {
1251 e.callback(r);
1252 } catch (e) {
1253 console.error(e);
1254 }
1255 },
1256 on: (r, s) => {
1257 if ("function" == typeof r) {
1258 const s = null, n = r;
1259 return e.push({
1260 eventName: s,
1261 callback: n
1262 }), () => t(n);
1263 }
1264 if ("string" == typeof r && "function" == typeof s) {
1265 const n = r.toLowerCase().trim(), o = s;
1266 return e.push({
1267 eventName: n,
1268 callback: o
1269 }), () => t(o);
1270 }
1271 return () => !1;
1272 },
1273 unsubscribeAll: () => {
1274 e.length = 0;
1275 }
1276 };
1277 })(), u.watchDirectory = (e, t, s) => {
1278 const n = r(e, (e => {
1279 t(normalizePath(e), "fileUpdate");
1280 }), s), o = () => {
1281 n.close();
1282 };
1283 return u.addDestory(o), {
1284 close() {
1285 u.removeDestory(o), n.close();
1286 }
1287 };
1288 }, u.watchFile = (e, r) => {
1289 const n = s(e, ((e, s) => {
1290 e = normalizePath(e), s === t.FileWatcherEventKind.Created ? (r(e, "fileAdd"), u.events.emit("fileAdd", e)) : s === t.FileWatcherEventKind.Changed ? (r(e, "fileUpdate"),
1291 u.events.emit("fileUpdate", e)) : s === t.FileWatcherEventKind.Deleted && (r(e, "fileDelete"),
1292 u.events.emit("fileDelete", e));
1293 })), o = () => {
1294 n.close();
1295 };
1296 return u.addDestory(o), {
1297 close() {
1298 u.removeDestory(o), n.close();
1299 }
1300 };
1301 };
1302 },
1303 stat: e => new Promise((t => {
1304 fs__default.default.stat(e, ((e, r) => {
1305 t(e ? {
1306 isDirectory: !1,
1307 isFile: !1,
1308 isSymbolicLink: !1,
1309 size: 0,
1310 mtimeMs: 0,
1311 error: e
1312 } : {
1313 isDirectory: r.isDirectory(),
1314 isFile: r.isFile(),
1315 isSymbolicLink: r.isSymbolicLink(),
1316 size: r.size,
1317 mtimeMs: r.mtimeMs,
1318 error: null
1319 });
1320 }));
1321 })),
1322 statSync(e) {
1323 try {
1324 const t = fs__default.default.statSync(e);
1325 return {
1326 isDirectory: t.isDirectory(),
1327 isFile: t.isFile(),
1328 isSymbolicLink: t.isSymbolicLink(),
1329 size: t.size,
1330 mtimeMs: t.mtimeMs,
1331 error: null
1332 };
1333 } catch (e) {
1334 return {
1335 isDirectory: !1,
1336 isFile: !1,
1337 isSymbolicLink: !1,
1338 size: 0,
1339 mtimeMs: 0,
1340 error: e
1341 };
1342 }
1343 },
1344 tmpDirSync: () => os.tmpdir(),
1345 writeFile: (e, t) => new Promise((r => {
1346 fs__default.default.writeFile(e, t, (t => {
1347 r({
1348 path: e,
1349 error: t
1350 });
1351 }));
1352 })),
1353 writeFileSync(e, t) {
1354 const r = {
1355 path: e,
1356 error: null
1357 };
1358 try {
1359 fs__default.default.writeFileSync(e, t);
1360 } catch (e) {
1361 r.error = e;
1362 }
1363 return r;
1364 },
1365 generateContentHash(e, t) {
1366 let r = crypto.createHash("sha1").update(e).digest("hex").toLowerCase();
1367 return "number" == typeof t && (r = r.substr(0, t)), Promise.resolve(r);
1368 },
1369 generateFileHash: (e, t) => new Promise(((r, s) => {
1370 const n = crypto.createHash("sha1");
1371 fs__default.default.createReadStream(e).on("error", (e => s(e))).on("data", (e => n.update(e))).on("end", (() => {
1372 let e = n.digest("hex").toLowerCase();
1373 "number" == typeof t && (e = e.substr(0, t)), r(e);
1374 }));
1375 })),
1376 copy: nodeCopyTasks,
1377 details: {
1378 cpuModel: (Array.isArray(n) && n.length > 0 ? n[0] && n[0].model : "") || "",
1379 freemem: () => os.freemem(),
1380 platform: "darwin" === i || "linux" === i ? i : "win32" === i ? "windows" : "",
1381 release: os.release(),
1382 totalmem: os.totalmem()
1383 }
1384 }, d = new NodeResolveModule;
1385 return u.lazyRequire = new NodeLazyRequire(d, {
1386 "@types/jest": [ "24.9.1", "26.0.21" ],
1387 jest: [ "24.9.0", "26.6.3" ],
1388 "jest-cli": [ "24.9.0", "26.6.3" ],
1389 pixelmatch: [ "4.0.2", "4.0.2" ],
1390 puppeteer: [ "1.19.0", "10.0.0" ],
1391 "puppeteer-core": [ "1.19.0", "5.2.1" ],
1392 "workbox-build": [ "4.3.1", "4.3.1" ]
1393 }), t.on("SIGINT", c), t.on("exit", c), u;
1394}, exports.setupNodeProcess = function setupNodeProcess(e) {
1395 e.process.on("unhandledRejection", (t => {
1396 if (!shouldIgnoreError(t)) {
1397 let r = "unhandledRejection";
1398 null != t && ("string" == typeof t ? r += ": " + t : t.stack ? r += ": " + t.stack : t.message && (r += ": " + t.message)),
1399 e.logger.error(r);
1400 }
1401 }));
1402};
\No newline at end of file