@jsenv/core 22.0.1 → 22.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/jsenv_browser_system.js +765 -1354
- package/dist/jsenv_browser_system.js.map +12 -22
- package/dist/jsenv_compile_proxy.js +233 -372
- package/dist/jsenv_compile_proxy.js.map +10 -16
- package/dist/jsenv_exploring_index.js +332 -572
- package/dist/jsenv_exploring_index.js.map +9 -17
- package/dist/jsenv_exploring_redirector.js +250 -455
- package/dist/jsenv_exploring_redirector.js.map +11 -16
- package/dist/jsenv_toolbar.js +333 -582
- package/dist/jsenv_toolbar.js.map +13 -18
- package/dist/jsenv_toolbar_injector.js +243 -405
- package/dist/jsenv_toolbar_injector.js.map +9 -14
- package/package.json +14 -40
- package/readme.md +39 -12
- package/src/commonJsToJavaScriptModule.js +30 -5
- package/src/internal/building/buildUsingRollup.js +27 -5
- package/src/internal/compiling/rollup_plugin_commonjs_named_exports.js +5 -4
- package/src/internal/compiling/startCompileServer.js +3 -1
- package/src/internal/compiling/transformResultToCompilationResult.js +9 -0
- package/src/internal/import-resolution/import-resolver-node.js +30 -14
- package/src/internal/runtime/createNodeRuntime/createNodeSystem.js +2 -2
|
@@ -145,46 +145,7 @@
|
|
|
145
145
|
// fallback to this polyfill (or even use an existing polyfill would be better)
|
|
146
146
|
// https://github.com/github/fetch/blob/master/fetch.js
|
|
147
147
|
|
|
148
|
-
function
|
|
149
|
-
if (direct) {
|
|
150
|
-
return then ? then(value) : value;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
if (!value || !value.then) {
|
|
154
|
-
value = Promise.resolve(value);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
return then ? value.then(then) : value;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
function _async$3(f) {
|
|
161
|
-
return function () {
|
|
162
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
163
|
-
args[i] = arguments[i];
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
try {
|
|
167
|
-
return Promise.resolve(f.apply(this, args));
|
|
168
|
-
} catch (e) {
|
|
169
|
-
return Promise.reject(e);
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
function _call$1(body, then, direct) {
|
|
175
|
-
if (direct) {
|
|
176
|
-
return then ? then(body()) : body();
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
try {
|
|
180
|
-
var result = Promise.resolve(body());
|
|
181
|
-
return then ? result.then(then) : result;
|
|
182
|
-
} catch (e) {
|
|
183
|
-
return Promise.reject(e);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
var fetchUsingXHR = _async$3(function (url) {
|
|
148
|
+
var fetchUsingXHR = async function fetchUsingXHR(url) {
|
|
188
149
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
189
150
|
_ref$cancellationToke = _ref.cancellationToken,
|
|
190
151
|
cancellationToken = _ref$cancellationToke === void 0 ? createCancellationToken() : _ref$cancellationToke,
|
|
@@ -267,108 +228,122 @@
|
|
|
267
228
|
}
|
|
268
229
|
|
|
269
230
|
xhr.send(body);
|
|
270
|
-
|
|
271
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL
|
|
272
|
-
var responseUrl = "responseURL" in xhr ? xhr.responseURL : headers["x-request-url"];
|
|
273
|
-
var responseStatus = xhr.status;
|
|
274
|
-
var responseStatusText = xhr.statusText;
|
|
275
|
-
var responseHeaders = getHeadersFromXHR(xhr);
|
|
276
|
-
|
|
277
|
-
var readBody = function readBody() {
|
|
278
|
-
return _await$4(bodyPromise, function () {
|
|
279
|
-
var status = xhr.status; // in Chrome on file:/// URLs, status is 0
|
|
280
|
-
|
|
281
|
-
if (status === 0) {
|
|
282
|
-
responseStatus = 200;
|
|
283
|
-
}
|
|
231
|
+
await headersPromise; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL
|
|
284
232
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
233
|
+
var responseUrl = "responseURL" in xhr ? xhr.responseURL : headers["x-request-url"];
|
|
234
|
+
var responseStatus = xhr.status;
|
|
235
|
+
var responseStatusText = xhr.statusText;
|
|
236
|
+
var responseHeaders = getHeadersFromXHR(xhr);
|
|
237
|
+
|
|
238
|
+
var readBody = async function readBody() {
|
|
239
|
+
await bodyPromise;
|
|
240
|
+
var status = xhr.status; // in Chrome on file:/// URLs, status is 0
|
|
241
|
+
|
|
242
|
+
if (status === 0) {
|
|
243
|
+
responseStatus = 200;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
var body = "response" in xhr ? xhr.response : xhr.responseText;
|
|
247
|
+
return {
|
|
248
|
+
responseBody: body,
|
|
249
|
+
responseBodyType: detectBodyType(body)
|
|
291
250
|
};
|
|
251
|
+
};
|
|
292
252
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
253
|
+
var text = async function text() {
|
|
254
|
+
var _await$readBody = await readBody(),
|
|
255
|
+
responseBody = _await$readBody.responseBody,
|
|
256
|
+
responseBodyType = _await$readBody.responseBodyType;
|
|
297
257
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
258
|
+
if (responseBodyType === "blob") {
|
|
259
|
+
return blobToText(responseBody);
|
|
260
|
+
}
|
|
301
261
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
262
|
+
if (responseBodyType === "formData") {
|
|
263
|
+
throw new Error("could not read FormData body as text");
|
|
264
|
+
}
|
|
305
265
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
}
|
|
266
|
+
if (responseBodyType === "dataView") {
|
|
267
|
+
return arrayBufferToText(responseBody.buffer);
|
|
268
|
+
}
|
|
309
269
|
|
|
310
|
-
|
|
311
|
-
return
|
|
312
|
-
}
|
|
270
|
+
if (responseBodyType === "arrayBuffer") {
|
|
271
|
+
return arrayBufferToText(responseBody);
|
|
272
|
+
} // if (responseBodyType === "text" || responseBodyType === 'searchParams') {
|
|
273
|
+
// return body
|
|
274
|
+
// }
|
|
313
275
|
|
|
314
|
-
var blob = _async$3(function () {
|
|
315
|
-
if (!hasBlob) {
|
|
316
|
-
throw new Error("blob not supported");
|
|
317
|
-
}
|
|
318
276
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
responseBodyType = _ref3.responseBodyType;
|
|
277
|
+
return String(responseBody);
|
|
278
|
+
};
|
|
322
279
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
280
|
+
var json = async function json() {
|
|
281
|
+
var responseText = await text();
|
|
282
|
+
return JSON.parse(responseText);
|
|
283
|
+
};
|
|
326
284
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
285
|
+
var blob = async function blob() {
|
|
286
|
+
if (!hasBlob) {
|
|
287
|
+
throw new Error("blob not supported");
|
|
288
|
+
}
|
|
330
289
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
290
|
+
var _await$readBody2 = await readBody(),
|
|
291
|
+
responseBody = _await$readBody2.responseBody,
|
|
292
|
+
responseBodyType = _await$readBody2.responseBodyType;
|
|
334
293
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
294
|
+
if (responseBodyType === "blob") {
|
|
295
|
+
return responseBody;
|
|
296
|
+
}
|
|
338
297
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
}
|
|
298
|
+
if (responseBodyType === "dataView") {
|
|
299
|
+
return new Blob([cloneBuffer(responseBody.buffer)]);
|
|
300
|
+
}
|
|
342
301
|
|
|
343
|
-
|
|
344
|
-
return
|
|
345
|
-
|
|
346
|
-
responseBodyType = _ref4.responseBodyType;
|
|
347
|
-
return responseBodyType === "arrayBuffer" ? cloneBuffer(responseBody) : _call$1(blob, blobToArrayBuffer);
|
|
348
|
-
});
|
|
349
|
-
};
|
|
302
|
+
if (responseBodyType === "arrayBuffer") {
|
|
303
|
+
return new Blob([cloneBuffer(responseBody)]);
|
|
304
|
+
}
|
|
350
305
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
}
|
|
306
|
+
if (responseBodyType === "formData") {
|
|
307
|
+
throw new Error("could not read FormData body as blob");
|
|
308
|
+
}
|
|
355
309
|
|
|
356
|
-
|
|
357
|
-
|
|
310
|
+
return new Blob([String(responseBody)]);
|
|
311
|
+
};
|
|
358
312
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
}
|
|
371
|
-
|
|
313
|
+
var arrayBuffer = async function arrayBuffer() {
|
|
314
|
+
var _await$readBody3 = await readBody(),
|
|
315
|
+
responseBody = _await$readBody3.responseBody,
|
|
316
|
+
responseBodyType = _await$readBody3.responseBodyType;
|
|
317
|
+
|
|
318
|
+
if (responseBodyType === "arrayBuffer") {
|
|
319
|
+
return cloneBuffer(responseBody);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
var responseBlob = await blob();
|
|
323
|
+
return blobToArrayBuffer(responseBlob);
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
var formData = async function formData() {
|
|
327
|
+
if (!hasFormData) {
|
|
328
|
+
throw new Error("formData not supported");
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
var responseText = await text();
|
|
332
|
+
return textToFormData(responseText);
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
return {
|
|
336
|
+
url: responseUrl,
|
|
337
|
+
status: responseStatus,
|
|
338
|
+
statusText: responseStatusText,
|
|
339
|
+
headers: responseHeaders,
|
|
340
|
+
text: text,
|
|
341
|
+
json: json,
|
|
342
|
+
blob: blob,
|
|
343
|
+
arrayBuffer: arrayBuffer,
|
|
344
|
+
formData: formData
|
|
345
|
+
};
|
|
346
|
+
};
|
|
372
347
|
|
|
373
348
|
var canUseBlob = function canUseBlob() {
|
|
374
349
|
if (typeof window.FileReader !== "function") return false;
|
|
@@ -388,8 +363,8 @@
|
|
|
388
363
|
var hasArrayBuffer = typeof window.ArrayBuffer === "function";
|
|
389
364
|
var hasSearchParams = typeof window.URLSearchParams === "function";
|
|
390
365
|
|
|
391
|
-
var createRequestError = function createRequestError(error,
|
|
392
|
-
var url =
|
|
366
|
+
var createRequestError = function createRequestError(error, _ref2) {
|
|
367
|
+
var url = _ref2.url;
|
|
393
368
|
return new Error(createDetailedMessage("error during xhr request on ".concat(url, "."), _defineProperty({}, "error stack", error.stack)));
|
|
394
369
|
};
|
|
395
370
|
|
|
@@ -413,9 +388,9 @@
|
|
|
413
388
|
}; // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
|
|
414
389
|
|
|
415
390
|
|
|
416
|
-
var computeWithCredentials = function computeWithCredentials(
|
|
417
|
-
var credentials =
|
|
418
|
-
url =
|
|
391
|
+
var computeWithCredentials = function computeWithCredentials(_ref3) {
|
|
392
|
+
var credentials = _ref3.credentials,
|
|
393
|
+
url = _ref3.url;
|
|
419
394
|
|
|
420
395
|
if (credentials === "same-origin") {
|
|
421
396
|
return originSameAsGlobalOrigin(url);
|
|
@@ -529,12 +504,12 @@
|
|
|
529
504
|
return form;
|
|
530
505
|
};
|
|
531
506
|
|
|
532
|
-
var blobToArrayBuffer =
|
|
507
|
+
var blobToArrayBuffer = async function blobToArrayBuffer(blob) {
|
|
533
508
|
var reader = new FileReader();
|
|
534
509
|
var promise = fileReaderReady(reader);
|
|
535
510
|
reader.readAsArrayBuffer(blob);
|
|
536
511
|
return promise;
|
|
537
|
-
}
|
|
512
|
+
};
|
|
538
513
|
|
|
539
514
|
var blobToText = function blobToText(blob) {
|
|
540
515
|
var reader = new FileReader();
|
|
@@ -580,20 +555,7 @@
|
|
|
580
555
|
|
|
581
556
|
var _excluded = ["cancellationToken", "mode"];
|
|
582
557
|
|
|
583
|
-
function
|
|
584
|
-
if (direct) {
|
|
585
|
-
return then ? then(value) : value;
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
if (!value || !value.then) {
|
|
589
|
-
value = Promise.resolve(value);
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
return then ? value.then(then) : value;
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
var fetchNative = _async$2(function (url) {
|
|
596
|
-
|
|
558
|
+
var fetchNative = async function fetchNative(url) {
|
|
597
559
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
598
560
|
|
|
599
561
|
var _ref$cancellationToke = _ref.cancellationToken,
|
|
@@ -609,57 +571,42 @@
|
|
|
609
571
|
abortController.abort(reason);
|
|
610
572
|
});
|
|
611
573
|
var response;
|
|
612
|
-
|
|
613
|
-
|
|
574
|
+
|
|
575
|
+
try {
|
|
576
|
+
response = await window.fetch(url, _objectSpread2({
|
|
614
577
|
signal: abortController.signal,
|
|
615
578
|
mode: mode
|
|
616
|
-
}, options))
|
|
617
|
-
|
|
618
|
-
});
|
|
619
|
-
}, function (e) {
|
|
579
|
+
}, options));
|
|
580
|
+
} catch (e) {
|
|
620
581
|
if (cancelError && e.name === "AbortError") {
|
|
621
582
|
throw cancelError;
|
|
622
583
|
}
|
|
623
584
|
|
|
624
585
|
throw e;
|
|
625
|
-
}), function (_result) {
|
|
626
|
-
return {
|
|
627
|
-
url: response.url,
|
|
628
|
-
status: response.status,
|
|
629
|
-
statusText: "",
|
|
630
|
-
headers: responseToHeaders(response),
|
|
631
|
-
text: function text() {
|
|
632
|
-
return response.text();
|
|
633
|
-
},
|
|
634
|
-
json: function json() {
|
|
635
|
-
return response.json();
|
|
636
|
-
},
|
|
637
|
-
blob: function blob() {
|
|
638
|
-
return response.blob();
|
|
639
|
-
},
|
|
640
|
-
arrayBuffer: function arrayBuffer() {
|
|
641
|
-
return response.arrayBuffer();
|
|
642
|
-
},
|
|
643
|
-
formData: function formData() {
|
|
644
|
-
return response.formData();
|
|
645
|
-
}
|
|
646
|
-
};
|
|
647
|
-
});
|
|
648
|
-
});
|
|
649
|
-
|
|
650
|
-
function _catch$1(body, recover) {
|
|
651
|
-
try {
|
|
652
|
-
var result = body();
|
|
653
|
-
} catch (e) {
|
|
654
|
-
return recover(e);
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
if (result && result.then) {
|
|
658
|
-
return result.then(void 0, recover);
|
|
659
586
|
}
|
|
660
587
|
|
|
661
|
-
return
|
|
662
|
-
|
|
588
|
+
return {
|
|
589
|
+
url: response.url,
|
|
590
|
+
status: response.status,
|
|
591
|
+
statusText: "",
|
|
592
|
+
headers: responseToHeaders(response),
|
|
593
|
+
text: function text() {
|
|
594
|
+
return response.text();
|
|
595
|
+
},
|
|
596
|
+
json: function json() {
|
|
597
|
+
return response.json();
|
|
598
|
+
},
|
|
599
|
+
blob: function blob() {
|
|
600
|
+
return response.blob();
|
|
601
|
+
},
|
|
602
|
+
arrayBuffer: function arrayBuffer() {
|
|
603
|
+
return response.arrayBuffer();
|
|
604
|
+
},
|
|
605
|
+
formData: function formData() {
|
|
606
|
+
return response.formData();
|
|
607
|
+
}
|
|
608
|
+
};
|
|
609
|
+
};
|
|
663
610
|
|
|
664
611
|
var responseToHeaders = function responseToHeaders(response) {
|
|
665
612
|
var headers = {};
|
|
@@ -669,115 +616,32 @@
|
|
|
669
616
|
return headers;
|
|
670
617
|
};
|
|
671
618
|
|
|
672
|
-
function _continue(value, then) {
|
|
673
|
-
return value && value.then ? value.then(then) : then(value);
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
function _async$2(f) {
|
|
677
|
-
return function () {
|
|
678
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
679
|
-
args[i] = arguments[i];
|
|
680
|
-
}
|
|
681
|
-
|
|
682
|
-
try {
|
|
683
|
-
return Promise.resolve(f.apply(this, args));
|
|
684
|
-
} catch (e) {
|
|
685
|
-
return Promise.reject(e);
|
|
686
|
-
}
|
|
687
|
-
};
|
|
688
|
-
}
|
|
689
|
-
|
|
690
619
|
var fetchUrl = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative : fetchUsingXHR;
|
|
691
620
|
|
|
692
|
-
function
|
|
693
|
-
if (direct) {
|
|
694
|
-
return then ? then(value) : value;
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
if (!value || !value.then) {
|
|
698
|
-
value = Promise.resolve(value);
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
return then ? value.then(then) : value;
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
function _async$1(f) {
|
|
705
|
-
return function () {
|
|
706
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
707
|
-
args[i] = arguments[i];
|
|
708
|
-
}
|
|
709
|
-
|
|
710
|
-
try {
|
|
711
|
-
return Promise.resolve(f.apply(this, args));
|
|
712
|
-
} catch (e) {
|
|
713
|
-
return Promise.reject(e);
|
|
714
|
-
}
|
|
715
|
-
};
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
var fetchJson = _async$1(function (url) {
|
|
621
|
+
var fetchJson = async function fetchJson(url) {
|
|
719
622
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
function _await$1(value, then, direct) {
|
|
726
|
-
if (direct) {
|
|
727
|
-
return then ? then(value) : value;
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
if (!value || !value.then) {
|
|
731
|
-
value = Promise.resolve(value);
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
return then ? value.then(then) : value;
|
|
735
|
-
}
|
|
736
|
-
|
|
737
|
-
function _catch(body, recover) {
|
|
738
|
-
try {
|
|
739
|
-
var result = body();
|
|
740
|
-
} catch (e) {
|
|
741
|
-
return recover(e);
|
|
742
|
-
}
|
|
743
|
-
|
|
744
|
-
if (result && result.then) {
|
|
745
|
-
return result.then(void 0, recover);
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
return result;
|
|
749
|
-
}
|
|
750
|
-
|
|
751
|
-
function _async(f) {
|
|
752
|
-
return function () {
|
|
753
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
754
|
-
args[i] = arguments[i];
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
try {
|
|
758
|
-
return Promise.resolve(f.apply(this, args));
|
|
759
|
-
} catch (e) {
|
|
760
|
-
return Promise.reject(e);
|
|
761
|
-
}
|
|
762
|
-
};
|
|
763
|
-
}
|
|
623
|
+
var response = await fetchUrl(url, options);
|
|
624
|
+
var object = await response.json();
|
|
625
|
+
return object;
|
|
626
|
+
};
|
|
764
627
|
|
|
765
|
-
var fetchExploringJson =
|
|
628
|
+
var fetchExploringJson = async function fetchExploringJson() {
|
|
766
629
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
767
630
|
cancellationToken = _ref.cancellationToken;
|
|
768
631
|
|
|
769
|
-
|
|
770
|
-
|
|
632
|
+
try {
|
|
633
|
+
var exploringInfo = await fetchJson("/.jsenv/exploring.json", {
|
|
771
634
|
cancellationToken: cancellationToken
|
|
772
|
-
})
|
|
773
|
-
|
|
635
|
+
});
|
|
636
|
+
return exploringInfo;
|
|
637
|
+
} catch (e) {
|
|
774
638
|
if (isCancelError(e)) {
|
|
775
639
|
throw e;
|
|
776
640
|
}
|
|
777
641
|
|
|
778
642
|
throw new Error(createDetailedMessage("Cannot communicate with exploring server due to a network error", _defineProperty({}, "error stack", e.stack)));
|
|
779
|
-
}
|
|
780
|
-
}
|
|
643
|
+
}
|
|
644
|
+
};
|
|
781
645
|
|
|
782
646
|
var setStyles = function setStyles(element, styles) {
|
|
783
647
|
var elementStyle = element.style;
|
|
@@ -821,18 +685,6 @@
|
|
|
821
685
|
When toolbar is loaded it will open an other connection to server sent events and close this one.
|
|
822
686
|
*/
|
|
823
687
|
|
|
824
|
-
function _await(value, then, direct) {
|
|
825
|
-
if (direct) {
|
|
826
|
-
return then ? then(value) : value;
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
if (!value || !value.then) {
|
|
830
|
-
value = Promise.resolve(value);
|
|
831
|
-
}
|
|
832
|
-
|
|
833
|
-
return then ? value.then(then) : value;
|
|
834
|
-
}
|
|
835
|
-
|
|
836
688
|
var connectLivereload = function connectLivereload() {
|
|
837
689
|
var _window = window,
|
|
838
690
|
EventSource = _window.EventSource;
|
|
@@ -916,128 +768,114 @@
|
|
|
916
768
|
}; // eslint-disable-next-line camelcase
|
|
917
769
|
|
|
918
770
|
|
|
919
|
-
function _call(body, then, direct) {
|
|
920
|
-
if (direct) {
|
|
921
|
-
return then ? then(body()) : body();
|
|
922
|
-
}
|
|
923
|
-
|
|
924
|
-
try {
|
|
925
|
-
var result = Promise.resolve(body());
|
|
926
|
-
return then ? result.then(then) : result;
|
|
927
|
-
} catch (e) {
|
|
928
|
-
return Promise.reject(e);
|
|
929
|
-
}
|
|
930
|
-
}
|
|
931
|
-
|
|
932
771
|
window.__jsenv_eventsource__ = connectLivereload();
|
|
933
772
|
|
|
934
|
-
var injectToolbar = function injectToolbar() {
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
773
|
+
var injectToolbar = async function injectToolbar() {
|
|
774
|
+
var _await$fetchExploring = await fetchExploringJson(),
|
|
775
|
+
jsenvDirectoryRelativeUrl = _await$fetchExploring.jsenvDirectoryRelativeUrl;
|
|
776
|
+
|
|
777
|
+
var jsenvDirectoryServerUrl = resolveUrl(jsenvDirectoryRelativeUrl, document.location.origin);
|
|
778
|
+
var placeholder = getToolbarPlaceholder();
|
|
779
|
+
var iframe = document.createElement("iframe");
|
|
780
|
+
setAttributes(iframe, {
|
|
781
|
+
tabindex: -1,
|
|
782
|
+
// sandbox: "allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation",
|
|
783
|
+
// allow: "accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr",
|
|
784
|
+
allowtransparency: true
|
|
785
|
+
});
|
|
786
|
+
setStyles(iframe, {
|
|
787
|
+
"position": "fixed",
|
|
788
|
+
"zIndex": 1000,
|
|
789
|
+
"bottom": 0,
|
|
790
|
+
"left": 0,
|
|
791
|
+
"width": "100%",
|
|
792
|
+
"height": 0,
|
|
793
|
+
|
|
794
|
+
/* ensure toolbar children are not focusable when hidden */
|
|
795
|
+
"visibility": "hidden",
|
|
796
|
+
"transition-duration": "300ms",
|
|
797
|
+
"transition-property": "height, visibility",
|
|
798
|
+
"border": "none"
|
|
799
|
+
});
|
|
800
|
+
var iframeLoadedPromise = iframeToLoadedPromise(iframe);
|
|
801
|
+
var jsenvToolbarHtmlServerUrl = resolveUrl("./src/internal/toolbar/toolbar.html", jsenvDirectoryServerUrl); // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)
|
|
802
|
+
|
|
803
|
+
iframe.setAttribute("src", jsenvToolbarHtmlServerUrl);
|
|
804
|
+
placeholder.parentNode.replaceChild(iframe, placeholder);
|
|
805
|
+
await iframeLoadedPromise;
|
|
806
|
+
iframe.removeAttribute("tabindex");
|
|
807
|
+
|
|
808
|
+
var listenToolbarIframeEvent = function listenToolbarIframeEvent(event, fn) {
|
|
809
|
+
window.addEventListener("message", function (messageEvent) {
|
|
810
|
+
var data = messageEvent.data;
|
|
811
|
+
if (_typeof(data) !== "object") return;
|
|
812
|
+
var jsenv = data.jsenv;
|
|
813
|
+
if (!jsenv) return;
|
|
814
|
+
var type = data.type;
|
|
815
|
+
if (type !== event) return;
|
|
816
|
+
fn(data.value);
|
|
817
|
+
}, false);
|
|
818
|
+
};
|
|
979
819
|
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
820
|
+
listenToolbarIframeEvent("toolbar-visibility-change", function (visible) {
|
|
821
|
+
if (visible) {
|
|
822
|
+
hideToolbarTrigger();
|
|
823
|
+
} else {
|
|
824
|
+
showToolbarTrigger();
|
|
825
|
+
}
|
|
826
|
+
});
|
|
827
|
+
var div = document.createElement("div");
|
|
828
|
+
var jsenvLogoUrl = resolveUrl("./src/internal/toolbar/jsenv-logo.svg", jsenvDirectoryServerUrl);
|
|
829
|
+
var jsenvLogoSvgSrc = jsenvLogoUrl;
|
|
830
|
+
div.innerHTML = "\n<div id=\"jsenv-toolbar-trigger\">\n <svg id=\"jsenv-toolbar-trigger-icon\">\n <use xlink:href=\"".concat(jsenvLogoSvgSrc, "#jsenv-logo\"></use>\n </svg>\n <style>\n #jsenv-toolbar-trigger {\n display: block;\n overflow: hidden;\n position: fixed;\n z-index: 1000;\n bottom: -32px;\n right: 20px;\n height: 40px;\n width: 40px;\n padding: 0;\n border-radius: 5px 5px 0 0;\n border: 1px solid rgba(0, 0, 0, 0.33);\n border-bottom: none;\n box-shadow: 0px 0px 6px 2px rgba(0, 0, 0, 0.46);\n background: transparent;\n text-align: center;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger:hover {\n cursor: pointer;\n }\n\n #jsenv-toolbar-trigger[data-expanded] {\n bottom: 0;\n }\n\n #jsenv-toolbar-trigger-icon {\n width: 35px;\n height: 35px;\n opacity: 0;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger[data-expanded] #jsenv-toolbar-trigger-icon {\n opacity: 1;\n }\n </style>\n</div>");
|
|
831
|
+
var toolbarTrigger = div.firstElementChild;
|
|
832
|
+
iframe.parentNode.appendChild(toolbarTrigger);
|
|
833
|
+
var timer;
|
|
834
|
+
|
|
835
|
+
toolbarTrigger.onmouseenter = function () {
|
|
836
|
+
toolbarTrigger.setAttribute("data-animate", "");
|
|
837
|
+
timer = setTimeout(expandToolbarTrigger, 500);
|
|
838
|
+
};
|
|
999
839
|
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
840
|
+
toolbarTrigger.onmouseleave = function () {
|
|
841
|
+
clearTimeout(timer);
|
|
842
|
+
collapseToolbarTrigger();
|
|
843
|
+
};
|
|
1004
844
|
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
845
|
+
toolbarTrigger.onfocus = function () {
|
|
846
|
+
toolbarTrigger.removeAttribute("data-animate");
|
|
847
|
+
expandToolbarTrigger();
|
|
848
|
+
};
|
|
1009
849
|
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
850
|
+
toolbarTrigger.onblur = function () {
|
|
851
|
+
toolbarTrigger.removeAttribute("data-animate");
|
|
852
|
+
clearTimeout(timer);
|
|
853
|
+
collapseToolbarTrigger();
|
|
854
|
+
};
|
|
1015
855
|
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
856
|
+
toolbarTrigger.onclick = function () {
|
|
857
|
+
window.__jsenv__.toolbar.show();
|
|
858
|
+
};
|
|
1019
859
|
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
860
|
+
var showToolbarTrigger = function showToolbarTrigger() {
|
|
861
|
+
toolbarTrigger.style.display = "block";
|
|
862
|
+
};
|
|
1023
863
|
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
864
|
+
var hideToolbarTrigger = function hideToolbarTrigger() {
|
|
865
|
+
toolbarTrigger.style.display = "none";
|
|
866
|
+
};
|
|
1027
867
|
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
868
|
+
var expandToolbarTrigger = function expandToolbarTrigger() {
|
|
869
|
+
toolbarTrigger.setAttribute("data-expanded", "");
|
|
870
|
+
};
|
|
1031
871
|
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
872
|
+
var collapseToolbarTrigger = function collapseToolbarTrigger() {
|
|
873
|
+
toolbarTrigger.removeAttribute("data-expanded", "");
|
|
874
|
+
};
|
|
1035
875
|
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
});
|
|
1040
|
-
});
|
|
876
|
+
hideToolbarTrigger();
|
|
877
|
+
iframe.contentWindow.renderToolbar();
|
|
878
|
+
return iframe;
|
|
1041
879
|
};
|
|
1042
880
|
|
|
1043
881
|
var getToolbarPlaceholder = function getToolbarPlaceholder() {
|