mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
038409e649
Summary: `react-native/community-cli-plugin` depends on `createDevServerMiddleware` from `react-native-community/cli-server-api`. `react-native/community-cli-plugin` currently [declares an optional peer dependency](https://github.com/facebook/react-native/blob/bae895500052bda2f55e1832b0c8a63a1b449de3/packages/community-cli-plugin/package.json#L39-L45) on `react-native-community/cli-server-api`, however because the latter isn't a dependency of `react-native` or the community template, the peer dependency is not available to package managers that enforce isolated node_modules - see https://github.com/facebook/react-native/issues/47309. Rather than add an unnecessary dependency to the template (like [this](https://github.com/react-native-community/template/pull/105)), my proposal is to switch to a peer dependency on only `react-native-community/cli`, because that *is* a dependency of the community template and therefore will be resolvable. Because `react-native-community/cli` doesn't re-export `createDevServerMiddleware` from its dependency on `cli-server-api`, we need to resolve the latter through the former. This can be cleaned up once a re-export lands - https://github.com/react-native-community/cli/pull/2605. Changelog: [GENERAL][FIXED] Fix registering of `start` and `bundle` commands with community CLI and isolated node_modules. Differential Revision: D69848688
@react-native/community-cli-plugin
This is an internal dependency of React Native. Please don't depend on it directly.
CLI entry points supporting core React Native development features.
Formerly @react-native-community/cli-plugin-metro.
Commands
start
Start the React Native development server.
Usage
npx @react-native-community/cli start [options]
Options
| Option | Description |
|---|---|
--port <number> |
Set the server port. |
--host <string> |
Set the server host. |
--projectRoot <path> |
Set the path to the project root. |
--watchFolders <list> |
Specify additional folders to be added to the watch list. |
--assetPlugins <list> |
Specify additional asset plugins. |
--sourceExts <list> |
Specify additional source extensions to bundle. |
--max-workers <number> |
Set the maximum number of workers the worker-pool will spawn for transforming files. Defaults to the number of the cores available on your machine. |
--transformer <string> |
Specify a custom transformer. |
--reset-cache |
Remove cached files. |
--custom-log-reporter-path <string> |
Specify a module path exporting a replacement for TerminalReporter. |
--https |
Enable HTTPS connections. |
--key <path> |
Specify path to a custom SSL key. |
--cert <path> |
Specify path to a custom SSL cert. |
--config <string> |
Path to the CLI configuration file. |
--no-interactive |
Disable interactive mode. |
--client-logs |
[Deprecated] Enable plain text JavaScript log streaming for all connected apps. |
bundle
Build the bundle for the provided JavaScript entry file.
Usage
npx @react-native-community/cli bundle --entry-file <path> [options]
Options
| Option | Description |
|---|---|
--entry-file <path> |
Set the path to the root JavaScript entry file. |
--platform <string> |
Set the target platform (either "android" or "ios"). Defaults to "ios". |
--transformer <string> |
Specify a custom transformer. |
--dev [boolean] |
If false, warnings are disabled and the bundle is minified. Defaults to true. |
--minify [boolean] |
Allows overriding whether bundle is minified. Defaults to false if --dev is set. Disabling minification can be useful for speeding up production builds for testing purposes. |
--bundle-output <string> |
Specify the path to store the resulting bundle. |
--bundle-encoding <string> |
Specify the encoding for writing the bundle (https://nodejs.org/api/buffer.html#buffer_buffer). |
--resolver-option <string...> |
Custom resolver options of the form key=value. URL-encoded. May be specified multiple times. |
--sourcemap-output <string> |
Specify the path to store the source map file for the resulting bundle. |
--sourcemap-sources-root <string> |
Set the root path for source map entries. |
--sourcemap-use-absolute-path |
Report SourceMapURL using its full path. |
--max-workers <number> |
Set the maximum number of workers the worker-pool will spawn for transforming files. Defaults to the number of the cores available on your machine. |
--assets-dest <string> |
Specify the directory path for storing assets referenced in the bundle. |
--reset-cache |
Remove cached files. |
--read-global-cache |
Attempt to fetch transformed JS code from the global cache, if configured. Defaults to false. |
--config <string> |
Path to the CLI configuration file. |
Contributing
Changes to this package can be made locally and tested against the rn-tester app, per the Contributing guide. During development, this package is automatically run from source with no build step.