metro 0.65.2 → 0.67.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 (255) hide show
  1. package/package.json +27 -27
  2. package/src/Assets.js +9 -9
  3. package/src/Assets.js.flow +5 -7
  4. package/src/Bundler/util.js +17 -15
  5. package/src/Bundler/util.js.flow +12 -10
  6. package/src/Bundler.js +22 -9
  7. package/src/Bundler.js.flow +20 -7
  8. package/src/DeltaBundler/DeltaCalculator.js +17 -15
  9. package/src/DeltaBundler/DeltaCalculator.js.flow +9 -7
  10. package/src/DeltaBundler/Serializers/baseBytecodeBundle.js +13 -13
  11. package/src/DeltaBundler/Serializers/baseBytecodeBundle.js.flow +6 -7
  12. package/src/DeltaBundler/Serializers/baseJSBundle.js +4 -4
  13. package/src/DeltaBundler/Serializers/baseJSBundle.js.flow +4 -4
  14. package/src/DeltaBundler/Serializers/getAllFiles.js +1 -1
  15. package/src/DeltaBundler/Serializers/getAllFiles.js.flow +3 -3
  16. package/src/DeltaBundler/Serializers/getAssets.js +3 -3
  17. package/src/DeltaBundler/Serializers/getAssets.js.flow +4 -5
  18. package/src/DeltaBundler/Serializers/getExplodedSourceMap.js +4 -4
  19. package/src/DeltaBundler/Serializers/getExplodedSourceMap.js.flow +4 -4
  20. package/src/DeltaBundler/Serializers/getRamBundleInfo.js +20 -20
  21. package/src/DeltaBundler/Serializers/getRamBundleInfo.js.flow +9 -10
  22. package/src/DeltaBundler/Serializers/helpers/bytecode.js +11 -11
  23. package/src/DeltaBundler/Serializers/helpers/bytecode.js.flow +5 -6
  24. package/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js +1 -1
  25. package/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js.flow +1 -1
  26. package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +2 -2
  27. package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js.flow +4 -4
  28. package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +1 -1
  29. package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js.flow +1 -1
  30. package/src/DeltaBundler/Serializers/helpers/js.js +18 -8
  31. package/src/DeltaBundler/Serializers/helpers/js.js.flow +19 -10
  32. package/src/DeltaBundler/Serializers/helpers/processBytecodeModules.js +4 -4
  33. package/src/DeltaBundler/Serializers/helpers/processBytecodeModules.js.flow +3 -3
  34. package/src/DeltaBundler/Serializers/helpers/processModules.js +4 -4
  35. package/src/DeltaBundler/Serializers/helpers/processModules.js.flow +3 -3
  36. package/src/DeltaBundler/Serializers/hmrJSBundle.js +9 -9
  37. package/src/DeltaBundler/Serializers/hmrJSBundle.js.flow +9 -8
  38. package/src/DeltaBundler/Serializers/sourceMapGenerator.js +6 -6
  39. package/src/DeltaBundler/Serializers/sourceMapGenerator.js.flow +3 -4
  40. package/src/DeltaBundler/Serializers/sourceMapObject.js +5 -5
  41. package/src/DeltaBundler/Serializers/sourceMapObject.js.flow +4 -4
  42. package/src/DeltaBundler/Serializers/sourceMapString.js +2 -2
  43. package/src/DeltaBundler/Serializers/sourceMapString.js.flow +3 -3
  44. package/src/DeltaBundler/Transformer.js +16 -14
  45. package/src/DeltaBundler/Transformer.js.flow +15 -15
  46. package/src/DeltaBundler/Worker.js +8 -11
  47. package/src/DeltaBundler/Worker.js.flow +8 -11
  48. package/src/DeltaBundler/WorkerFarm.js +15 -18
  49. package/src/DeltaBundler/WorkerFarm.js.flow +9 -11
  50. package/src/DeltaBundler/__fixtures__/hasteImpl.js +2 -2
  51. package/src/DeltaBundler/computeDelta.js +2 -2
  52. package/src/DeltaBundler/computeDelta.js.flow +2 -2
  53. package/src/DeltaBundler/getTransformCacheKey.js +4 -4
  54. package/src/DeltaBundler/getTransformCacheKey.js.flow +5 -6
  55. package/src/DeltaBundler/mergeDeltas.js +2 -2
  56. package/src/DeltaBundler/mergeDeltas.js.flow +1 -1
  57. package/src/DeltaBundler/traverseDependencies.js +22 -22
  58. package/src/DeltaBundler/traverseDependencies.js.flow +3 -3
  59. package/src/DeltaBundler/types.flow.js +1 -1
  60. package/src/DeltaBundler/types.flow.js.flow +15 -1
  61. package/src/DeltaBundler.js +5 -5
  62. package/src/DeltaBundler.js.flow +4 -4
  63. package/src/HmrServer.js +73 -55
  64. package/src/HmrServer.js.flow +42 -37
  65. package/src/IncrementalBundler/GraphNotFoundError.js +1 -1
  66. package/src/IncrementalBundler/GraphNotFoundError.js.flow +1 -1
  67. package/src/IncrementalBundler/ResourceNotFoundError.js +1 -1
  68. package/src/IncrementalBundler/ResourceNotFoundError.js.flow +1 -1
  69. package/src/IncrementalBundler/RevisionNotFoundError.js +1 -1
  70. package/src/IncrementalBundler/RevisionNotFoundError.js.flow +1 -1
  71. package/src/IncrementalBundler.js +46 -32
  72. package/src/IncrementalBundler.js.flow +32 -24
  73. package/src/ModuleGraph/module.js +3 -3
  74. package/src/ModuleGraph/module.js.flow +1 -1
  75. package/src/ModuleGraph/node-haste/HasteFS.js +5 -3
  76. package/src/ModuleGraph/node-haste/HasteFS.js.flow +3 -1
  77. package/src/ModuleGraph/node-haste/Module.js +1 -1
  78. package/src/ModuleGraph/node-haste/Module.js.flow +1 -1
  79. package/src/ModuleGraph/node-haste/ModuleCache.js +1 -1
  80. package/src/ModuleGraph/node-haste/ModuleCache.js.flow +3 -3
  81. package/src/ModuleGraph/node-haste/Package.js +3 -3
  82. package/src/ModuleGraph/node-haste/Package.js.flow +3 -3
  83. package/src/ModuleGraph/node-haste/node-haste.flow.js +1 -1
  84. package/src/ModuleGraph/node-haste/node-haste.flow.js.flow +1 -1
  85. package/src/ModuleGraph/node-haste/node-haste.js +41 -31
  86. package/src/ModuleGraph/node-haste/node-haste.js.flow +28 -22
  87. package/src/ModuleGraph/output/indexed-ram-bundle.js +17 -17
  88. package/src/ModuleGraph/output/indexed-ram-bundle.js.flow +41 -9
  89. package/src/ModuleGraph/output/multiple-files-ram-bundle.js +18 -18
  90. package/src/ModuleGraph/output/multiple-files-ram-bundle.js.flow +21 -9
  91. package/src/ModuleGraph/output/plain-bundle.js +6 -6
  92. package/src/ModuleGraph/output/plain-bundle.js.flow +7 -7
  93. package/src/ModuleGraph/output/reverse-dependency-map-references.js +3 -3
  94. package/src/ModuleGraph/output/reverse-dependency-map-references.js.flow +4 -8
  95. package/src/ModuleGraph/output/util.js +61 -40
  96. package/src/ModuleGraph/output/util.js.flow +51 -28
  97. package/src/ModuleGraph/silent-console.js +2 -2
  98. package/src/ModuleGraph/silent-console.js.flow +1 -1
  99. package/src/ModuleGraph/test-helpers.js +7 -7
  100. package/src/ModuleGraph/types.flow.js +1 -1
  101. package/src/ModuleGraph/types.flow.js.flow +47 -31
  102. package/src/ModuleGraph/worker/JsFileWrapping.js +16 -16
  103. package/src/ModuleGraph/worker/JsFileWrapping.js.flow +3 -2
  104. package/src/ModuleGraph/worker/Platforms.js +2 -2
  105. package/src/ModuleGraph/worker/Platforms.js.flow +1 -1
  106. package/src/ModuleGraph/worker/collectDependencies.js +24 -25
  107. package/src/ModuleGraph/worker/collectDependencies.js.flow +16 -18
  108. package/src/ModuleGraph/worker/generate.js +2 -2
  109. package/src/ModuleGraph/worker/generate.js.flow +3 -3
  110. package/src/ModuleGraph/worker/generateImportNames.js +5 -5
  111. package/src/ModuleGraph/worker/generateImportNames.js.flow +3 -5
  112. package/src/ModuleGraph/worker/mergeSourceMaps.js +8 -7
  113. package/src/ModuleGraph/worker/mergeSourceMaps.js.flow +3 -3
  114. package/src/Server/MultipartResponse.js +4 -8
  115. package/src/Server/symbolicate.js +8 -8
  116. package/src/Server/symbolicate.js.flow +17 -5
  117. package/src/Server.js +204 -150
  118. package/src/Server.js.flow +131 -87
  119. package/src/cli-utils.js +4 -4
  120. package/src/cli-utils.js.flow +15 -13
  121. package/src/cli.js +4 -4
  122. package/src/cli.js.flow +2 -4
  123. package/src/commands/build.js +23 -24
  124. package/src/commands/build.js.flow +6 -9
  125. package/src/commands/dependencies.js +25 -19
  126. package/src/commands/serve.js +19 -19
  127. package/src/commands/serve.js.flow +7 -9
  128. package/src/index.js +117 -50
  129. package/src/index.js.flow +108 -40
  130. package/src/integration_tests/basic_bundle/AssetRegistry.js +2 -2
  131. package/src/integration_tests/basic_bundle/AssetRegistry.js.flow +1 -1
  132. package/src/integration_tests/basic_bundle/Bar.js +2 -2
  133. package/src/integration_tests/basic_bundle/Bar.js.flow +1 -1
  134. package/src/integration_tests/basic_bundle/ErrorBundle.js +2 -2
  135. package/src/integration_tests/basic_bundle/ErrorBundle.js.flow +1 -1
  136. package/src/integration_tests/basic_bundle/Foo.js +2 -2
  137. package/src/integration_tests/basic_bundle/Foo.js.flow +1 -1
  138. package/src/integration_tests/basic_bundle/TestBundle.js +2 -2
  139. package/src/integration_tests/basic_bundle/TestBundle.js.flow +1 -1
  140. package/src/integration_tests/basic_bundle/TestPolyfill.js +1 -1
  141. package/src/integration_tests/basic_bundle/TestPolyfill.js.flow +1 -1
  142. package/src/integration_tests/basic_bundle/TypeScript.ts +1 -1
  143. package/src/integration_tests/basic_bundle/import-export/export-1.js +2 -2
  144. package/src/integration_tests/basic_bundle/import-export/export-1.js.flow +1 -1
  145. package/src/integration_tests/basic_bundle/import-export/export-2.js +2 -2
  146. package/src/integration_tests/basic_bundle/import-export/export-2.js.flow +1 -1
  147. package/src/integration_tests/basic_bundle/import-export/export-3.js +2 -2
  148. package/src/integration_tests/basic_bundle/import-export/export-3.js.flow +1 -1
  149. package/src/integration_tests/basic_bundle/import-export/export-4.js +2 -2
  150. package/src/integration_tests/basic_bundle/import-export/export-4.js.flow +1 -1
  151. package/src/integration_tests/basic_bundle/import-export/export-5.js +2 -2
  152. package/src/integration_tests/basic_bundle/import-export/export-5.js.flow +1 -1
  153. package/src/integration_tests/basic_bundle/import-export/export-6.js +2 -2
  154. package/src/integration_tests/basic_bundle/import-export/export-6.js.flow +1 -1
  155. package/src/integration_tests/basic_bundle/import-export/export-null.js +2 -2
  156. package/src/integration_tests/basic_bundle/import-export/export-null.js.flow +1 -1
  157. package/src/integration_tests/basic_bundle/import-export/export-primitive-default.js +2 -2
  158. package/src/integration_tests/basic_bundle/import-export/export-primitive-default.js.flow +1 -1
  159. package/src/integration_tests/basic_bundle/import-export/index.js +17 -17
  160. package/src/integration_tests/basic_bundle/import-export/index.js.flow +1 -1
  161. package/src/integration_tests/basic_bundle/polyfill.js +1 -1
  162. package/src/integration_tests/execBundle.js +2 -2
  163. package/src/integration_tests/execBundle.js.flow +1 -1
  164. package/src/integration_tests/metro.config.js +8 -8
  165. package/src/lib/BatchProcessor.js +10 -6
  166. package/src/lib/BatchProcessor.js.flow +6 -1
  167. package/src/lib/JsonReporter.js +3 -2
  168. package/src/lib/JsonReporter.js.flow +2 -1
  169. package/src/lib/RamBundleParser.js +1 -1
  170. package/src/lib/RamBundleParser.js.flow +1 -1
  171. package/src/lib/TerminalReporter.js +15 -15
  172. package/src/lib/TerminalReporter.js.flow +15 -16
  173. package/src/lib/bundleToBytecode.js +6 -7
  174. package/src/lib/bundleToBytecode.js.flow +8 -7
  175. package/src/lib/bundleToString.js +3 -3
  176. package/src/lib/bundleToString.js.flow +5 -4
  177. package/src/lib/countLines.js +3 -7
  178. package/src/lib/countLines.js.flow +4 -7
  179. package/src/lib/createModuleIdFactory.js +2 -2
  180. package/src/lib/createModuleIdFactory.js.flow +1 -1
  181. package/src/lib/{attachWebsocketServer.js → createWebsocketServer.js} +18 -17
  182. package/src/lib/{attachWebsocketServer.js.flow → createWebsocketServer.js.flow} +13 -23
  183. package/src/lib/debounceAsyncQueue.js +2 -2
  184. package/src/lib/debounceAsyncQueue.js.flow +1 -1
  185. package/src/lib/formatBundlingError.js +21 -21
  186. package/src/lib/formatBundlingError.js.flow +18 -20
  187. package/src/lib/getAppendScripts.js +26 -27
  188. package/src/lib/getAppendScripts.js.flow +7 -8
  189. package/src/lib/getGraphId.js +3 -3
  190. package/src/lib/getGraphId.js.flow +3 -3
  191. package/src/lib/getMaxWorkers.js +2 -2
  192. package/src/lib/getMaxWorkers.js.flow +1 -1
  193. package/src/lib/getPreludeCode.js +2 -2
  194. package/src/lib/getPreludeCode.js.flow +1 -1
  195. package/src/lib/getPrependedScripts.js +16 -15
  196. package/src/lib/getPrependedScripts.js.flow +8 -8
  197. package/src/lib/logToConsole.js +12 -5
  198. package/src/lib/logToConsole.js.flow +19 -6
  199. package/src/lib/parseCustomTransformOptions.js +2 -2
  200. package/src/lib/parseCustomTransformOptions.js.flow +3 -3
  201. package/src/lib/parseOptionsFromUrl.js +7 -7
  202. package/src/lib/parseOptionsFromUrl.js.flow +29 -9
  203. package/src/lib/relativizeSourceMap.js +1 -1
  204. package/src/lib/relativizeSourceMap.js.flow +3 -3
  205. package/src/lib/reporting.js +5 -5
  206. package/src/lib/reporting.js.flow +18 -4
  207. package/src/lib/splitBundleOptions.js +5 -5
  208. package/src/lib/splitBundleOptions.js.flow +1 -1
  209. package/src/lib/transformHelpers.js +11 -10
  210. package/src/lib/transformHelpers.js.flow +6 -13
  211. package/src/node-haste/DependencyGraph/ModuleResolution.js +51 -30
  212. package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +49 -48
  213. package/src/node-haste/DependencyGraph/createHasteMap.js +99 -0
  214. package/src/node-haste/DependencyGraph/createHasteMap.js.flow +88 -0
  215. package/src/node-haste/DependencyGraph/{assets/empty-module.js → types.js} +2 -2
  216. package/src/node-haste/DependencyGraph/types.js.flow +88 -0
  217. package/src/node-haste/DependencyGraph.js +51 -118
  218. package/src/node-haste/DependencyGraph.js.flow +38 -111
  219. package/src/node-haste/Module.js +1 -1
  220. package/src/node-haste/Module.js.flow +3 -3
  221. package/src/node-haste/ModuleCache.js +54 -13
  222. package/src/node-haste/ModuleCache.js.flow +53 -12
  223. package/src/node-haste/Package.js +2 -2
  224. package/src/node-haste/Package.js.flow +1 -1
  225. package/src/node-haste/lib/AssetPaths.js +5 -5
  226. package/src/node-haste/lib/AssetPaths.js.flow +7 -6
  227. package/src/node-haste/lib/parsePlatformFilePath.js +4 -4
  228. package/src/node-haste/lib/parsePlatformFilePath.js.flow +2 -2
  229. package/src/shared/output/RamBundle/as-assets.js +14 -15
  230. package/src/shared/output/RamBundle/as-assets.js.flow +9 -11
  231. package/src/shared/output/RamBundle/as-indexed-file.js +14 -15
  232. package/src/shared/output/RamBundle/as-indexed-file.js.flow +8 -12
  233. package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js +7 -7
  234. package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js.flow +4 -4
  235. package/src/shared/output/RamBundle/magic-number.js +1 -1
  236. package/src/shared/output/RamBundle/magic-number.js.flow +1 -1
  237. package/src/shared/output/RamBundle/util.js +21 -19
  238. package/src/shared/output/RamBundle/util.js.flow +5 -8
  239. package/src/shared/output/RamBundle/write-sourcemap.js +1 -1
  240. package/src/shared/output/RamBundle/write-sourcemap.js.flow +1 -1
  241. package/src/shared/output/RamBundle.js +2 -2
  242. package/src/shared/output/RamBundle.js.flow +4 -5
  243. package/src/shared/output/bundle.js +6 -6
  244. package/src/shared/output/bundle.js.flow +4 -5
  245. package/src/shared/output/meta.js +4 -5
  246. package/src/shared/output/meta.js.flow +2 -4
  247. package/src/shared/output/unbundle.js +1 -1
  248. package/src/shared/output/unbundle.js.flow +1 -1
  249. package/src/shared/output/writeFile.js +1 -1
  250. package/src/shared/output/writeFile.js.flow +1 -1
  251. package/src/shared/types.flow.js +1 -1
  252. package/src/shared/types.flow.js.flow +6 -4
  253. package/src/node-haste/DependencyGraph/assets/empty-module.js.flow +0 -9
  254. package/src/node-haste/types.js +0 -10
  255. package/src/node-haste/types.js.flow +0 -23
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,10 +10,11 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ import type {FunctionExpression, Identifier, Program} from '@babel/types';
14
+
13
15
  import template from '@babel/template';
14
16
  import traverse from '@babel/traverse';
15
17
  import * as t from '@babel/types';
16
- import type {Program, FunctionExpression, Identifier} from '@babel/types';
17
18
  import invariant from 'invariant';
18
19
 
19
20
  const WRAP_NAME = '$$_REQUIRE'; // note: babel will prefix this with _
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -17,5 +17,5 @@
17
17
 
18
18
  const VALID_PLATFORMS = new Set(["ios", "android", "web"]);
19
19
  module.exports = {
20
- VALID_PLATFORMS
20
+ VALID_PLATFORMS,
21
21
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -9,10 +9,6 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const invariant = require("invariant");
13
-
14
- const nullthrows = require("nullthrows");
15
-
16
12
  const generate = require("@babel/generator").default;
17
13
 
18
14
  const template = require("@babel/template").default;
@@ -21,6 +17,10 @@ const traverse = require("@babel/traverse").default;
21
17
 
22
18
  const types = require("@babel/types");
23
19
 
20
+ const invariant = require("invariant");
21
+
22
+ const nullthrows = require("nullthrows");
23
+
24
24
  const { isImport } = types;
25
25
 
26
26
  /**
@@ -52,7 +52,7 @@ function collectDependencies(ast, options) {
52
52
  dependencyMapIdentifier: null,
53
53
  dynamicRequires: options.dynamicRequires,
54
54
  keepRequireNames: options.keepRequireNames,
55
- allowOptionalDependencies: options.allowOptionalDependencies
55
+ allowOptionalDependencies: options.allowOptionalDependencies,
56
56
  };
57
57
  const visitor = {
58
58
  CallExpression(path, state) {
@@ -65,14 +65,14 @@ function collectDependencies(ast, options) {
65
65
 
66
66
  if (isImport(callee)) {
67
67
  processImportCall(path, state, {
68
- asyncType: "async"
68
+ asyncType: "async",
69
69
  });
70
70
  return;
71
71
  }
72
72
 
73
73
  if (name === "__prefetchImport" && !path.scope.getBinding(name)) {
74
74
  processImportCall(path, state, {
75
- asyncType: "prefetch"
75
+ asyncType: "prefetch",
76
76
  });
77
77
  return;
78
78
  }
@@ -80,7 +80,7 @@ function collectDependencies(ast, options) {
80
80
  if (name === "__jsResource" && !path.scope.getBinding(name)) {
81
81
  processImportCall(path, state, {
82
82
  asyncType: "async",
83
- jsResource: true
83
+ jsResource: true,
84
84
  });
85
85
  return;
86
86
  }
@@ -94,7 +94,7 @@ function collectDependencies(ast, options) {
94
94
  processImportCall(path, state, {
95
95
  asyncType: "async",
96
96
  jsResource: true,
97
- splitCondition: args[1]
97
+ splitCondition: args[1],
98
98
  });
99
99
  return;
100
100
  }
@@ -123,13 +123,12 @@ function collectDependencies(ast, options) {
123
123
  options.dependencyMapName
124
124
  );
125
125
  } else {
126
- state.dependencyMapIdentifier = path.scope.generateUidIdentifier(
127
- "dependencyMap"
128
- );
126
+ state.dependencyMapIdentifier =
127
+ path.scope.generateUidIdentifier("dependencyMap");
129
128
  }
130
129
 
131
130
  state.dependencyCalls = new Set(["require", ...options.inlineableCalls]);
132
- }
131
+ },
133
132
  };
134
133
  traverse(ast, visitor, null, state);
135
134
  const collectedDependencies = state.dependencyRegistry.getDependencies(); // Compute the list of dependencies.
@@ -139,14 +138,14 @@ function collectDependencies(ast, options) {
139
138
  for (const { index, name, ...dependencyData } of collectedDependencies) {
140
139
  dependencies[index] = {
141
140
  name,
142
- data: dependencyData
141
+ data: dependencyData,
143
142
  };
144
143
  }
145
144
 
146
145
  return {
147
146
  ast,
148
147
  dependencies,
149
- dependencyMapName: nullthrows(state.dependencyMapIdentifier).name
148
+ dependencyMapName: nullthrows(state.dependencyMapIdentifier).name,
150
149
  };
151
150
  }
152
151
 
@@ -157,7 +156,7 @@ function collectImports(path, state) {
157
156
  {
158
157
  name: path.node.source.value,
159
158
  asyncType: null,
160
- optional: false
159
+ optional: false,
161
160
  },
162
161
  path
163
162
  );
@@ -177,7 +176,7 @@ function processImportCall(path, state, options) {
177
176
  name,
178
177
  asyncType: options.asyncType,
179
178
  splitCondition: options.splitCondition,
180
- optional: isOptionalDependency(name, path, state)
179
+ optional: isOptionalDependency(name, path, state),
181
180
  },
182
181
  path
183
182
  );
@@ -210,7 +209,7 @@ function processRequireCall(path, state) {
210
209
  {
211
210
  name,
212
211
  asyncType: null,
213
- optional: isOptionalDependency(name, path, state)
212
+ optional: isOptionalDependency(name, path, state),
214
213
  },
215
214
  path
216
215
  );
@@ -361,7 +360,7 @@ const DefaultDependencyTransformer = {
361
360
  state.asyncRequireModulePathStringLiteral
362
361
  ),
363
362
  MODULE_ID: createModuleIDExpression(dependency, state),
364
- MODULE_NAME: createModuleNameLiteral(dependency)
363
+ MODULE_NAME: createModuleNameLiteral(dependency),
365
364
  })
366
365
  );
367
366
  },
@@ -373,7 +372,7 @@ const DefaultDependencyTransformer = {
373
372
  state.asyncRequireModulePathStringLiteral
374
373
  ),
375
374
  MODULE_ID: createModuleIDExpression(dependency, state),
376
- MODULE_NAME: createModuleNameLiteral(dependency)
375
+ MODULE_NAME: createModuleNameLiteral(dependency),
377
376
  })
378
377
  );
379
378
  },
@@ -385,7 +384,7 @@ const DefaultDependencyTransformer = {
385
384
  state.asyncRequireModulePathStringLiteral
386
385
  ),
387
386
  MODULE_ID: createModuleIDExpression(dependency, state),
388
- MODULE_NAME: createModuleNameLiteral(dependency)
387
+ MODULE_NAME: createModuleNameLiteral(dependency),
389
388
  })
390
389
  );
391
390
  },
@@ -404,10 +403,10 @@ const DefaultDependencyTransformer = {
404
403
  _path$node$loc$start$ !== void 0
405
404
  ? _path$node$loc$start$
406
405
  : 0
407
- )
406
+ ),
408
407
  })
409
408
  );
410
- }
409
+ },
411
410
  };
412
411
 
413
412
  function createModuleIDExpression(dependency, state) {
@@ -433,7 +432,7 @@ class DefaultModuleDependencyRegistry {
433
432
  name: qualifier.name,
434
433
  asyncType: qualifier.asyncType,
435
434
  locs: [],
436
- index: this._dependencies.size
435
+ index: this._dependencies.size,
437
436
  };
438
437
 
439
438
  if (qualifier.optional) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,23 +10,22 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const invariant = require('invariant');
14
- const nullthrows = require('nullthrows');
13
+ import type {NodePath} from '@babel/traverse';
14
+ import type {CallExpression, Identifier, StringLiteral} from '@babel/types';
15
+ import type {
16
+ AllowOptionalDependencies,
17
+ AsyncDependencyType,
18
+ } from 'metro/src/DeltaBundler/types.flow.js';
15
19
 
16
20
  const generate = require('@babel/generator').default;
17
21
  const template = require('@babel/template').default;
18
22
  const traverse = require('@babel/traverse').default;
19
23
  const types = require('@babel/types');
24
+ const invariant = require('invariant');
25
+ const nullthrows = require('nullthrows');
20
26
 
21
27
  const {isImport} = types;
22
28
 
23
- import type {NodePath} from '@babel/traverse';
24
- import type {CallExpression, Identifier, StringLiteral} from '@babel/types';
25
- import type {
26
- AllowOptionalDependencies,
27
- AsyncDependencyType,
28
- } from 'metro/src/DeltaBundler/types.flow.js';
29
-
30
29
  type ImportDependencyOptions = $ReadOnly<{
31
30
  asyncType: AsyncDependencyType,
32
31
  jsResource?: boolean,
@@ -71,7 +70,7 @@ export type State<TSplitCondition> = {
71
70
 
72
71
  export type Options<TSplitCondition = void> = $ReadOnly<{
73
72
  asyncRequireModulePath: string,
74
- dependencyMapName?: string,
73
+ dependencyMapName: ?string,
75
74
  dynamicRequires: DynamicRequiresBehavior,
76
75
  inlineableCalls: $ReadOnlyArray<string>,
77
76
  keepRequireNames: boolean,
@@ -224,9 +223,8 @@ function collectDependencies<TSplitCondition = void>(
224
223
  options.dependencyMapName,
225
224
  );
226
225
  } else {
227
- state.dependencyMapIdentifier = path.scope.generateUidIdentifier(
228
- 'dependencyMap',
229
- );
226
+ state.dependencyMapIdentifier =
227
+ path.scope.generateUidIdentifier('dependencyMap');
230
228
  }
231
229
 
232
230
  state.dependencyCalls = new Set(['require', ...options.inlineableCalls]);
@@ -549,15 +547,15 @@ function createModuleNameLiteral(dependency: InternalDependency<mixed>) {
549
547
  }
550
548
 
551
549
  class DefaultModuleDependencyRegistry<TSplitCondition = void>
552
- implements ModuleDependencyRegistry<TSplitCondition> {
550
+ implements ModuleDependencyRegistry<TSplitCondition>
551
+ {
553
552
  _dependencies: Map<string, InternalDependency<TSplitCondition>> = new Map();
554
553
 
555
554
  registerDependency(
556
555
  qualifier: ImportQualifier,
557
556
  ): InternalDependency<TSplitCondition> {
558
- let dependency: ?InternalDependency<TSplitCondition> = this._dependencies.get(
559
- qualifier.name,
560
- );
557
+ let dependency: ?InternalDependency<TSplitCondition> =
558
+ this._dependencies.get(qualifier.name);
561
559
 
562
560
  if (dependency == null) {
563
561
  const newDependency: MutableInternalDependency<TSplitCondition> = {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -20,7 +20,7 @@ function generate(ast, filename, sourceCode) {
20
20
  filename,
21
21
  sourceFileName: filename,
22
22
  sourceMaps: true,
23
- sourceMapTarget: filename
23
+ sourceMapTarget: filename,
24
24
  },
25
25
  sourceCode
26
26
  );
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,10 +10,10 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const babelGenerate = require('@babel/generator').default;
14
-
15
13
  import type {GeneratorResult} from '@babel/generator';
16
14
 
15
+ const babelGenerate = require('@babel/generator').default;
16
+
17
17
  function generate(
18
18
  ast: BabelNode,
19
19
  filename: string,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -9,9 +9,9 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const nullthrows = require("nullthrows");
13
-
14
12
  const traverse = require("@babel/traverse").default;
13
+
14
+ const nullthrows = require("nullthrows");
15
15
  /**
16
16
  * Select unused names for "metroImportDefault" and "metroImportAll", by
17
17
  * calling "generateUid".
@@ -25,11 +25,11 @@ function generateImportNames(ast) {
25
25
  importAll = path.scope.generateUid("$$_IMPORT_ALL");
26
26
  importDefault = path.scope.generateUid("$$_IMPORT_DEFAULT");
27
27
  path.stop();
28
- }
28
+ },
29
29
  });
30
30
  return {
31
31
  importAll: nullthrows(importAll),
32
- importDefault: nullthrows(importDefault)
32
+ importDefault: nullthrows(importDefault),
33
33
  };
34
34
  }
35
35
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,16 +10,14 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const nullthrows = require('nullthrows');
14
13
  const traverse = require('@babel/traverse').default;
14
+ const nullthrows = require('nullthrows');
15
15
 
16
16
  /**
17
17
  * Select unused names for "metroImportDefault" and "metroImportAll", by
18
18
  * calling "generateUid".
19
19
  */
20
- function generateImportNames(
21
- ast: BabelNode,
22
- ): {
20
+ function generateImportNames(ast: BabelNode): {
23
21
  importAll: string,
24
22
  importDefault: string,
25
23
  } {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,21 +7,22 @@
7
7
  * @format
8
8
  *
9
9
  */
10
- "use strict"; // $FlowExpectedError: TODO(t67543266): `source-map` is hard to type.
10
+ "use strict";
11
11
 
12
+ // $FlowExpectedError: TODO(t67543266): `source-map` is hard to type.
12
13
  const sourceMap = require("source-map");
13
14
 
14
15
  function mergeSourceMaps(file, originalMap, secondMap) {
15
16
  const merged = new sourceMap.SourceMapGenerator();
16
17
  const inputMap = new sourceMap.SourceMapConsumer(originalMap);
17
- new sourceMap.SourceMapConsumer(secondMap).eachMapping(mapping => {
18
+ new sourceMap.SourceMapConsumer(secondMap).eachMapping((mapping) => {
18
19
  if (mapping.originalLine == null) {
19
20
  return;
20
21
  }
21
22
 
22
23
  const original = inputMap.originalPositionFor({
23
24
  line: mapping.originalLine,
24
- column: mapping.originalColumn
25
+ column: mapping.originalColumn,
25
26
  });
26
27
 
27
28
  if (original.line == null) {
@@ -31,14 +32,14 @@ function mergeSourceMaps(file, originalMap, secondMap) {
31
32
  merged.addMapping({
32
33
  generated: {
33
34
  line: mapping.generatedLine,
34
- column: mapping.generatedColumn
35
+ column: mapping.generatedColumn,
35
36
  },
36
37
  original: {
37
38
  line: original.line,
38
- column: original.column || 0
39
+ column: original.column || 0,
39
40
  },
40
41
  source: file,
41
- name: original.name || mapping.name
42
+ name: original.name || mapping.name,
42
43
  });
43
44
  });
44
45
  return { ...merged.toJSON(), sources: inputMap.sources };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,11 +10,11 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ import type {BasicSourceMap, MixedSourceMap} from 'metro-source-map';
14
+
13
15
  // $FlowExpectedError: TODO(t67543266): `source-map` is hard to type.
14
16
  const sourceMap = require('source-map');
15
17
 
16
- import type {MixedSourceMap, BasicSourceMap} from 'metro-source-map';
17
-
18
18
  function mergeSourceMaps(
19
19
  file: string,
20
20
  originalMap: MixedSourceMap,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -15,11 +15,7 @@ const BOUNDARY = "3beqjf3apnqeu3h5jqorms4i";
15
15
 
16
16
  class MultipartResponse {
17
17
  static wrap(req, res) {
18
- if (
19
- accepts(req)
20
- .types()
21
- .includes("multipart/mixed")
22
- ) {
18
+ if (accepts(req).types().includes("multipart/mixed")) {
23
19
  return new MultipartResponse(res);
24
20
  } // Ugly hack, ideally wrap function should always return a proxy
25
21
  // object with the same interface
@@ -33,7 +29,7 @@ class MultipartResponse {
33
29
  this.res = res;
34
30
  this.headers = {};
35
31
  res.writeHead(200, {
36
- "Content-Type": `multipart/mixed; boundary="${BOUNDARY}"`
32
+ "Content-Type": `multipart/mixed; boundary="${BOUNDARY}"`,
37
33
  });
38
34
  res.write(
39
35
  "If you are seeing this, your client does not support multipart response"
@@ -85,7 +81,7 @@ class MultipartResponse {
85
81
 
86
82
  static serializeHeaders(headers) {
87
83
  return Object.keys(headers)
88
- .map(key => `${key}: ${headers[key]}`)
84
+ .map((key) => `${key}: ${headers[key]}`)
89
85
  .join(CRLF);
90
86
  }
91
87
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -12,7 +12,7 @@
12
12
  const { greatestLowerBound } = require("metro-source-map/src/Consumer/search");
13
13
 
14
14
  const {
15
- SourceMetadataMapConsumer
15
+ SourceMetadataMapConsumer,
16
16
  } = require("metro-symbolicate/src/Symbolication");
17
17
 
18
18
  function createFunctionNameGetter(module) {
@@ -22,16 +22,16 @@ function createFunctionNameGetter(module) {
22
22
  mappings: "",
23
23
  sources: ["dummy"],
24
24
  names: [],
25
- x_facebook_sources: [[module.functionMap]]
25
+ x_facebook_sources: [[module.functionMap]],
26
26
  },
27
- name => name
27
+ (name) => name
28
28
  /* no normalization needed */
29
29
  );
30
30
  return ({ line1Based, column0Based }) =>
31
31
  consumer.functionNameFor({
32
32
  line: line1Based,
33
33
  column: column0Based,
34
- source: "dummy"
34
+ source: "dummy",
35
35
  });
36
36
  }
37
37
 
@@ -75,7 +75,7 @@ async function symbolicate(stack, maps, config) {
75
75
 
76
76
  const generatedPosInModule = {
77
77
  line1Based: frame.lineNumber - module.firstLine1Based + 1,
78
- column0Based: frame.column
78
+ column0Based: frame.column,
79
79
  };
80
80
  const mappingIndex = greatestLowerBound(
81
81
  module.map,
@@ -107,7 +107,7 @@ async function symbolicate(stack, maps, config) {
107
107
  // $FlowFixMe: Length checks do not refine tuple unions.
108
108
  line1Based: mapping[2],
109
109
  // $FlowFixMe: Length checks do not refine tuple unions.
110
- column0Based: mapping[3]
110
+ column0Based: mapping[3],
111
111
  };
112
112
  }
113
113
 
@@ -157,7 +157,7 @@ async function symbolicate(stack, maps, config) {
157
157
  methodName,
158
158
  file: module.path,
159
159
  lineNumber: originalPos.line1Based,
160
- column: originalPos.column0Based
160
+ column: originalPos.column0Based,
161
161
  };
162
162
  }
163
163
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -9,15 +9,19 @@
9
9
  */
10
10
 
11
11
  'use strict';
12
+ import type {
13
+ MetroSourceMapSegmentTuple,
14
+ FBSourceFunctionMap,
15
+ } from '../../../metro-source-map/src/source-map';
16
+
17
+ import type {ExplodedSourceMap} from '../DeltaBundler/Serializers/getExplodedSourceMap';
18
+ import type {ConfigT} from 'metro-config/src/configTypes.flow';
12
19
 
13
20
  const {greatestLowerBound} = require('metro-source-map/src/Consumer/search');
14
21
  const {
15
22
  SourceMetadataMapConsumer,
16
23
  } = require('metro-symbolicate/src/Symbolication');
17
24
 
18
- import type {ExplodedSourceMap} from '../DeltaBundler/Serializers/getExplodedSourceMap';
19
- import type {ConfigT} from 'metro-config/src/configTypes.flow';
20
-
21
25
  export type StackFrameInput = {
22
26
  +file: ?string,
23
27
  +lineNumber: ?number,
@@ -124,7 +128,15 @@ async function symbolicate(
124
128
  };
125
129
  }
126
130
 
127
- function findFunctionName(originalPos, module): ?string {
131
+ function findFunctionName(
132
+ originalPos: Position,
133
+ module: {
134
+ +firstLine1Based: number,
135
+ +functionMap: ?FBSourceFunctionMap,
136
+ +map: Array<MetroSourceMapSegmentTuple>,
137
+ +path: string,
138
+ },
139
+ ): ?string {
128
140
  if (module.functionMap) {
129
141
  let getFunctionName = functionNameGetters.get(module);
130
142
  if (!getFunctionName) {