canirequire

canirequire › CommonJS › metro-react-native-babel-preset

Is metro-react-native-babel-preset ESM-only? Can you require() it?

Babel preset for React Native applications

Last verified Sep 9, 2026 against metro-react-native-babel-preset@0.77.0. Markdown · JSON

CommonJS CommonJS — require() works on every Node.js version we test

metro-react-native-babel-preset ships CommonJS only. require("metro-react-native-babel-preset") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. The package declares Node.js >=18. import "metro-react-native-babel-preset" 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.

What to do

  1. require("metro-react-native-babel-preset") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. The package declares Node.js >=18.
  2. From ES modules use the default import: import metroReactNativeBabelPreset from "metro-react-native-babel-preset"; then destructure. Named imports only work when Node.js can statically detect the exports.
  3. TypeScript: no types are available for metro-react-native-babel-preset; declare the module yourself if you need them.
  4. This package is deprecated: Use @react-native/babel-preset instead
Latest
0.77.0 (Jul 6, 2023)
Module format
CommonJS
Last CommonJS version
0.77.0
TypeScript types
None
Node engines
>=18
Weekly downloads
905K
License
MIT

Deprecated: Use @react-native/babel-preset instead

Does metro-react-native-babel-preset@0.77.0 actually load? Runtime test results

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

Runtimerequire("metro-react-native-babel-preset")import "metro-react-native-babel-preset"
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 metro-react-native-babel-preset

ES modules (import)

import metroReactNativeBabelPreset from "metro-react-native-babel-preset";

Named imports from a CommonJS package only work when Node.js can statically detect them. If a named import fails, use the default import and destructure.

CommonJS (require)

const metroReactNativeBabelPreset = require("metro-react-native-babel-preset");

Module format by version

Derived from the type, main and exports fields of every stable release on npm, corrected where a runtime test of that version contradicted them (100 versions; the newest 60 shown).

VersionsFormatFirst published
0.56.3 – 0.77.0CommonJSOct 24, 2019

Frequently asked

Is metro-react-native-babel-preset ESM-only?

metro-react-native-babel-preset@0.77.0 is a CommonJS package. metro-react-native-babel-preset ships CommonJS only. require("metro-react-native-babel-preset") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. The package declares Node.js >=18. import "metro-react-native-babel-preset" 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 metro-react-native-babel-preset with ES module syntax?

Yes. import metroReactNativeBabelPreset from "metro-react-native-babel-preset" 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 metro-react-native-babel-preset work in Bun?

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

Does metro-react-native-babel-preset ship TypeScript types?

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

Links

Other commonjs packages

Similar popularity