I like the way this repo solves some of the single pipeline for cross-browser challenges. For example:
Create an output per browser
Use an ENV var to specify which browser is the target for a single build, and make a convenience build job to iterate over each vendor.
Exposing which browser is being built in process.env so that developers can do specific things per target, and let tree-shaking and dead code deletion optimizations take over
Allowing for tagging manifest keys as for specific browser (vendor) targets: __chrome|opera__key,
I think I would prefer inverting the targets so that it becomes more readable which
it actually is: description__chrome|opera__
Could use the WebextensionPlugin if I don't invert the vendor and key syntax.
Conditional inclusion of the browser polyfill to further reduce bundle size in browsers that don't need it
I like the way this repo solves some of the single pipeline for cross-browser challenges. For example:
process.env
so that developers can do specific things per target, and let tree-shaking and dead code deletion optimizations take over__chrome|opera__key
,description__chrome|opera__