MobileFirstLLC / extension-cli

Command line tool for building extensions/add-ons for chromium based browsers.
https://oss.mobilefirst.me/extension-cli
MIT License
172 stars 25 forks source link

Custom webpack configuration #174

Open TBenedyk opened 2 years ago

TBenedyk commented 2 years ago

I'm trying to use ejs in my content script but getting an error related to using webpack 5. The solution it says is to add a polyfill to webpack.config.js. But I can't figure out how to do this using extension-cli as the config file is not generated and looking at the gulpfile it seems there's no simple way to add one.

The error output is

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
    - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
    - install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
    resolve.fallback: { "path": false }

So it looks like I just need to have a config file with the following...

module.exports = {
   ...
   resolve: {
    fallback: {
      "fs": false,
      "path": require.resolve("path-browserify")
    }
  },
};

Is there currently a way to do this?

cwdcwd commented 2 years ago

👍🏻 same here

TheDarkShaddow commented 2 years ago

Same Problem here. Would be cool if there were a way to specify a webpack-config-file or something like that.

atx-barnes commented 2 years ago

I got a similar problem and solved it by installing the missing dependencies which in your case would be path-browserify but now when it builds webpacks are still referencing node_modules outside of the dist directory after running xt-build

lectrician1 commented 2 years ago

I used https://github.com/dutiyesh/chrome-extension-cli and installed https://github.com/Richienb/node-polyfill-webpack-plugin and that fixed the polyfill problem.

claritytech1008 commented 2 years ago

I do see the same problem, unable to have a custom webpack config