1
0
mirror of https://github.com/morris/vanilla-todo.git synced 2025-08-18 20:03:04 +02:00

don't connect to dev server when automated

This commit is contained in:
Morris Brodersen
2023-11-24 17:40:52 +01:00
parent 1e3fb5d9d3
commit cbf6d0e178

View File

@@ -1,35 +1,37 @@
/* eslint-disable no-console */ /* eslint-disable no-console */
const socket = new WebSocket( if (!navigator.webdriver) {
`${(location.protocol === 'http:' ? 'ws://' : 'wss://') + location.host}/`, const socket = new WebSocket(
); `${(location.protocol === 'http:' ? 'ws://' : 'wss://') + location.host}/`,
);
socket.addEventListener('message', (message) => { socket.addEventListener('message', (message) => {
if (!message.data) return; if (!message.data) return;
const data = JSON.parse(message.data); const data = JSON.parse(message.data);
let reload = true; let reload = true;
// hot reload stylesheets // hot reload stylesheets
document.querySelectorAll('link[rel=stylesheet]').forEach((el) => { document.querySelectorAll('link[rel=stylesheet]').forEach((el) => {
if (el.getAttribute('href') === data.url) { if (el.getAttribute('href') === data.url) {
el.setAttribute('href', data.url); el.setAttribute('href', data.url);
reload = false; reload = false;
} }
});
// hot reload images
document.querySelectorAll('img').forEach((el) => {
if (el.getAttribute('src') === data.url) {
el.setAttribute('src', data.url);
reload = false;
}
});
// otherwise, reload page
if (reload) location.reload();
}); });
// hot reload images socket.addEventListener('close', () => {
document.querySelectorAll('img').forEach((el) => { console.warn('Development server disconnected');
if (el.getAttribute('src') === data.url) {
el.setAttribute('src', data.url);
reload = false;
}
}); });
}
// otherwise, reload page
if (reload) location.reload();
});
socket.addEventListener('close', () => {
console.warn('Development server disconnected');
});