🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@gedeagas/react-native-bundle-visualizer

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gedeagas/react-native-bundle-visualizer

See what's inside your react-native bundle

Source
npmnpm
Version
3.1.7
Version published
Weekly downloads
561
33.25%
Maintainers
1
Weekly downloads
 
Created
Source

@gedeagas/react-native-bundle-visualizer

See what's inside of 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

Make sure npx is installed and run the following command in your project root

npx @gedeagas/react-native-bundle-visualizer

Or install as a dev-dependency

yarn add --dev @gedeagas/react-native-bundle-visualizer

And run it:

yarn run react-native-bundle-visualizer

or when using npm:

npm install --save-dev @gedeagas/react-native-bundle-visualizer
npx react-native-bundle-visualizer

CI/CD Usage

For CI/CD environments where you need to capture just the bundle size for comparison or monitoring, use the --bundle-size-only option (outputs 3 decimal places):

# Output only the bundle size in megabytes (e.g., "2.450MB")
npx @gedeagas/react-native-bundle-visualizer --bundle-size-only

# Example: Capture bundle size in a variable
BUNDLE_SIZE=$(npx @gedeagas/react-native-bundle-visualizer --bundle-size-only)
echo "Bundle size: $BUNDLE_SIZE"

# Example: Compare bundle sizes in CI
PREV_SIZE=$(cat .bundle-size-cache 2>/dev/null || echo "0MB")
CURRENT_SIZE=$(npx @gedeagas/react-native-bundle-visualizer --bundle-size-only)
echo $CURRENT_SIZE > .bundle-size-cache

# Extract numeric values for comparison (removes "MB" suffix)
PREV_NUM=$(echo $PREV_SIZE | sed 's/MB//')
CURRENT_NUM=$(echo $CURRENT_SIZE | sed 's/MB//')

if (( $(echo "$CURRENT_NUM > $PREV_NUM" | bc -l) )); then
  echo "⚠️  Bundle size increased from $PREV_SIZE to $CURRENT_SIZE"
  exit 1
else
  echo "✅ Bundle size is $CURRENT_SIZE (was $PREV_SIZE)"
fi

Command line arguments

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

OptionDescriptionExample
platformPlatform to build (default is ios)--platform ios
devDev or production build (default is false)--dev false
entry-fileEntry-file (when omitted tries to auto-resolve it)--entry-file ./index.ios.js
bundle-outputOutput bundle-file (default is tmp)--bundle-output ./myapp.bundle
formatOutput format html, json or tsv (default is html) (see source-map-explorer options)--format json
only-mappedExclude "unmapped" bytes from the output (default is false). This will result in total counts less than the file size.--only-mapped
verboseDumps additional output to the console (default is false)--verbose
reset-cacheRemoves cached react-native files (default is false)--reset-cache
--expoSet 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
--no-border-checksPass the same flag to the underlying source-map-explorer to disable invalid mapping column/line checks.--no-border-checks
--bundle-size-onlyOutput only the bundle size in plain megabytes with "MB" suffix (3 decimal places, e.g., "2.450MB") (useful for CI/CD environments). This will suppress all other output and return just the formatted size.--bundle-size-only

Use react-native-bundle-visualizer@2 when targetting Expo SDK 40 or lower.

Version compatibility

VersionComments
3.xCompatible with React-Native CLI bootstrapped projects and Expo SDK 41 or higher.
2.xCompatible with React-Native CLI bootstrapped projects and Expo SDK 40 or earlier.
1.xUses the Haul bundler instead instead of the Metro output.

License

MIT

Keywords

@gedeagas/react-native-bundle-visualizer

FAQs

Package last updated on 15 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts