@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, ctx, args) {
52
- const metroConfig = await (0, _loadMetroConfig.default)(ctx, {
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(`\nWelcome to React Native v${ctx.reactNativeVersion}`)
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(ctx.root, terminalReporter);
161
+ await version.logIfUpdateAvailable(cliConfig, terminalReporter);
160
162
  }
161
163
  function getReporterImpl(customLogReporterPath) {
162
164
  if (customLogReporterPath == null) {
@@ -31,7 +31,7 @@ export type StartCommandArgs = {
31
31
 
32
32
  declare function runServer(
33
33
  _argv: Array<string>,
34
- ctx: Config,
34
+ cliConfig: Config,
35
35
  args: StartCommandArgs
36
36
  ): void;
37
37
 
@@ -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 getReactNativeVersion(projectRoot) {
14
+ async function logIfUpdateAvailable(cliConfig, reporter) {
15
+ const { reactNativeVersion: currentVersion } = cliConfig;
16
+ let newVersion = null;
17
17
  try {
18
- const resolvedPath = require.resolve("react-native/package.json", {
19
- paths: [projectRoot],
20
- });
21
- debug(`Found 'react-native' from '${projectRoot}' -> '${resolvedPath}'`);
22
- return JSON.parse((0, _fs.readFileSync)(resolvedPath, "utf8")).version;
23
- } catch {
24
- debug("Couldn't read the version of 'react-native'");
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(versions.upgrade.stable, versions.current)) {
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
- versions.upgrade.stable
38
- } is now available (your project is running on v${versions.name}).
39
- Changelog: ${_chalk.default.dim.underline(
40
- versions.upgrade?.changelogUrl ?? "none"
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(name, currentVersion) {
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(name);
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(name) {
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
- projectRoot: string,
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-20241007-d0912ed06",
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-20241007-d0912ed06",
26
- "@react-native/metro-babel-transformer": "0.77.0-nightly-20241007-d0912ed06",
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",