@rindo/core 1.17.4 → 2.5.2

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