'use strict'; /* global __resourceQuery WorkerGlobalScope self */ /* eslint prefer-destructuring: off */ var url = require('url'); var stripAnsi = require('strip-ansi'); var log = require('loglevel').getLogger('webpack-dev-server'); var socket = require('./socket'); var overlay = require('./overlay'); function getCurrentScriptSource() { // `document.currentScript` is the most accurate way to find the current script, // but is not supported in all browsers. if (document.currentScript) { return document.currentScript.getAttribute('src'); } // Fall back to getting all scripts in the document. var scriptElements = document.scripts || []; var currentScript = scriptElements[scriptElements.length - 1]; if (currentScript) { return currentScript.getAttribute('src'); } // Fail as there was no script to use. throw new Error('[WDS] Failed to get current script source.'); } var urlParts = void 0; var hotReload = true; if (typeof window !== 'undefined') { var qs = window.location.search.toLowerCase(); hotReload = qs.indexOf('hotreload=false') === -1; } if (typeof __resourceQuery === 'string' && __resourceQuery) { // If this bundle is inlined, use the resource query to get the correct url. urlParts = url.parse(__resourceQuery.substr(1)); } else { // Else, get the url from the