metro 0.82.4 → 0.83.0

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 (76) hide show
  1. package/package.json +18 -21
  2. package/src/DeltaBundler/DeltaCalculator.js +5 -1
  3. package/src/DeltaBundler/Graph.js +37 -10
  4. package/src/DeltaBundler/Graph.js.flow +49 -22
  5. package/src/DeltaBundler/Serializers/getRamBundleInfo.js.flow +1 -0
  6. package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +4 -1
  7. package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js.flow +5 -1
  8. package/src/DeltaBundler/Serializers/helpers/js.js +4 -0
  9. package/src/DeltaBundler/Serializers/helpers/js.js.flow +6 -0
  10. package/src/DeltaBundler/Transformer.js +5 -2
  11. package/src/DeltaBundler/Transformer.js.flow +3 -2
  12. package/src/DeltaBundler/Worker.d.ts +7 -9
  13. package/src/DeltaBundler/Worker.flow.js.flow +2 -2
  14. package/src/DeltaBundler/WorkerFarm.js +2 -2
  15. package/src/DeltaBundler/WorkerFarm.js.flow +2 -6
  16. package/src/DeltaBundler/buildSubgraph.js +21 -15
  17. package/src/DeltaBundler/buildSubgraph.js.flow +21 -21
  18. package/src/DeltaBundler/getTransformCacheKey.js +1 -1
  19. package/src/DeltaBundler/getTransformCacheKey.js.flow +1 -1
  20. package/src/DeltaBundler/types.flow.js +5 -1
  21. package/src/DeltaBundler/types.flow.js.flow +7 -1
  22. package/src/ModuleGraph/worker/JsFileWrapping.js +39 -9
  23. package/src/ModuleGraph/worker/JsFileWrapping.js.flow +32 -5
  24. package/src/ModuleGraph/worker/collectDependencies.js.flow +7 -1
  25. package/src/Server/symbolicate.js +4 -2
  26. package/src/Server/symbolicate.js.flow +4 -2
  27. package/src/Server.d.ts +6 -1
  28. package/src/Server.js +51 -14
  29. package/src/Server.js.flow +75 -21
  30. package/src/commands/build.js +5 -1
  31. package/src/commands/serve.js +4 -1
  32. package/src/commands/serve.js.flow +4 -1
  33. package/src/index.d.ts +13 -7
  34. package/src/index.flow.js +9 -3
  35. package/src/index.flow.js.flow +69 -63
  36. package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-import.js +5 -1
  37. package/src/integration_tests/basic_bundle/build-errors/inline-requires-cannot-resolve-import.js +5 -1
  38. package/src/integration_tests/basic_bundle/import-export/index.js +11 -3
  39. package/src/integration_tests/basic_bundle/optional-dependencies/index.js +20 -0
  40. package/src/integration_tests/basic_bundle/optional-dependencies/index.js.flow +34 -0
  41. package/src/integration_tests/basic_bundle/optional-dependencies/optional-b.js +3 -0
  42. package/src/integration_tests/basic_bundle/optional-dependencies/optional-b.js.flow +11 -0
  43. package/src/integration_tests/basic_bundle/optional-dependencies/optional-c.js +3 -0
  44. package/src/integration_tests/basic_bundle/optional-dependencies/optional-c.js.flow +11 -0
  45. package/src/integration_tests/basic_bundle/optional-dependencies/required-a.js +3 -0
  46. package/src/integration_tests/basic_bundle/optional-dependencies/required-a.js.flow +11 -0
  47. package/src/lib/RamBundleParser.js.flow +1 -0
  48. package/src/lib/contextModule.js +5 -1
  49. package/src/lib/contextModuleTemplates.js +6 -2
  50. package/src/lib/createWebsocketServer.js +5 -1
  51. package/src/lib/createWebsocketServer.js.flow +1 -0
  52. package/src/lib/formatBundlingError.js.flow +1 -1
  53. package/src/lib/getAppendScripts.js +5 -1
  54. package/src/lib/getGraphId.js +1 -1
  55. package/src/lib/getGraphId.js.flow +1 -1
  56. package/src/lib/getPrependedScripts.js +6 -2
  57. package/src/lib/getPrependedScripts.js.flow +2 -2
  58. package/src/lib/isResolvedDependency.js +9 -0
  59. package/src/lib/isResolvedDependency.js.flow +18 -0
  60. package/src/lib/transformHelpers.js +6 -6
  61. package/src/lib/transformHelpers.js.flow +1 -5
  62. package/src/node-haste/DependencyGraph/ModuleResolution.js +2 -1
  63. package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +6 -2
  64. package/src/node-haste/DependencyGraph/createFileMap.js +6 -2
  65. package/src/node-haste/DependencyGraph.js +1 -1
  66. package/src/node-haste/DependencyGraph.js.flow +5 -4
  67. package/src/node-haste/Module.js +5 -1
  68. package/src/node-haste/Package.js.flow +1 -1
  69. package/src/shared/output/RamBundle/util.js +5 -1
  70. package/src/shared/output/RamBundle/util.js.flow +3 -1
  71. package/src/shared/output/RamBundle.js.flow +2 -0
  72. package/src/shared/output/bundle.d.ts +5 -1
  73. package/src/shared/output/bundle.flow.js +8 -5
  74. package/src/shared/output/bundle.flow.js.flow +11 -5
  75. package/src/shared/types.d.ts +4 -0
  76. package/src/shared/types.flow.js.flow +12 -8
package/src/index.d.ts CHANGED
@@ -14,9 +14,10 @@ export * from './ModuleGraph/worker/collectDependencies';
14
14
  export * from './Server';
15
15
  export * from './lib/reporting';
16
16
 
17
+ import type {AssetData} from './Asset';
17
18
  import type {ReadOnlyGraph} from './DeltaBundler/types';
18
19
  import type {ServerOptions, default as MetroServer} from './Server';
19
- import type {OutputOptions, RequestOptions} from './shared/types';
20
+ import type {BuildOptions, OutputOptions, RequestOptions} from './shared/types';
20
21
  import type {HandleFunction} from 'connect';
21
22
  import type {EventEmitter} from 'events';
22
23
  import type {IncomingMessage, Server as HttpServer} from 'http';
@@ -29,8 +30,7 @@ import type {
29
30
  Middleware,
30
31
  } from 'metro-config';
31
32
  import type {Duplex} from 'stream';
32
-
33
- import Yargs = require('yargs');
33
+ import type Yargs from 'yargs';
34
34
 
35
35
  export {loadConfig, mergeConfig, resolveConfig} from 'metro-config';
36
36
  export {Terminal} from 'metro-core';
@@ -82,6 +82,10 @@ export interface RunServerOptions {
82
82
  };
83
83
  }
84
84
 
85
+ export interface RunServerResult {
86
+ httpServer: HttpServer | HttpsServer;
87
+ }
88
+
85
89
  export interface RunBuildOptions {
86
90
  entry: string;
87
91
  dev?: boolean;
@@ -93,10 +97,12 @@ export interface RunBuildOptions {
93
97
  output?: {
94
98
  build: (
95
99
  server: MetroServer,
96
- options: RequestOptions,
100
+ requestOptions: RequestOptions,
101
+ buildOptions?: BuildOptions,
97
102
  ) => Promise<{
98
103
  code: string;
99
104
  map: string;
105
+ assets?: ReadonlyArray<AssetData>;
100
106
  }>;
101
107
  save: (
102
108
  entry: {
@@ -137,7 +143,7 @@ export function createConnectMiddleware(
137
143
  export function runServer(
138
144
  config: ConfigT,
139
145
  options: RunServerOptions,
140
- ): Promise<HttpServer | HttpsServer>;
146
+ ): Promise<RunServerResult>;
141
147
 
142
148
  export function runBuild(
143
149
  config: ConfigT,
@@ -159,6 +165,6 @@ interface AttachMetroCLIOptions {
159
165
  }
160
166
 
161
167
  export function attachMetroCli(
162
- yargs: typeof Yargs,
168
+ yargs: Yargs.Argv,
163
169
  options?: AttachMetroCLIOptions,
164
- ): typeof Yargs;
170
+ ): Yargs.Argv;
package/src/index.flow.js CHANGED
@@ -6,6 +6,7 @@ const makeServeCommand = require("./commands/serve");
6
6
  const MetroHmrServer = require("./HmrServer");
7
7
  const IncrementalBundler = require("./IncrementalBundler");
8
8
  const createWebsocketServer = require("./lib/createWebsocketServer");
9
+ const JsonReporter = require("./lib/JsonReporter");
9
10
  const TerminalReporter = require("./lib/TerminalReporter");
10
11
  const MetroServer = require("./Server");
11
12
  const outputBundle = require("./shared/output/bundle");
@@ -24,6 +25,7 @@ const net = require("net");
24
25
  const nullthrows = require("nullthrows");
25
26
  const { parse } = require("url");
26
27
  exports.Terminal = Terminal;
28
+ exports.JsonReporter = JsonReporter;
27
29
  exports.TerminalReporter = TerminalReporter;
28
30
  async function getConfig(config) {
29
31
  const defaultConfig = await getDefaultConfig(config.projectRoot);
@@ -204,7 +206,9 @@ exports.runServer = async (
204
206
  if (onReady) {
205
207
  onReady(httpServer);
206
208
  }
207
- resolve(httpServer);
209
+ resolve({
210
+ httpServer,
211
+ });
208
212
  });
209
213
  httpServer.timeout = 0;
210
214
  httpServer.on("close", () => {
@@ -256,11 +260,13 @@ exports.runBuild = async (
256
260
  if (onBegin) {
257
261
  onBegin();
258
262
  }
259
- const metroBundle = await output.build(metroServer, requestOptions);
263
+ const metroBundle = await output.build(metroServer, requestOptions, {
264
+ withAssets: assets,
265
+ });
260
266
  const result = {
261
267
  ...metroBundle,
262
268
  };
263
- if (assets) {
269
+ if (assets && result.assets == null) {
264
270
  result.assets = await metroServer.getAssets({
265
271
  ...MetroServer.DEFAULT_BUNDLE_OPTIONS,
266
272
  ...requestOptions,
@@ -14,6 +14,7 @@
14
14
  import type {AssetData} from './Assets';
15
15
  import type {ReadOnlyGraph} from './DeltaBundler';
16
16
  import type {ServerOptions} from './Server';
17
+ import type {BuildOptions} from './shared/types.flow';
17
18
  import type {OutputOptions, RequestOptions} from './shared/types.flow.js';
18
19
  import type {HandleFunction} from 'connect';
19
20
  import type {Server as HttpServer} from 'http';
@@ -35,6 +36,7 @@ const makeServeCommand = require('./commands/serve');
35
36
  const MetroHmrServer = require('./HmrServer');
36
37
  const IncrementalBundler = require('./IncrementalBundler');
37
38
  const createWebsocketServer = require('./lib/createWebsocketServer');
39
+ const JsonReporter = require('./lib/JsonReporter');
38
40
  const TerminalReporter = require('./lib/TerminalReporter');
39
41
  const MetroServer = require('./Server');
40
42
  const outputBundle = require('./shared/output/bundle');
@@ -83,6 +85,10 @@ export type RunServerOptions = $ReadOnly<{
83
85
  }>,
84
86
  }>;
85
87
 
88
+ export type RunServerResult = {
89
+ httpServer: HttpServer | HttpsServer,
90
+ };
91
+
86
92
  type BuildGraphOptions = {
87
93
  entries: $ReadOnlyArray<string>,
88
94
  customTransformOptions?: CustomTransformOptions,
@@ -108,9 +114,11 @@ export type RunBuildOptions = {
108
114
  build: (
109
115
  MetroServer,
110
116
  RequestOptions,
117
+ void | BuildOptions,
111
118
  ) => Promise<{
112
119
  code: string,
113
120
  map: string,
121
+ assets?: $ReadOnlyArray<AssetData>,
114
122
  ...
115
123
  }>,
116
124
  save: (
@@ -143,6 +151,7 @@ type BuildCommandOptions = {} | null;
143
151
  type ServeCommandOptions = {} | null;
144
152
 
145
153
  exports.Terminal = Terminal;
154
+ exports.JsonReporter = JsonReporter;
146
155
  exports.TerminalReporter = TerminalReporter;
147
156
 
148
157
  export type {AssetData} from './Assets';
@@ -265,7 +274,7 @@ exports.runServer = async (
265
274
  websocketEndpoints = {},
266
275
  watch,
267
276
  }: RunServerOptions = {},
268
- ): Promise<HttpServer | HttpsServer> => {
277
+ ): Promise<RunServerResult> => {
269
278
  await earlyPortCheck(host, config.server.port);
270
279
 
271
280
  if (secure != null || secureCert != null || secureKey != null) {
@@ -314,73 +323,68 @@ exports.runServer = async (
314
323
  } else {
315
324
  httpServer = http.createServer(serverApp);
316
325
  }
317
- return new Promise(
318
- (
319
- resolve: (result: HttpServer | HttpsServer) => void,
320
- reject: mixed => mixed,
321
- ) => {
322
- httpServer.on('error', error => {
323
- endMiddleware().finally(() => {
324
- onError?.(error);
325
- reject(error);
326
- });
326
+ return new Promise((resolve, reject) => {
327
+ httpServer.on('error', error => {
328
+ endMiddleware().finally(() => {
329
+ onError?.(error);
330
+ reject(error);
327
331
  });
332
+ });
328
333
 
329
- httpServer.listen(config.server.port, host, () => {
330
- const {address, port, family} = httpServer.address();
331
- config.reporter.update({
332
- type: 'server_listening',
333
- address,
334
- port, // Assigned port if configured with port 0
335
- family,
336
- });
337
-
338
- websocketEndpoints = {
339
- ...websocketEndpoints,
340
- '/hot': createWebsocketServer({
341
- websocketServer: new MetroHmrServer(
342
- metroServer.getBundler(),
343
- metroServer.getCreateModuleId(),
344
- config,
345
- ),
346
- }),
347
- };
348
-
349
- httpServer.on('upgrade', (request, socket, head) => {
350
- const {pathname} = parse(request.url);
351
- if (pathname != null && websocketEndpoints[pathname]) {
352
- websocketEndpoints[pathname].handleUpgrade(
353
- request,
354
- socket,
355
- head,
356
- ws => {
357
- websocketEndpoints[pathname].emit('connection', ws, request);
358
- },
359
- );
360
- } else {
361
- socket.destroy();
362
- }
363
- });
364
-
365
- if (onReady) {
366
- onReady(httpServer);
367
- }
334
+ httpServer.listen(config.server.port, host, () => {
335
+ const {address, port, family} = httpServer.address();
336
+ config.reporter.update({
337
+ type: 'server_listening',
338
+ address,
339
+ port, // Assigned port if configured with port 0
340
+ family,
341
+ });
368
342
 
369
- resolve(httpServer);
343
+ websocketEndpoints = {
344
+ ...websocketEndpoints,
345
+ '/hot': createWebsocketServer({
346
+ websocketServer: new MetroHmrServer(
347
+ metroServer.getBundler(),
348
+ metroServer.getCreateModuleId(),
349
+ config,
350
+ ),
351
+ }),
352
+ };
353
+
354
+ httpServer.on('upgrade', (request, socket, head) => {
355
+ const {pathname} = parse(request.url);
356
+ if (pathname != null && websocketEndpoints[pathname]) {
357
+ websocketEndpoints[pathname].handleUpgrade(
358
+ request,
359
+ socket,
360
+ head,
361
+ ws => {
362
+ websocketEndpoints[pathname].emit('connection', ws, request);
363
+ },
364
+ );
365
+ } else {
366
+ socket.destroy();
367
+ }
370
368
  });
371
369
 
372
- // Disable any kind of automatic timeout behavior for incoming
373
- // requests in case it takes the packager more than the default
374
- // timeout of 120 seconds to respond to a request.
375
- httpServer.timeout = 0;
370
+ if (onReady) {
371
+ onReady(httpServer);
372
+ }
373
+
374
+ resolve({httpServer});
375
+ });
376
+
377
+ // Disable any kind of automatic timeout behavior for incoming
378
+ // requests in case it takes the packager more than the default
379
+ // timeout of 120 seconds to respond to a request.
380
+ httpServer.timeout = 0;
376
381
 
377
- httpServer.on('close', () => {
378
- endMiddleware()?.finally(() => {
379
- onClose?.();
380
- });
382
+ httpServer.on('close', () => {
383
+ endMiddleware()?.finally(() => {
384
+ onClose?.();
381
385
  });
382
- },
383
- );
386
+ });
387
+ });
384
388
  };
385
389
 
386
390
  exports.runBuild = async (
@@ -428,10 +432,12 @@ exports.runBuild = async (
428
432
  onBegin();
429
433
  }
430
434
 
431
- const metroBundle = await output.build(metroServer, requestOptions);
435
+ const metroBundle = await output.build(metroServer, requestOptions, {
436
+ withAssets: assets,
437
+ });
432
438
  const result: RunBuildResult = {...metroBundle};
433
439
 
434
- if (assets) {
440
+ if (assets && result.assets == null) {
435
441
  result.assets = await metroServer.getAssets({
436
442
  ...MetroServer.DEFAULT_BUNDLE_OPTIONS,
437
443
  ...requestOptions,
@@ -2,6 +2,10 @@
2
2
 
3
3
  var _doesNotExist = _interopRequireDefault(require("./does-not-exist"));
4
4
  function _interopRequireDefault(e) {
5
- return e && e.__esModule ? e : { default: e };
5
+ return e && e.__esModule
6
+ ? e
7
+ : {
8
+ default: e,
9
+ };
6
10
  }
7
11
  global.x = _doesNotExist.default;
@@ -2,6 +2,10 @@
2
2
 
3
3
  var _doesNotExist = _interopRequireDefault(require("./does-not-exist"));
4
4
  function _interopRequireDefault(e) {
5
- return e && e.__esModule ? e : { default: e };
5
+ return e && e.__esModule
6
+ ? e
7
+ : {
8
+ default: e,
9
+ };
6
10
  }
7
11
  global.x = _doesNotExist.default;
@@ -30,7 +30,11 @@ var _exportPrimitiveDefault = _interopRequireWildcard(
30
30
  var _export3 = _interopRequireDefault(require("./export-3"));
31
31
  var _export4 = require("./export-4");
32
32
  function _interopRequireDefault(e) {
33
- return e && e.__esModule ? e : { default: e };
33
+ return e && e.__esModule
34
+ ? e
35
+ : {
36
+ default: e,
37
+ };
34
38
  }
35
39
  function _getRequireWildcardCache(e) {
36
40
  if ("function" != typeof WeakMap) return null;
@@ -43,10 +47,14 @@ function _getRequireWildcardCache(e) {
43
47
  function _interopRequireWildcard(e, r) {
44
48
  if (!r && e && e.__esModule) return e;
45
49
  if (null === e || ("object" != typeof e && "function" != typeof e))
46
- return { default: e };
50
+ return {
51
+ default: e,
52
+ };
47
53
  var t = _getRequireWildcardCache(r);
48
54
  if (t && t.has(e)) return t.get(e);
49
- var n = { __proto__: null },
55
+ var n = {
56
+ __proto__: null,
57
+ },
50
58
  a = Object.defineProperty && Object.getOwnPropertyDescriptor;
51
59
  for (var u in e)
52
60
  if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.c = exports.b = exports.a = void 0;
7
+ let shouldBeB, shouldBeC;
8
+ try {
9
+ shouldBeB = require("./not-exists");
10
+ } catch {
11
+ shouldBeB = require("./optional-b");
12
+ }
13
+ (function requireOptionalC() {
14
+ try {
15
+ shouldBeC = require("./optional-c");
16
+ } catch (e) {}
17
+ })();
18
+ const a = (exports.a = require("./required-a"));
19
+ const b = (exports.b = shouldBeB);
20
+ const c = (exports.c = shouldBeC);
@@ -0,0 +1,34 @@
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
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ let shouldBeB: mixed, shouldBeC: mixed;
14
+ try {
15
+ // $FlowExpectedError[cannot-resolve-module]
16
+ shouldBeB = require('./not-exists');
17
+ } catch {
18
+ shouldBeB = require('./optional-b');
19
+ }
20
+
21
+ (function requireOptionalC() {
22
+ // This function is here to ensure that the `a` module is always required,
23
+ // even if it is not used in the code.
24
+ try {
25
+ shouldBeC = require('./optional-c');
26
+ } catch (e) {
27
+ // If the optional module is not found, we can ignore the error.
28
+ // This is to simulate an optional dependency that may or may not exist.
29
+ }
30
+ })();
31
+
32
+ export const a = require('./required-a');
33
+ export const b = shouldBeB;
34
+ export const c = shouldBeC;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ module.exports = "b";
@@ -0,0 +1,11 @@
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
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ module.exports = 'b';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ module.exports = "c";
@@ -0,0 +1,11 @@
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
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ module.exports = 'c';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ module.exports = "a";
@@ -0,0 +1,11 @@
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
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ module.exports = 'a';
@@ -11,6 +11,7 @@
11
11
  'use strict';
12
12
 
13
13
  const MAGIC_NUMBER = require('../shared/output/RamBundle/magic-number');
14
+
14
15
  const SIZEOF_UINT32 = 4;
15
16
  const HEADER_SIZE = 3;
16
17
 
@@ -9,7 +9,11 @@ var _crypto = _interopRequireDefault(require("crypto"));
9
9
  var _nullthrows = _interopRequireDefault(require("nullthrows"));
10
10
  var _path = _interopRequireDefault(require("path"));
11
11
  function _interopRequireDefault(e) {
12
- return e && e.__esModule ? e : { default: e };
12
+ return e && e.__esModule
13
+ ? e
14
+ : {
15
+ default: e,
16
+ };
13
17
  }
14
18
  function toHash(value) {
15
19
  return _crypto.default.createHash("sha1").update(value).digest("hex");
@@ -17,10 +17,14 @@ function _getRequireWildcardCache(e) {
17
17
  function _interopRequireWildcard(e, r) {
18
18
  if (!r && e && e.__esModule) return e;
19
19
  if (null === e || ("object" != typeof e && "function" != typeof e))
20
- return { default: e };
20
+ return {
21
+ default: e,
22
+ };
21
23
  var t = _getRequireWildcardCache(r);
22
24
  if (t && t.has(e)) return t.get(e);
23
- var n = { __proto__: null },
25
+ var n = {
26
+ __proto__: null,
27
+ },
24
28
  a = Object.defineProperty && Object.getOwnPropertyDescriptor;
25
29
  for (var u in e)
26
30
  if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
@@ -2,7 +2,11 @@
2
2
 
3
3
  var _ws = _interopRequireDefault(require("ws"));
4
4
  function _interopRequireDefault(e) {
5
- return e && e.__esModule ? e : { default: e };
5
+ return e && e.__esModule
6
+ ? e
7
+ : {
8
+ default: e,
9
+ };
6
10
  }
7
11
  module.exports = function createWebsocketServer({ websocketServer }) {
8
12
  const wss = new _ws.default.Server({
@@ -10,6 +10,7 @@
10
10
  */
11
11
 
12
12
  import ws from 'ws';
13
+
13
14
  type WebsocketServiceInterface<T> = interface {
14
15
  +onClientConnect: (
15
16
  url: string,
@@ -26,7 +26,7 @@ const serializeError = require('serialize-error');
26
26
 
27
27
  export type CustomError = Error &
28
28
  interface {
29
- type?: string,
29
+ +type?: string,
30
30
  filename?: string,
31
31
  lineNumber?: number,
32
32
  errors?: Array<{
@@ -2,7 +2,11 @@
2
2
 
3
3
  var _CountingSet = _interopRequireDefault(require("./CountingSet"));
4
4
  function _interopRequireDefault(e) {
5
- return e && e.__esModule ? e : { default: e };
5
+ return e && e.__esModule
6
+ ? e
7
+ : {
8
+ default: e,
9
+ };
6
10
  }
7
11
  const getInlineSourceMappingURL = require("../DeltaBundler/Serializers/helpers/getInlineSourceMappingURL");
8
12
  const {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- const canonicalize = require("metro-core/src/canonicalize");
3
+ const canonicalize = require("metro-core/private/canonicalize");
4
4
  function getGraphId(
5
5
  entryFile,
6
6
  options,
@@ -14,7 +14,7 @@
14
14
  import type {TransformInputOptions} from '../DeltaBundler/types.flow';
15
15
  import type {ResolverInputOptions} from '../shared/types.flow';
16
16
 
17
- const canonicalize = require('metro-core/src/canonicalize');
17
+ const canonicalize = require('metro-core/private/canonicalize');
18
18
 
19
19
  export opaque type GraphId: string = string;
20
20
 
@@ -2,12 +2,16 @@
2
2
 
3
3
  var _CountingSet = _interopRequireDefault(require("./CountingSet"));
4
4
  function _interopRequireDefault(e) {
5
- return e && e.__esModule ? e : { default: e };
5
+ return e && e.__esModule
6
+ ? e
7
+ : {
8
+ default: e,
9
+ };
6
10
  }
7
11
  const countLines = require("./countLines");
8
12
  const getPreludeCode = require("./getPreludeCode");
9
13
  const transformHelpers = require("./transformHelpers");
10
- const defaults = require("metro-config/src/defaults/defaults");
14
+ const defaults = require("metro-config/private/defaults/defaults");
11
15
  async function getPrependedScripts(
12
16
  config,
13
17
  options,
@@ -15,14 +15,14 @@ import type Bundler from '../Bundler';
15
15
  import type DeltaBundler, {Module} from '../DeltaBundler';
16
16
  import type {TransformInputOptions} from '../DeltaBundler/types.flow';
17
17
  import type {ResolverInputOptions} from '../shared/types.flow';
18
- import type {ConfigT} from 'metro-config/src/configTypes.flow';
18
+ import type {ConfigT} from 'metro-config/private/configTypes.flow';
19
19
 
20
20
  import CountingSet from './CountingSet';
21
21
 
22
22
  const countLines = require('./countLines');
23
23
  const getPreludeCode = require('./getPreludeCode');
24
24
  const transformHelpers = require('./transformHelpers');
25
- const defaults = require('metro-config/src/defaults/defaults');
25
+ const defaults = require('metro-config/private/defaults/defaults');
26
26
 
27
27
  async function getPrependedScripts(
28
28
  config: ConfigT,
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.isResolvedDependency = isResolvedDependency;
7
+ function isResolvedDependency(dep) {
8
+ return dep.absolutePath != null;
9
+ }
@@ -0,0 +1,18 @@
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
+ import type {Dependency, ResolvedDependency} from '../DeltaBundler/types.flow';
13
+
14
+ export function isResolvedDependency(
15
+ dep: Dependency,
16
+ ): dep is ResolvedDependency {
17
+ return dep.absolutePath != null;
18
+ }
@@ -2,10 +2,14 @@
2
2
 
3
3
  var _contextModuleTemplates = require("./contextModuleTemplates");
4
4
  var _isAssetFile = _interopRequireDefault(
5
- require("metro-resolver/src/utils/isAssetFile")
5
+ require("metro-resolver/private/utils/isAssetFile")
6
6
  );
7
7
  function _interopRequireDefault(e) {
8
- return e && e.__esModule ? e : { default: e };
8
+ return e && e.__esModule
9
+ ? e
10
+ : {
11
+ default: e,
12
+ };
9
13
  }
10
14
  const baseIgnoredInlineRequires = [
11
15
  "React",
@@ -79,10 +83,6 @@ async function calcTransformerOptions(
79
83
  );
80
84
  return {
81
85
  ...baseOptions,
82
- inlinePlatform:
83
- transform?.unstable_inlinePlatform != null
84
- ? transform.unstable_inlinePlatform
85
- : true,
86
86
  inlineRequires: transform?.inlineRequires || false,
87
87
  experimentalImportSupport: transform?.experimentalImportSupport || false,
88
88
  unstable_disableES6Transforms: