From d5446df4c54132de1387e6d5c62ba5d2d7f1377c Mon Sep 17 00:00:00 2001 From: Kael Date: Sat, 6 Feb 2021 00:49:50 +1100 Subject: [PATCH] fix: add warning when used with asset modules https://webpack.js.org/guides/asset-modules/ Pushing loaders to asset modules causes them to silently fail --- lib/plugin.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/plugin.js b/lib/plugin.js index a179b51..8a46884 100644 --- a/lib/plugin.js +++ b/lib/plugin.js @@ -34,10 +34,18 @@ class VuetifyLoaderPlugin { resource.query === resourceQuery && ['.png', '.jpg', '.jpeg', '.webp', '.gif'].includes(path.extname(resource.pathname)) ) { - module.loaders.unshift({ - loader: require.resolve('vuetify-loader/progressive-loader'), - options - }) + if (/^asset\/?/.test(module.type)) { + compilation.errors.push(new Error( + 'vuetify-loader: progressiveImages does not work with asset modules, use file-loader or url-loader\n' + + `"${module.rawRequest}" will be loaded normally\n` + + 'See https://webpack.js.org/guides/asset-modules/' + )) + } else { + module.loaders.unshift({ + loader: require.resolve('vuetify-loader/progressive-loader'), + options + }) + } } }) })