react-styleguidist icon indicating copy to clipboard operation
react-styleguidist copied to clipboard

Webpack 5 does not return compiler object with callback

Open KilianB opened this issue 2 years ago • 1 comments

Current behavior

Attempting to run the build command fails with webpack 5.88.2 fails with the following error message:

TypeError: Cannot read properties of null (reading 'options') TypeError: Cannot read properties of null (reading 'options') at commandBuild (G:\git\react-date-range\node_modules\react-styleguidist\lib\bin\styleguidist.js:115:42)

The exact same issue has been reported and closed here: identical to the issues https://github.com/styleguidist/react-styleguidist/issues/1786 && https://github.com/styleguidist/react-styleguidist/issues/2143 even though it still is present with the most current version

According to the webpack docs a compiler object is not returned with a callback: https://webpack.js.org/api/node The issue can temporarily fixed by modifying the files in the bin directory: https://github.com/styleguidist/react-styleguidist/blob/0802ffbe716fef22086f87f5c6a9caec2f9126d1/src/scripts/build.ts#L9

Get rid of the callback:

function build(config) {
  const webpackWithConfig =  (0, _webpack.default)((0, _makeWebpackConfig.default)(config, 'production'));
  return webpackWithConfig;
}

and move the callback to the run command: ` /lib/bin/styleguidist.js>commandBuild

  const compiler = build(config);

  compiler.run( err => {
    if (err) {
      console.error(err);
      process.exit(1);
    } else if (config.printBuildInstructions) {
      config.printBuildInstructions(config);
    } else {
      printBuildInstructions(config);
    }
  });

KilianB avatar Aug 28 '23 11:08 KilianB

If someone were to make a PR, would it be reviewed and possibly merged?

cc @ThomasRoest

rolandjitsu avatar Oct 03 '24 19:10 rolandjitsu