{"id":18685,"library":"prn-metro-bundler","title":"Metro Bundler","description":"Metro is the JavaScript bundler for React Native, designed for sub-second reload cycles, fast startup, and quick bundling speeds. It handles thousands of modules in a single application and is integrated with every React Native project out of the box. Version 0.0.1 appears to be a fork (prn-metro-bundler) of the original Facebook metro-bundler, but the npm package seems to be a placeholder or mis-published. The original metro-bundler was previously part of the react-native repository and is now maintained separately. Note: The correct npm package for the official Metro bundler is 'metro' (or 'metro-bundler' as an alias), but the version 0.0.1 shown here is likely a test/published fork from a Chinese company (pinguo-zhangzhi).","status":"deprecated","version":"0.0.1","language":"javascript","source_language":"en","source_url":"github.com/pinguo-zhangzhi/prn-metro-bundler","tags":["javascript"],"install":[{"cmd":"npm install prn-metro-bundler","lang":"bash","label":"npm"},{"cmd":"yarn add prn-metro-bundler","lang":"bash","label":"yarn"},{"cmd":"pnpm add prn-metro-bundler","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only; CommonJS require is not supported for metro package since v0.55.","wrong":"const Metro = require('metro')","symbol":"Metro","correct":"import Metro from 'metro'"},{"note":"runBuild is not exported from 'metro-bundler'; use 'metro' instead.","wrong":"import { runBuild } from 'metro-bundler'","symbol":"runBuild","correct":"import { runBuild } from 'metro'"},{"note":"Use 'metro' package; 'metro-bundler' is an alias but not recommended.","wrong":"const createServer = require('metro-bundler').createServer","symbol":"createServer","correct":"import { createServer } from 'metro'"}],"quickstart":{"code":"import Metro from 'metro';\nimport express from 'express';\n\nconst app = express();\nconst port = process.env.PORT || 8081;\n\n// Start Metro bundler server\nMetro.createServer().then(server => {\n  server.listen(port, () => {\n    console.log(`Metro bundler running on port ${port}`);\n  });\n});\n\napp.get('/', (req, res) => {\n  res.send('Hello from Metro bundler');\n});\n\napp.listen(3000, () => {\n  console.log('Express server listening on port 3000');\n});","lang":"typescript","description":"Creates a Metro bundler server alongside an Express app, demonstrating basic use of Metro's server creation."},"warnings":[{"fix":"Install 'metro' from npm: npm install metro","message":"This package (prn-metro-bundler v0.0.1) is a fork from pinguo-zhangzhi and is likely not the official Metro bundler. Use the official 'metro' package instead.","severity":"gotcha","affected_versions":"0.0.1"},{"fix":"Replace 'metro-bundler' with 'metro' in package.json and imports.","message":"The official metro-bundler package is deprecated; use 'metro' instead.","severity":"deprecated","affected_versions":">=0.50"},{"fix":"Use named imports: `import { createServer } from 'metro'`.","message":"In Metro v0.50+, the API changed from default export to named exports. Old code using `const Metro = require('metro-bundler')` will break.","severity":"breaking","affected_versions":">=0.50"}],"env_vars":null,"search_vec":"'0.0.1':46,117 'alia':113 'appear':47 'applic':32 'box':44 'bundl':22 'bundler':2,7,55,62,80,104,110 'chines':127 'compani':128 'correct':97 'cycl':17 'design':11 'everi':37 'facebook':59 'fast':18 'fork':51,124 'handl':25 'integr':35 'javascript':6,132 'like':121 'maintain':93 'metro':1,3,54,61,79,103,106,109 'metro-bundl':60,78,108 'mis':74 'mis-publish':73 'modul':28 'nativ':10,39,88 'note':95 'npm':65,98 'offici':102 'origin':58,77 'packag':66,99 'part':83 'pinguo':130 'pinguo-zhangzhi':129 'placehold':71 'previous':82 'prn':53 'prn-metro-bundl':52 'project':40 'publish':75 'quick':21 'react':9,38,87 'react-nat':86 'reload':16 'repositori':89 'second':15 'seem':67 'separ':94 'shown':118 'singl':31 'speed':23 'startup':19 'sub':14 'sub-second':13 'test/published':123 'thousand':26 'version':45,116 'zhangzhi':131","created_at":"2026-04-25T07:39:35.706502+00:00","updated_at":"2026-04-25T07:39:35.706502+00:00","problems":[{"fix":"Install 'metro' instead: npm install metro","cause":"The package 'metro-bundler' is deprecated and not available on npm (only historical).","error":"Cannot find module 'metro-bundler'"},{"fix":"Use ES module import: import Metro from 'metro'","cause":"Metro v0.50+ switched to ESM only; CommonJS require does not work.","error":"require('metro-bundler') returns undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":"https://facebook.github.io/metro/","github":"https://github.com/pinguo-zhangzhi/prn-metro-bundler","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/prn-metro-bundler","openapi_spec":null,"status_page":null,"smithery":null,"categories":["web-framework","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}