@rnx-kit/cli 0.18.14 → 0.18.17

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.
Files changed (51) hide show
  1. package/README.md +26 -20
  2. package/lib/bin/context.d.ts +1 -1
  3. package/lib/bin/context.js +10 -10
  4. package/lib/bin/externalCommands.js +2 -2
  5. package/lib/bin/rnx-cli.js +4 -4
  6. package/lib/build/android.d.ts +1 -1
  7. package/lib/build/android.js +2 -2
  8. package/lib/build/apple.d.ts +1 -1
  9. package/lib/build/apple.js +2 -2
  10. package/lib/build/ios.d.ts +2 -2
  11. package/lib/build/ios.js +6 -2
  12. package/lib/build/macos.d.ts +2 -2
  13. package/lib/build/macos.js +19 -14
  14. package/lib/build/types.d.ts +11 -1
  15. package/lib/build/windows.d.ts +11 -0
  16. package/lib/build/windows.js +116 -0
  17. package/lib/build.d.ts +4 -4
  18. package/lib/build.js +20 -12
  19. package/lib/bundle/cliOptions.d.ts +1 -1
  20. package/lib/bundle/cliOptions.js +5 -5
  21. package/lib/bundle/kit-config.d.ts +1 -1
  22. package/lib/bundle/kit-config.js +2 -2
  23. package/lib/bundle/metro.d.ts +1 -1
  24. package/lib/bundle/metro.js +2 -2
  25. package/lib/bundle/overrides.d.ts +1 -1
  26. package/lib/bundle.d.ts +4 -4
  27. package/lib/bundle.js +13 -13
  28. package/lib/clean.d.ts +1 -1
  29. package/lib/clean.js +2 -2
  30. package/lib/helpers/externals.d.ts +1 -1
  31. package/lib/helpers/metro-config.js +2 -2
  32. package/lib/index.d.ts +8 -8
  33. package/lib/index.js +32 -32
  34. package/lib/ram-bundle.d.ts +5 -5
  35. package/lib/ram-bundle.js +9 -9
  36. package/lib/run/android.d.ts +1 -1
  37. package/lib/run/android.js +2 -2
  38. package/lib/run/ios.d.ts +1 -1
  39. package/lib/run/ios.js +2 -2
  40. package/lib/run/macos.d.ts +1 -1
  41. package/lib/run/macos.js +2 -2
  42. package/lib/run/windows.d.ts +6 -0
  43. package/lib/run/windows.js +13 -0
  44. package/lib/run.d.ts +6 -6
  45. package/lib/run.js +13 -10
  46. package/lib/serve/keyboard.d.ts +1 -1
  47. package/lib/serve/keyboard.js +1 -1
  48. package/lib/serve/kit-config.js +2 -2
  49. package/lib/start.d.ts +2 -2
  50. package/lib/start.js +28 -21
  51. package/package.json +12 -12
package/lib/start.js CHANGED
@@ -38,18 +38,18 @@ exports.rnxStart = rnxStart;
38
38
  const logger = __importStar(require("@rnx-kit/console"));
39
39
  const metro_service_1 = require("@rnx-kit/metro-service");
40
40
  const path = __importStar(require("node:path"));
41
- const externals_1 = require("./helpers/externals");
42
- const metro_config_1 = require("./helpers/metro-config");
43
- const parsers_1 = require("./helpers/parsers");
44
- const help_1 = require("./serve/help");
45
- const keyboard_1 = require("./serve/keyboard");
46
- const kit_config_1 = require("./serve/kit-config");
41
+ const externals_ts_1 = require("./helpers/externals.js");
42
+ const metro_config_ts_1 = require("./helpers/metro-config.js");
43
+ const parsers_ts_1 = require("./helpers/parsers.js");
44
+ const help_ts_1 = require("./serve/help.js");
45
+ const keyboard_ts_1 = require("./serve/keyboard.js");
46
+ const kit_config_ts_1 = require("./serve/kit-config.js");
47
47
  function hasAttachToServerFunction(devServer) {
48
48
  return "attachToServer" in devServer;
49
49
  }
50
50
  async function rnxStart(_argv, ctx, args) {
51
- const serverConfig = (0, kit_config_1.getKitServerConfig)(args);
52
- const { createDevServerMiddleware, indexPageMiddleware } = (0, externals_1.requireExternal)("@react-native-community/cli-server-api", ctx.root, ctx.reactNativePath);
51
+ const serverConfig = (0, kit_config_ts_1.getKitServerConfig)(args);
52
+ const { createDevServerMiddleware, indexPageMiddleware } = (0, externals_ts_1.requireExternal)("@react-native-community/cli-server-api", ctx.root, ctx.reactNativePath);
53
53
  // interactive mode requires raw access to stdin
54
54
  let interactive = args.interactive;
55
55
  if (interactive) {
@@ -82,7 +82,7 @@ async function rnxStart(_argv, ctx, args) {
82
82
  const terminal = (0, metro_service_1.makeTerminal)(projectRoot);
83
83
  // customize the metro config to include plugins, presets, etc.
84
84
  const log = (message) => terminal.log(message);
85
- (0, metro_config_1.customizeMetroConfig)(metroConfig, serverConfig, log);
85
+ (0, metro_config_ts_1.customizeMetroConfig)(metroConfig, serverConfig, log);
86
86
  const { port } = metroConfig.server;
87
87
  const scheme = args.https === true ? "https" : "http";
88
88
  const serverStatus = await (0, metro_service_1.isDevServerRunning)(scheme, args.host, port, projectRoot);
@@ -104,7 +104,7 @@ async function rnxStart(_argv, ctx, args) {
104
104
  const coreDevMiddleware = (() => {
105
105
  try {
106
106
  // https://github.com/facebook/react-native/blob/7888338295476f4d4f00733309e54b8d22318e1e/packages/community-cli-plugin/src/commands/start/runServer.js#L115
107
- const { createDevMiddleware } = (0, externals_1.requireExternal)("@react-native/dev-middleware", ctx.root, ctx.reactNativePath);
107
+ const { createDevMiddleware } = (0, externals_ts_1.requireExternal)("@react-native/dev-middleware", ctx.root, ctx.reactNativePath);
108
108
  return createDevMiddleware({
109
109
  projectRoot,
110
110
  serverBaseUrl: devServerUrl,
@@ -141,15 +141,22 @@ async function rnxStart(_argv, ctx, args) {
141
141
  // bind our `reportEvent` delegate to the Metro server
142
142
  reportEventDelegate = devServer.eventsSocketEndpoint.reportEvent;
143
143
  }
144
- const help = (0, help_1.makeHelp)(terminal, { hasDebugger: Boolean(coreDevMiddleware) });
144
+ const help = (0, help_ts_1.makeHelp)(terminal, { hasDebugger: Boolean(coreDevMiddleware) });
145
145
  const terminalReporter = (0, metro_service_1.makeReporter)(args.customLogReporterPath, terminal, projectRoot);
146
146
  // @ts-expect-error We want to override `reporter`
147
147
  metroConfig.reporter = {
148
148
  update(event) {
149
149
  terminalReporter.update(event);
150
150
  reportEventDelegate?.(event);
151
- if (interactive && event.type === "dep_graph_loading") {
152
- help();
151
+ switch (event.type) {
152
+ case "dep_graph_loading":
153
+ if (interactive) {
154
+ help();
155
+ }
156
+ break;
157
+ case "server_listening":
158
+ logger.info(`Dev server is listening on ${scheme}://${event.address}:${event.port}`);
159
+ break;
153
160
  }
154
161
  },
155
162
  };
@@ -206,7 +213,7 @@ async function rnxStart(_argv, ctx, args) {
206
213
  // in interactive mode, listen for keyboard events from stdin and bind
207
214
  // them to specific actions.
208
215
  if (interactive) {
209
- (0, keyboard_1.attachKeyHandlers)(serverInstance, {
216
+ (0, keyboard_ts_1.attachKeyHandlers)(serverInstance, {
210
217
  devServerUrl,
211
218
  help,
212
219
  messageSocketEndpoint,
@@ -226,7 +233,7 @@ exports.rnxStartCommand = {
226
233
  {
227
234
  name: "--port <number>",
228
235
  description: "Host port to use when listening for incoming server requests",
229
- parse: parsers_1.asNumber,
236
+ parse: parsers_ts_1.asNumber,
230
237
  default: 8081,
231
238
  },
232
239
  {
@@ -237,27 +244,27 @@ exports.rnxStartCommand = {
237
244
  {
238
245
  name: "--project-root <path>",
239
246
  description: "Path to the root of your react-native project; the bundle server uses this path to resolve all web requests",
240
- parse: parsers_1.asResolvedPath,
247
+ parse: parsers_ts_1.asResolvedPath,
241
248
  },
242
249
  {
243
250
  name: "--watch-folders <paths>",
244
251
  description: "Additional folders which will be added to the watched files list, comma-separated; by default, Metro watches all project files",
245
- parse: (val) => (0, parsers_1.asStringArray)(val).map(parsers_1.asResolvedPath),
252
+ parse: (val) => (0, parsers_ts_1.asStringArray)(val).map(parsers_ts_1.asResolvedPath),
246
253
  },
247
254
  {
248
255
  name: "--asset-plugins <list>",
249
256
  description: "Additional asset plugins to be used by Metro's Babel transformer; comma-separated list containing plugin module names or absolute paths to plugin packages",
250
- parse: parsers_1.asStringArray,
257
+ parse: parsers_ts_1.asStringArray,
251
258
  },
252
259
  {
253
260
  name: "--source-exts <list>",
254
261
  description: "Additional source file extensions to include when generating bundles; comma-separated list, excluding the leading dot",
255
- parse: parsers_1.asStringArray,
262
+ parse: parsers_ts_1.asStringArray,
256
263
  },
257
264
  {
258
265
  name: "--max-workers <number>",
259
266
  description: "Specifies the maximum number of parallel worker threads to use for transforming files; defaults to the number of cores available on your machine",
260
- parse: parsers_1.asNumber,
267
+ parse: parsers_ts_1.asNumber,
261
268
  },
262
269
  {
263
270
  name: "--reset-cache",
@@ -282,7 +289,7 @@ exports.rnxStartCommand = {
282
289
  {
283
290
  name: "--config <string>",
284
291
  description: "Path to the Metro configuration file",
285
- parse: parsers_1.asResolvedPath,
292
+ parse: parsers_ts_1.asResolvedPath,
286
293
  },
287
294
  {
288
295
  name: "--no-interactive",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rnx-kit/cli",
3
- "version": "0.18.14",
3
+ "version": "0.18.17",
4
4
  "description": "Command-line interface for working with kit packages in your repo",
5
5
  "homepage": "https://github.com/microsoft/rnx-kit/tree/main/packages/cli#readme",
6
6
  "license": "MIT",
@@ -40,22 +40,22 @@
40
40
  "test": "rnx-kit-scripts test"
41
41
  },
42
42
  "dependencies": {
43
- "@rnx-kit/align-deps": "^3.1.0",
43
+ "@rnx-kit/align-deps": "^3.3.3",
44
44
  "@rnx-kit/config": "^0.7.0",
45
45
  "@rnx-kit/console": "^2.0.0",
46
46
  "@rnx-kit/metro-plugin-cyclic-dependencies-detector": "^2.0.0",
47
47
  "@rnx-kit/metro-plugin-duplicates-checker": "^3.0.0",
48
- "@rnx-kit/metro-plugin-typescript": "^0.5.0",
48
+ "@rnx-kit/metro-plugin-typescript": "^0.5.3",
49
49
  "@rnx-kit/metro-serializer": "^2.0.0",
50
- "@rnx-kit/metro-serializer-esbuild": "^0.2.6",
51
- "@rnx-kit/metro-service": "^4.0.2",
50
+ "@rnx-kit/metro-serializer-esbuild": "^0.2.8",
51
+ "@rnx-kit/metro-service": "^4.1.3",
52
52
  "@rnx-kit/third-party-notices": "^2.0.0",
53
- "@rnx-kit/tools-android": "^0.2.1",
54
- "@rnx-kit/tools-apple": "^0.2.1",
53
+ "@rnx-kit/tools-android": "^0.2.2",
54
+ "@rnx-kit/tools-apple": "^0.2.2",
55
55
  "@rnx-kit/tools-filesystem": "^0.1.0",
56
- "@rnx-kit/tools-language": "^3.0.0",
57
- "@rnx-kit/tools-node": "^3.0.0",
58
- "@rnx-kit/tools-react-native": "^2.0.3",
56
+ "@rnx-kit/tools-language": "^3.0.1",
57
+ "@rnx-kit/tools-node": "^3.0.3",
58
+ "@rnx-kit/tools-react-native": "^2.3.2",
59
59
  "commander": "^11.1.0",
60
60
  "ora": "^5.4.1",
61
61
  "qrcode": "^1.5.0"
@@ -76,12 +76,13 @@
76
76
  "@babel/core": "^7.20.0",
77
77
  "@babel/preset-env": "^7.20.0",
78
78
  "@react-native-community/cli-types": "^20.0.0",
79
+ "@react-native-windows/cli": "^0.79.0",
79
80
  "@rnx-kit/eslint-config": "*",
80
81
  "@rnx-kit/jest-preset": "*",
81
82
  "@rnx-kit/scripts": "*",
82
83
  "@rnx-kit/tsconfig": "*",
83
84
  "@types/connect": "^3.4.36",
84
- "@types/node": "^22.0.0",
85
+ "@types/node": "^24.0.0",
85
86
  "@types/qrcode": "^1.4.2",
86
87
  "markdown-table": "^3.0.0",
87
88
  "metro": "^0.83.1",
@@ -89,7 +90,6 @@
89
90
  "metro-config": "^0.83.1",
90
91
  "react": "19.1.0",
91
92
  "react-native": "^0.81.0",
92
- "tsx": "^4.15.0",
93
93
  "type-fest": "^4.0.0"
94
94
  },
95
95
  "engines": {