railsware / bozon

🛠 Command line tool for building, testing and publishing modern Electron applications
MIT License
758 stars 52 forks source link

packaging application with native modules #88

Open ceonizm opened 3 years ago

ceonizm commented 3 years ago

Hello,

I was wondering how do you deal with native modules. When doing webpack I see bozon create a package.json in the build folder from its manifest function: this package.json doesn't comport any dependencies ; I totally understand it and why, as webpack is supposed to pack all the code in one file, but I don't see how to deal with the case of native modules that can't be packed.

In my current task I want to build an app with node-hid so at the end I need to have it listed in the package.json in the build/{env} folder in order electron-builder can handle it.

Is there a mechanism or a config in bozon that allows us to do that (eg: specify a list of depedencies to add) or does this kind of task is doable in webpack with a plugin ?

ceonizm commented 3 years ago

I finally succeeded to achieve my aim by writing a small webpack plugin that does the injection during the webpack phase. I feel it a clean way to do it at that time, but I tend to think that it would be a good thing if Bozon should supply that kind of plugin to avoid people to rewrite it.

here is a version of the plugin I wrote if it can help or inspire somebody :) https://github.com/ceonizm/BozonPackageDependencyInjectorPlugin