@jsenv/core 23.1.3 → 23.2.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 (82) hide show
  1. package/dist/jsenv_browser_system.js +36 -99
  2. package/dist/jsenv_browser_system.js.map +12 -21
  3. package/dist/jsenv_compile_proxy.js +18 -82
  4. package/dist/jsenv_compile_proxy.js.map +11 -21
  5. package/dist/jsenv_exploring_index.js +127 -274
  6. package/dist/jsenv_exploring_index.js.map +76 -90
  7. package/dist/jsenv_exploring_redirector.js +21 -89
  8. package/dist/jsenv_exploring_redirector.js.map +13 -25
  9. package/dist/jsenv_toolbar.js +81 -149
  10. package/dist/jsenv_toolbar.js.map +50 -61
  11. package/dist/jsenv_toolbar_injector.js +185 -231
  12. package/dist/jsenv_toolbar_injector.js.map +30 -42
  13. package/package.json +8 -9
  14. package/src/abort/abortable.js +172 -0
  15. package/src/abort/callback_list.js +64 -0
  16. package/src/abort/callback_race.js +34 -0
  17. package/src/abort/cleaner.js +22 -0
  18. package/src/abort/main.js +32 -0
  19. package/src/abort/process_teardown_events.js +59 -0
  20. package/src/buildProject.js +132 -123
  21. package/src/execute.js +108 -107
  22. package/src/executeTestPlan.js +107 -125
  23. package/src/importUsingChildProcess.js +2 -1
  24. package/src/internal/browser-launcher/executeHtmlFile.js +33 -12
  25. package/src/internal/browser-utils/fetch-browser.js +4 -29
  26. package/src/internal/browser-utils/fetchUsingXHR.js +5 -7
  27. package/src/internal/building/buildUsingRollup.js +60 -24
  28. package/src/internal/building/createJsenvRollupPlugin.js +13 -31
  29. package/src/internal/building/ressource_builder.js +3 -6
  30. package/src/internal/building/sourcemap_loader.js +4 -5
  31. package/src/internal/building/url_fetcher.js +2 -5
  32. package/src/internal/building/url_loader.js +3 -6
  33. package/src/internal/compiling/compileFile.js +1 -2
  34. package/src/internal/compiling/createCompiledFileService.js +8 -9
  35. package/src/internal/compiling/startCompileServer.js +74 -135
  36. package/src/internal/executing/coverage/generateCoverageJsonFile.js +20 -3
  37. package/src/internal/executing/coverage/relativeUrlToEmptyCoverage.js +19 -30
  38. package/src/internal/executing/coverage/reportToCoverage.js +44 -24
  39. package/src/internal/executing/coverage/v8CoverageFromNodeV8Directory.js +2 -15
  40. package/src/internal/executing/createSummaryLog.js +50 -37
  41. package/src/internal/executing/executeConcurrently.js +89 -47
  42. package/src/internal/executing/executePlan.js +33 -7
  43. package/src/internal/executing/executionLogs.js +25 -28
  44. package/src/internal/executing/execution_colors.js +15 -0
  45. package/src/internal/executing/generateExecutionSteps.js +3 -2
  46. package/src/internal/executing/launchAndExecute.js +217 -261
  47. package/src/internal/exploring/fetchExploringJson.js +3 -4
  48. package/src/internal/fetchUrl.js +6 -2
  49. package/src/internal/logs/log_style.js +16 -28
  50. package/src/internal/logs/msAsDuration.js +1 -1
  51. package/src/internal/node-launcher/createChildProcessOptions.js +4 -5
  52. package/src/internal/node-launcher/createControllableNodeProcess.js +117 -229
  53. package/src/internal/node-launcher/kill_process_tree.js +76 -0
  54. package/src/internal/node-launcher/nodeControllableFile.mjs +16 -10
  55. package/src/internal/{promise_track_race.js → promise_race.js} +2 -2
  56. package/src/internal/runtime/s.js +25 -24
  57. package/src/internal/toolbar/toolbar.html +157 -61
  58. package/src/internal/toolbar/toolbar.injector.js +8 -0
  59. package/src/internal/toolbar/util/animation.js +3 -7
  60. package/src/internal/toolbar/util/fetching.js +1 -30
  61. package/src/jsenvServiceWorkerFinalizer.js +1 -2
  62. package/src/launchBrowser.js +131 -127
  63. package/src/launchNode.js +29 -17
  64. package/src/playwright_browser_versions.js +3 -3
  65. package/src/requireUsingChildProcess.js +2 -1
  66. package/src/signal/signal.js +65 -0
  67. package/src/startExploring.js +70 -72
  68. package/src/internal/executeJsenvAsyncFunction.js +0 -34
  69. package/src/internal/toolbar/animation/toolbar-movie-icon.svg +0 -15
  70. package/src/internal/toolbar/compilation/flask.svg +0 -7
  71. package/src/internal/toolbar/compilation/info.svg +0 -9
  72. package/src/internal/toolbar/compilation/loupe.svg +0 -11
  73. package/src/internal/toolbar/compilation/toolbar_compilation.svg +0 -11
  74. package/src/internal/toolbar/eventsource/toolbar-power-icon.svg +0 -10
  75. package/src/internal/toolbar/eventsource/toolbar-power-off-icon.svg +0 -10
  76. package/src/internal/toolbar/responsive/toolbar-dots-icon.svg +0 -10
  77. package/src/internal/toolbar/settings/toolbar-settings-icon.svg +0 -9
  78. package/src/internal/toolbar/theme/toolbar-palette-icon.svg +0 -10
  79. package/src/internal/toolbar/toolbar-cross-icon.svg +0 -10
  80. package/src/internal/toolbar/toolbar-loading-icon.svg +0 -102
  81. package/src/internal/toolbar/toolbar-notif-icon.svg +0 -9
  82. package/src/internal/trackRessources.js +0 -23
@@ -152,6 +152,44 @@
152
152
  return string;
153
153
  };
154
154
 
155
+ function ownKeys(object, enumerableOnly) {
156
+ var keys = Object.keys(object);
157
+
158
+ if (Object.getOwnPropertySymbols) {
159
+ var symbols = Object.getOwnPropertySymbols(object);
160
+
161
+ if (enumerableOnly) {
162
+ symbols = symbols.filter(function (sym) {
163
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
164
+ });
165
+ }
166
+
167
+ keys.push.apply(keys, symbols);
168
+ }
169
+
170
+ return keys;
171
+ }
172
+
173
+ function _objectSpread2(target) {
174
+ for (var i = 1; i < arguments.length; i++) {
175
+ var source = arguments[i] != null ? arguments[i] : {};
176
+
177
+ if (i % 2) {
178
+ ownKeys(Object(source), true).forEach(function (key) {
179
+ _defineProperty(target, key, source[key]);
180
+ });
181
+ } else if (Object.getOwnPropertyDescriptors) {
182
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
183
+ } else {
184
+ ownKeys(Object(source)).forEach(function (key) {
185
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
186
+ });
187
+ }
188
+ }
189
+
190
+ return target;
191
+ }
192
+
155
193
  var objectWithoutPropertiesLoose = (function (source, excluded) {
156
194
  if (source === null) return {};
157
195
  var target = {};
@@ -188,29 +226,6 @@
188
226
  return target;
189
227
  });
190
228
 
191
- var createCancellationToken = function createCancellationToken() {
192
- var register = function register(callback) {
193
- if (typeof callback !== "function") {
194
- throw new Error("callback must be a function, got ".concat(callback));
195
- }
196
-
197
- return {
198
- callback: callback,
199
- unregister: function unregister() {}
200
- };
201
- };
202
-
203
- var throwIfRequested = function throwIfRequested() {
204
- return undefined;
205
- };
206
-
207
- return {
208
- register: register,
209
- cancellationRequested: false,
210
- throwIfRequested: throwIfRequested
211
- };
212
- };
213
-
214
229
  var nativeTypeOf = function nativeTypeOf(obj) {
215
230
  return typeof obj;
216
231
  };
@@ -221,73 +236,6 @@
221
236
 
222
237
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? nativeTypeOf : customTypeOf;
223
238
 
224
- var isCancelError = function isCancelError(value) {
225
- return value && _typeof(value) === "object" && value.name === "CANCEL_ERROR";
226
- };
227
-
228
- /* eslint-disable no-eq-null, eqeqeq */
229
- function arrayLikeToArray(arr, len) {
230
- if (len == null || len > arr.length) len = arr.length;
231
- var arr2 = new Array(len);
232
-
233
- for (var i = 0; i < len; i++) {
234
- arr2[i] = arr[i];
235
- }
236
-
237
- return arr2;
238
- }
239
-
240
- /* eslint-disable consistent-return */
241
- function unsupportedIterableToArray(o, minLen) {
242
- if (!o) return;
243
- if (typeof o === "string") return arrayLikeToArray(o, minLen);
244
- var n = Object.prototype.toString.call(o).slice(8, -1);
245
- if (n === "Object" && o.constructor) n = o.constructor.name;
246
- if (n === "Map" || n === "Set") return Array.from(o);
247
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
248
- }
249
-
250
- function ownKeys(object, enumerableOnly) {
251
- var keys = Object.keys(object);
252
-
253
- if (Object.getOwnPropertySymbols) {
254
- var symbols = Object.getOwnPropertySymbols(object);
255
-
256
- if (enumerableOnly) {
257
- symbols = symbols.filter(function (sym) {
258
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
259
- });
260
- }
261
-
262
- keys.push.apply(keys, symbols);
263
- }
264
-
265
- return keys;
266
- }
267
-
268
- function _objectSpread2(target) {
269
- for (var i = 1; i < arguments.length; i++) {
270
- var source = arguments[i] != null ? arguments[i] : {};
271
-
272
- if (i % 2) {
273
- ownKeys(Object(source), true).forEach(function (key) {
274
- _defineProperty(target, key, source[key]);
275
- });
276
- } else if (Object.getOwnPropertyDescriptors) {
277
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
278
- } else {
279
- ownKeys(Object(source)).forEach(function (key) {
280
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
281
- });
282
- }
283
- }
284
-
285
- return target;
286
- }
287
-
288
- // fallback to this polyfill (or even use an existing polyfill would be better)
289
- // https://github.com/github/fetch/blob/master/fetch.js
290
-
291
239
  function _await$5(value, then, direct) {
292
240
  if (direct) {
293
241
  return then ? then(value) : value;
@@ -329,8 +277,7 @@
329
277
 
330
278
  var fetchUsingXHR = _async$6(function (url) {
331
279
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
332
- _ref$cancellationToke = _ref.cancellationToken,
333
- cancellationToken = _ref$cancellationToke === void 0 ? createCancellationToken() : _ref$cancellationToke,
280
+ signal = _ref.signal,
334
281
  _ref$method = _ref.method,
335
282
  method = _ref$method === void 0 ? "GET" : _ref$method,
336
283
  _ref$credentials = _ref.credentials,
@@ -379,9 +326,11 @@
379
326
  bodyPromise.resolve();
380
327
  };
381
328
 
382
- cancellationToken.register(function (cancelError) {
329
+ signal.addEventListener("abort", function () {
383
330
  xhr.abort();
384
- failure(cancelError);
331
+ var abortError = new Error("aborted");
332
+ abortError.name = "AbortError";
333
+ failure(abortError);
385
334
  });
386
335
 
387
336
  xhr.onreadystatechange = function () {
@@ -721,7 +670,7 @@
721
670
  return view.buffer;
722
671
  };
723
672
 
724
- var _excluded$1 = ["cancellationToken", "mode"];
673
+ var _excluded$1 = ["mode"];
725
674
 
726
675
  function _await$4(value, then, direct) {
727
676
  if (direct) {
@@ -736,36 +685,15 @@
736
685
  }
737
686
 
738
687
  var fetchNative = _async$5(function (url) {
739
-
740
688
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
741
689
 
742
- var _ref$cancellationToke = _ref.cancellationToken,
743
- cancellationToken = _ref$cancellationToke === void 0 ? createCancellationToken() : _ref$cancellationToke,
744
- _ref$mode = _ref.mode,
690
+ var _ref$mode = _ref.mode,
745
691
  mode = _ref$mode === void 0 ? "cors" : _ref$mode,
746
692
  options = _objectWithoutProperties(_ref, _excluded$1);
747
693
 
748
- var abortController = new AbortController();
749
- var cancelError;
750
- cancellationToken.register(function (reason) {
751
- cancelError = reason;
752
- abortController.abort(reason);
753
- });
754
- var response;
755
- return _continue(_catch$2(function () {
756
- return _await$4(window.fetch(url, _objectSpread2({
757
- signal: abortController.signal,
758
- mode: mode
759
- }, options)), function (_window$fetch) {
760
- response = _window$fetch;
761
- });
762
- }, function (e) {
763
- if (cancelError && e.name === "AbortError") {
764
- throw cancelError;
765
- }
766
-
767
- throw e;
768
- }), function (_result) {
694
+ return _await$4(window.fetch(url, _objectSpread2({
695
+ mode: mode
696
+ }, options)), function (response) {
769
697
  return {
770
698
  url: response.url,
771
699
  status: response.status,
@@ -790,32 +718,6 @@
790
718
  });
791
719
  });
792
720
 
793
- function _catch$2(body, recover) {
794
- try {
795
- var result = body();
796
- } catch (e) {
797
- return recover(e);
798
- }
799
-
800
- if (result && result.then) {
801
- return result.then(void 0, recover);
802
- }
803
-
804
- return result;
805
- }
806
-
807
- var responseToHeaders = function responseToHeaders(response) {
808
- var headers = {};
809
- response.headers.forEach(function (value, name) {
810
- headers[name] = value;
811
- });
812
- return headers;
813
- };
814
-
815
- function _continue(value, then) {
816
- return value && value.then ? value.then(then) : then(value);
817
- }
818
-
819
721
  function _async$5(f) {
820
722
  return function () {
821
723
  for (var args = [], i = 0; i < arguments.length; i++) {
@@ -830,6 +732,14 @@
830
732
  };
831
733
  }
832
734
 
735
+ var responseToHeaders = function responseToHeaders(response) {
736
+ var headers = {};
737
+ response.headers.forEach(function (value, name) {
738
+ headers[name] = value;
739
+ });
740
+ return headers;
741
+ };
742
+
833
743
  var fetchUrl = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative : fetchUsingXHR;
834
744
 
835
745
  function _await$3(value, then, direct) {
@@ -907,14 +817,14 @@
907
817
 
908
818
  var fetchExploringJson = _async$3(function () {
909
819
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
910
- cancellationToken = _ref.cancellationToken;
820
+ signal = _ref.signal;
911
821
 
912
822
  return _catch$1(function () {
913
823
  return _await$2(fetchJson("/.jsenv/exploring.json", {
914
- cancellationToken: cancellationToken
824
+ signal: signal
915
825
  }));
916
826
  }, function (e) {
917
- if (isCancelError(e)) {
827
+ if (signal && signal.aborted && e.name === "AbortError") {
918
828
  throw e;
919
829
  }
920
830
 
@@ -1787,6 +1697,28 @@
1787
1697
  return _arr;
1788
1698
  }
1789
1699
 
1700
+ /* eslint-disable no-eq-null, eqeqeq */
1701
+ function arrayLikeToArray(arr, len) {
1702
+ if (len == null || len > arr.length) len = arr.length;
1703
+ var arr2 = new Array(len);
1704
+
1705
+ for (var i = 0; i < len; i++) {
1706
+ arr2[i] = arr[i];
1707
+ }
1708
+
1709
+ return arr2;
1710
+ }
1711
+
1712
+ /* eslint-disable consistent-return */
1713
+ function unsupportedIterableToArray(o, minLen) {
1714
+ if (!o) return;
1715
+ if (typeof o === "string") return arrayLikeToArray(o, minLen);
1716
+ var n = Object.prototype.toString.call(o).slice(8, -1);
1717
+ if (n === "Object" && o.constructor) n = o.constructor.name;
1718
+ if (n === "Map" || n === "Set") return Array.from(o);
1719
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
1720
+ }
1721
+
1790
1722
  var nonIterableRest = (function () {
1791
1723
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1792
1724
  });