@rnx-kit/cli 0.12.3 → 0.12.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log - @rnx-kit/cli
2
2
 
3
+ ## 0.12.4
4
+
5
+ ### Patch Changes
6
+
7
+ - b864d94: Add support for `@react-native-community/cli` 7.0.3
8
+
3
9
  ## 0.12.3
4
10
 
5
11
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1652168757831" clover="3.2.0">
3
- <project timestamp="1652168757831" name="All files">
2
+ <coverage generated="1652360259280" clover="3.2.0">
3
+ <project timestamp="1652360259280" name="All files">
4
4
  <metrics statements="286" coveredstatements="143" conditionals="171" coveredconditionals="85" methods="44" coveredmethods="22" elements="501" coveredelements="250" complexity="0" loc="286" ncloc="286" packages="3" files="6" classes="6"/>
5
5
  <package name="src">
6
6
  <metrics statements="201" coveredstatements="107" conditionals="123" coveredconditionals="59" methods="27" coveredmethods="15"/>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
134
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="prettify.js"></script>
137
137
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
134
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>
@@ -367,7 +367,7 @@ export function getKitBundleConfigs(
367
367
  <div class='footer quiet pad2 space-top1 center small'>
368
368
  Code coverage generated by
369
369
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
370
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
370
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
371
371
  </div>
372
372
  <script src="../../prettify.js"></script>
373
373
  <script>
@@ -343,7 +343,7 @@ export async function <span class="fstat-no" title="function not covered" >metro
343
343
  <div class='footer quiet pad2 space-top1 center small'>
344
344
  Code coverage generated by
345
345
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
346
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
346
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  <script src="../../prettify.js"></script>
349
349
  <script>
@@ -232,7 +232,7 @@ export function applyKitBundleConfigOverrides(
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
235
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
236
236
  </div>
237
237
  <script src="../../prettify.js"></script>
238
238
  <script>
@@ -1741,7 +1741,7 @@ export const rnxCopyAssetsCommand = {
1741
1741
  <div class='footer quiet pad2 space-top1 center small'>
1742
1742
  Code coverage generated by
1743
1743
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1744
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
1744
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
1745
1745
  </div>
1746
1746
  <script src="../prettify.js"></script>
1747
1747
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
119
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -565,7 +565,7 @@ export function customizeMetroConfig(
565
565
  <div class='footer quiet pad2 space-top1 center small'>
566
566
  Code coverage generated by
567
567
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
568
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
568
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
569
569
  </div>
570
570
  <script src="../prettify.js"></script>
571
571
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
104
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -616,7 +616,7 @@ export function createProjectCache(
616
616
  <div class='footer quiet pad2 space-top1 center small'>
617
617
  Code coverage generated by
618
618
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
619
- at Tue May 10 2022 07:45:57 GMT+0000 (Coordinated Universal Time)
619
+ at Thu May 12 2022 12:57:39 GMT+0000 (Coordinated Universal Time)
620
620
  </div>
621
621
  <script src="../../prettify.js"></script>
622
622
  <script>
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAkB7E,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAYF,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoLf"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AA+B7E,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAkBF,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyMf"}
package/lib/start.js CHANGED
@@ -29,6 +29,9 @@ function friendlyRequire(module) {
29
29
  throw new Error(`Cannot find module '${module}'. This probably means that '@rnx-kit/cli' is not compatible with the version of '@react-native-community/cli' that you are currently using. Please update to the latest version and try again. If the issue still persists after the update, please file a bug at https://github.com/microsoft/rnx-kit/issues.`);
30
30
  }
31
31
  }
32
+ function hasWebsocketEndpoints(devServer) {
33
+ return !("attachToServer" in devServer);
34
+ }
32
35
  function rnxStart(_argv, cliConfig, cliOptions) {
33
36
  return __awaiter(this, void 0, void 0, function* () {
34
37
  const serverConfig = (0, kit_config_1.getKitServerConfig)(cliOptions);
@@ -89,11 +92,12 @@ function rnxStart(_argv, cliConfig, cliOptions) {
89
92
  (0, metro_config_1.customizeMetroConfig)(metroConfig, serverConfig.detectCyclicDependencies, serverConfig.detectDuplicateDependencies, serverConfig.typescriptValidation ? typescriptValidationOptions : false, serverConfig.treeShake);
90
93
  // create middleware -- a collection of plugins which handle incoming
91
94
  // http(s) requests, routing them to static pages or JS functions.
92
- const { middleware, attachToServer } = createDevServerMiddleware({
95
+ const devServer = createDevServerMiddleware({
93
96
  host: cliOptions.host,
94
97
  port: metroConfig.server.port,
95
98
  watchFolders: metroConfig.watchFolders,
96
99
  });
100
+ const middleware = devServer.middleware;
97
101
  middleware.use(indexPageMiddleware);
98
102
  // merge the Metro config middleware with our middleware
99
103
  const enhanceMiddleware = metroConfig.server.enhanceMiddleware;
@@ -104,16 +108,31 @@ function rnxStart(_argv, cliConfig, cliOptions) {
104
108
  ? enhanceMiddleware(metroMiddleware, metroServer)
105
109
  : metroMiddleware);
106
110
  };
111
+ // `createDevServerMiddleware` changed its return type in
112
+ // https://github.com/react-native-community/cli/pull/1560
113
+ let websocketEndpoints = undefined;
114
+ let messageSocketEndpoint;
115
+ if (hasWebsocketEndpoints(devServer)) {
116
+ websocketEndpoints = devServer.websocketEndpoints;
117
+ messageSocketEndpoint = devServer.messageSocketEndpoint;
118
+ // bind our `reportEvent` delegate to the Metro server
119
+ reportEventDelegate = devServer.eventsSocketEndpoint.reportEvent;
120
+ }
107
121
  // start the Metro server
108
- const serverInstance = yield (0, metro_service_1.startServer)(metroConfig, {
122
+ const serverOptions = {
109
123
  host: cliOptions.host,
110
124
  secure: cliOptions.https,
111
125
  secureCert: cliOptions.cert,
112
126
  secureKey: cliOptions.key,
113
- });
114
- const { messageSocket, eventsSocket } = attachToServer(serverInstance);
115
- // bind our `reportEvent` delegate to the Metro server
116
- reportEventDelegate = eventsSocket.reportEvent;
127
+ websocketEndpoints,
128
+ };
129
+ const serverInstance = yield (0, metro_service_1.startServer)(metroConfig, serverOptions);
130
+ if (!hasWebsocketEndpoints(devServer)) {
131
+ const { messageSocket, eventsSocket } = devServer.attachToServer(serverInstance);
132
+ messageSocketEndpoint = messageSocket;
133
+ // bind our `reportEvent` delegate to the Metro server
134
+ reportEventDelegate = eventsSocket.reportEvent;
135
+ }
117
136
  // In Node 8, the default keep-alive for an HTTP connection is 5 seconds. In
118
137
  // early versions of Node 8, this was implemented in a buggy way which caused
119
138
  // some HTTP responses (like those containing large JS bundles) to be
@@ -159,11 +178,11 @@ function rnxStart(_argv, cliConfig, cliOptions) {
159
178
  }
160
179
  case "d":
161
180
  terminal.log(chalk_1.default.green("Opening developer menu..."));
162
- messageSocket.broadcast("devMenu", undefined);
181
+ messageSocketEndpoint.broadcast("devMenu", undefined);
163
182
  break;
164
183
  case "r":
165
184
  terminal.log(chalk_1.default.green("Reloading app..."));
166
- messageSocket.broadcast("reload", undefined);
185
+ messageSocketEndpoint.broadcast("reload", undefined);
167
186
  break;
168
187
  }
169
188
  }
package/lib/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rnx-kit/cli",
3
- "version": "0.12.3",
3
+ "version": "0.12.4",
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",
6
6
  "license": "MIT",
package/src/start.ts CHANGED
@@ -17,6 +17,19 @@ import { customizeMetroConfig } from "./metro-config";
17
17
  import { getKitServerConfig } from "./serve/kit-config";
18
18
  import type { TypeScriptValidationOptions } from "./types";
19
19
 
20
+ type DevServerMiddleware = ReturnType<
21
+ typeof CliServerApi["createDevServerMiddleware"]
22
+ >;
23
+
24
+ type DevServer = ReturnType<DevServerMiddleware["attachToServer"]>;
25
+
26
+ type DevServerMiddleware7 = Pick<DevServerMiddleware, "middleware"> & {
27
+ websocketEndpoints: unknown;
28
+ debuggerProxyEndpoint: DevServer["debuggerProxy"];
29
+ messageSocketEndpoint: DevServer["messageSocket"];
30
+ eventsSocketEndpoint: DevServer["eventsSocket"];
31
+ };
32
+
20
33
  export type CLIStartOptions = {
21
34
  host: string;
22
35
  port: number;
@@ -44,6 +57,12 @@ function friendlyRequire<T>(module: string): T {
44
57
  }
45
58
  }
46
59
 
60
+ function hasWebsocketEndpoints(
61
+ devServer: DevServerMiddleware | DevServerMiddleware7
62
+ ): devServer is DevServerMiddleware7 {
63
+ return !("attachToServer" in devServer);
64
+ }
65
+
47
66
  export async function rnxStart(
48
67
  _argv: Array<string>,
49
68
  cliConfig: CLIConfig,
@@ -136,11 +155,12 @@ export async function rnxStart(
136
155
 
137
156
  // create middleware -- a collection of plugins which handle incoming
138
157
  // http(s) requests, routing them to static pages or JS functions.
139
- const { middleware, attachToServer } = createDevServerMiddleware({
158
+ const devServer = createDevServerMiddleware({
140
159
  host: cliOptions.host,
141
160
  port: metroConfig.server.port,
142
161
  watchFolders: metroConfig.watchFolders,
143
162
  });
163
+ const middleware = devServer.middleware;
144
164
  middleware.use(indexPageMiddleware);
145
165
 
146
166
  // merge the Metro config middleware with our middleware
@@ -158,17 +178,37 @@ export async function rnxStart(
158
178
  );
159
179
  };
160
180
 
181
+ // `createDevServerMiddleware` changed its return type in
182
+ // https://github.com/react-native-community/cli/pull/1560
183
+ let websocketEndpoints: unknown = undefined;
184
+ let messageSocketEndpoint: DevServer["messageSocket"];
185
+
186
+ if (hasWebsocketEndpoints(devServer)) {
187
+ websocketEndpoints = devServer.websocketEndpoints;
188
+ messageSocketEndpoint = devServer.messageSocketEndpoint;
189
+
190
+ // bind our `reportEvent` delegate to the Metro server
191
+ reportEventDelegate = devServer.eventsSocketEndpoint.reportEvent;
192
+ }
193
+
161
194
  // start the Metro server
162
- const serverInstance = await startServer(metroConfig, {
195
+ const serverOptions = {
163
196
  host: cliOptions.host,
164
197
  secure: cliOptions.https,
165
198
  secureCert: cliOptions.cert,
166
199
  secureKey: cliOptions.key,
167
- });
168
- const { messageSocket, eventsSocket } = attachToServer(serverInstance);
200
+ websocketEndpoints,
201
+ };
202
+ const serverInstance = await startServer(metroConfig, serverOptions);
203
+
204
+ if (!hasWebsocketEndpoints(devServer)) {
205
+ const { messageSocket, eventsSocket } =
206
+ devServer.attachToServer(serverInstance);
207
+ messageSocketEndpoint = messageSocket;
169
208
 
170
- // bind our `reportEvent` delegate to the Metro server
171
- reportEventDelegate = eventsSocket.reportEvent;
209
+ // bind our `reportEvent` delegate to the Metro server
210
+ reportEventDelegate = eventsSocket.reportEvent;
211
+ }
172
212
 
173
213
  // In Node 8, the default keep-alive for an HTTP connection is 5 seconds. In
174
214
  // early versions of Node 8, this was implemented in a buggy way which caused
@@ -217,12 +257,12 @@ export async function rnxStart(
217
257
 
218
258
  case "d":
219
259
  terminal.log(chalk.green("Opening developer menu..."));
220
- messageSocket.broadcast("devMenu", undefined);
260
+ messageSocketEndpoint.broadcast("devMenu", undefined);
221
261
  break;
222
262
 
223
263
  case "r":
224
264
  terminal.log(chalk.green("Reloading app..."));
225
- messageSocket.broadcast("reload", undefined);
265
+ messageSocketEndpoint.broadcast("reload", undefined);
226
266
  break;
227
267
  }
228
268
  }