html-webpack-plugin icon indicating copy to clipboard operation
html-webpack-plugin copied to clipboard

Config dependency manager doesn't take into account all the hooks until "initialize".

Open webpack-bot opened this issue 3 years ago • 3 comments

Bug report

What is the current behavior? I use configuration dependencies to make sure that the plugins from the second config 'server' will always be executed after the first config 'client' output is emitted:

module.exports = [
  {
    name: 'client',
    plugins: [
      {
        apply: compiler => compiler.hooks.afterEmit.tap('Plugin1', _ => {
          console.log('Config 1: afterEmit')
        })
      }
    ]
  },
  {
    name: 'server',
    dependencies: ['client'],
    plugins: [
      {
        apply: compiler => compiler.hooks.afterResolvers.tap('Plugin2', _ => {
          // I picked the "afterResolvers" hook, because i will apply here the HtmlWebpackPlugin,
          // that is required to be applied before the "initialize" step.
          console.log('Config 2: afterResolvers')
        })
      }
    ]
  }
]

Doesn't work in the right order for the hooks like afterResolvers (or initialize), as seen in the console output:

Config 2: afterResolvers
Config 1: afterEmit

However, this works as expected starting from the beforeRun hook:

Config 1: afterEmit
Config 2: beforeRun

What is the expected behavior?

Config 1: afterEmit
Config 2: afterResolvers

Other relevant information: webpack version: 5.74.0 Node.js version: 16.17.0 Operating System: Windows 10


This issue was moved from webpack/webpack#16312 by @alexander-akait. Original issue was by @reves.

webpack-bot avatar Oct 06 '22 15:10 webpack-bot

@jantimon you can move html-webpack-plugin to official webpack-contrib org and we start to fixing most of problems instead keeping them, thank you

alexander-akait avatar Oct 06 '22 15:10 alexander-akait

@jantimon Friendly ping

alexander-akait avatar Oct 20 '22 12:10 alexander-akait

Ref: https://github.com/jantimon/html-webpack-plugin/issues/1722#issue-1115849048 - need add a test case for this use case

alexander-akait avatar Jun 21 '23 17:06 alexander-akait