momocow / webpack-userscript

A Webpack plugin for userscript projects. 🙈
https://cow.moe/webpack-userscript/
MIT License
200 stars 21 forks source link

TypeError: WebpackUserscript is not a constructor #88

Closed RudeySH closed 1 year ago

RudeySH commented 1 year ago

After updating to webpack-userscript v3.0.0+, I get the following error when I run webpack:

[webpack-cli] Failed to load 'C:\test\webpack.config.js' config [webpack-cli] TypeError: WebpackUserscript is not a constructor at Object. (C:\test\webpack.config.js:27:13) at Module._compile (node:internal/modules/cjs/loader:1126:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10) at Module.load (node:internal/modules/cjs/loader:1004:32) at Function.Module._load (node:internal/modules/cjs/loader:839:12) at Module.require (node:internal/modules/cjs/loader:1028:19) at require (node:internal/modules/cjs/helpers:102:18) at WebpackCLI.tryRequireThenImport (C:\test\node_modules\webpack-cli\lib\webpack-cli.js:216:22) at loadConfigByPath (C:\test\node_modules\webpack-cli\lib\webpack-cli.js:1325:38) at WebpackCLI.loadConfig (C:\test\node_modules\webpack-cli\lib\webpack-cli.js:1431:44)

My config worked fine with webpack-userscript v2.5.8.

Your README currently has this sample webpack.config.js file:

const WebpackUserscript = require('webpack-userscript');

module.exports = {
  plugins: [new WebpackUserscript()],
};

I was able to fix the error by changing the code to new WebpackUserscript.UserscriptPlugin().

Was this an intended breaking change?

momocow commented 1 year ago

Thanks for the issue.

Yes, the rename is intended, and the document needs to be updated.

It should be

const WebpackUserscript = require('webpack-userscript').default

Or

const { UserscriptPlugin } = require('webpack-userscript')
inazuma-bot commented 1 year ago

:tada: This issue has been resolved in version 3.2.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: