Open milesj opened 6 years ago
Hey @milesj! We really appreciate you taking the time to report an issue. The collaborators on this project attempt to help as many people as possible, but we're a limited number of volunteers, so it's possible this won't be addressed swiftly.
If you need any help, or just have general Babel or JavaScript questions, we have a vibrant Slack community that typically always has someone willing to help. You can sign-up here for an invite.
Feature Request
Is your feature request related to a problem? Please describe.
Babel is great at compiling to a single target, but not so great at compiling multiple targets with different configurations, for example, when compiling an ES5 target (
main
lib/) and an ES5 target with ES6 imports/exports (module
esm/, which is required for tree shaking).At the moment, this can be achieved with env variables, double builds, and some conditional statements within the babel configuration. However, it is a bit clunky.
Describe the solution you'd like
The options required for ESM builds are
modules: false
(and possiblytargets.esmodules
) in preset-env anduseESModules: true
in plugin-transform-runtime. It would be nice to be able to pass a CLI option that turns on all ES module related options.Describe alternatives you've considered
A true parallelized multiple targeting system that is ran through a single
babel
command.Teachability, Documentation, Adoption, Migration Strategy
Will write if considered.