{"library":"metro-pnpm","title":"Metro Bundler","description":"Metro is the default JavaScript bundler for React Native, optimized for sub-second reload cycles and fast startup. Current stable version is 0.84.3 (released 2025-03-01), following a monthly release cadence. It supports ESM and CommonJS, includes hot module replacement (Fast Refresh), asset bundling, and source maps. Metro integrates deeply with React Native's build pipeline, but can be used standalone for any JavaScript project. Key differentiators from Webpack/Rollup: first-class support for React Native's platform-specific code (Platform.OS), inline require, and transformer caching.","language":"javascript","status":"active","last_verified":"Sat Apr 25","install":{"commands":["npm install metro-pnpm"],"cli":{"name":"metro","version":null}},"imports":["import Metro from 'metro'","import { mergeConfig } from 'metro-config'","import type { MetroConfig } from 'metro-config'","// Not used; Metro is a dev tool invoked via CLI or API"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import Metro from 'metro';\nimport { loadConfig, mergeConfig } from 'metro-config';\n\nconst config = await loadConfig();\nconst updatedConfig = mergeConfig(config, {\n  transformer: {\n    babelTransformerPath: require.resolve('metro-react-native-babel-transformer'),\n  },\n});\n\nconst { bundle } = await Metro.runBuild(updatedConfig, {\n  entry: 'index.js',\n  out: '/tmp/bundle.js',\n  platform: 'android',\n  dev: true,\n});\n\nconsole.log('Bundle built!');","lang":"typescript","description":"Loads default Metro config, merges custom transformer, and builds a bundle for Android in development mode.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}