Skip to content

Commit

Permalink
breaking: Delete source for cli-plugin-metro, remove from builtin com…
Browse files Browse the repository at this point in the history
…mands
  • Loading branch information
huntie committed Aug 11, 2023
1 parent f621ae4 commit e07465a
Show file tree
Hide file tree
Showing 34 changed files with 10 additions and 1,758 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ And then:

```sh
cd /my/new/react-native/project/
yarn link "@react-native-community/cli-platform-ios" "@react-native-community/cli-platform-android" "@react-native-community/cli" "@react-native-community/cli-server-api" "@react-native-community/cli-types" "@react-native-community/cli-tools" "@react-native-community/cli-debugger-ui" "@react-native-community/cli-hermes" "@react-native-community/cli-plugin-metro" "@react-native-community/cli-clean" "@react-native-community/cli-doctor" "@react-native-community/cli-config"
yarn link "@react-native-community/cli-platform-ios" "@react-native-community/cli-platform-android" "@react-native-community/cli" "@react-native-community/cli-server-api" "@react-native-community/cli-types" "@react-native-community/cli-tools" "@react-native-community/cli-debugger-ui" "@react-native-community/cli-hermes" "@react-native-community/cli-clean" "@react-native-community/cli-doctor" "@react-native-community/cli-config"
```

Once you're done with testing and you'd like to get back to regular setup, run `yarn unlink` instead of `yarn link` from above command. Then `yarn install --force`.
Expand Down
6 changes: 3 additions & 3 deletions docs/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

React Native CLI comes with following commands:

- [`bundle`](/packages/cli-plugin-metro/README.md#bundle)
- [`bundle`](https://github.com/facebook/react-native/tree/main/packages/community-cli-plugin#bundle)
- [`clean`](/packages/cli-clean/README.md#clean)
- [`config`](/packages/cli-config/README.md#config)
- [`doctor`](/packages/cli-doctor/README.md#doctor)
- [`init`](#init)
- [`info`](/packages/cli-doctor/README.md#info)
- [`log-android`](/packages/cli-platform-android/README.md#log-android)
- [`log-ios`](/packages/cli-platform-ios/README.md#log-ios)
- [`ram-bundle`](/packages/cli-plugin-metro/README.md#ram-bundle)
- [`ram-bundle`](https://github.com/facebook/react-native/tree/main/packages/community-cli-plugin#ram-bundle)
- [`run-android`](/packages/cli-platform-android/README.md#run-android)
- [`build-android`](/packages/cli-platform-android/README.md#build-android)
- [`run-ios`](/packages/cli-platform-ios/README.md#run-ios)
- [`build-ios`](/packages/cli-platform-ios/README.md#build-ios)
- [`start`](/packages/cli-plugin-metro/README.md#start)
- [`start`](https://github.com/facebook/react-native/tree/main/packages/community-cli-plugin#start)
- [`upgrade`](#upgrade)
- [`profile-hermes`](/packages/cli-hermes/README.md#profile-hermes)

Expand Down
1 change: 0 additions & 1 deletion packages/cli-doctor/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,5 @@
{"path": "../cli-config"},
{"path": "../cli-platform-android"},
{"path": "../cli-platform-ios"},
{"path": "../cli-plugin-metro"},
]
}
1 change: 0 additions & 1 deletion packages/cli-platform-android/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,5 @@
"references": [
{"path": "../cli-tools"},
{"path": "../cli-types"},
{"path": "../cli-plugin-metro"}
]
}
24 changes: 0 additions & 24 deletions packages/cli-plugin-metro/CHANGELOG.md

This file was deleted.

207 changes: 3 additions & 204 deletions packages/cli-plugin-metro/README.md
Original file line number Diff line number Diff line change
@@ -1,206 +1,5 @@
# @react-native-community/cli-plugin-metro

This package is part of the [React Native CLI](../../README.md).
It contains commands for managing the Metro bundler.

## Installation

```sh
yarn add @react-native-community/cli-plugin-metro
```

## Commands

### `start`

Usage:

```sh
react-native start [option]
```

Starts the server that communicates with connected devices

#### Options

#### `--port <number>`

Specify port to listen on

#### `--projectRoot <path>`

Path to a custom project root

#### `--watchFolders <list>`

Specify any additional folders to be added to the watch list

#### `--assetPlugins <list>`

Specify any additional asset plugins to be used by the packager by full filepath

#### `--sourceExts <list>`

Specify any additional source extensions to be used by the packager

#### `--max-workers <number>`

Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine

#### `--transformer <string>`

Specify a custom transformer to be used

#### `--reset-cache, --resetCache`

Removes cached files

#### `--custom-log-reporter-path, --customLogReporterPath <string>`

Path to a JavaScript file that exports a log reporter as a replacement for TerminalReporter

#### `--https`

Enables https connections to the server

#### `--key <path>`

Path to custom SSL key

#### `--cert <path>`

Path to custom SSL cert

#### `--config <string>`

Path to the CLI configuration file

#### `--no-interactive`

Disables interactive mode

### `bundle`

Usage:

```sh
react-native bundle <flag>
```

Builds the JavaScript bundle for offline use.

#### `--entry-file <path>`

Path to the root JS file, either absolute or relative to JS root.

#### `--platform <string>`

> default: ios
Either "ios" or "android".

#### `--transformer <string>`

Specify a custom transformer to be used.

#### `--dev [boolean]`

> default: true
If false, warnings are disabled and the bundle is minified.

#### `--minify [boolean]`

Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.

#### `--bundle-output <string>`

File name where to store the resulting bundle, ex. `/tmp/groups.bundle`.

If you are planning on building a debug APK, that will run without the packager, by invoking `./gradlew assembleDebug` you can simply set `bundleInDebug: true` in your app/build.gradle file, inside the `project.ext.react` map.

<details>
Alternatively if you want to run <code>react-native bundle</code> manually and then create the APK with <code>./gradlew assembleDebug</code> you have to make sure to put the bundle into the right directory and give it the right name, so that gradle can find it.

For react-native versions 0.57 and above the bundle output path should be:
<code>android/app/build/generated/assets/react/debug/index.android.js</code>

To find out the correct path for previous react-native versions, take a look at the <code>react.gradle</code> file here: <https://github.com/facebook/react-native/blob/0.57-stable/react.gradle> or inside your <code>node_modules/react-native</code> directory.

The expected path for the js bundle can be found on the line that starts with <code>jsBundleDir = </code>.

</details>

#### `--bundle-encoding <string>`

> default: utf8
Encoding the bundle should be written in (<https://nodejs.org/api/buffer.html#buffer_buffer>).

#### `--max-workers <number>`

Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.

#### `--sourcemap-output <string>`

File name where to store the sourcemap file for resulting bundle, ex. `/tmp/groups.map`.

#### `--sourcemap-sources-root <string>`

Path to make sourcemap sources entries relative to, ex. `/root/dir`.

#### `--sourcemap-use-absolute-path`

> default: false
Report SourceMapURL using its full path.

#### `--assets-dest <string>`

Directory name where to store assets referenced in the bundle.

If you are planning on building a debug APK that will run without the packager, see ([--bundle-output](https://github.com/react-native-community/cli/blob/main/packages/cli-plugin-metro/README.md#--bundle-output-string))

<details>
Alternatively if you want to run <code>react-native bundle</code> manually and then create the APK with <code>./gradlew assembleDebug</code> you have to make sure to put the assets into the right directory, so that gradle can find them.

For react-native versions 0.57 and above the <code>--assets-dest</code> path should be:
<code>android/app/build/generated/res/react/debug</code>

The expected path for the assets can be found in the react.gradle file on the line that starts with <code>resourcesDir =</code>

</details>

#### `--reset-cache`

> default: false
Removes cached files.

#### `--read-global-cache`

> default: false
Try to fetch transformed JS code from the global cache, if configured.

#### `--config <string>`

Path to the CLI configuration file.

### `ram-bundle`

Usage:

```sh
react-native ram-bundle [options]
```

Builds JavaScript as a "Random Access Module" bundle for offline use.

#### Options

Accepts all of [bundle commands](#bundle) and following:

#### `--indexed-ram-bundle`

Force the "Indexed RAM" bundle file format, even when building for Android.
> **[Removed]**
>
> This package is now relocated as [`@react-native/community-cli-plugin`](https://github.com/facebook/react-native/tree/main/packages/community-cli-plugin).
21 changes: 2 additions & 19 deletions packages/cli-plugin-metro/package.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,12 @@
{
"name": "@react-native-community/cli-plugin-metro",
"description": "[Removed since 12.0.0-alpha.10]",
"version": "12.0.0-alpha.9",
"license": "MIT",
"main": "build/index.js",
"publishConfig": {
"access": "public"
},
"dependencies": {
"@react-native-community/cli-server-api": "12.0.0-alpha.9",
"@react-native-community/cli-tools": "12.0.0-alpha.9",
"chalk": "^4.1.2",
"execa": "^5.0.0",
"metro": "0.78.0",
"metro-config": "0.78.0",
"metro-core": "0.78.0",
"readline": "^1.3.0"
},
"devDependencies": {
"@react-native-community/cli-types": "12.0.0-alpha.9",
"metro-resolver": "0.78.0"
},
"files": [
"build",
"!*.map"
],
"dependencies": {},
"homepage": "https://github.com/react-native-community/cli/tree/main/packages/cli-plugin-metro",
"repository": {
"type": "git",
Expand Down
14 changes: 0 additions & 14 deletions packages/cli-plugin-metro/src/commands/bundle/__mocks__/sign.js

This file was deleted.

This file was deleted.

Loading

0 comments on commit e07465a

Please sign in to comment.