@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
@@ -1,137 +1,6 @@
1
1
  (function () {
2
2
  'use strict';
3
3
 
4
- var _defineProperty = (function (obj, key, value) {
5
- // Shortcircuit the slow defineProperty path when possible.
6
- // We are trying to avoid issues where setters defined on the
7
- // prototype cause side effects under the fast path of simple
8
- // assignment. By checking for existence of the property with
9
- // the in operator, we can optimize most of this overhead away.
10
- if (key in obj) {
11
- Object.defineProperty(obj, key, {
12
- value: value,
13
- enumerable: true,
14
- configurable: true,
15
- writable: true
16
- });
17
- } else {
18
- obj[key] = value;
19
- }
20
-
21
- return obj;
22
- });
23
-
24
- function ownKeys(object, enumerableOnly) {
25
- var keys = Object.keys(object);
26
-
27
- if (Object.getOwnPropertySymbols) {
28
- var symbols = Object.getOwnPropertySymbols(object);
29
-
30
- if (enumerableOnly) {
31
- symbols = symbols.filter(function (sym) {
32
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
33
- });
34
- }
35
-
36
- keys.push.apply(keys, symbols);
37
- }
38
-
39
- return keys;
40
- }
41
-
42
- function _objectSpread2(target) {
43
- for (var i = 1; i < arguments.length; i++) {
44
- var source = arguments[i] != null ? arguments[i] : {};
45
-
46
- if (i % 2) {
47
- ownKeys(Object(source), true).forEach(function (key) {
48
- _defineProperty(target, key, source[key]);
49
- });
50
- } else if (Object.getOwnPropertyDescriptors) {
51
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
52
- } else {
53
- ownKeys(Object(source)).forEach(function (key) {
54
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
55
- });
56
- }
57
- }
58
-
59
- return target;
60
- }
61
-
62
- var objectWithoutPropertiesLoose = (function (source, excluded) {
63
- if (source === null) return {};
64
- var target = {};
65
- var sourceKeys = Object.keys(source);
66
- var key;
67
- var i;
68
-
69
- for (i = 0; i < sourceKeys.length; i++) {
70
- key = sourceKeys[i];
71
- if (excluded.indexOf(key) >= 0) continue;
72
- target[key] = source[key];
73
- }
74
-
75
- return target;
76
- });
77
-
78
- var _objectWithoutProperties = (function (source, excluded) {
79
- if (source === null) return {};
80
- var target = objectWithoutPropertiesLoose(source, excluded);
81
- var key;
82
- var i;
83
-
84
- if (Object.getOwnPropertySymbols) {
85
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
86
-
87
- for (i = 0; i < sourceSymbolKeys.length; i++) {
88
- key = sourceSymbolKeys[i];
89
- if (excluded.indexOf(key) >= 0) continue;
90
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
91
- target[key] = source[key];
92
- }
93
- }
94
-
95
- return target;
96
- });
97
-
98
- var createCancellationToken = function createCancellationToken() {
99
- var register = function register(callback) {
100
- if (typeof callback !== "function") {
101
- throw new Error("callback must be a function, got ".concat(callback));
102
- }
103
-
104
- return {
105
- callback: callback,
106
- unregister: function unregister() {}
107
- };
108
- };
109
-
110
- var throwIfRequested = function throwIfRequested() {
111
- return undefined;
112
- };
113
-
114
- return {
115
- register: register,
116
- cancellationRequested: false,
117
- throwIfRequested: throwIfRequested
118
- };
119
- };
120
-
121
- var nativeTypeOf = function nativeTypeOf(obj) {
122
- return typeof obj;
123
- };
124
-
125
- var customTypeOf = function customTypeOf(obj) {
126
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
127
- };
128
-
129
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? nativeTypeOf : customTypeOf;
130
-
131
- var isCancelError = function isCancelError(value) {
132
- return value && _typeof(value) === "object" && value.name === "CANCEL_ERROR";
133
- };
134
-
135
4
  var memoize = function memoize(compute) {
136
5
  var memoized = false;
137
6
  var memoizedValue;
@@ -158,8 +27,6 @@
158
27
  return fnWithMemoization;
159
28
  };
160
29
 
161
- var _excluded$1 = ["cancellationToken"];
162
-
163
30
  function _call$2(body, then, direct) {
164
31
  if (direct) {
165
32
  return then ? then(body()) : body();
@@ -173,98 +40,21 @@
173
40
  }
174
41
  }
175
42
 
176
- function _await$5(value, then, direct) {
177
- if (direct) {
178
- return then ? then(value) : value;
179
- }
180
-
181
- if (!value || !value.then) {
182
- value = Promise.resolve(value);
183
- }
184
-
185
- return then ? value.then(then) : value;
186
- }
187
-
188
- var fetchNative$1 = _async$5(function (url) {
189
-
190
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
191
-
192
- var _ref$cancellationToke = _ref.cancellationToken,
193
- cancellationToken = _ref$cancellationToke === void 0 ? createCancellationToken() : _ref$cancellationToke,
194
- options = _objectWithoutProperties(_ref, _excluded$1);
195
-
196
- var abortController = new AbortController();
197
- var cancelError;
198
- cancellationToken.register(function (reason) {
199
- cancelError = reason;
200
- abortController.abort(reason);
201
- });
202
- var response;
203
- return _continue$1(_catch$2(function () {
204
- return _await$5(window.fetch(url, _objectSpread2({
205
- signal: abortController.signal
206
- }, options)), function (_window$fetch) {
207
- response = _window$fetch;
208
- });
209
- }, function (e) {
210
- if (cancelError && e.name === "AbortError") {
211
- throw cancelError;
212
- }
213
-
214
- throw e;
215
- }), function (_result) {
216
- return response;
217
- });
218
- });
219
-
220
- function _catch$2(body, recover) {
221
- try {
222
- var result = body();
223
- } catch (e) {
224
- return recover(e);
225
- }
226
-
227
- if (result && result.then) {
228
- return result.then(void 0, recover);
229
- }
230
-
231
- return result;
232
- }
233
-
234
43
  var fetchPolyfill = function fetchPolyfill() {
235
44
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
236
45
  args[_key] = arguments[_key];
237
46
  }
238
47
 
239
- return _call$2(loadPolyfill, function (_ref2) {
240
- var fetchUsingXHR = _ref2.fetchUsingXHR;
48
+ return _call$2(loadPolyfill, function (_ref) {
49
+ var fetchUsingXHR = _ref.fetchUsingXHR;
241
50
  return fetchUsingXHR.apply(void 0, args);
242
51
  });
243
52
  };
244
53
 
245
- function _continue$1(value, then) {
246
- return value && value.then ? value.then(then) : then(value);
247
- }
248
-
249
54
  var loadPolyfill = memoize(function () {
250
55
  return Promise.resolve().then(function () { return fetchUsingXHR$1; });
251
56
  });
252
-
253
- function _async$5(f) {
254
- return function () {
255
- for (var args = [], i = 0; i < arguments.length; i++) {
256
- args[i] = arguments[i];
257
- }
258
-
259
- try {
260
- return Promise.resolve(f.apply(this, args));
261
- } catch (e) {
262
- return Promise.reject(e);
263
- }
264
- };
265
- }
266
-
267
- var fetchUrl$1 = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative$1 : fetchPolyfill;
57
+ var fetchUrl$1 = typeof window.fetch === "function" && typeof window.AbortController === "function" ? window.fetch : fetchPolyfill;
268
58
 
269
59
  var createPreference = function createPreference(name) {
270
60
  return {
@@ -280,6 +70,42 @@
280
70
  };
281
71
  };
282
72
 
73
+ var objectWithoutPropertiesLoose = (function (source, excluded) {
74
+ if (source === null) return {};
75
+ var target = {};
76
+ var sourceKeys = Object.keys(source);
77
+ var key;
78
+ var i;
79
+
80
+ for (i = 0; i < sourceKeys.length; i++) {
81
+ key = sourceKeys[i];
82
+ if (excluded.indexOf(key) >= 0) continue;
83
+ target[key] = source[key];
84
+ }
85
+
86
+ return target;
87
+ });
88
+
89
+ var _objectWithoutProperties = (function (source, excluded) {
90
+ if (source === null) return {};
91
+ var target = objectWithoutPropertiesLoose(source, excluded);
92
+ var key;
93
+ var i;
94
+
95
+ if (Object.getOwnPropertySymbols) {
96
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
97
+
98
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
99
+ key = sourceSymbolKeys[i];
100
+ if (excluded.indexOf(key) >= 0) continue;
101
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
102
+ target[key] = source[key];
103
+ }
104
+ }
105
+
106
+ return target;
107
+ });
108
+
283
109
  var startJavaScriptAnimation = function startJavaScriptAnimation(_ref6) {
284
110
  var _ref6$duration = _ref6.duration,
285
111
  duration = _ref6$duration === void 0 ? 300 : _ref6$duration,
@@ -345,6 +171,26 @@
345
171
  return stop;
346
172
  };
347
173
 
174
+ var _defineProperty = (function (obj, key, value) {
175
+ // Shortcircuit the slow defineProperty path when possible.
176
+ // We are trying to avoid issues where setters defined on the
177
+ // prototype cause side effects under the fast path of simple
178
+ // assignment. By checking for existence of the property with
179
+ // the in operator, we can optimize most of this overhead away.
180
+ if (key in obj) {
181
+ Object.defineProperty(obj, key, {
182
+ value: value,
183
+ enumerable: true,
184
+ configurable: true,
185
+ writable: true
186
+ });
187
+ } else {
188
+ obj[key] = value;
189
+ }
190
+
191
+ return obj;
192
+ });
193
+
348
194
  var createDetailedMessage = function createDetailedMessage(message) {
349
195
  var details = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
350
196
  var string = "".concat(message);
@@ -355,8 +201,53 @@
355
201
  return string;
356
202
  };
357
203
 
358
- // fallback to this polyfill (or even use an existing polyfill would be better)
359
- // https://github.com/github/fetch/blob/master/fetch.js
204
+ function ownKeys(object, enumerableOnly) {
205
+ var keys = Object.keys(object);
206
+
207
+ if (Object.getOwnPropertySymbols) {
208
+ var symbols = Object.getOwnPropertySymbols(object);
209
+
210
+ if (enumerableOnly) {
211
+ symbols = symbols.filter(function (sym) {
212
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
213
+ });
214
+ }
215
+
216
+ keys.push.apply(keys, symbols);
217
+ }
218
+
219
+ return keys;
220
+ }
221
+
222
+ function _objectSpread2(target) {
223
+ for (var i = 1; i < arguments.length; i++) {
224
+ var source = arguments[i] != null ? arguments[i] : {};
225
+
226
+ if (i % 2) {
227
+ ownKeys(Object(source), true).forEach(function (key) {
228
+ _defineProperty(target, key, source[key]);
229
+ });
230
+ } else if (Object.getOwnPropertyDescriptors) {
231
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
232
+ } else {
233
+ ownKeys(Object(source)).forEach(function (key) {
234
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
235
+ });
236
+ }
237
+ }
238
+
239
+ return target;
240
+ }
241
+
242
+ var nativeTypeOf = function nativeTypeOf(obj) {
243
+ return typeof obj;
244
+ };
245
+
246
+ var customTypeOf = function customTypeOf(obj) {
247
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
248
+ };
249
+
250
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? nativeTypeOf : customTypeOf;
360
251
 
361
252
  function _await$4(value, then, direct) {
362
253
  if (direct) {
@@ -399,8 +290,7 @@
399
290
 
400
291
  var fetchUsingXHR = _async$4(function (url) {
401
292
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
402
- _ref$cancellationToke = _ref.cancellationToken,
403
- cancellationToken = _ref$cancellationToke === void 0 ? createCancellationToken() : _ref$cancellationToke,
293
+ signal = _ref.signal,
404
294
  _ref$method = _ref.method,
405
295
  method = _ref$method === void 0 ? "GET" : _ref$method,
406
296
  _ref$credentials = _ref.credentials,
@@ -449,9 +339,11 @@
449
339
  bodyPromise.resolve();
450
340
  };
451
341
 
452
- cancellationToken.register(function (cancelError) {
342
+ signal.addEventListener("abort", function () {
453
343
  xhr.abort();
454
- failure(cancelError);
344
+ var abortError = new Error("aborted");
345
+ abortError.name = "AbortError";
346
+ failure(abortError);
455
347
  });
456
348
 
457
349
  xhr.onreadystatechange = function () {
@@ -796,7 +688,7 @@
796
688
  fetchUsingXHR: fetchUsingXHR
797
689
  });
798
690
 
799
- var _excluded = ["cancellationToken", "mode"];
691
+ var _excluded = ["mode"];
800
692
 
801
693
  function _await$3(value, then, direct) {
802
694
  if (direct) {
@@ -811,36 +703,15 @@
811
703
  }
812
704
 
813
705
  var fetchNative = _async$3(function (url) {
814
-
815
706
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
816
707
 
817
- var _ref$cancellationToke = _ref.cancellationToken,
818
- cancellationToken = _ref$cancellationToke === void 0 ? createCancellationToken() : _ref$cancellationToke,
819
- _ref$mode = _ref.mode,
708
+ var _ref$mode = _ref.mode,
820
709
  mode = _ref$mode === void 0 ? "cors" : _ref$mode,
821
710
  options = _objectWithoutProperties(_ref, _excluded);
822
711
 
823
- var abortController = new AbortController();
824
- var cancelError;
825
- cancellationToken.register(function (reason) {
826
- cancelError = reason;
827
- abortController.abort(reason);
828
- });
829
- var response;
830
- return _continue(_catch$1(function () {
831
- return _await$3(window.fetch(url, _objectSpread2({
832
- signal: abortController.signal,
833
- mode: mode
834
- }, options)), function (_window$fetch) {
835
- response = _window$fetch;
836
- });
837
- }, function (e) {
838
- if (cancelError && e.name === "AbortError") {
839
- throw cancelError;
840
- }
841
-
842
- throw e;
843
- }), function (_result) {
712
+ return _await$3(window.fetch(url, _objectSpread2({
713
+ mode: mode
714
+ }, options)), function (response) {
844
715
  return {
845
716
  url: response.url,
846
717
  status: response.status,
@@ -865,32 +736,6 @@
865
736
  });
866
737
  });
867
738
 
868
- function _catch$1(body, recover) {
869
- try {
870
- var result = body();
871
- } catch (e) {
872
- return recover(e);
873
- }
874
-
875
- if (result && result.then) {
876
- return result.then(void 0, recover);
877
- }
878
-
879
- return result;
880
- }
881
-
882
- var responseToHeaders = function responseToHeaders(response) {
883
- var headers = {};
884
- response.headers.forEach(function (value, name) {
885
- headers[name] = value;
886
- });
887
- return headers;
888
- };
889
-
890
- function _continue(value, then) {
891
- return value && value.then ? value.then(then) : then(value);
892
- }
893
-
894
739
  function _async$3(f) {
895
740
  return function () {
896
741
  for (var args = [], i = 0; i < arguments.length; i++) {
@@ -905,6 +750,14 @@
905
750
  };
906
751
  }
907
752
 
753
+ var responseToHeaders = function responseToHeaders(response) {
754
+ var headers = {};
755
+ response.headers.forEach(function (value, name) {
756
+ headers[name] = value;
757
+ });
758
+ return headers;
759
+ };
760
+
908
761
  var fetchUrl = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative : fetchUsingXHR;
909
762
 
910
763
  function _await$2(value, then, direct) {
@@ -982,14 +835,14 @@
982
835
 
983
836
  var fetchExploringJson = _async$1(function () {
984
837
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
985
- cancellationToken = _ref.cancellationToken;
838
+ signal = _ref.signal;
986
839
 
987
840
  return _catch(function () {
988
841
  return _await$1(fetchJson("/.jsenv/exploring.json", {
989
- cancellationToken: cancellationToken
842
+ signal: signal
990
843
  }));
991
844
  }, function (e) {
992
- if (isCancelError(e)) {
845
+ if (signal && signal.aborted && e.name === "AbortError") {
993
846
  throw e;
994
847
  }
995
848