mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
b054540092
Summary: The `react-native/metro-config` peer was added in https://github.com/facebook/react-native/commit/fe2bcbf4ba7ce983fac0cd09727c165517b6337f / https://github.com/facebook/react-native/issues/51836 by robhogan Side-note: It's pulled in via `react-native/community-cli-plugin` which is a direct dependency of `react-native` for the `scripts/bundle.js` script. While, for expo, we'd love to find a way to make this an optional dependency (to avoid excessive deps that `expo` replaces otherwise), for now, it's a direct dependency. The problem here is that this isn't optional, which means: - with auto-installing peer dependencies it is directly fulfilled (while `react-native-community/cli` is already marked as optional and skipped) - with legacy/non-auto peer-dependencies it is flagged as missing, but in an Expo project it wouldn't make sense to install directly This causes a **package manager regression in the form of either a peer dependency warning**, that shouldn't be fulfilled in an Expo project, or (in the best case scenario) pulls in dependencies [that a user does not need](https://npmgraph.js.org/?q=%40react-native%2Fmetro-config#zoom=w&select=exact%3A%40react-native%2Fmetro-config%400.81.0). An error message is already in place to inform the user of this being missing when it's not installed, so marking it as optional seems appropriate. ## Changelog: [INTERNAL] [FIXED] Mark added `react-native/metro-config` peer dependency as optional <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests Pull Request resolved: https://github.com/facebook/react-native/pull/53314 Test Plan: Warnings like the following won't occur in fresh Expo (54/preview/`next`) projects ``` warning "workspace-aggregator-484d9ec3-587b-43cb-97de-4dcce3876578 > microfoam-mobile > react-native > react-native/community-cli-plugin@0.81.0" has unmet peer dependency "react-native/metro-config@*". ``` Reviewed By: cortinico Differential Revision: D80450287 Pulled By: robhogan fbshipit-source-id: c622fd4c24025676c0ec74de826f863f1e291669
52 lines
1.2 KiB
JSON
52 lines
1.2 KiB
JSON
{
|
|
"name": "@react-native/community-cli-plugin",
|
|
"version": "0.82.0-main",
|
|
"description": "Core CLI commands for React Native",
|
|
"keywords": [
|
|
"react-native",
|
|
"tools"
|
|
],
|
|
"homepage": "https://github.com/facebook/react-native/tree/HEAD/packages/community-cli-plugin#readme",
|
|
"bugs": "https://github.com/facebook/react-native/issues",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/facebook/react-native.git",
|
|
"directory": "packages/community-cli-plugin"
|
|
},
|
|
"license": "MIT",
|
|
"exports": {
|
|
".": "./src/index.js",
|
|
"./package.json": "./package.json"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"dependencies": {
|
|
"@react-native/dev-middleware": "0.82.0-main",
|
|
"debug": "^4.4.0",
|
|
"invariant": "^2.2.4",
|
|
"metro": "^0.83.1",
|
|
"metro-config": "^0.83.1",
|
|
"metro-core": "^0.83.1",
|
|
"semver": "^7.1.3"
|
|
},
|
|
"devDependencies": {
|
|
"metro-resolver": "^0.83.1"
|
|
},
|
|
"peerDependencies": {
|
|
"@react-native-community/cli": "*",
|
|
"@react-native/metro-config": "*"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"@react-native-community/cli": {
|
|
"optional": true
|
|
},
|
|
"@react-native/metro-config": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"engines": {
|
|
"node": ">= 20.19.4"
|
|
}
|
|
}
|