mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Use semver to compare version in cli instead of custom function (#43744)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/43744 ## Changelog: [General] [Changed] - Use semver to do version comparison in cli instead of custom fn `parseVersion` ~~adding test for PR change in https://github.com/facebook/react-native/pull/43712~~ Reviewed By: NickGerleman Differential Revision: D55600458 fbshipit-source-id: eaffa3e89696b90fd354aefaba79e035d180a0b5
This commit is contained in:
committed by
Facebook GitHub Bot
parent
1e6f5a48a6
commit
c3d45740cd
Vendored
+3
-6
@@ -13,6 +13,7 @@
|
||||
const {name, version: currentVersion} = require('./package.json');
|
||||
const chalk = require('chalk');
|
||||
const {get} = require('https');
|
||||
const semver = require('semver');
|
||||
const {URL} = require('url');
|
||||
|
||||
const deprecated = () => {
|
||||
@@ -56,11 +57,6 @@ async function getLatestVersion(registryHost = DEFAULT_REGISTRY_HOST) {
|
||||
});
|
||||
}
|
||||
|
||||
function parseVersion(version) {
|
||||
const [major, minor = 0, patch = 0] = version.split('-')[0].split('.');
|
||||
return major * 1000000 + minor * 1000 + patch;
|
||||
}
|
||||
|
||||
/**
|
||||
* Warn when users are using `npx react-native init`, to raise awareness of the changes from RFC 0759.
|
||||
*
|
||||
@@ -134,7 +130,8 @@ async function main() {
|
||||
if (isNpxRuntime && !process.env.SKIP && currentVersion !== HEAD) {
|
||||
try {
|
||||
const latest = await getLatestVersion();
|
||||
if (parseVersion(latest) > parseVersion(currentVersion)) {
|
||||
// TODO: T184416093 When cli is deprecated, remove semver from package.json
|
||||
if (semver.lt(currentVersion, latest)) {
|
||||
const msg = `
|
||||
${chalk.bold.yellow('WARNING:')} You should run ${chalk.white.bold(
|
||||
'npx react-native@latest',
|
||||
|
||||
@@ -140,6 +140,7 @@
|
||||
"react-shallow-renderer": "^16.15.0",
|
||||
"regenerator-runtime": "^0.13.2",
|
||||
"scheduler": "0.24.0-canary-efb381bbf-20230505",
|
||||
"semver": "^7.1.3",
|
||||
"stacktrace-parser": "^0.1.10",
|
||||
"whatwg-fetch": "^3.0.0",
|
||||
"ws": "^6.2.2",
|
||||
|
||||
@@ -8511,6 +8511,13 @@ semver@^6.3.1:
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
||||
|
||||
semver@^7.1.3:
|
||||
version "7.6.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
|
||||
integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
semver@^7.5.2, semver@^7.5.3, semver@^7.5.4:
|
||||
version "7.5.4"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
|
||||
|
||||
Reference in New Issue
Block a user