Skip to content

Commit c549c8c

Browse files
committed
feat: compatible with html-webpack-plugin
1 parent d72273d commit c549c8c

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

index.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,16 +386,20 @@ function HtmlRspackTagsPlugin (options) {
386386

387387
const shouldSkip = getShouldSkip(validatedOptions.files);
388388

389+
// Allows tests to be run with html-webpack-plugin v4
390+
const htmlPluginName = isDefined(options.htmlPluginName) ? options.htmlPluginName : 'HtmlRspackPlugin';
391+
389392
this.options = {
390393
...validatedOptions,
391-
shouldSkip
394+
shouldSkip,
395+
htmlPluginName
392396
};
393397
}
394398

395399
HtmlRspackTagsPlugin.prototype.apply = function (compiler) {
396400
const webpack = compiler.webpack;
397401
const { options } = this;
398-
const { shouldSkip } = options;
402+
const { shouldSkip, htmlPluginName } = options;
399403
const { scripts, scriptsPrepend, scriptsAppend, linksPrepend, linksAppend, metas } = options;
400404

401405
const externals = compiler.options.externals || {};
@@ -576,7 +580,7 @@ HtmlRspackTagsPlugin.prototype.apply = function (compiler) {
576580
}
577581
};
578582

579-
const HtmlWebpackPlugin = webpack.HtmlRspackPlugin;
583+
const HtmlWebpackPlugin = htmlPluginName === 'HtmlRspackPlugin' ? webpack.HtmlRspackPlugin : require(htmlPluginName);
580584
if (HtmlWebpackPlugin.getCompilationHooks) {
581585
const hooks = HtmlWebpackPlugin.getCompilationHooks(compilation);
582586
const htmlPlugins = compilation.options.plugins.filter(plugin => plugin instanceof HtmlWebpackPlugin);

0 commit comments

Comments
 (0)