UNPKG

auto-reload-brunch

Version:

Adds automatic browser reloading support to brunch.

42 lines (38 loc) 1.24 kB
(function() { var WebSocket = window.WebSocket || window.MozWebSocket; var br = window.brunch = (window.brunch || {}); var ar = br['auto-reload'] = (br['auto-reload'] || {}); if (!WebSocket || ar.disabled) return; var cacheBuster = function(url){ var date = Math.round(Date.now() / 1000).toString(); url = url.replace(/(\&|\\?)cacheBuster=\d*/, ''); return url + (url.indexOf('?') >= 0 ? '&' : '?') +'cacheBuster=' + date; }; var reloaders = { page: function(){ window.location.reload(true); }, stylesheet: function(){ [].slice .call(document.querySelectorAll('link[rel="stylesheet"]')) .filter(function(link){ return (link != null && link.href != null); }) .forEach(function(link) { link.href = cacheBuster(link.href); }); } }; var port = ar.port || 9485; var host = (!br['server']) ? window.location.hostname : br['server']; var connection = new WebSocket('ws://' + host + ':' + port); connection.onmessage = function(event) { var message = event.data; if (ar.disabled) return; if (reloaders[message] != null) { reloaders[message](); } else { reloaders.page(); } }; })();