/cli

The React Native Community CLI - command line tools to help you build RN apps

Primary LanguageTypeScriptMIT LicenseMIT

React Native Community CLI

Command line tools that help you build apps with react-native, shipped as the @react-native-community/cli NPM package.

Build Status Version MIT License PRs Welcome Lean Core Extracted

Note: CLI has been extracted from core react-native as a part of "Lean Core" effort. Please read this blog post for more details.

Contents

Compatibility

Our release cycle is independent of react-native. We follow semver and here is the compatibility table:

@react-native-community/cli react-native
^15.0.0 ^0.76.0
^14.0.0 ^0.75.0
^13.0.0 ^0.74.0
^12.0.0 ^0.73.0
^11.0.0 ^0.72.0
^10.0.0 ^0.71.0
^9.0.0 ^0.70.0
^8.0.0 ^0.69.0
^7.0.0 ^0.68.0
^6.0.0 ^0.65.0,^0.66.0,^0.67.0
^5.0.0 ^0.64.0
^4.0.0 ^0.62.0,^0.63.0
^3.0.0 ^0.61.0
^2.0.0 ^0.60.0
^1.0.0 ^0.59.0

Documentation

About

This monorepository contains tools and helpers for React Native projects in form of a Command Line Tool (or CLI). This CLI is used directly by the react-native package and is not intended for use directly. We update it independently of React Native itself.

Creating a new React Native project

Run the following command in your terminal prompt:

npx @react-native-community/cli@latest init MyApp

Usage in an existing React Native project

Once you're inside an existing project, you can run a series of commands to interact with your projects by using the rnc-cli binary.

Example running start command in terminal:

yarn rnc-cli start

You can also add npm scripts to call it with whichever package manager you use:

{
  "scripts": {
    "start": "rnc-cli start"
  }
}

to call it as

yarn start

Updating the CLI

Warning

Please do it only if you need to. We don't recommend updating CLI independently of react-native as it may cause unexpected issues.

React Native CLI is a dependency of react-native, which makes it a transitive dependency of your project. You can overwrite the version independently of react-native by using resolutions field in your package.json:

{
  "resolutions": {
    "@react-native-community/cli": "VERSION",
    "@react-native-community/cli-clean": "VERSION",
    "@react-native-community/cli-config": "VERSION",
    "@react-native-community/cli-debugger-ui": "VERSION",
    "@react-native-community/cli-doctor": "VERSION",
    "@react-native-community/cli-link-assets": "VERSION",
    "@react-native-community/cli-platform-android": "VERSION",
    "@react-native-community/cli-platform-ios": "VERSION",
    "@react-native-community/cli-server-api": "VERSION",
    "@react-native-community/cli-tools": "VERSION",
    "@react-native-community/cli-types": "VERSION"
  }
}

Maintainers

Previously:

License

Everything inside this repository is MIT licensed.