{build,wasmserve}: show error on browser + improvements
This commit is contained in:
parent
5be9f04d85
commit
aaddd4dbeb
5 changed files with 522 additions and 25 deletions
|
|
@ -1,11 +1,57 @@
|
|||
import AnsiUp from "./ansi_up.js";
|
||||
const ansiup = new AnsiUp;
|
||||
|
||||
let evtSource = new EventSource("/notify");
|
||||
|
||||
function setup() {
|
||||
evtSource.addEventListener("message", function (e) {
|
||||
if (e.data === "reload") {
|
||||
window.location.reload();
|
||||
}
|
||||
});
|
||||
evtSource.addEventListener("built", function (e) {
|
||||
window.location.reload();
|
||||
});
|
||||
evtSource.addEventListener("build_error", function (e) {
|
||||
if (document.getElementById("error-screen") == null) {
|
||||
let es = document.createElement("div");
|
||||
es.id = "error-screen";
|
||||
es.style.cssText = error_screen_css;
|
||||
let h2 = document.createElement("h2");
|
||||
let pre = document.createElement("pre");
|
||||
h2.textContent = "An error occurred while building:";
|
||||
h2.style.cssText = error_screen_h2_css;
|
||||
pre.innerHTML = ansiup.ansi_to_html(e.data);
|
||||
pre.style.cssText = error_screen_pre_css;
|
||||
es.appendChild(h2);
|
||||
es.appendChild(pre);
|
||||
document.body.appendChild(es);
|
||||
console.error(e.data);
|
||||
} else {
|
||||
document.getElementById("error-screen").
|
||||
getElementsByTagName("pre").innerHTML = ansiup.ansi_to_html(e.data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const error_screen_css =
|
||||
"position: absolute;" +
|
||||
"width: 100vw;" +
|
||||
"height: 100vh;" +
|
||||
"top: 0;" +
|
||||
"left: 0;" +
|
||||
"background: rgba(0, 0, 0, 0.85);" +
|
||||
"font-family: system-ui, monospace;" +
|
||||
"font-size: 16pt;" +
|
||||
"padding: 20px;" +
|
||||
"box-sizing: border-box;";
|
||||
|
||||
const error_screen_h2_css =
|
||||
"color: white;" +
|
||||
"margin-top: 0;";
|
||||
|
||||
const error_screen_pre_css =
|
||||
"border: 2px solid rgb(205, 92, 92);" +
|
||||
"padding: 10px;" +
|
||||
"background: rgba(0, 0, 0, 0.5);" +
|
||||
"font-size: 12pt;" +
|
||||
"white-space: pre-wrap;" +
|
||||
"overflow: hidden;" +
|
||||
"color: lightgray;";
|
||||
|
||||
export default setup;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue