@jsenv/core 24.0.0 → 24.2.0
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_event_source_client.js +338 -0
- package/dist/jsenv_event_source_client.js.map +126 -0
- package/dist/jsenv_exploring_index.js.map +7 -7
- package/dist/jsenv_redirector.js +1386 -0
- package/dist/jsenv_redirector.js.map +384 -0
- package/dist/jsenv_toolbar.js +37 -504
- package/dist/jsenv_toolbar.js.map +37 -112
- package/dist/jsenv_toolbar_injector.js +31 -126
- package/dist/jsenv_toolbar_injector.js.map +11 -30
- package/package.json +1 -1
- package/src/buildProject.js +2 -0
- package/src/dev_server.js +108 -70
- package/src/internal/compiling/compile-directory/getOrGenerateCompiledFile.js +1 -2
- package/src/internal/compiling/compileFile.js +51 -23
- package/src/internal/compiling/createCompiledFileService.js +22 -10
- package/src/internal/compiling/html_source_file_service.js +43 -9
- package/src/internal/compiling/jsenvCompilerForHtml.js +146 -107
- package/src/internal/compiling/startCompileServer.js +60 -44
- package/src/internal/dev_server/event_source_client/event_source_client.js +63 -0
- package/src/internal/dev_server/event_source_client/event_source_client_file_info.js +17 -0
- package/src/internal/{toolbar/eventsource/connectEventSource.js → dev_server/event_source_client/event_source_connection.js} +47 -78
- package/src/internal/dev_server/event_source_client/file_changes.js +82 -0
- package/src/internal/dev_server/event_source_client/livereload_preference.js +13 -0
- package/src/internal/{exploring → dev_server/exploring}/exploring.css +0 -0
- package/src/internal/{exploring → dev_server/exploring}/exploring.html +1 -1
- package/src/internal/{exploring → dev_server/exploring}/exploring.js +0 -0
- package/src/internal/dev_server/exploring/exploring_file_info.js +21 -0
- package/src/internal/{exploring → dev_server/exploring}/fetchExploringJson.js +1 -1
- package/src/internal/{exploring/exploring.redirector.html → dev_server/redirector/redirector.html} +1 -1
- package/src/internal/{exploring/exploring.redirector.js → dev_server/redirector/redirector.js} +1 -1
- package/src/internal/dev_server/redirector/redirector_file_info.js +24 -0
- package/src/internal/{toolbar → dev_server/toolbar}/animation/toolbar.animation.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/backtolist/toolbar.backtolist.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/compilation/compilation.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/compilation/toolbar.compilation.js +1 -1
- package/src/internal/{toolbar → dev_server/toolbar}/eventsource/eventsource.css +0 -0
- package/src/internal/dev_server/toolbar/eventsource/toolbar.eventsource.js +83 -0
- package/src/internal/{toolbar → dev_server/toolbar}/execution/execution.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/execution/toolbar.execution.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/focus/focus.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/focus/toolbar.focus.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/jsenv-logo.svg +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/notification/toolbar.notification.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/responsive/overflow-menu.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/responsive/toolbar.responsive.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/settings/settings.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/settings/toolbar.settings.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/theme/jsenv-theme.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/theme/light-theme.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/theme/toolbar.theme.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/toolbar.html +4 -37
- package/src/internal/{toolbar → dev_server/toolbar}/toolbar.injector.js +3 -92
- package/src/internal/{toolbar → dev_server/toolbar}/toolbar.main.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/toolbar.main.js +0 -0
- package/src/internal/dev_server/toolbar/toolbar_file_info.js +37 -0
- package/src/internal/{toolbar → dev_server/toolbar}/tooltip/tooltip.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/tooltip/tooltip.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/animation.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/dom.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/fetching.js +2 -2
- package/src/internal/{toolbar → dev_server/toolbar}/util/jsenvLogger.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/preferences.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/responsive.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/util.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/variant/variant.js +0 -0
- package/src/internal/jsenvInternalFiles.js +0 -58
- package/src/internal/toolbar/eventsource/connectCompileServerEventSource.js +0 -74
- package/src/internal/toolbar/eventsource/toolbar.eventsource.js +0 -239
package/dist/jsenv_toolbar.js
CHANGED
|
@@ -287,8 +287,8 @@
|
|
|
287
287
|
_ref$body = _ref.body,
|
|
288
288
|
body = _ref$body === void 0 ? null : _ref$body;
|
|
289
289
|
|
|
290
|
-
var headersPromise = createPromiseAndHooks
|
|
291
|
-
var bodyPromise = createPromiseAndHooks
|
|
290
|
+
var headersPromise = createPromiseAndHooks();
|
|
291
|
+
var bodyPromise = createPromiseAndHooks();
|
|
292
292
|
var xhr = new XMLHttpRequest();
|
|
293
293
|
|
|
294
294
|
var failure = function failure(error) {
|
|
@@ -485,7 +485,7 @@
|
|
|
485
485
|
return new Error(createDetailedMessage("error during xhr request on ".concat(url, "."), _defineProperty({}, "error stack", error.stack)));
|
|
486
486
|
};
|
|
487
487
|
|
|
488
|
-
var createPromiseAndHooks
|
|
488
|
+
var createPromiseAndHooks = function createPromiseAndHooks() {
|
|
489
489
|
var resolve;
|
|
490
490
|
var reject;
|
|
491
491
|
var promise = new Promise(function (res, rej) {
|
|
@@ -2470,518 +2470,40 @@
|
|
|
2470
2470
|
return "\n- ".concat(parts.join("\n- "));
|
|
2471
2471
|
};
|
|
2472
2472
|
|
|
2473
|
-
var createPromiseAndHooks = function createPromiseAndHooks() {
|
|
2474
|
-
var resolve;
|
|
2475
|
-
var reject;
|
|
2476
|
-
var promise = new Promise(function (res, rej) {
|
|
2477
|
-
resolve = res;
|
|
2478
|
-
reject = rej;
|
|
2479
|
-
});
|
|
2480
|
-
promise.resolve = resolve;
|
|
2481
|
-
promise.reject = reject;
|
|
2482
|
-
return promise;
|
|
2483
|
-
};
|
|
2484
|
-
|
|
2485
|
-
var connectEventSource$1 = function connectEventSource(eventSourceUrl) {
|
|
2486
|
-
var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2487
|
-
|
|
2488
|
-
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
2489
|
-
_ref$connecting = _ref.connecting,
|
|
2490
|
-
connecting = _ref$connecting === void 0 ? function () {} : _ref$connecting,
|
|
2491
|
-
_ref$connected = _ref.connected,
|
|
2492
|
-
connected = _ref$connected === void 0 ? function () {} : _ref$connected,
|
|
2493
|
-
_ref$cancelled = _ref.cancelled,
|
|
2494
|
-
cancelled = _ref$cancelled === void 0 ? function () {} : _ref$cancelled,
|
|
2495
|
-
_ref$failed = _ref.failed,
|
|
2496
|
-
failed = _ref$failed === void 0 ? function () {} : _ref$failed,
|
|
2497
|
-
_ref$retryMaxAttempt = _ref.retryMaxAttempt,
|
|
2498
|
-
retryMaxAttempt = _ref$retryMaxAttempt === void 0 ? Infinity : _ref$retryMaxAttempt,
|
|
2499
|
-
_ref$retryAllocatedMs = _ref.retryAllocatedMs,
|
|
2500
|
-
retryAllocatedMs = _ref$retryAllocatedMs === void 0 ? Infinity : _ref$retryAllocatedMs,
|
|
2501
|
-
lastEventId = _ref.lastEventId;
|
|
2502
|
-
|
|
2503
|
-
var _window = window,
|
|
2504
|
-
EventSource = _window.EventSource;
|
|
2505
|
-
|
|
2506
|
-
if (typeof EventSource !== "function") {
|
|
2507
|
-
return function () {};
|
|
2508
|
-
}
|
|
2509
|
-
|
|
2510
|
-
var eventSourceOrigin = new URL(eventSourceUrl).origin; // will be either abort, disconnect or a third function calling cancelled
|
|
2511
|
-
// depending on connectionStatus
|
|
2512
|
-
|
|
2513
|
-
var cancelCurrentConnection = function cancelCurrentConnection() {};
|
|
2514
|
-
|
|
2515
|
-
var reconnect = function reconnect() {
|
|
2516
|
-
attemptConnection(lastEventId ? addLastEventIdIntoUrlSearchParams(eventSourceUrl, lastEventId) : eventSourceUrl);
|
|
2517
|
-
};
|
|
2518
|
-
|
|
2519
|
-
var attemptConnection = function attemptConnection(url) {
|
|
2520
|
-
var eventSource = new EventSource(url, {
|
|
2521
|
-
withCredentials: true
|
|
2522
|
-
});
|
|
2523
|
-
var connectionStatus = "connecting";
|
|
2524
|
-
|
|
2525
|
-
var abort = function abort() {
|
|
2526
|
-
if (connectionStatus !== "connecting") {
|
|
2527
|
-
console.warn("abort ignored because connection is ".concat(connectionStatus));
|
|
2528
|
-
return;
|
|
2529
|
-
}
|
|
2530
|
-
|
|
2531
|
-
connectionStatus = "aborted";
|
|
2532
|
-
eventSource.onerror = undefined;
|
|
2533
|
-
eventSource.close();
|
|
2534
|
-
cancelled({
|
|
2535
|
-
connect: reconnect
|
|
2536
|
-
});
|
|
2537
|
-
};
|
|
2538
|
-
|
|
2539
|
-
cancelCurrentConnection = abort;
|
|
2540
|
-
connecting({
|
|
2541
|
-
cancel: abort
|
|
2542
|
-
});
|
|
2543
|
-
|
|
2544
|
-
eventSource.onopen = function () {
|
|
2545
|
-
connectionStatus = "connected";
|
|
2546
|
-
|
|
2547
|
-
var disconnect = function disconnect() {
|
|
2548
|
-
if (connectionStatus !== "connected") {
|
|
2549
|
-
console.warn("disconnect ignored because connection is ".concat(connectionStatus));
|
|
2550
|
-
return;
|
|
2551
|
-
}
|
|
2552
|
-
|
|
2553
|
-
connectionStatus = "disconnected";
|
|
2554
|
-
eventSource.onerror = undefined;
|
|
2555
|
-
eventSource.close();
|
|
2556
|
-
cancelled({
|
|
2557
|
-
connect: reconnect
|
|
2558
|
-
});
|
|
2559
|
-
};
|
|
2560
|
-
|
|
2561
|
-
cancelCurrentConnection = disconnect;
|
|
2562
|
-
connected({
|
|
2563
|
-
cancel: disconnect
|
|
2564
|
-
});
|
|
2565
|
-
};
|
|
2566
|
-
|
|
2567
|
-
var retryCount = 0;
|
|
2568
|
-
var firstRetryMs = Date.now();
|
|
2569
|
-
|
|
2570
|
-
eventSource.onerror = function (errorEvent) {
|
|
2571
|
-
var considerFailed = function considerFailed() {
|
|
2572
|
-
connectionStatus = "disconnected";
|
|
2573
|
-
failed({
|
|
2574
|
-
cancel: function cancel() {
|
|
2575
|
-
if (connectionStatus !== "failed") {
|
|
2576
|
-
console.warn("disable ignored because connection is ".concat(connectionStatus));
|
|
2577
|
-
return;
|
|
2578
|
-
}
|
|
2579
|
-
|
|
2580
|
-
connectionStatus = "disabled";
|
|
2581
|
-
cancelled({
|
|
2582
|
-
connect: reconnect
|
|
2583
|
-
});
|
|
2584
|
-
},
|
|
2585
|
-
connect: reconnect
|
|
2586
|
-
});
|
|
2587
|
-
};
|
|
2588
|
-
|
|
2589
|
-
if (errorEvent.target.readyState === EventSource.CONNECTING) {
|
|
2590
|
-
if (retryCount > retryMaxAttempt) {
|
|
2591
|
-
console.info("could not connect after ".concat(retryMaxAttempt, " attempt"));
|
|
2592
|
-
eventSource.onerror = undefined;
|
|
2593
|
-
eventSource.close();
|
|
2594
|
-
considerFailed();
|
|
2595
|
-
return;
|
|
2596
|
-
}
|
|
2597
|
-
|
|
2598
|
-
if (retryCount === 0) {
|
|
2599
|
-
firstRetryMs = Date.now();
|
|
2600
|
-
} else {
|
|
2601
|
-
var allRetryDuration = Date.now() - firstRetryMs;
|
|
2602
|
-
|
|
2603
|
-
if (retryAllocatedMs && allRetryDuration > retryAllocatedMs) {
|
|
2604
|
-
console.info("could not connect in less than ".concat(retryAllocatedMs, " ms"));
|
|
2605
|
-
eventSource.onerror = undefined;
|
|
2606
|
-
eventSource.close();
|
|
2607
|
-
considerFailed();
|
|
2608
|
-
return;
|
|
2609
|
-
}
|
|
2610
|
-
}
|
|
2611
|
-
|
|
2612
|
-
connectionStatus = "connecting";
|
|
2613
|
-
retryCount++;
|
|
2614
|
-
connecting({
|
|
2615
|
-
cancel: abort
|
|
2616
|
-
});
|
|
2617
|
-
return;
|
|
2618
|
-
}
|
|
2619
|
-
|
|
2620
|
-
if (errorEvent.target.readyState === EventSource.CLOSED) {
|
|
2621
|
-
considerFailed();
|
|
2622
|
-
return;
|
|
2623
|
-
}
|
|
2624
|
-
};
|
|
2625
|
-
|
|
2626
|
-
Object.keys(events).forEach(function (eventName) {
|
|
2627
|
-
eventSource.addEventListener(eventName, function (e) {
|
|
2628
|
-
if (e.origin === eventSourceOrigin) {
|
|
2629
|
-
if (e.lastEventId) {
|
|
2630
|
-
lastEventId = e.lastEventId;
|
|
2631
|
-
}
|
|
2632
|
-
|
|
2633
|
-
events[eventName](e);
|
|
2634
|
-
}
|
|
2635
|
-
});
|
|
2636
|
-
});
|
|
2637
|
-
|
|
2638
|
-
if (!events.hasOwnProperty("welcome")) {
|
|
2639
|
-
eventSource.addEventListener("welcome", function (e) {
|
|
2640
|
-
if (e.origin === eventSourceOrigin && e.lastEventId) {
|
|
2641
|
-
lastEventId = e.lastEventId;
|
|
2642
|
-
}
|
|
2643
|
-
});
|
|
2644
|
-
}
|
|
2645
|
-
};
|
|
2646
|
-
|
|
2647
|
-
attemptConnection(eventSourceUrl);
|
|
2648
|
-
|
|
2649
|
-
var disconnect = function disconnect() {
|
|
2650
|
-
cancelCurrentConnection();
|
|
2651
|
-
};
|
|
2652
|
-
|
|
2653
|
-
var removePageUnloadListener = listenPageUnload(function () {
|
|
2654
|
-
disconnect();
|
|
2655
|
-
});
|
|
2656
|
-
return function () {
|
|
2657
|
-
removePageUnloadListener();
|
|
2658
|
-
disconnect();
|
|
2659
|
-
};
|
|
2660
|
-
};
|
|
2661
|
-
|
|
2662
|
-
var addLastEventIdIntoUrlSearchParams = function addLastEventIdIntoUrlSearchParams(url, lastEventId) {
|
|
2663
|
-
if (url.indexOf("?") === -1) {
|
|
2664
|
-
url += "?";
|
|
2665
|
-
} else {
|
|
2666
|
-
url += "&";
|
|
2667
|
-
}
|
|
2668
|
-
|
|
2669
|
-
return "".concat(url, "last-event-id=").concat(encodeURIComponent(lastEventId));
|
|
2670
|
-
}; // const listenPageMightFreeze = (callback) => {
|
|
2671
|
-
// const removePageHideListener = listenEvent(window, "pagehide", (pageHideEvent) => {
|
|
2672
|
-
// if (pageHideEvent.persisted === true) {
|
|
2673
|
-
// callback(pageHideEvent)
|
|
2674
|
-
// }
|
|
2675
|
-
// })
|
|
2676
|
-
// return removePageHideListener
|
|
2677
|
-
// }
|
|
2678
|
-
// const listenPageFreeze = (callback) => {
|
|
2679
|
-
// const removeFreezeListener = listenEvent(document, "freeze", (freezeEvent) => {
|
|
2680
|
-
// callback(freezeEvent)
|
|
2681
|
-
// })
|
|
2682
|
-
// return removeFreezeListener
|
|
2683
|
-
// }
|
|
2684
|
-
// const listenPageIsRestored = (callback) => {
|
|
2685
|
-
// const removeResumeListener = listenEvent(document, "resume", (resumeEvent) => {
|
|
2686
|
-
// removePageshowListener()
|
|
2687
|
-
// callback(resumeEvent)
|
|
2688
|
-
// })
|
|
2689
|
-
// const removePageshowListener = listenEvent(window, "pageshow", (pageshowEvent) => {
|
|
2690
|
-
// if (pageshowEvent.persisted === true) {
|
|
2691
|
-
// removePageshowListener()
|
|
2692
|
-
// removeResumeListener()
|
|
2693
|
-
// callback(pageshowEvent)
|
|
2694
|
-
// }
|
|
2695
|
-
// })
|
|
2696
|
-
// return () => {
|
|
2697
|
-
// removeResumeListener()
|
|
2698
|
-
// removePageshowListener()
|
|
2699
|
-
// }
|
|
2700
|
-
// }
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
var listenPageUnload = function listenPageUnload(callback) {
|
|
2704
|
-
var removePageHideListener = listenEvent(window, "pagehide", function (pageHideEvent) {
|
|
2705
|
-
if (pageHideEvent.persisted !== true) {
|
|
2706
|
-
callback(pageHideEvent);
|
|
2707
|
-
}
|
|
2708
|
-
});
|
|
2709
|
-
return removePageHideListener;
|
|
2710
|
-
};
|
|
2711
|
-
|
|
2712
|
-
var listenEvent = function listenEvent(emitter, event, callback) {
|
|
2713
|
-
emitter.addEventListener(event, callback);
|
|
2714
|
-
return function () {
|
|
2715
|
-
emitter.removeEventListener(event, callback);
|
|
2716
|
-
};
|
|
2717
|
-
};
|
|
2718
|
-
|
|
2719
|
-
var connectCompileServerEventSource = function connectCompileServerEventSource(fileRelativeUrl, _ref) {
|
|
2720
|
-
var onFileModified = _ref.onFileModified,
|
|
2721
|
-
onFileRemoved = _ref.onFileRemoved,
|
|
2722
|
-
onConnecting = _ref.onConnecting,
|
|
2723
|
-
onConnectionCancelled = _ref.onConnectionCancelled,
|
|
2724
|
-
onConnectionFailed = _ref.onConnectionFailed,
|
|
2725
|
-
onConnected = _ref.onConnected,
|
|
2726
|
-
lastEventId = _ref.lastEventId;
|
|
2727
|
-
var eventSourceUrl = "".concat(window.origin, "/").concat(fileRelativeUrl);
|
|
2728
|
-
|
|
2729
|
-
var cancel = function cancel() {};
|
|
2730
|
-
|
|
2731
|
-
var connect = function connect() {
|
|
2732
|
-
return new Promise(function (resolve) {
|
|
2733
|
-
cancel = connectEventSource$1(eventSourceUrl, {
|
|
2734
|
-
"file-modified": function fileModified(_ref2) {
|
|
2735
|
-
var data = _ref2.data;
|
|
2736
|
-
onFileModified(data);
|
|
2737
|
-
},
|
|
2738
|
-
"file-removed": function fileRemoved(_ref3) {
|
|
2739
|
-
var data = _ref3.data;
|
|
2740
|
-
onFileRemoved(data);
|
|
2741
|
-
}
|
|
2742
|
-
}, {
|
|
2743
|
-
connecting: function connecting(_ref4) {
|
|
2744
|
-
var _cancel = _ref4.cancel;
|
|
2745
|
-
onConnecting({
|
|
2746
|
-
cancel: function cancel() {
|
|
2747
|
-
_cancel();
|
|
2748
|
-
}
|
|
2749
|
-
});
|
|
2750
|
-
},
|
|
2751
|
-
connected: function connected(_ref5) {
|
|
2752
|
-
var _cancel2 = _ref5.cancel;
|
|
2753
|
-
resolve(true);
|
|
2754
|
-
onConnected({
|
|
2755
|
-
cancel: function cancel() {
|
|
2756
|
-
_cancel2();
|
|
2757
|
-
}
|
|
2758
|
-
});
|
|
2759
|
-
},
|
|
2760
|
-
cancelled: function cancelled(_ref6) {
|
|
2761
|
-
var connect = _ref6.connect;
|
|
2762
|
-
resolve(false);
|
|
2763
|
-
onConnectionCancelled({
|
|
2764
|
-
connect: connect
|
|
2765
|
-
});
|
|
2766
|
-
},
|
|
2767
|
-
failed: function failed(_ref7) {
|
|
2768
|
-
var connect = _ref7.connect;
|
|
2769
|
-
resolve(false);
|
|
2770
|
-
onConnectionFailed({
|
|
2771
|
-
connect: connect
|
|
2772
|
-
});
|
|
2773
|
-
},
|
|
2774
|
-
retryMaxAttempt: Infinity,
|
|
2775
|
-
retryAllocatedMs: 20 * 1000,
|
|
2776
|
-
lastEventId: lastEventId
|
|
2777
|
-
});
|
|
2778
|
-
});
|
|
2779
|
-
};
|
|
2780
|
-
|
|
2781
|
-
return {
|
|
2782
|
-
connect: connect,
|
|
2783
|
-
disconnect: function disconnect() {
|
|
2784
|
-
return cancel();
|
|
2785
|
-
}
|
|
2786
|
-
};
|
|
2787
|
-
};
|
|
2788
|
-
|
|
2789
|
-
var livereloadingPreference = createPreference("livereloading");
|
|
2790
|
-
var eventSourceState = "default";
|
|
2791
2473
|
var livereloadingAvailableOnServer = false;
|
|
2474
|
+
var parentEventSourceClient = window.parent.__jsenv_event_source_client__;
|
|
2792
2475
|
var initToolbarEventSource = function initToolbarEventSource(_ref) {
|
|
2793
|
-
var
|
|
2794
|
-
livereloading = _ref.livereloading;
|
|
2795
|
-
|
|
2796
|
-
var getLivereloadCallback = function getLivereloadCallback(originalFileProjectRelativeUrl) {
|
|
2797
|
-
var callbacks = window.parent.__jsenv__.livereloadingCallbacks;
|
|
2798
|
-
return callbacks[originalFileProjectRelativeUrl];
|
|
2799
|
-
};
|
|
2800
|
-
|
|
2476
|
+
var livereloading = _ref.livereloading;
|
|
2801
2477
|
removeForceHideElement(document.querySelector("#eventsource-indicator"));
|
|
2802
|
-
connectEventSource({
|
|
2803
|
-
executedFileRelativeUrl: executedFileRelativeUrl,
|
|
2804
|
-
getLivereloadCallback: getLivereloadCallback
|
|
2805
|
-
});
|
|
2806
2478
|
livereloadingAvailableOnServer = livereloading;
|
|
2807
2479
|
|
|
2808
2480
|
if (!livereloadingAvailableOnServer) {
|
|
2809
2481
|
disableLivereloadSetting();
|
|
2810
2482
|
}
|
|
2811
2483
|
|
|
2484
|
+
parentEventSourceClient.setConnectionStatusChangeCallback = function () {
|
|
2485
|
+
updateEventSourceIndicator();
|
|
2486
|
+
};
|
|
2487
|
+
|
|
2812
2488
|
var livereloadCheckbox = document.querySelector("#toggle-livereload");
|
|
2813
|
-
livereloadCheckbox.checked =
|
|
2489
|
+
livereloadCheckbox.checked = parentEventSourceClient.isLivereloadEnabled();
|
|
2814
2490
|
|
|
2815
2491
|
livereloadCheckbox.onchange = function () {
|
|
2816
|
-
|
|
2492
|
+
parentEventSourceClient.setLivereloadPreference(livereloadCheckbox.checked);
|
|
2817
2493
|
updateEventSourceIndicator();
|
|
2818
2494
|
};
|
|
2819
2495
|
|
|
2820
2496
|
updateEventSourceIndicator();
|
|
2821
2497
|
};
|
|
2822
2498
|
|
|
2823
|
-
var shouldLivereload = function shouldLivereload() {
|
|
2824
|
-
return livereloadingAvailableOnServer && getLivereloadingPreference();
|
|
2825
|
-
};
|
|
2826
|
-
|
|
2827
|
-
var disableLivereloadSetting = function disableLivereloadSetting() {
|
|
2828
|
-
document.querySelector(".settings-livereload").setAttribute("data-disabled", "true");
|
|
2829
|
-
document.querySelector(".settings-livereload").setAttribute("title", "Livereload not available: disabled by server");
|
|
2830
|
-
document.querySelector("#toggle-livereload").disabled = true;
|
|
2831
|
-
};
|
|
2832
|
-
|
|
2833
|
-
var parentEventSource = window.parent.__jsenv_eventsource__();
|
|
2834
|
-
|
|
2835
|
-
var latestChangeMap = parentEventSource.latestChangeMap;
|
|
2836
|
-
var eventSourceHooks = {};
|
|
2837
|
-
var eventSourceConnection;
|
|
2838
|
-
var connectionReadyPromise;
|
|
2839
|
-
|
|
2840
|
-
var handleFileChange = function handleFileChange(_ref2) {
|
|
2841
|
-
var file = _ref2.file,
|
|
2842
|
-
eventType = _ref2.eventType,
|
|
2843
|
-
livereloadCallback = _ref2.livereloadCallback;
|
|
2844
|
-
latestChangeMap[file] = eventType;
|
|
2845
|
-
updateEventSourceIndicator();
|
|
2846
|
-
|
|
2847
|
-
if (shouldLivereload()) {
|
|
2848
|
-
if (livereloadCallback) {
|
|
2849
|
-
livereloadCallback({
|
|
2850
|
-
file: file,
|
|
2851
|
-
latestChangeMap: latestChangeMap,
|
|
2852
|
-
reloadPage: reloadPage
|
|
2853
|
-
});
|
|
2854
|
-
} else if (file.endsWith(".css") || file.endsWith(".scss") || file.endsWith(".sass")) {
|
|
2855
|
-
reloadAllCss();
|
|
2856
|
-
delete latestChangeMap[file];
|
|
2857
|
-
updateEventSourceIndicator();
|
|
2858
|
-
} else {
|
|
2859
|
-
reloadPage();
|
|
2860
|
-
}
|
|
2861
|
-
}
|
|
2862
|
-
};
|
|
2863
|
-
|
|
2864
|
-
var reloadAllCss = function reloadAllCss() {
|
|
2865
|
-
var links = Array.from(window.parent.document.getElementsByTagName("link"));
|
|
2866
|
-
links.forEach(function (link) {
|
|
2867
|
-
if (link.rel === "stylesheet") {
|
|
2868
|
-
var url = new URL(link.href);
|
|
2869
|
-
url.searchParams.set("t", Date.now());
|
|
2870
|
-
link.href = String(url);
|
|
2871
|
-
}
|
|
2872
|
-
});
|
|
2873
|
-
};
|
|
2874
|
-
|
|
2875
|
-
var reloadPage = function reloadPage() {
|
|
2876
|
-
window.parent.location.reload(true);
|
|
2877
|
-
};
|
|
2878
|
-
|
|
2879
|
-
var reloadChanges = function reloadChanges() {
|
|
2880
|
-
var fullReloadRequired = Object.keys(latestChangeMap).some(function (key) {
|
|
2881
|
-
return !key.endsWith(".css");
|
|
2882
|
-
});
|
|
2883
|
-
|
|
2884
|
-
if (fullReloadRequired) {
|
|
2885
|
-
reloadPage();
|
|
2886
|
-
return;
|
|
2887
|
-
}
|
|
2888
|
-
|
|
2889
|
-
var cssReloadRequired = Object.keys(latestChangeMap).some(function (key) {
|
|
2890
|
-
return key.endsWith(".css");
|
|
2891
|
-
});
|
|
2892
|
-
|
|
2893
|
-
if (cssReloadRequired) {
|
|
2894
|
-
reloadAllCss();
|
|
2895
|
-
Object.keys(latestChangeMap).forEach(function (key) {
|
|
2896
|
-
if (key.endsWith(".css")) {
|
|
2897
|
-
delete latestChangeMap[key];
|
|
2898
|
-
}
|
|
2899
|
-
|
|
2900
|
-
updateEventSourceIndicator();
|
|
2901
|
-
});
|
|
2902
|
-
}
|
|
2903
|
-
};
|
|
2904
|
-
|
|
2905
|
-
var connectEventSource = function connectEventSource(_ref3) {
|
|
2906
|
-
var executedFileRelativeUrl = _ref3.executedFileRelativeUrl,
|
|
2907
|
-
getLivereloadCallback = _ref3.getLivereloadCallback;
|
|
2908
|
-
updateEventSourceIndicator();
|
|
2909
|
-
connectionReadyPromise = createPromiseAndHooks();
|
|
2910
|
-
eventSourceConnection = connectCompileServerEventSource(executedFileRelativeUrl, {
|
|
2911
|
-
onFileModified: function onFileModified(file) {
|
|
2912
|
-
handleFileChange({
|
|
2913
|
-
file: file,
|
|
2914
|
-
eventType: "modified",
|
|
2915
|
-
livereloadCallback: getLivereloadCallback(file)
|
|
2916
|
-
});
|
|
2917
|
-
},
|
|
2918
|
-
onFileRemoved: function onFileRemoved(file) {
|
|
2919
|
-
handleFileChange({
|
|
2920
|
-
file: file,
|
|
2921
|
-
eventType: "removed",
|
|
2922
|
-
livereloadCallback: getLivereloadCallback(file)
|
|
2923
|
-
});
|
|
2924
|
-
},
|
|
2925
|
-
onFileAdded: function onFileAdded(file) {
|
|
2926
|
-
handleFileChange({
|
|
2927
|
-
file: file,
|
|
2928
|
-
eventType: "added",
|
|
2929
|
-
livereloadCallback: getLivereloadCallback(file)
|
|
2930
|
-
});
|
|
2931
|
-
},
|
|
2932
|
-
onConnecting: function onConnecting(_ref4) {
|
|
2933
|
-
var cancel = _ref4.cancel;
|
|
2934
|
-
eventSourceState = "connecting";
|
|
2935
|
-
eventSourceHooks = {
|
|
2936
|
-
abort: cancel
|
|
2937
|
-
};
|
|
2938
|
-
updateEventSourceIndicator();
|
|
2939
|
-
},
|
|
2940
|
-
onConnectionCancelled: function onConnectionCancelled(_ref5) {
|
|
2941
|
-
var connect = _ref5.connect;
|
|
2942
|
-
eventSourceState = "disabled";
|
|
2943
|
-
eventSourceHooks = {
|
|
2944
|
-
connect: connect
|
|
2945
|
-
};
|
|
2946
|
-
updateEventSourceIndicator();
|
|
2947
|
-
},
|
|
2948
|
-
onConnectionFailed: function onConnectionFailed(_ref6) {
|
|
2949
|
-
var connect = _ref6.connect;
|
|
2950
|
-
eventSourceState = "failed";
|
|
2951
|
-
eventSourceHooks = {
|
|
2952
|
-
reconnect: connect
|
|
2953
|
-
};
|
|
2954
|
-
updateEventSourceIndicator();
|
|
2955
|
-
},
|
|
2956
|
-
onConnected: function onConnected(_ref7) {
|
|
2957
|
-
var cancel = _ref7.cancel;
|
|
2958
|
-
eventSourceState = "connected";
|
|
2959
|
-
eventSourceHooks = {
|
|
2960
|
-
disconnect: cancel
|
|
2961
|
-
};
|
|
2962
|
-
updateEventSourceIndicator();
|
|
2963
|
-
connectionReadyPromise.resolve();
|
|
2964
|
-
parentEventSource.disconnect();
|
|
2965
|
-
},
|
|
2966
|
-
lastEventId: parentEventSource.lastEventId
|
|
2967
|
-
});
|
|
2968
|
-
eventSourceConnection.connect();
|
|
2969
|
-
};
|
|
2970
|
-
|
|
2971
|
-
var getLivereloadingPreference = function getLivereloadingPreference() {
|
|
2972
|
-
return livereloadingPreference.has() ? livereloadingPreference.get() : true;
|
|
2973
|
-
};
|
|
2974
|
-
|
|
2975
2499
|
var updateEventSourceIndicator = function updateEventSourceIndicator() {
|
|
2976
|
-
var _eventSourceHooks = eventSourceHooks,
|
|
2977
|
-
connect = _eventSourceHooks.connect,
|
|
2978
|
-
abort = _eventSourceHooks.abort,
|
|
2979
|
-
reconnect = _eventSourceHooks.reconnect;
|
|
2980
2500
|
var eventSourceIndicator = document.querySelector("#eventsource-indicator");
|
|
2981
|
-
var
|
|
2501
|
+
var fileChanges = parentEventSourceClient.getFileChanges();
|
|
2502
|
+
var changeCount = Object.keys(fileChanges).length;
|
|
2503
|
+
var eventSourceConnectionState = parentEventSourceClient.getConnectionStatus();
|
|
2982
2504
|
enableVariant(eventSourceIndicator, {
|
|
2983
|
-
eventsource:
|
|
2984
|
-
livereload:
|
|
2505
|
+
eventsource: eventSourceConnectionState,
|
|
2506
|
+
livereload: parentEventSourceClient.isLivereloadEnabled() ? "on" : "off",
|
|
2985
2507
|
changes: changeCount > 0 ? "yes" : "no"
|
|
2986
2508
|
});
|
|
2987
2509
|
var variantNode = document.querySelector("#eventsource-indicator > [data-when-active]");
|
|
@@ -2990,11 +2512,11 @@
|
|
|
2990
2512
|
toggleTooltip(eventSourceIndicator);
|
|
2991
2513
|
};
|
|
2992
2514
|
|
|
2993
|
-
if (
|
|
2994
|
-
variantNode.querySelector("a").onclick =
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
} else if (
|
|
2515
|
+
if (eventSourceConnectionState === "connecting") {
|
|
2516
|
+
variantNode.querySelector("a").onclick = function () {
|
|
2517
|
+
parentEventSourceClient.disconnect();
|
|
2518
|
+
};
|
|
2519
|
+
} else if (eventSourceConnectionState === "connected") {
|
|
2998
2520
|
removeAutoShowTooltip(eventSourceIndicator);
|
|
2999
2521
|
|
|
3000
2522
|
if (changeCount) {
|
|
@@ -3002,19 +2524,30 @@
|
|
|
3002
2524
|
changeLink.innerHTML = changeCount;
|
|
3003
2525
|
|
|
3004
2526
|
changeLink.onclick = function () {
|
|
3005
|
-
console.log(JSON.stringify(
|
|
2527
|
+
console.log(JSON.stringify(fileChanges, null, " "), fileChanges); // eslint-disable-next-line no-alert
|
|
3006
2528
|
|
|
3007
|
-
window.parent.alert(JSON.stringify(
|
|
2529
|
+
window.parent.alert(JSON.stringify(fileChanges, null, " "));
|
|
3008
2530
|
};
|
|
3009
2531
|
|
|
3010
|
-
variantNode.querySelector(".eventsource-reload-link").onclick =
|
|
2532
|
+
variantNode.querySelector(".eventsource-reload-link").onclick = function () {
|
|
2533
|
+
parentEventSourceClient.reloadIfNeeded();
|
|
2534
|
+
};
|
|
3011
2535
|
}
|
|
3012
|
-
} else if (
|
|
2536
|
+
} else if (eventSourceConnectionState === "disconnected") {
|
|
3013
2537
|
autoShowTooltip(eventSourceIndicator);
|
|
3014
|
-
|
|
2538
|
+
|
|
2539
|
+
variantNode.querySelector("a").onclick = function () {
|
|
2540
|
+
parentEventSourceClient.connect();
|
|
2541
|
+
};
|
|
3015
2542
|
}
|
|
3016
2543
|
};
|
|
3017
2544
|
|
|
2545
|
+
var disableLivereloadSetting = function disableLivereloadSetting() {
|
|
2546
|
+
document.querySelector(".settings-livereload").setAttribute("data-disabled", "true");
|
|
2547
|
+
document.querySelector(".settings-livereload").setAttribute("title", "Livereload not available: disabled by server");
|
|
2548
|
+
document.querySelector("#toggle-livereload").disabled = true;
|
|
2549
|
+
};
|
|
2550
|
+
|
|
3018
2551
|
var WINDOW_SMALL_WIDTH = 420;
|
|
3019
2552
|
var makeToolbarResponsive = function makeToolbarResponsive() {
|
|
3020
2553
|
// apply responsive design on toolbar icons if needed + add listener on resize screen
|