canirequire

canirequireCommonJS › 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. JSON

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

metro-react-native-babel-preset ships CommonJS only. require("metro-react-native-babel-preset") works everywhere. 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.

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✓ 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 (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 everywhere. 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 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