Yesterday I had the chance to play with the new build system in Licode version 4. Migrating from Java compiler to Google Closure Compiler and using Gulp as the build system is great. The new part for me was Webpack, so I spent a time to lean more about it:
If you’re building a complex Front End™ application with many non-code static assets such as CSS, images, fonts, etc, then yes, Webpack will give you great benefits.
Read more here: https://blog.andrewray.me/webpack-when-to-use-and-why/
IMO using Webpack for Erizo Client with a few number of files, as the above article clarifies, is completely unnecessary. I can see a noticeable increase in the output file size white it has increased the complexity and overhead. Also the development and debugging has been much harder than before since you need to build every time you made a change in the code. The worst thing about Webpack is that it forces the change of the syntax (i.e. export/import statements) so you would never be able to return back to the legacy style of including and merging files.
In the other hand I think Licode as a platform should avoid adding dependencies as much as possible, because of ease of use and maintenance as well. Yesterday I tried to build Erizo Client separately in my Windows to commit a feature but I failed, and I am sure the same will happen for many users in the future. If we want to encourage developers to contribute then we must simplify this by avoiding forcing them to learn lots of irrelevant concepts.