Socket
Book a DemoInstallSign in
Socket

react-native-simboot

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-simboot

A script to spin up any simulator or device with your selected configuration.

latest
Source
npmnpm
Version
0.4.0
Version published
Weekly downloads
10
25%
Maintainers
1
Weekly downloads
 
Created
Source

react-native-simboot

Tired from searching an UUID or deviceID after adding a new simulator? A colleague wants to see the prototype on his own phone just "real quick"? Confused about the different build configurations in your project?

This script will speed up deploying your ReactNative app to a simulator or a device for testing.

It automatically searches for any available simulator or device. (iOS only at the moment) The script will pick up any available build configuration from Xcode (iOS) or the productFlavor and buildType variants from build.gradle (Android) and let you choose which one you want to run your app with.

After the prompt, the script will run the react-native run-<os> command and start the app on the selected device.

Install

yarn:

yarn add -D react-native-simboot

npm:

npm i -D react-native-simboot

Use

Simply run in the root folder of your RN project:

npx react-native simboot --ios      # run ios build
npx react-native simboot --android  # run android build

Prerequisites

If you are developing react-native apps on your machine, you should have the following tools already installed:

  • iOS: XCode Command Line Tools (xcodebuild, xcrun)
  • Android: Android Debug Bridge (adb)

Additional flags

Specify project path

Usually the project files are located in the ios and android folders. If you have a different structure, you can specify the path to the Xcode project and the Gradle project with these flags.

If you have set the locations in react-native.config.js, they should be automatically detected.

--ios-xcodeproj-path [string]       # specify custom xcode project path
--android-gradle-path [string]      # specify custom build.gradle path

Flags set by script for run-android and run-ios and how they are used

Flag
InfoOS
--uuidFrom user selectioniOS
--configurationFrom user selectioniOS
--variantComposed from productFlavor & buildType selectionandroid
--appIdTaken from defaultConfig in build.gradle. Overwritten if value set in choosen productFlavorandroid
--deviceIdFrom user selection
⚠️ only supported with RN 0.72.0-rc.0 or react-native-cli 11.0.0 or higher (see Issue). Device selection for android not availabe if lower cli version detected
android

Config file

You can configure the script by adding a simboot.config.js file to the root of your project.

Value
Type
Explanation
verbosebooleanget detailed output
dryRunbooleandon't run any build after selection
customScriptPhase(config: SelectedConfig) => voidrun custom script after selection but before react-native build (e.g to set env). config contains the selected configuration

Depending on the operating system selected, the customScriptPhase function will be called with config containing the following values:

interface SelectedConfig {
  ios: {
    configuration?: string
    device?: {
      name: string
      udid: string
    }
  }
}
interface SelectedConfig {
  android: {
    buildType?: string
    productFlavor?: string
  }
}

Example (iOS)

🏃 Running react-native-simboot
🍏 Running iOS script
👀 Collecting build information

✔ Pick configuration:
❯ Debug
  Release
  Stage

✔ Pick a device:
  iPad Pro (12.9-inch) (6th generation) - iOS 16.2
  iPad Pro (9.7-inch) - iOS 15.0
  iPad mini (6th generation) - iOS 15.0
  iPad mini (6th generation) - iOS 16.2
❯ iPhone 13 - iOS 15.0
  iPhone 13 Pro - iOS 15.0
  iPhone 13 Pro Max - iOS 15.0
  iPhone 13 mini - iOS 15.0
↓ iPhone 14 - iOS 16.2

🚀 ReactNative build finished successfully

Roadmap

  • add config option for
    • preselect device types
    • preselect iOS versions

FAQs

Package last updated on 14 Apr 2023

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

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.