grind-assets
Version:
Asset management for Grind
45 lines (34 loc) • 3.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.JsReloader = JsReloader;
const attributeName = 'data-live-reload-module';
function JsReloader(pathname) {
const scripts = getScripts();
for (let i = 0, length = scripts.length; i < length; i++) {
const script = scripts[i];
const moduleName = script.getAttribute(attributeName);
if (findFiles(moduleName).indexOf(pathname) === -1) {
continue;
}
window.location.reload();
break;
}
}
function findFiles(name) {
return (window.__liveReloadModules || {})[name] || [];
}
function getScripts() {
const results = [];
const scripts = document.getElementsByTagName('script');
for (let i = 0, length = scripts.length; i < length; i++) {
const script = scripts[i];
if (!script.hasAttribute(attributeName)) {
continue;
}
results.push(script);
}
return results;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9EZXZ0b29scy9Ccm93c2VyL0xpdmVSZWxvYWRlci9Kc1JlbG9hZGVyLmpzIl0sIm5hbWVzIjpbImF0dHJpYnV0ZU5hbWUiLCJKc1JlbG9hZGVyIiwicGF0aG5hbWUiLCJzY3JpcHRzIiwiZ2V0U2NyaXB0cyIsImkiLCJsZW5ndGgiLCJzY3JpcHQiLCJtb2R1bGVOYW1lIiwiZ2V0QXR0cmlidXRlIiwiZmluZEZpbGVzIiwiaW5kZXhPZiIsIndpbmRvdyIsImxvY2F0aW9uIiwicmVsb2FkIiwibmFtZSIsIl9fbGl2ZVJlbG9hZE1vZHVsZXMiLCJyZXN1bHRzIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImhhc0F0dHJpYnV0ZSIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQU1BLGFBQWEsR0FBRyx5QkFBdEI7O0FBRU8sU0FBU0MsVUFBVCxDQUFvQkMsUUFBcEIsRUFBOEI7QUFDcEMsUUFBTUMsT0FBTyxHQUFHQyxVQUFVLEVBQTFCOztBQUVBLE9BQUssSUFBSUMsQ0FBQyxHQUFHLENBQVIsRUFBV0MsTUFBTSxHQUFHSCxPQUFPLENBQUNHLE1BQWpDLEVBQXlDRCxDQUFDLEdBQUdDLE1BQTdDLEVBQXFERCxDQUFDLEVBQXRELEVBQTBEO0FBQ3pELFVBQU1FLE1BQU0sR0FBR0osT0FBTyxDQUFDRSxDQUFELENBQXRCO0FBQ0EsVUFBTUcsVUFBVSxHQUFHRCxNQUFNLENBQUNFLFlBQVAsQ0FBb0JULGFBQXBCLENBQW5COztBQUVBLFFBQUlVLFNBQVMsQ0FBQ0YsVUFBRCxDQUFULENBQXNCRyxPQUF0QixDQUE4QlQsUUFBOUIsTUFBNEMsQ0FBQyxDQUFqRCxFQUFvRDtBQUNuRDtBQUNBOztBQUVEVSxJQUFBQSxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JDLE1BQWhCO0FBQ0E7QUFDQTtBQUNEOztBQUVELFNBQVNKLFNBQVQsQ0FBbUJLLElBQW5CLEVBQXlCO0FBQ3hCLFNBQU8sQ0FBQ0gsTUFBTSxDQUFDSSxtQkFBUCxJQUE4QixFQUEvQixFQUFtQ0QsSUFBbkMsS0FBNEMsRUFBbkQ7QUFDQTs7QUFFRCxTQUFTWCxVQUFULEdBQXNCO0FBQ3JCLFFBQU1hLE9BQU8sR0FBRyxFQUFoQjtBQUNBLFFBQU1kLE9BQU8sR0FBR2UsUUFBUSxDQUFDQyxvQkFBVCxDQUE4QixRQUE5QixDQUFoQjs7QUFFQSxPQUFLLElBQUlkLENBQUMsR0FBRyxDQUFSLEVBQVdDLE1BQU0sR0FBR0gsT0FBTyxDQUFDRyxNQUFqQyxFQUF5Q0QsQ0FBQyxHQUFHQyxNQUE3QyxFQUFxREQsQ0FBQyxFQUF0RCxFQUEwRDtBQUN6RCxVQUFNRSxNQUFNLEdBQUdKLE9BQU8sQ0FBQ0UsQ0FBRCxDQUF0Qjs7QUFFQSxRQUFJLENBQUNFLE1BQU0sQ0FBQ2EsWUFBUCxDQUFvQnBCLGFBQXBCLENBQUwsRUFBeUM7QUFDeEM7QUFDQTs7QUFFRGlCLElBQUFBLE9BQU8sQ0FBQ0ksSUFBUixDQUFhZCxNQUFiO0FBQ0E7O0FBRUQsU0FBT1UsT0FBUDtBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXR0cmlidXRlTmFtZSA9ICdkYXRhLWxpdmUtcmVsb2FkLW1vZHVsZSdcblxuZXhwb3J0IGZ1bmN0aW9uIEpzUmVsb2FkZXIocGF0aG5hbWUpIHtcblx0Y29uc3Qgc2NyaXB0cyA9IGdldFNjcmlwdHMoKVxuXG5cdGZvciAobGV0IGkgPSAwLCBsZW5ndGggPSBzY3JpcHRzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG5cdFx0Y29uc3Qgc2NyaXB0ID0gc2NyaXB0c1tpXVxuXHRcdGNvbnN0IG1vZHVsZU5hbWUgPSBzY3JpcHQuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpXG5cblx0XHRpZiAoZmluZEZpbGVzKG1vZHVsZU5hbWUpLmluZGV4T2YocGF0aG5hbWUpID09PSAtMSkge1xuXHRcdFx0Y29udGludWVcblx0XHR9XG5cblx0XHR3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcblx0XHRicmVha1xuXHR9XG59XG5cbmZ1bmN0aW9uIGZpbmRGaWxlcyhuYW1lKSB7XG5cdHJldHVybiAod2luZG93Ll9fbGl2ZVJlbG9hZE1vZHVsZXMgfHwge30pW25hbWVdIHx8IFtdXG59XG5cbmZ1bmN0aW9uIGdldFNjcmlwdHMoKSB7XG5cdGNvbnN0IHJlc3VsdHMgPSBbXVxuXHRjb25zdCBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpXG5cblx0Zm9yIChsZXQgaSA9IDAsIGxlbmd0aCA9IHNjcmlwdHMubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBzY3JpcHQgPSBzY3JpcHRzW2ldXG5cblx0XHRpZiAoIXNjcmlwdC5oYXNBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpIHtcblx0XHRcdGNvbnRpbnVlXG5cdFx0fVxuXG5cdFx0cmVzdWx0cy5wdXNoKHNjcmlwdClcblx0fVxuXG5cdHJldHVybiByZXN1bHRzXG59XG4iXX0=