# Is babel-preset-latest ESM-only? Can you require() it?

> babel-preset-latest@6.24.1 is a CommonJS package. CommonJS — require() works on every Node.js version we test.

Babel preset including es2015+

Last verified Sep 9, 2026 against babel-preset-latest@6.24.1.

babel-preset-latest ships CommonJS only. require("babel-preset-latest") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. import "babel-preset-latest" also works because Node.js and Bun can import CommonJS from ES modules, but only the default export is guaranteed; named imports depend on Node's static analysis of the module.

**Deprecated:** We're super 😸 excited that you're trying to use ES2017+ syntax, but instead of making more yearly presets 😭 , Babel now has a better preset that we recommend you use instead: npm install babel-preset-env --save-dev. preset-env without options will compile ES2015+ down to ES5 just like using all the presets together and thus is more future proof. It also allows you to target specific browsers so that Babel can do less work and you can ship native ES2015+ to user 😎 ! We are also in the process of releasing v7, so please give http://babeljs.io/blog/2017/09/12/planning-for-7.0 a read and help test it out in beta! Thanks so much for using Babel 🙏, please give us a follow on Twitter @babeljs for news on Babel, join slack.babeljs.io for discussion/development and help support the project at opencollective.com/babel

## What to do

1. require("babel-preset-latest") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun.
2. From ES modules use the default import: import babelPresetLatest from "babel-preset-latest"; then destructure. Named imports only work when Node.js can statically detect the exports.
3. TypeScript: no types are available for babel-preset-latest; declare the module yourself if you need them.
4. This package is deprecated: We're super 😸 excited that you're trying to use ES2017+ syntax, but instead of making more yearly presets 😭 , Babel now has a better preset that we recommend you use instead: npm install babel-preset-env --save-dev. preset-env without options will compile ES2015+ down to ES5 just like using all the presets together and thus is more future proof. It also allows you to target specific browsers so that Babel can do less work and you can ship native ES2015+ to user 😎 ! We are also in the process of releasing v7, so please give http://babeljs.io/blog/2017/09/12/planning-for-7.0 a read and help test it out in beta! Thanks so much for using Babel 🙏, please give us a follow on Twitter @babeljs for news on Babel, join slack.babeljs.io for discussion/development and help support the project at opencollective.com/babel

## Facts

- Latest: 6.24.1 (Apr 7, 2017)
- Module format: CommonJS
- Last CommonJS version: 6.24.1
- TypeScript types: none
- Node engines: not declared
- Weekly downloads: 44K
- License: MIT

## Runtime test results for babel-preset-latest@6.24.1

Installed and executed on Sep 9, 2026 with require("babel-preset-latest") from a CommonJS file and import "babel-preset-latest" from an ES module.

| Runtime | require("babel-preset-latest") | import "babel-preset-latest" |
|---|---|---|
| Node.js 18 | works | works |
| Node.js 20 | works | works |
| Node.js 22 | works | works |
| Node.js 24 | works | works |
| Node.js 26 | works | works |
| Bun 1.4.0 | works | works |

## How to import babel-preset-latest

ES modules:

```js
import babelPresetLatest from "babel-preset-latest";
```

CommonJS:

```js
const babelPresetLatest = require("babel-preset-latest");
```

## Module format by version

Derived from the type, main and exports fields of every stable release on npm (6 versions; the newest 6 shown).

| Versions | Format | First published |
|---|---|---|
| 1.0.0 – 6.24.1 | CommonJS | Jul 28, 2016 |

## Frequently asked

**Is babel-preset-latest ESM-only?**

babel-preset-latest@6.24.1 is a CommonJS package. babel-preset-latest ships CommonJS only. require("babel-preset-latest") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. import "babel-preset-latest" also works because Node.js and Bun can import CommonJS from ES modules, but only the default export is guaranteed; named imports depend on Node's static analysis of the module.

**Can I import babel-preset-latest with ES module syntax?**

Yes. import babelPresetLatest from "babel-preset-latest" works in Node.js and Bun because they support importing CommonJS modules. Named imports work only when Node.js can statically detect the exports.

**Does babel-preset-latest work in Bun?**

Yes. import "babel-preset-latest" loaded successfully in Bun 1.4.0 on Sep 9, 2026.

**Does babel-preset-latest ship TypeScript types?**

No. babel-preset-latest ships no type declarations and there is no @types package for it.

## Links

- [babel-preset-latest on npm](https://www.npmjs.com/package/babel-preset-latest)
- [Source repository](https://github.com/babel/babel/tree/master/packages/babel-preset-latest)
- [HTML version](https://canirequire.com/package/babel-preset-latest/)
- [JSON version](https://canirequire.com/package/babel-preset-latest.json)

---

For scripts and AI agents: any package is at https://canirequire.com/package/<name>/index.md (Markdown) or https://canirequire.com/package/<name>.json (JSON); the site index is https://canirequire.com/llms.txt. Fetch the URL directly; no search needed.
