@react-native/community-cli-plugin 0.74.0 → 0.75.0-nightly-20240221-a1171f79f

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.
package/README.md CHANGED
@@ -59,6 +59,7 @@ npx react-native bundle --entry-file <path> [options]
59
59
  | `--minify [boolean]` | Allows overriding whether bundle is minified. Defaults to `false` if `--dev` is set. Disabling minification can be useful for speeding up production builds for testing purposes. |
60
60
  | `--bundle-output <string>` | Specify the path to store the resulting bundle. |
61
61
  | `--bundle-encoding <string>` | Specify the encoding for writing the bundle (<https://nodejs.org/api/buffer.html#buffer_buffer>). |
62
+ | `--resolver-option <string...>` | Custom resolver options of the form key=value. URL-encoded. May be specified multiple times. |
62
63
  | `--sourcemap-output <string>` | Specify the path to store the source map file for the resulting bundle. |
63
64
  | `--sourcemap-sources-root <string>` | Set the root path for source map entries. |
64
65
  | `--sourcemap-use-absolute-path` | Report `SourceMapURL` using its full path. |
@@ -7,9 +7,9 @@ exports.cleanAssetCatalog = cleanAssetCatalog;
7
7
  exports.getImageSet = getImageSet;
8
8
  exports.isCatalogAsset = isCatalogAsset;
9
9
  exports.writeImageSet = writeImageSet;
10
- var _path = _interopRequireDefault(require("path"));
11
- var _fs = _interopRequireDefault(require("fs"));
12
10
  var _assetPathUtils = _interopRequireDefault(require("./assetPathUtils"));
11
+ var _fs = _interopRequireDefault(require("fs"));
12
+ var _path = _interopRequireDefault(require("path"));
13
13
  function _interopRequireDefault(obj) {
14
14
  return obj && obj.__esModule ? obj : { default: obj };
15
15
  }
@@ -29,7 +29,10 @@ function cleanAssetCatalog(catalogDir) {
29
29
  .readdirSync(catalogDir)
30
30
  .filter((file) => file.endsWith(".imageset"));
31
31
  for (const file of files) {
32
- _fs.default.rmSync(_path.default.join(catalogDir, file));
32
+ _fs.default.rmSync(_path.default.join(catalogDir, file), {
33
+ recursive: true,
34
+ force: true,
35
+ });
33
36
  }
34
37
  }
35
38
  function getImageSet(catalogDir, asset, scales) {
@@ -4,18 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.unstable_buildBundleWithConfig = exports.default = void 0;
7
+ var _loadMetroConfig = _interopRequireDefault(
8
+ require("../../utils/loadMetroConfig")
9
+ );
10
+ var _parseKeyValueParamArray = _interopRequireDefault(
11
+ require("../../utils/parseKeyValueParamArray")
12
+ );
13
+ var _saveAssets = _interopRequireDefault(require("./saveAssets"));
14
+ var _cliTools = require("@react-native-community/cli-tools");
15
+ var _chalk = _interopRequireDefault(require("chalk"));
7
16
  var _Server = _interopRequireDefault(require("metro/src/Server"));
8
17
  var _bundle = _interopRequireDefault(require("metro/src/shared/output/bundle"));
9
18
  var _RamBundle = _interopRequireDefault(
10
19
  require("metro/src/shared/output/RamBundle")
11
20
  );
12
21
  var _path = _interopRequireDefault(require("path"));
13
- var _chalk = _interopRequireDefault(require("chalk"));
14
- var _saveAssets = _interopRequireDefault(require("./saveAssets"));
15
- var _loadMetroConfig = _interopRequireDefault(
16
- require("../../utils/loadMetroConfig")
17
- );
18
- var _cliTools = require("@react-native-community/cli-tools");
19
22
  function _interopRequireDefault(obj) {
20
23
  return obj && obj.__esModule ? obj : { default: obj };
21
24
  }
@@ -43,6 +46,9 @@ async function buildBundleWithConfig(
43
46
  config,
44
47
  bundleImpl = _bundle.default
45
48
  ) {
49
+ const customResolverOptions = (0, _parseKeyValueParamArray.default)(
50
+ args.resolverOption ?? []
51
+ );
46
52
  if (config.resolver.platforms.indexOf(args.platform) === -1) {
47
53
  _cliTools.logger.error(
48
54
  `Invalid platform ${
@@ -75,6 +81,7 @@ async function buildBundleWithConfig(
75
81
  minify: args.minify !== undefined ? args.minify : !args.dev,
76
82
  platform: args.platform,
77
83
  unstable_transformProfile: args.unstableTransformProfile,
84
+ customResolverOptions,
78
85
  };
79
86
  const server = new _Server.default(config);
80
87
  try {
@@ -11,7 +11,6 @@
11
11
 
12
12
  import type { Config } from "@react-native-community/cli-types";
13
13
  import type { ConfigT } from "metro-config";
14
-
15
14
  import metroBundle from "metro/src/shared/output/bundle";
16
15
  import metroRamBundle from "metro/src/shared/output/RamBundle";
17
16
  export type BundleCommandArgs = {
@@ -34,6 +33,7 @@ export type BundleCommandArgs = {
34
33
  verbose: boolean,
35
34
  unstableTransformProfile: string,
36
35
  indexedRamBundle?: boolean,
36
+ resolverOption?: Array<string>,
37
37
  };
38
38
 
39
39
  declare function buildBundle(
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
7
  var _assetPathUtils = _interopRequireDefault(require("./assetPathUtils"));
8
+ var _path = _interopRequireDefault(require("path"));
9
9
  function _interopRequireDefault(obj) {
10
10
  return obj && obj.__esModule ? obj : { default: obj };
11
11
  }
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
7
  var _buildBundle = _interopRequireDefault(require("./buildBundle"));
8
+ var _path = _interopRequireDefault(require("path"));
9
9
  function _interopRequireDefault(obj) {
10
10
  return obj && obj.__esModule ? obj : { default: obj };
11
11
  }
@@ -118,6 +118,12 @@ const bundleCommand = {
118
118
  description: "Path to the CLI configuration file",
119
119
  parse: (val) => _path.default.resolve(val),
120
120
  },
121
+ {
122
+ name: "--resolver-option <string...>",
123
+ description:
124
+ "Custom resolver options of the form key=value. URL-encoded. May be specified multiple times.",
125
+ parse: (val, previous = []) => previous.concat([val]),
126
+ },
121
127
  ],
122
128
  };
123
129
  var _default = bundleCommand;
@@ -4,9 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = void 0;
7
- var _cliTools = require("@react-native-community/cli-tools");
8
- var _fs = _interopRequireDefault(require("fs"));
9
- var _path = _interopRequireDefault(require("path"));
10
7
  var _assetCatalogIOS = require("./assetCatalogIOS");
11
8
  var _filterPlatformAssetScales = _interopRequireDefault(
12
9
  require("./filterPlatformAssetScales")
@@ -17,6 +14,9 @@ var _getAssetDestPathAndroid = _interopRequireDefault(
17
14
  var _getAssetDestPathIOS = _interopRequireDefault(
18
15
  require("./getAssetDestPathIOS")
19
16
  );
17
+ var _cliTools = require("@react-native-community/cli-tools");
18
+ var _fs = _interopRequireDefault(require("fs"));
19
+ var _path = _interopRequireDefault(require("path"));
20
20
  function _interopRequireDefault(obj) {
21
21
  return obj && obj.__esModule ? obj : { default: obj };
22
22
  }
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = void 0;
7
+ var _bundle = _interopRequireDefault(require("../bundle"));
8
+ var _buildBundle = _interopRequireDefault(require("../bundle/buildBundle"));
7
9
  var _RamBundle = _interopRequireDefault(
8
10
  require("metro/src/shared/output/RamBundle")
9
11
  );
10
- var _bundle = _interopRequireDefault(require("../bundle"));
11
- var _buildBundle = _interopRequireDefault(require("../bundle/buildBundle"));
12
12
  function _interopRequireDefault(obj) {
13
13
  return obj && obj.__esModule ? obj : { default: obj };
14
14
  }
@@ -10,6 +10,7 @@
10
10
  */
11
11
 
12
12
  import type { Command } from "@react-native-community/cli-types";
13
+
13
14
  declare const ramBundleCommand: Command;
14
15
 
15
16
  declare export default typeof ramBundleCommand;
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = attachKeyHandlers;
7
+ var _KeyPressHandler = require("../../utils/KeyPressHandler");
7
8
  var _cliTools = require("@react-native-community/cli-tools");
8
9
  var _chalk = _interopRequireDefault(require("chalk"));
9
10
  var _execa = _interopRequireDefault(require("execa"));
10
11
  var _nodeFetch = _interopRequireDefault(require("node-fetch"));
11
- var _KeyPressHandler = require("../../utils/KeyPressHandler");
12
12
  function _interopRequireDefault(obj) {
13
13
  return obj && obj.__esModule ? obj : { default: obj };
14
14
  }
@@ -45,12 +45,12 @@ function attachKeyHandlers({
45
45
  const keyPressHandler = new _KeyPressHandler.KeyPressHandler(async (key) => {
46
46
  switch (key) {
47
47
  case "r":
48
- messageSocket.broadcast("reload", null);
49
48
  _cliTools.logger.info("Reloading connected app(s)...");
49
+ messageSocket.broadcast("reload", null);
50
50
  break;
51
51
  case "d":
52
- messageSocket.broadcast("devMenu", null);
53
52
  _cliTools.logger.info("Opening Dev Menu...");
53
+ messageSocket.broadcast("devMenu", null);
54
54
  break;
55
55
  case "i":
56
56
  _cliTools.logger.info("Opening app on iOS...");
@@ -101,7 +101,11 @@ function attachKeyHandlers({
101
101
  `${_chalk.default.bold("a")} - run on Android`,
102
102
  `${_chalk.default.bold("d")} - open Dev Menu`,
103
103
  ...(experimentalDebuggerFrontend
104
- ? [`${_chalk.default.bold("j")} - open debugger (experimental)`]
104
+ ? [
105
+ `${_chalk.default.bold(
106
+ "j"
107
+ )} - open debugger (experimental, Hermes only)`,
108
+ ]
105
109
  : []),
106
110
  `${_chalk.default.bold("r")} - reload app`,
107
111
  "",
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
7
  var _runServer = _interopRequireDefault(require("./runServer"));
8
+ var _path = _interopRequireDefault(require("path"));
9
9
  function _interopRequireDefault(obj) {
10
10
  return obj && obj.__esModule ? obj : { default: obj };
11
11
  }
@@ -100,13 +100,11 @@ const startCommand = {
100
100
  description: "Disables interactive mode",
101
101
  },
102
102
  {
103
- name: "--experimental-debugger [bool]",
103
+ name: "--experimental-debugger",
104
104
  description:
105
105
  "[Experimental] Enable the new debugger experience and 'j' to " +
106
106
  "debug. This enables the new frontend experience only: connection " +
107
107
  "reliability and some basic features are unstable in this release.",
108
- parse: (val) => val !== undefined && val !== "false" && val !== "0",
109
- default: true,
110
108
  },
111
109
  ],
112
110
  };
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = void 0;
7
- var _chalk = _interopRequireDefault(require("chalk"));
8
- var _metro = _interopRequireDefault(require("metro"));
9
- var _metroCore = require("metro-core");
10
- var _path = _interopRequireDefault(require("path"));
11
- var _devMiddleware = require("@react-native/dev-middleware");
12
- var _cliServerApi = require("@react-native-community/cli-server-api");
13
- var _cliTools = require("@react-native-community/cli-tools");
14
7
  var _isDevServerRunning = _interopRequireDefault(
15
8
  require("../../utils/isDevServerRunning")
16
9
  );
@@ -18,6 +11,14 @@ var _loadMetroConfig = _interopRequireDefault(
18
11
  require("../../utils/loadMetroConfig")
19
12
  );
20
13
  var _attachKeyHandlers = _interopRequireDefault(require("./attachKeyHandlers"));
14
+ var _cliServerApi = require("@react-native-community/cli-server-api");
15
+ var _cliTools = require("@react-native-community/cli-tools");
16
+ var _devMiddleware = require("@react-native/dev-middleware");
17
+ var _chalk = _interopRequireDefault(require("chalk"));
18
+ var _metro = _interopRequireDefault(require("metro"));
19
+ var _metroCore = require("metro-core");
20
+ var _path = _interopRequireDefault(require("path"));
21
+ var _url = _interopRequireDefault(require("url"));
21
22
  function _interopRequireDefault(obj) {
22
23
  return obj && obj.__esModule ? obj : { default: obj };
23
24
  }
@@ -42,19 +43,21 @@ async function runServer(_argv, ctx, args) {
42
43
  projectRoot: args.projectRoot,
43
44
  sourceExts: args.sourceExts,
44
45
  });
45
- const host = args.host?.length ? args.host : "localhost";
46
+ const hostname = args.host?.length ? args.host : "localhost";
46
47
  const {
47
48
  projectRoot,
48
49
  server: { port },
49
50
  watchFolders,
50
51
  } = metroConfig;
51
- const scheme = args.https === true ? "https" : "http";
52
- const devServerUrl = `${scheme}://${host}:${port}`;
52
+ const protocol = args.https === true ? "https" : "http";
53
+ const devServerUrl = _url.default.format({
54
+ protocol,
55
+ hostname,
56
+ port,
57
+ });
53
58
  _cliTools.logger.info(`Welcome to React Native v${ctx.reactNativeVersion}`);
54
59
  const serverStatus = await (0, _isDevServerRunning.default)(
55
- scheme,
56
- host,
57
- port,
60
+ devServerUrl,
58
61
  projectRoot
59
62
  );
60
63
  if (serverStatus === "matched_server_running") {
@@ -84,7 +87,7 @@ async function runServer(_argv, ctx, args) {
84
87
  messageSocketEndpoint,
85
88
  eventsSocketEndpoint,
86
89
  } = (0, _cliServerApi.createDevServerMiddleware)({
87
- host,
90
+ host: hostname,
88
91
  port,
89
92
  watchFolders,
90
93
  });
@@ -30,13 +30,14 @@ function _interopRequireDefault(obj) {
30
30
  * - `port_taken`: The port is occupied by another process.
31
31
  * - `unknown`: An error was encountered; attempt server creation anyway.
32
32
  */
33
- async function isDevServerRunning(scheme, host, port, projectRoot) {
33
+ async function isDevServerRunning(devServerUrl, projectRoot) {
34
+ const { hostname, port } = new URL(devServerUrl);
34
35
  try {
35
- if (!(await isPortOccupied(host, port))) {
36
+ if (!(await isPortOccupied(hostname, port))) {
36
37
  return "not_running";
37
38
  }
38
39
  const statusResponse = await (0, _nodeFetch.default)(
39
- `${scheme}://${host}:${port}/status`
40
+ `${devServerUrl}/status`
40
41
  );
41
42
  const body = await statusResponse.text();
42
43
  return body === "packager-status:running" &&
@@ -47,7 +48,7 @@ async function isDevServerRunning(scheme, host, port, projectRoot) {
47
48
  return "unknown";
48
49
  }
49
50
  }
50
- async function isPortOccupied(host, port) {
51
+ async function isPortOccupied(hostname, port) {
51
52
  let result = false;
52
53
  const server = _net.default.createServer();
53
54
  return new Promise((resolve, reject) => {
@@ -67,7 +68,7 @@ async function isPortOccupied(host, port) {
67
68
  resolve(result);
68
69
  });
69
70
  server.listen({
70
- host,
71
+ host: hostname,
71
72
  port,
72
73
  });
73
74
  });
@@ -20,8 +20,6 @@
20
20
  * - `unknown`: An error was encountered; attempt server creation anyway.
21
21
  */
22
22
  declare export default function isDevServerRunning(
23
- scheme: string,
24
- host: string,
25
- port: number,
23
+ devServerUrl: string,
26
24
  projectRoot: string
27
25
  ): Promise<"not_running" | "matched_server_running" | "port_taken" | "unknown">;
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = loadMetroConfig;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _metroConfig = require("metro-config");
9
- var _cliTools = require("@react-native-community/cli-tools");
10
7
  var _metroPlatformResolver = require("./metroPlatformResolver");
8
+ var _cliTools = require("@react-native-community/cli-tools");
9
+ var _metroConfig = require("metro-config");
10
+ var _path = _interopRequireDefault(require("path"));
11
11
  function _interopRequireDefault(obj) {
12
12
  return obj && obj.__esModule ? obj : { default: obj };
13
13
  }
@@ -25,7 +25,7 @@ function _interopRequireDefault(obj) {
25
25
  /**
26
26
  * Get the config options to override based on RN CLI inputs.
27
27
  */
28
- function getOverrideConfig(ctx) {
28
+ function getOverrideConfig(ctx, config) {
29
29
  const outOfTreePlatforms = Object.keys(ctx.platforms).filter(
30
30
  (platform) => ctx.platforms[platform].npmPackageName
31
31
  );
@@ -38,7 +38,8 @@ function getOverrideConfig(ctx) {
38
38
  outOfTreePlatforms.reduce((result, platform) => {
39
39
  result[platform] = ctx.platforms[platform].npmPackageName;
40
40
  return result;
41
- }, {})
41
+ }, {}),
42
+ config.resolver?.resolveRequest
42
43
  );
43
44
  }
44
45
  return {
@@ -58,7 +59,10 @@ function getOverrideConfig(ctx) {
58
59
  ),
59
60
  ...outOfTreePlatforms.map((platform) =>
60
61
  require.resolve(
61
- `${ctx.platforms[platform].npmPackageName}/Libraries/Core/InitializeCore`
62
+ `${ctx.platforms[platform].npmPackageName}/Libraries/Core/InitializeCore`,
63
+ {
64
+ paths: [ctx.root],
65
+ }
62
66
  )
63
67
  ),
64
68
  ],
@@ -73,7 +77,6 @@ function getOverrideConfig(ctx) {
73
77
  * dynamic user options in `ctx`.
74
78
  */
75
79
  async function loadMetroConfig(ctx, options = {}) {
76
- const overrideConfig = getOverrideConfig(ctx);
77
80
  const cwd = ctx.root;
78
81
  const projectConfig = await (0, _metroConfig.resolveConfig)(
79
82
  options.config,
@@ -97,11 +100,10 @@ This warning will be removed in future (https://github.com/facebook/metro/issues
97
100
  _cliTools.logger.warn(line);
98
101
  }
99
102
  }
100
- return (0, _metroConfig.mergeConfig)(
101
- await (0, _metroConfig.loadConfig)({
102
- cwd,
103
- ...options,
104
- }),
105
- overrideConfig
106
- );
103
+ const config = await (0, _metroConfig.loadConfig)({
104
+ cwd,
105
+ ...options,
106
+ });
107
+ const overrideConfig = getOverrideConfig(ctx, config);
108
+ return (0, _metroConfig.mergeConfig)(config, overrideConfig);
107
109
  }
@@ -29,7 +29,7 @@ exports.reactNativePlatformResolver = reactNativePlatformResolver;
29
29
  * macos: 'react-native-macos'
30
30
  * }
31
31
  */
32
- function reactNativePlatformResolver(platformImplementations) {
32
+ function reactNativePlatformResolver(platformImplementations, customResolver) {
33
33
  return (context, moduleName, platform) => {
34
34
  let modifiedModuleName = moduleName;
35
35
  if (platform != null && platformImplementations[platform]) {
@@ -41,6 +41,9 @@ function reactNativePlatformResolver(platformImplementations) {
41
41
  }/${modifiedModuleName.slice("react-native/".length)}`;
42
42
  }
43
43
  }
44
+ if (customResolver) {
45
+ return customResolver(context, modifiedModuleName, platform);
46
+ }
44
47
  return context.resolveRequest(context, modifiedModuleName, platform);
45
48
  };
46
49
  }
@@ -25,6 +25,9 @@ import type { CustomResolver } from "metro-resolver";
25
25
  * macos: 'react-native-macos'
26
26
  * }
27
27
  */
28
- declare export function reactNativePlatformResolver(platformImplementations: {
29
- [platform: string]: string,
30
- }): CustomResolver;
28
+ declare export function reactNativePlatformResolver(
29
+ platformImplementations: {
30
+ [platform: string]: string,
31
+ },
32
+ customResolver: ?CustomResolver
33
+ ): CustomResolver;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.default = parseKeyValueParamArray;
7
+ var _querystring = _interopRequireDefault(require("querystring"));
8
+ function _interopRequireDefault(obj) {
9
+ return obj && obj.__esModule ? obj : { default: obj };
10
+ }
11
+ /**
12
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
13
+ *
14
+ * This source code is licensed under the MIT license found in the
15
+ * LICENSE file in the root directory of this source tree.
16
+ *
17
+ *
18
+ * @format
19
+ * @oncall react_native
20
+ */
21
+
22
+ function parseKeyValueParamArray(keyValueArray) {
23
+ const result = {};
24
+ for (const item of keyValueArray) {
25
+ if (item.indexOf("=") === -1) {
26
+ throw new Error('Expected parameter to include "=" but found: ' + item);
27
+ }
28
+ if (item.indexOf("&") !== -1) {
29
+ throw new Error('Parameter cannot include "&" but found: ' + item);
30
+ }
31
+ Object.assign(result, _querystring.default.parse(item));
32
+ }
33
+ return result;
34
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ * @oncall react_native
10
+ */
11
+
12
+ declare export default function parseKeyValueParamArray(
13
+ keyValueArray: $ReadOnlyArray<string>
14
+ ): Record<string, string>;
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@react-native/community-cli-plugin",
3
- "version": "0.74.0",
3
+ "version": "0.75.0-nightly-20240221-a1171f79f",
4
4
  "description": "Core CLI commands for React Native",
5
- "keywords": ["react-native", "tools"],
6
- "homepage": "https://github.com/facebook/react-native/tree/HEAD/packages/buid-scripts#readme",
5
+ "keywords": [
6
+ "react-native",
7
+ "tools"
8
+ ],
9
+ "homepage": "https://github.com/facebook/react-native/tree/HEAD/packages/community-cli-plugin#readme",
7
10
  "bugs": "https://github.com/facebook/react-native/issues",
8
11
  "repository": {
9
12
  "type": "git",
@@ -11,21 +14,31 @@
11
14
  "directory": "packages/community-cli-plugin"
12
15
  },
13
16
  "license": "MIT",
14
- "exports": { ".": "./dist/index.js", "./package.json": "./package.json" },
15
- "files": ["dist"],
17
+ "exports": {
18
+ ".": "./dist/index.js",
19
+ "./package.json": "./package.json"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
16
24
  "dependencies": {
17
- "@react-native/dev-middleware": "^0.74.0",
18
- "@react-native-community/cli-server-api": "12.0.0-alpha.15",
19
- "@react-native-community/cli-tools": "12.0.0-alpha.15",
20
- "@react-native/metro-babel-transformer": "^0.74.0",
25
+ "@react-native-community/cli-server-api": "13.6.0",
26
+ "@react-native-community/cli-tools": "13.6.0",
27
+ "@react-native/dev-middleware": "0.75.0-nightly-20240221-a1171f79f",
28
+ "@react-native/metro-babel-transformer": "0.75.0-nightly-20240221-a1171f79f",
21
29
  "chalk": "^4.0.0",
22
30
  "execa": "^5.1.1",
23
- "metro": "0.79.1",
24
- "metro-config": "0.79.1",
25
- "metro-core": "0.79.1",
31
+ "metro": "^0.80.3",
32
+ "metro-config": "^0.80.3",
33
+ "metro-core": "^0.80.3",
26
34
  "node-fetch": "^2.2.0",
35
+ "querystring": "^0.2.1",
27
36
  "readline": "^1.3.0"
28
37
  },
29
- "devDependencies": { "metro-resolver": "0.79.1" },
30
- "engines": { "node": ">=18" }
38
+ "devDependencies": {
39
+ "metro-resolver": "^0.80.3"
40
+ },
41
+ "engines": {
42
+ "node": ">=18"
43
+ }
31
44
  }