@react-native/community-cli-plugin 0.77.0-nightly-20241007-d0912ed06 → 0.77.0-nightly-20241009-e4814b0d6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -48,8 +48,8 @@ function _interopRequireWildcard(e, r) {
|
|
|
48
48
|
function _interopRequireDefault(e) {
|
|
49
49
|
return e && e.__esModule ? e : { default: e };
|
|
50
50
|
}
|
|
51
|
-
async function runServer(_argv,
|
|
52
|
-
const metroConfig = await (0, _loadMetroConfig.default)(
|
|
51
|
+
async function runServer(_argv, cliConfig, args) {
|
|
52
|
+
const metroConfig = await (0, _loadMetroConfig.default)(cliConfig, {
|
|
53
53
|
config: args.config,
|
|
54
54
|
maxWorkers: args.maxWorkers,
|
|
55
55
|
port: args.port,
|
|
@@ -71,7 +71,9 @@ async function runServer(_argv, ctx, args) {
|
|
|
71
71
|
port,
|
|
72
72
|
});
|
|
73
73
|
console.info(
|
|
74
|
-
_chalk.default.blue(
|
|
74
|
+
_chalk.default.blue(
|
|
75
|
+
`\nWelcome to React Native v${cliConfig.reactNativeVersion}`
|
|
76
|
+
)
|
|
75
77
|
);
|
|
76
78
|
const serverStatus = await (0, _isDevServerRunning.default)(
|
|
77
79
|
devServerUrl,
|
|
@@ -156,7 +158,7 @@ async function runServer(_argv, ctx, args) {
|
|
|
156
158
|
});
|
|
157
159
|
reportEvent = eventsSocketEndpoint.reportEvent;
|
|
158
160
|
serverInstance.keepAliveTimeout = 30000;
|
|
159
|
-
await version.logIfUpdateAvailable(
|
|
161
|
+
await version.logIfUpdateAvailable(cliConfig, terminalReporter);
|
|
160
162
|
}
|
|
161
163
|
function getReporterImpl(customLogReporterPath) {
|
|
162
164
|
if (customLogReporterPath == null) {
|
package/dist/utils/version.js
CHANGED
|
@@ -6,72 +6,42 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = getLatestRelease;
|
|
7
7
|
exports.logIfUpdateAvailable = logIfUpdateAvailable;
|
|
8
8
|
var _chalk = _interopRequireDefault(require("chalk"));
|
|
9
|
-
var _fs = require("fs");
|
|
10
|
-
var _path = _interopRequireDefault(require("path"));
|
|
11
9
|
var _semver = _interopRequireDefault(require("semver"));
|
|
12
10
|
function _interopRequireDefault(e) {
|
|
13
11
|
return e && e.__esModule ? e : { default: e };
|
|
14
12
|
}
|
|
15
13
|
const debug = require("debug")("ReactNative:CommunityCliPlugin");
|
|
16
|
-
function
|
|
14
|
+
async function logIfUpdateAvailable(cliConfig, reporter) {
|
|
15
|
+
const { reactNativeVersion: currentVersion } = cliConfig;
|
|
16
|
+
let newVersion = null;
|
|
17
17
|
try {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
const upgrade = await getLatestRelease(currentVersion);
|
|
19
|
+
if (upgrade) {
|
|
20
|
+
newVersion = upgrade;
|
|
21
|
+
}
|
|
22
|
+
} catch (e) {
|
|
23
|
+
debug(
|
|
24
|
+
"Cannot detect current version of React Native, " +
|
|
25
|
+
"skipping check for a newer release"
|
|
26
|
+
);
|
|
27
|
+
debug(e);
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
async function logIfUpdateAvailable(projectRoot, reporter) {
|
|
28
|
-
const versions = await latest(projectRoot);
|
|
29
|
-
if (!versions?.upgrade) {
|
|
29
|
+
if (newVersion == null) {
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
-
if (_semver.default.gt(
|
|
32
|
+
if (_semver.default.gt(newVersion.stable, currentVersion)) {
|
|
33
33
|
reporter.update({
|
|
34
34
|
type: "unstable_server_log",
|
|
35
35
|
level: "info",
|
|
36
36
|
data: `React Native v${
|
|
37
|
-
|
|
38
|
-
} is now available (your project is running on v${
|
|
39
|
-
Changelog: ${_chalk.default.dim.underline(
|
|
40
|
-
|
|
41
|
-
)}
|
|
42
|
-
Diff: ${_chalk.default.dim.underline(versions.upgrade?.diffUrl ?? "none")}
|
|
37
|
+
newVersion.stable
|
|
38
|
+
} is now available (your project is running on v${currentVersion}).
|
|
39
|
+
Changelog: ${_chalk.default.dim.underline(newVersion?.changelogUrl ?? "none")}
|
|
40
|
+
Diff: ${_chalk.default.dim.underline(newVersion?.diffUrl ?? "none")}
|
|
43
41
|
`,
|
|
44
42
|
});
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
|
-
async function latest(projectRoot) {
|
|
48
|
-
try {
|
|
49
|
-
const currentVersion = getReactNativeVersion(projectRoot);
|
|
50
|
-
if (currentVersion == null) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const { name } = JSON.parse(
|
|
54
|
-
(0, _fs.readFileSync)(
|
|
55
|
-
_path.default.join(projectRoot, "package.json"),
|
|
56
|
-
"utf8"
|
|
57
|
-
)
|
|
58
|
-
);
|
|
59
|
-
const upgrade = await getLatestRelease(name, currentVersion);
|
|
60
|
-
if (upgrade) {
|
|
61
|
-
return {
|
|
62
|
-
name,
|
|
63
|
-
current: currentVersion,
|
|
64
|
-
upgrade,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
} catch (e) {
|
|
68
|
-
debug(
|
|
69
|
-
"Cannot detect current version of React Native, " +
|
|
70
|
-
"skipping check for a newer release"
|
|
71
|
-
);
|
|
72
|
-
debug(e);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
45
|
function isDiffPurgeEntry(data) {
|
|
76
46
|
return (
|
|
77
47
|
[data.name, data.zipball_url, data.tarball_url, data.node_id].filter(
|
|
@@ -79,7 +49,7 @@ function isDiffPurgeEntry(data) {
|
|
|
79
49
|
).length === 0
|
|
80
50
|
);
|
|
81
51
|
}
|
|
82
|
-
async function getLatestRelease(
|
|
52
|
+
async function getLatestRelease(currentVersion) {
|
|
83
53
|
debug("Checking for a newer version of React Native");
|
|
84
54
|
try {
|
|
85
55
|
debug(`Current version: ${currentVersion}`);
|
|
@@ -87,7 +57,7 @@ async function getLatestRelease(name, currentVersion) {
|
|
|
87
57
|
return;
|
|
88
58
|
}
|
|
89
59
|
debug("Checking for newer releases on GitHub");
|
|
90
|
-
const latestVersion = await getLatestRnDiffPurgeVersion(
|
|
60
|
+
const latestVersion = await getLatestRnDiffPurgeVersion();
|
|
91
61
|
if (latestVersion == null) {
|
|
92
62
|
debug("Failed to get latest release");
|
|
93
63
|
return;
|
|
@@ -113,7 +83,7 @@ function buildChangelogUrl(version) {
|
|
|
113
83
|
function buildDiffUrl(oldVersion, newVersion) {
|
|
114
84
|
return `https://react-native-community.github.io/upgrade-helper/?from=${oldVersion}&to=${newVersion}`;
|
|
115
85
|
}
|
|
116
|
-
async function getLatestRnDiffPurgeVersion(
|
|
86
|
+
async function getLatestRnDiffPurgeVersion() {
|
|
117
87
|
const resp = await fetch(
|
|
118
88
|
"https://api.github.com/repos/react-native-community/rn-diff-purge/tags",
|
|
119
89
|
{
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* @oncall react_native
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type { Config } from "@react-native-community/cli-types";
|
|
12
13
|
import type TerminalReporter from "metro/src/lib/TerminalReporter";
|
|
13
14
|
|
|
14
15
|
type Release = {
|
|
@@ -24,7 +25,7 @@ type Release = {
|
|
|
24
25
|
* Logs out a message if the user's version is behind a stable version of React Native
|
|
25
26
|
*/
|
|
26
27
|
declare export function logIfUpdateAvailable(
|
|
27
|
-
|
|
28
|
+
cliConfig: Config,
|
|
28
29
|
reporter: TerminalReporter
|
|
29
30
|
): Promise<void>;
|
|
30
31
|
|
|
@@ -36,6 +37,5 @@ declare export function logIfUpdateAvailable(
|
|
|
36
37
|
* will return undefined.
|
|
37
38
|
*/
|
|
38
39
|
declare export default function getLatestRelease(
|
|
39
|
-
name: string,
|
|
40
40
|
currentVersion: string
|
|
41
41
|
): Promise<Release | void>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native/community-cli-plugin",
|
|
3
|
-
"version": "0.77.0-nightly-
|
|
3
|
+
"version": "0.77.0-nightly-20241009-e4814b0d6",
|
|
4
4
|
"description": "Core CLI commands for React Native",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"dist"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@react-native/dev-middleware": "0.77.0-nightly-
|
|
26
|
-
"@react-native/metro-babel-transformer": "0.77.0-nightly-
|
|
25
|
+
"@react-native/dev-middleware": "0.77.0-nightly-20241009-e4814b0d6",
|
|
26
|
+
"@react-native/metro-babel-transformer": "0.77.0-nightly-20241009-e4814b0d6",
|
|
27
27
|
"chalk": "^4.0.0",
|
|
28
28
|
"debug": "^2.2.0",
|
|
29
29
|
"invariant": "^2.2.4",
|