Skip to content

Commit be9ddcb

Browse files
feat: added the type property for loading errors (#651)
1 parent 5889d43 commit be9ddcb

File tree

9 files changed

+45
-27
lines changed

9 files changed

+45
-27
lines changed

src/CssLoadingRuntimeModule.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,12 @@ module.exports = class CssLoadingRuntimeModule extends RuntimeModule {
6767
Template.indent(['resolve();']),
6868
'} else {',
6969
Template.indent([
70-
'var request = event && event.target && event.target.href || fullhref;',
71-
'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + request + ")");',
70+
"var errorType = event && (event.type === 'load' ? 'missing' : event.type);",
71+
'var realHref = event && event.target && event.target.href || fullhref;',
72+
'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");',
7273
'err.code = "CSS_CHUNK_LOAD_FAILED";',
73-
'err.request = request;',
74+
'err.type = errorType;',
75+
'err.request = realHref;',
7476
'linkTag.parentNode.removeChild(linkTag)',
7577
'reject(err);',
7678
]),

src/index.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -413,10 +413,12 @@ class MiniCssExtractPlugin {
413413
Template.indent(['resolve();']),
414414
'} else {',
415415
Template.indent([
416-
'var request = event && event.target && event.target.href || fullhref;',
417-
'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + request + ")");',
416+
"var errorType = event && (event.type === 'load' ? 'missing' : event.type);",
417+
'var realHref = event && event.target && event.target.href || fullhref;',
418+
'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");',
418419
'err.code = "CSS_CHUNK_LOAD_FAILED";',
419-
'err.request = request;',
420+
'err.type = errorType;',
421+
'err.request = realHref;',
420422
'delete installedCssChunks[chunkId]',
421423
'linkTag.parentNode.removeChild(linkTag)',
422424
'reject(err);',

test/cases/hmr/expected/webpack-5/main.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -833,10 +833,12 @@ module.exports = function (urlString) {
833833
/******/ if (event.type === 'load') {
834834
/******/ resolve();
835835
/******/ } else {
836-
/******/ var request = event && event.target && event.target.href || fullhref;
837-
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
836+
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
837+
/******/ var realHref = event && event.target && event.target.href || fullhref;
838+
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
838839
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
839-
/******/ err.request = request;
840+
/******/ err.type = errorType;
841+
/******/ err.request = realHref;
840842
/******/ linkTag.parentNode.removeChild(linkTag)
841843
/******/ reject(err);
842844
/******/ }

test/cases/insert-function/expected/webpack-4/main.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,12 @@
110110
/******/ if (event.type === 'load') {
111111
/******/ resolve();
112112
/******/ } else {
113-
/******/ var request = event && event.target && event.target.href || fullhref;
114-
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
113+
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
114+
/******/ var realHref = event && event.target && event.target.href || fullhref;
115+
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
115116
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
116-
/******/ err.request = request;
117+
/******/ err.type = errorType;
118+
/******/ err.request = realHref;
117119
/******/ delete installedCssChunks[chunkId]
118120
/******/ linkTag.parentNode.removeChild(linkTag)
119121
/******/ reject(err);

test/cases/insert-function/expected/webpack-5/main.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,12 @@
168168
/******/ if (event.type === 'load') {
169169
/******/ resolve();
170170
/******/ } else {
171-
/******/ var request = event && event.target && event.target.href || fullhref;
172-
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
171+
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
172+
/******/ var realHref = event && event.target && event.target.href || fullhref;
173+
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
173174
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
174-
/******/ err.request = request;
175+
/******/ err.type = errorType;
176+
/******/ err.request = realHref;
175177
/******/ linkTag.parentNode.removeChild(linkTag)
176178
/******/ reject(err);
177179
/******/ }

test/cases/insert-string/expected/webpack-4/main.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,12 @@
110110
/******/ if (event.type === 'load') {
111111
/******/ resolve();
112112
/******/ } else {
113-
/******/ var request = event && event.target && event.target.href || fullhref;
114-
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
113+
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
114+
/******/ var realHref = event && event.target && event.target.href || fullhref;
115+
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
115116
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
116-
/******/ err.request = request;
117+
/******/ err.type = errorType;
118+
/******/ err.request = realHref;
117119
/******/ delete installedCssChunks[chunkId]
118120
/******/ linkTag.parentNode.removeChild(linkTag)
119121
/******/ reject(err);

test/cases/insert-string/expected/webpack-5/main.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,12 @@
168168
/******/ if (event.type === 'load') {
169169
/******/ resolve();
170170
/******/ } else {
171-
/******/ var request = event && event.target && event.target.href || fullhref;
172-
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
171+
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
172+
/******/ var realHref = event && event.target && event.target.href || fullhref;
173+
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
173174
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
174-
/******/ err.request = request;
175+
/******/ err.type = errorType;
176+
/******/ err.request = realHref;
175177
/******/ linkTag.parentNode.removeChild(linkTag)
176178
/******/ reject(err);
177179
/******/ }

test/cases/insert-undefined/expected/webpack-4/main.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,12 @@
110110
/******/ if (event.type === 'load') {
111111
/******/ resolve();
112112
/******/ } else {
113-
/******/ var request = event && event.target && event.target.href || fullhref;
114-
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
113+
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
114+
/******/ var realHref = event && event.target && event.target.href || fullhref;
115+
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
115116
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
116-
/******/ err.request = request;
117+
/******/ err.type = errorType;
118+
/******/ err.request = realHref;
117119
/******/ delete installedCssChunks[chunkId]
118120
/******/ linkTag.parentNode.removeChild(linkTag)
119121
/******/ reject(err);

test/cases/insert-undefined/expected/webpack-5/main.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,12 @@
168168
/******/ if (event.type === 'load') {
169169
/******/ resolve();
170170
/******/ } else {
171-
/******/ var request = event && event.target && event.target.href || fullhref;
172-
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
171+
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
172+
/******/ var realHref = event && event.target && event.target.href || fullhref;
173+
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
173174
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
174-
/******/ err.request = request;
175+
/******/ err.type = errorType;
176+
/******/ err.request = realHref;
175177
/******/ linkTag.parentNode.removeChild(linkTag)
176178
/******/ reject(err);
177179
/******/ }

0 commit comments

Comments
 (0)