diff --git a/src/CssLoadingRuntimeModule.js b/src/CssLoadingRuntimeModule.js index 1063351e..ce16abc6 100644 --- a/src/CssLoadingRuntimeModule.js +++ b/src/CssLoadingRuntimeModule.js @@ -67,10 +67,12 @@ module.exports = class CssLoadingRuntimeModule extends RuntimeModule { Template.indent(['resolve();']), '} else {', Template.indent([ - 'var request = event && event.target && event.target.href || fullhref;', - 'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + request + ")");', + "var errorType = event && (event.type === 'load' ? 'missing' : event.type);", + 'var realHref = event && event.target && event.target.href || fullhref;', + 'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");', 'err.code = "CSS_CHUNK_LOAD_FAILED";', - 'err.request = request;', + 'err.type = errorType;', + 'err.request = realHref;', 'linkTag.parentNode.removeChild(linkTag)', 'reject(err);', ]), diff --git a/src/index.js b/src/index.js index cda0bf07..95c5798e 100644 --- a/src/index.js +++ b/src/index.js @@ -413,10 +413,12 @@ class MiniCssExtractPlugin { Template.indent(['resolve();']), '} else {', Template.indent([ - 'var request = event && event.target && event.target.href || fullhref;', - 'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + request + ")");', + "var errorType = event && (event.type === 'load' ? 'missing' : event.type);", + 'var realHref = event && event.target && event.target.href || fullhref;', + 'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");', 'err.code = "CSS_CHUNK_LOAD_FAILED";', - 'err.request = request;', + 'err.type = errorType;', + 'err.request = realHref;', 'delete installedCssChunks[chunkId]', 'linkTag.parentNode.removeChild(linkTag)', 'reject(err);', diff --git a/test/cases/hmr/expected/webpack-5/main.js b/test/cases/hmr/expected/webpack-5/main.js index b746eb64..1e9f0d42 100644 --- a/test/cases/hmr/expected/webpack-5/main.js +++ b/test/cases/hmr/expected/webpack-5/main.js @@ -833,10 +833,12 @@ module.exports = function (urlString) { /******/ if (event.type === 'load') { /******/ resolve(); /******/ } else { -/******/ var request = event && event.target && event.target.href || fullhref; -/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realHref = event && event.target && event.target.href || fullhref; +/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")"); /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; -/******/ err.request = request; +/******/ err.type = errorType; +/******/ err.request = realHref; /******/ linkTag.parentNode.removeChild(linkTag) /******/ reject(err); /******/ } diff --git a/test/cases/insert-function/expected/webpack-4/main.js b/test/cases/insert-function/expected/webpack-4/main.js index 45c2e3dd..469a9aa6 100644 --- a/test/cases/insert-function/expected/webpack-4/main.js +++ b/test/cases/insert-function/expected/webpack-4/main.js @@ -110,10 +110,12 @@ /******/ if (event.type === 'load') { /******/ resolve(); /******/ } else { -/******/ var request = event && event.target && event.target.href || fullhref; -/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realHref = event && event.target && event.target.href || fullhref; +/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")"); /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; -/******/ err.request = request; +/******/ err.type = errorType; +/******/ err.request = realHref; /******/ delete installedCssChunks[chunkId] /******/ linkTag.parentNode.removeChild(linkTag) /******/ reject(err); diff --git a/test/cases/insert-function/expected/webpack-5/main.js b/test/cases/insert-function/expected/webpack-5/main.js index 55507ce3..80c5cb09 100644 --- a/test/cases/insert-function/expected/webpack-5/main.js +++ b/test/cases/insert-function/expected/webpack-5/main.js @@ -168,10 +168,12 @@ /******/ if (event.type === 'load') { /******/ resolve(); /******/ } else { -/******/ var request = event && event.target && event.target.href || fullhref; -/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realHref = event && event.target && event.target.href || fullhref; +/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")"); /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; -/******/ err.request = request; +/******/ err.type = errorType; +/******/ err.request = realHref; /******/ linkTag.parentNode.removeChild(linkTag) /******/ reject(err); /******/ } diff --git a/test/cases/insert-string/expected/webpack-4/main.js b/test/cases/insert-string/expected/webpack-4/main.js index fa478446..9af8b299 100644 --- a/test/cases/insert-string/expected/webpack-4/main.js +++ b/test/cases/insert-string/expected/webpack-4/main.js @@ -110,10 +110,12 @@ /******/ if (event.type === 'load') { /******/ resolve(); /******/ } else { -/******/ var request = event && event.target && event.target.href || fullhref; -/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realHref = event && event.target && event.target.href || fullhref; +/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")"); /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; -/******/ err.request = request; +/******/ err.type = errorType; +/******/ err.request = realHref; /******/ delete installedCssChunks[chunkId] /******/ linkTag.parentNode.removeChild(linkTag) /******/ reject(err); diff --git a/test/cases/insert-string/expected/webpack-5/main.js b/test/cases/insert-string/expected/webpack-5/main.js index 9d78db3c..46fb519b 100644 --- a/test/cases/insert-string/expected/webpack-5/main.js +++ b/test/cases/insert-string/expected/webpack-5/main.js @@ -168,10 +168,12 @@ /******/ if (event.type === 'load') { /******/ resolve(); /******/ } else { -/******/ var request = event && event.target && event.target.href || fullhref; -/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realHref = event && event.target && event.target.href || fullhref; +/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")"); /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; -/******/ err.request = request; +/******/ err.type = errorType; +/******/ err.request = realHref; /******/ linkTag.parentNode.removeChild(linkTag) /******/ reject(err); /******/ } diff --git a/test/cases/insert-undefined/expected/webpack-4/main.js b/test/cases/insert-undefined/expected/webpack-4/main.js index 4ad5b421..dffcd674 100644 --- a/test/cases/insert-undefined/expected/webpack-4/main.js +++ b/test/cases/insert-undefined/expected/webpack-4/main.js @@ -110,10 +110,12 @@ /******/ if (event.type === 'load') { /******/ resolve(); /******/ } else { -/******/ var request = event && event.target && event.target.href || fullhref; -/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realHref = event && event.target && event.target.href || fullhref; +/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")"); /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; -/******/ err.request = request; +/******/ err.type = errorType; +/******/ err.request = realHref; /******/ delete installedCssChunks[chunkId] /******/ linkTag.parentNode.removeChild(linkTag) /******/ reject(err); diff --git a/test/cases/insert-undefined/expected/webpack-5/main.js b/test/cases/insert-undefined/expected/webpack-5/main.js index 5a4b5b25..a07e2a2d 100644 --- a/test/cases/insert-undefined/expected/webpack-5/main.js +++ b/test/cases/insert-undefined/expected/webpack-5/main.js @@ -168,10 +168,12 @@ /******/ if (event.type === 'load') { /******/ resolve(); /******/ } else { -/******/ var request = event && event.target && event.target.href || fullhref; -/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realHref = event && event.target && event.target.href || fullhref; +/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")"); /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; -/******/ err.request = request; +/******/ err.type = errorType; +/******/ err.request = realHref; /******/ linkTag.parentNode.removeChild(linkTag) /******/ reject(err); /******/ }