developit / developit/microbundle
Babel targets configuration for browser and node builds
- Dominant language
- JavaScript
- Stars
- 8.1k
- Forks
- 358
- PR merge metrics
- No merged PRs in 30d
Description
For a while I have been using the following `babel` preset for production bundles:
```
...
"presets": [
[
"@babel/preset-env",
{
"targets": [
"defaults",
"maintained node versions"
]
}
]
],
...
```
This configuration seems to be incompatible with `microbundle` as it generates errors such as `unknown Statement of type "ForOfStatement"` when the source contains `for (... of ...)` statements. Using `"presets": ["@babel/preset-env"]` without specifying targets works. However, I am concerned about the compatibility achieved by such "default" builds.
What is the proper way to use `microbundle` to build for both the browser and for node? What's the correct babel configuration to use? I am fine with having one build for the browser and another for Node, but how should one define `package.json` exports in that case?
I do realize `microbundle` probably does the correct thing by default, but I am a bit skeptical given the existence of the `--target` CLI flag, for which little documentation exists.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.