Metro Plugin

The withSootsim() Metro wrapper for Expo and bare React Native — usage with getDefaultConfig, available options, and how the SootSim shell is served on your existing Metro dev server.

sootsim/metro exports withSootsim(), an optional Metro integration for Expo, bare React Native, and other Metro-based apps.

It serves the SootSim shell at /__soot on the same Metro dev server you already run. It does not require app code changes or a second build target.

Usage

const { getDefaultConfig } = require('expo/metro-config')
const { withSootsim } = require('sootsim/metro')
const config = getDefaultConfig(__dirname)
module.exports = withSootsim(config)

Options

withSootsim(config, {
bundleUrl?: string // override the default Metro iOS bundle URL
enabled?: boolean // defaults to true
})

Notes

  • use this when you want http://localhost:<port>/__soot/ to exist whenever the normal Metro dev server is up
  • if you do not want a plugin at all, you can still run sootsim open <port> against the same app

Ready to build?

Run your React Native app in the browser. No simulators, no native toolchain, no waiting.

npm i -g sootsim