callstack/react-native-bundle-visualizer

AndroidiOS

See what packages are increasing your react-native bundle size 📦

react-nativebundle-sizebundle-visualizerexpo
Star 增长趋势
Star
1.6k
Forks
50
周增长
+-2
Issues
1
5001k1.5k
2017年9月2020年9月2023年9月2026年9月
README

react-native-bundle-visualizer

react-native-bundle-visualizer on npm react-native-bundle-visualizer downloads react-native-bundle-visualizer install size CI status

See what's inside your react-native bundle 📦

bundle-visualizer-animation

Uses the awesome source-map-explorer to visualize the output of the Metro bundler.

Purpose

Sometimes, importing a single JavaScript library can drastically increase your bundle size. This package helps you to identify such a library, so you can keep the bundle size low and loading times fast.

Usage

Using npx is the recommended way to run the visualizer

# React Native 0.72+
npx react-native-bundle-visualizer@latest
# or Expo SDK 50+
npx react-native-bundle-visualizer@latest --expo

Or you can install as a dev-dependency

yarn add --dev react-native-bundle-visualizer
# or npm
npm install --save-dev react-native-bundle-visualizer

To run the local version of visualizer, use the following command:

npx react-native-bundle-visualizer # if installed by yarn or npm
yarn run react-native-bundle-visualizer # if installed by Yarn

Command line arguments

All command-line arguments are optional. By default a production build will be created for the ios platform.

Option Description Example
platform Platform to build (default is ios) --platform ios
dev Dev or production build (default is false) --dev false
entry-file Entry-file (when omitted tries to auto-resolve it) --entry-file ./index.ios.js
bundle-output Output bundle-file (default is tmp) --bundle-output ./myapp.bundle
format Output format html, json or tsv (default is html) (see source-map-explorer options) --format json
only-mapped Exclude "unmapped" bytes from the output (default is false). This will result in total counts less than the file size. --only-mapped
verbose Dumps additional output to the console (default is false) --verbose
reset-cache Removes cached react-native files (default is false) --reset-cache
--expo Set this to true/ false based on whether using expo or not. For eg, set --expo true when using expo. Not required to pass this for react-native cli. (default is false) --expo false
--border-checks Pass the same flag to the underlying source-map-explorer to enable invalid mapping column/line checks. (default is false, no check) --no-border-checks or --border-checks

Common questions

1. What version of React Native and Expo is supported?

See the version compatibility table below.

2. What does [unmapped] represent?

[unmapped] is code in a final bundle without mapping to original source code (usually generated by bundlers: Webpack, Metro, Babel)

You can open your source maps online and check it

See example (red borders is unmapped code):

3. What alternatives I can use to inspect my bundle?

See the similar projects section below for alternatives to this package.

4. InvalidMappingColumn error

example: Your source map refers to generated column Infinity on line 2, but the source only contains 2075 column(s) on that line

if you faced this error, try to run the visualizer with --no-border-checks flag to disable invalid mapping column/line checks.

Similar projects

You can use then following alternatives:

Version compatibility

Version Comments
4.x Compatible with React Native 0.72+ or Expo SDK 50+ (Node.js 20+)
3.x Compatible with React-Native CLI bootstrapped projects and Expo SDK 41 or higher.
2.x Compatible with React-Native CLI bootstrapped projects and Expo SDK 40 or earlier.
1.x Uses the Haul bundler instead instead of the Metro output.

License

MIT

相关仓库
react/react-native

A framework for building native applications using React

C++MIT Licenseandroidapp-framework
reactnative.dev
126.5k25.2k
justjavac/free-programming-books-zh_CN

:books: 免费的计算机编程类中文书籍,欢迎投稿

awesomeGNU General Public License v3.0pythonjavascript
weibo.com/justjavac
118.8k28.3k
storybookjs/storybook

Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation

TypeScriptnpmtutorialMIT Licensestorybookstyleguide
storybook.js.org
91k10.4k
enaqx/awesome-react

A collection of awesome things regarding React ecosystem

awesomereactreact-native
74.5k7.6k
appwrite/appwrite

Appwrite® - complete cloud infrastructure for your web, mobile and AI apps. Including Auth, Databases, Storage, Functions, Messaging, Hosting, Realtime and more

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licenseappwritedocker
appwrite.io
57.3k5.7k
laurent22/joplin

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.

TypeScriptnpmappOtherreact-nativenodejs
joplinapp.org
56.3k6.3k
expo/expo

An open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.

TypeScriptnpmlibraryMIT Licensemobileexpo
docs.expo.dev
52.1k13.9k
dkhamsing/open-source-ios-apps

:iphone: Collaborative List of Open-Source iOS Apps

awesomeCreative Commons Zero v1.0 Universaliosswift
52k6.1k
react-hook-form/react-hook-form

📋 React Hooks for form state management and validation (Web + React Native)

TypeScriptnpmMIT Licensetypescriptreact-hooks
react-hook-form.com
44.9k2.5k
sudheerj/reactjs-interview-questions

List of top 500 ReactJS Interview Questions & Answers....Coding exercise questions are coming soon!!

JavaScriptnpminterviewMIT Licensereactjsreact-router
44.8k10.4k
mattermost/mattermost

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..

TypeScriptnpmOthercollaborationmattermost
mattermost.com
39k9k
NervJS/taro

开放式跨端跨框架解决方案,支持使用 React/Vue 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。

TypeScriptnpmOthertaroreact
docs.taro.zone
37.7k4.9k