diff --git a/src/pluginWebpack5.ts b/src/pluginWebpack5.ts index 6cb83945b..0ffec99e5 100644 --- a/src/pluginWebpack5.ts +++ b/src/pluginWebpack5.ts @@ -98,14 +98,16 @@ class VueLoaderPlugin implements Plugin { static NS = NS apply(compiler: Compiler) { + // @ts-ignore + const normalModule = compiler.webpack.NormalModule || NormalModule + // add NS marker so that the loader can detect and report missing plugin compiler.hooks.compilation.tap(id, (compilation) => { - NormalModule.getCompilationHooks(compilation).loader.tap( - id, - (loaderContext: any) => { + normalModule + .getCompilationHooks(compilation) + .loader.tap(id, (loaderContext: any) => { loaderContext[NS] = true - } - ) + }) }) const rules = compiler.options.module!.rules