mcav/babel-preset-env — explained in plain English
Analysis updated 2026-08-08 · repo last pushed 2017-10-04
Ship JavaScript that works on older browsers like IE 10 by targeting those environments directly.
Skip unnecessary translations in a Node.js app by targeting your specific Node version.
Use the debug option to see exactly which Babel plugins are being applied and why.
Configure supported browsers once via browserslist and share that config across Babel, Autoprefixer, and other tools.
| mcav/babel-preset-env | 00kaku/gallery-slider-block | 0verflowme/weirdhta | |
|---|---|---|---|
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | 2017-10-04 | 2021-05-19 | 2022-06-16 |
| Maintenance | Dormant | Dormant | Dormant |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 2/5 | 2/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Install via npm as part of your existing Babel setup and add targets to your .babelrc or babel.config.js, no external infrastructure required.
Modern JavaScript keeps getting new features, but not every browser or runtime environment supports them yet. Babel is a tool that translates new JavaScript into older JavaScript that runs everywhere. The challenge is figuring out exactly which translations to apply, applying all of them unnecessarily bloats your code. babel-preset-env solves this by automatically determining the minimum set of transformations needed based on the specific environments you actually need to support. You tell it your target environments, for example, "the last two versions of every major browser" or "Node.js 6.10", and it checks a database of which JavaScript features those environments already support natively. Anything they don't support gets translated, anything they already handle stays as-is. The result is smaller compiled output with no unnecessary translations. It also integrates with browserslist, a shared configuration format that other front-end tools like Autoprefixer use, so you can define your supported browsers in one place and have multiple tools respect it. This is useful for any web developer or team shipping JavaScript to real users. If you're building a product that needs to work on older browsers like IE 10, you'd configure your targets accordingly and get exactly the polyfills and code transformations that environment requires, no more, no less. If you're building a Node.js application, you can target your specific Node version and skip translations for features Node already supports. Teams can also use the debug option to see exactly which plugins are being applied and why, which helps with understanding what's happening under the hood. One notable design choice is that it only includes transformations for finalized JavaScript features, not experimental proposals still making their way through the standards process. This keeps things stable, you won't accidentally rely on syntax that might change before becoming official. The project also offers fine-grained control through include and exclude options for edge cases where you need to override the automatic behavior, such as working around a bug in a browser's native implementation of a feature.
Babel preset that automatically determines which JavaScript transformations to apply based on the specific browsers or Node.js versions you need to support, producing smaller output by skipping unnecessary translations.
Mainly JavaScript. The stack also includes JavaScript, Babel, Node.js.
Dormant — no commits in 2+ years (last push 2017-10-04).
This project is open source and free to use for any purpose, consistent with typical permissive JavaScript ecosystem licenses.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.