Summary: Thanks for submitting a pull request! Please provide enough information so that others can review your pull request: > **Unless you are a React Native release maintainer and cherry-picking an *existing* commit into a current release, ensure your pull request is targeting the `master` React Native branch.** Explain the **motivation** for making this change. What existing problem does the pull request solve? There was a small error in the documentation that referenced the unlink command as an example, when the code in the example was actually from the link command. Prefer **small pull requests**. These are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it. **Test plan (required)** Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI. Make sure tests pass on both Travis and Circle CI. **Code formatting** Look around. Match the style of t Closes https://github.com/facebook/react-native/pull/11746 Differential Revision: D4387025 fbshipit-source-id: 152adc4b5cc4b467d3cf2399d2273c31b10c4b64
1.7 KiB
id | title | layout | category | permalink | next | previous |
---|---|---|---|---|---|---|
understanding-cli | Understanding the CLI | docs | Guides | docs/understanding-cli.html | upgrading | performance |
Though you may have installed the react-native-cli
via npm as a separate module, it is a shell for accessing the CLI embedded
in the React Native of each project. Your commands and their effects are dependent on the version of the module of react-native
in context of the project. This guide will give a brief overview of the CLI in the module.
The local CLI
React Native has a local-cli
folder with a file named
cliEntry.js
. Here, the commands are read
from commands.js
and added as possible CLI commands. E.G. the react-native link
command, exists in the
react-native/local-cli/link
folder, and is
required in commands.js
, which will register it as a documented command to be exposed to the CLI.
Command definitions
At the end of each command entry is an export. The export is an object with a function to perform, description of the command, and the command name. The object structure for the link
command looks like so:
module.exports = {
func: link,
description: 'links all native dependencies',
name: 'link [packageName]',
};
Parameters
The command name identifies the parameters that a command would expect. When the command parameter is surrounded by greater-than, less-than symbols < >
, this indicates that the parameter is expected. When a parameter is surrounded by brackets [ ]
, this indicates that the parameter is optional.