react-native/docs/UnderstandingCLI.md
Matt Johnston 593c4909c6 Update UnderstandingCLI.md
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
2017-01-06 08:28:25 -08:00

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.