metro 0.66.2 → 0.69.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 +22 -24
  2. package/src/Assets.js +9 -9
  3. package/src/Assets.js.flow +5 -7
  4. package/src/Bundler/util.js +16 -15
  5. package/src/Bundler/util.js.flow +11 -10
  6. package/src/Bundler.js +21 -8
  7. package/src/Bundler.js.flow +19 -7
  8. package/src/DeltaBundler/DeltaCalculator.js +15 -15
  9. package/src/DeltaBundler/DeltaCalculator.js.flow +7 -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 +6 -6
  31. package/src/DeltaBundler/Serializers/helpers/js.js.flow +11 -12
  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 +9 -9
  45. package/src/DeltaBundler/Transformer.js.flow +7 -9
  46. package/src/DeltaBundler/Worker.js +8 -11
  47. package/src/DeltaBundler/Worker.js.flow +8 -11
  48. package/src/DeltaBundler/WorkerFarm.js +14 -17
  49. package/src/DeltaBundler/WorkerFarm.js.flow +7 -10
  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 +1 -1
  61. package/src/DeltaBundler.js +5 -5
  62. package/src/DeltaBundler.js.flow +4 -4
  63. package/src/HmrServer.js +71 -55
  64. package/src/HmrServer.js.flow +40 -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 +44 -32
  72. package/src/IncrementalBundler.js.flow +30 -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 +2 -2
  76. package/src/ModuleGraph/node-haste/HasteFS.js.flow +1 -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 +42 -32
  86. package/src/ModuleGraph/node-haste/node-haste.js.flow +28 -23
  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 +31 -30
  96. package/src/ModuleGraph/output/util.js.flow +15 -16
  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 +7 -7
  102. package/src/ModuleGraph/worker/JsFileWrapping.js +7 -7
  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 +15 -17
  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 +202 -150
  118. package/src/Server.js.flow +129 -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 +17 -18
  127. package/src/commands/serve.js.flow +6 -9
  128. package/src/index.js +116 -51
  129. package/src/index.js.flow +107 -41
  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 +3 -2
  139. package/src/integration_tests/basic_bundle/TestBundle.js.flow +3 -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 +8 -8
  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 +3 -3
  166. package/src/lib/BatchProcessor.js.flow +1 -1
  167. package/src/lib/JsonReporter.js +2 -2
  168. package/src/lib/JsonReporter.js.flow +1 -1
  169. package/src/lib/RamBundleParser.js +1 -1
  170. package/src/lib/RamBundleParser.js.flow +1 -1
  171. package/src/lib/TerminalReporter.js +14 -14
  172. package/src/lib/TerminalReporter.js.flow +9 -10
  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} +12 -21
  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 +6 -8
  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 +15 -15
  196. package/src/lib/getPrependedScripts.js.flow +7 -8
  197. package/src/lib/logToConsole.js +1 -1
  198. package/src/lib/logToConsole.js.flow +3 -3
  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 +16 -3
  207. package/src/lib/splitBundleOptions.js +5 -5
  208. package/src/lib/splitBundleOptions.js.flow +1 -1
  209. package/src/lib/transformHelpers.js +10 -10
  210. package/src/lib/transformHelpers.js.flow +5 -5
  211. package/src/node-haste/DependencyGraph/ModuleResolution.js +51 -30
  212. package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +46 -42
  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 +49 -117
  218. package/src/node-haste/DependencyGraph.js.flow +36 -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 +7 -9
  224. package/src/node-haste/Package.js.flow +1 -8
  225. package/src/node-haste/lib/AssetPaths.js +5 -5
  226. package/src/node-haste/lib/AssetPaths.js.flow +2 -4
  227. package/src/node-haste/lib/parsePlatformFilePath.js +4 -4
  228. package/src/node-haste/lib/parsePlatformFilePath.js.flow +1 -1
  229. package/src/shared/output/RamBundle/as-assets.js +16 -17
  230. package/src/shared/output/RamBundle/as-assets.js.flow +11 -15
  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 +2 -2
  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.
@@ -9,26 +9,26 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const ErrorStackParser = require("error-stack-parser");
13
-
14
12
  const GraphNotFoundError = require("../IncrementalBundler/GraphNotFoundError");
15
13
 
16
14
  const ResourceNotFoundError = require("../IncrementalBundler/ResourceNotFoundError");
17
15
 
18
16
  const RevisionNotFoundError = require("../IncrementalBundler/RevisionNotFoundError");
19
17
 
20
- const fs = require("fs");
21
-
22
- const serializeError = require("serialize-error");
23
-
24
18
  const {
25
- UnableToResolveError
19
+ UnableToResolveError,
26
20
  } = require("../node-haste/DependencyGraph/ModuleResolution");
27
21
 
28
22
  const { codeFrameColumns } = require("@babel/code-frame");
29
23
 
24
+ const ErrorStackParser = require("error-stack-parser");
25
+
26
+ const fs = require("fs");
27
+
30
28
  const { AmbiguousModuleResolutionError } = require("metro-core");
31
29
 
30
+ const serializeError = require("serialize-error");
31
+
32
32
  function formatBundlingError(error) {
33
33
  if (error instanceof AmbiguousModuleResolutionError) {
34
34
  const he = error.hasteError;
@@ -39,16 +39,16 @@ function formatBundlingError(error) {
39
39
  "fix them: \n\n" +
40
40
  Object.keys(he.duplicatesSet)
41
41
  .sort()
42
- .map(dupFilePath => `${dupFilePath}`)
42
+ .map((dupFilePath) => `${dupFilePath}`)
43
43
  .join("\n\n");
44
44
  return {
45
45
  type: "AmbiguousModuleResolutionError",
46
46
  message,
47
47
  errors: [
48
48
  {
49
- description: message
50
- }
51
- ]
49
+ description: message,
50
+ },
51
+ ],
52
52
  };
53
53
  }
54
54
 
@@ -61,27 +61,27 @@ function formatBundlingError(error) {
61
61
  {
62
62
  description: error.message,
63
63
  filename: error.filename,
64
- lineNumber: error.lineNumber
65
- }
64
+ lineNumber: error.lineNumber,
65
+ },
66
66
  ];
67
67
  return serializeError(error);
68
68
  } else if (error instanceof ResourceNotFoundError) {
69
69
  return {
70
70
  type: "ResourceNotFoundError",
71
71
  errors: [],
72
- message: error.message
72
+ message: error.message,
73
73
  };
74
74
  } else if (error instanceof GraphNotFoundError) {
75
75
  return {
76
76
  type: "GraphNotFoundError",
77
77
  errors: [],
78
- message: error.message
78
+ message: error.message,
79
79
  };
80
80
  } else if (error instanceof RevisionNotFoundError) {
81
81
  return {
82
82
  type: "RevisionNotFoundError",
83
83
  errors: [],
84
- message: error.message
84
+ message: error.message,
85
85
  };
86
86
  } else {
87
87
  const stack = ErrorStackParser.parse(error);
@@ -97,11 +97,11 @@ function formatBundlingError(error) {
97
97
  {
98
98
  start: {
99
99
  column,
100
- line
101
- }
100
+ line,
101
+ },
102
102
  },
103
103
  {
104
- forceColor: true
104
+ forceColor: true,
105
105
  }
106
106
  );
107
107
  } catch {}
@@ -109,7 +109,7 @@ function formatBundlingError(error) {
109
109
  return {
110
110
  type: "InternalError",
111
111
  errors: [],
112
- message: `Metro has encountered an error: ${error.message}: ${fileName} (${line}:${column})\n\n${codeFrame}`
112
+ message: `Metro has encountered an error: ${error.message}: ${fileName} (${line}:${column})\n\n${codeFrame}`,
113
113
  };
114
114
  }
115
115
  }
@@ -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,21 +10,19 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const ErrorStackParser = require('error-stack-parser');
13
+ import type {FormattedError} from 'metro-runtime/src/modules/types.flow';
14
+
14
15
  const GraphNotFoundError = require('../IncrementalBundler/GraphNotFoundError');
15
16
  const ResourceNotFoundError = require('../IncrementalBundler/ResourceNotFoundError');
16
17
  const RevisionNotFoundError = require('../IncrementalBundler/RevisionNotFoundError');
17
-
18
- const fs = require('fs');
19
- const serializeError = require('serialize-error');
20
-
21
18
  const {
22
19
  UnableToResolveError,
23
20
  } = require('../node-haste/DependencyGraph/ModuleResolution');
24
21
  const {codeFrameColumns} = require('@babel/code-frame');
22
+ const ErrorStackParser = require('error-stack-parser');
23
+ const fs = require('fs');
25
24
  const {AmbiguousModuleResolutionError} = require('metro-core');
26
-
27
- import type {FormattedError} from 'metro-runtime/src/modules/types.flow';
25
+ const serializeError = require('serialize-error');
28
26
 
29
27
  export type CustomError = Error &
30
28
  interface {
@@ -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,26 +9,25 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const countLines = require("./countLines");
13
-
14
12
  const getInlineSourceMappingURL = require("../DeltaBundler/Serializers/helpers/getInlineSourceMappingURL");
15
13
 
14
+ const sourceMapString = require("../DeltaBundler/Serializers/sourceMapString");
15
+
16
+ const countLines = require("./countLines");
17
+
16
18
  const nullthrows = require("nullthrows");
17
19
 
18
20
  const path = require("path");
19
21
 
20
- const sourceMapString = require("../DeltaBundler/Serializers/sourceMapString");
21
-
22
22
  function getAppendScripts(entryPoint, modules, importBundleNames, options) {
23
23
  const output = [];
24
24
 
25
25
  if (importBundleNames.size) {
26
26
  const importBundleNamesObject = Object.create(null);
27
- importBundleNames.forEach(absolutePath => {
27
+ importBundleNames.forEach((absolutePath) => {
28
28
  const bundlePath = path.relative(options.projectRoot, absolutePath);
29
- importBundleNamesObject[
30
- options.createModuleId(absolutePath)
31
- ] = bundlePath.slice(0, -path.extname(bundlePath).length);
29
+ importBundleNamesObject[options.createModuleId(absolutePath)] =
30
+ bundlePath.slice(0, -path.extname(bundlePath).length);
32
31
  });
33
32
  const code = `(function(){var $$=${options.getRunModuleStatement(
34
33
  options.createModuleId(options.asyncRequireModulePath)
@@ -46,10 +45,10 @@ function getAppendScripts(entryPoint, modules, importBundleNames, options) {
46
45
  data: {
47
46
  code,
48
47
  lineCount: countLines(code),
49
- map: []
50
- }
51
- }
52
- ]
48
+ map: [],
49
+ },
50
+ },
51
+ ],
53
52
  });
54
53
  }
55
54
 
@@ -57,7 +56,7 @@ function getAppendScripts(entryPoint, modules, importBundleNames, options) {
57
56
  const paths = [...options.runBeforeMainModule, entryPoint];
58
57
 
59
58
  for (const path of paths) {
60
- if (modules.some(module => module.path === path)) {
59
+ if (modules.some((module) => module.path === path)) {
61
60
  const code = options.getRunModuleStatement(
62
61
  options.createModuleId(path)
63
62
  );
@@ -72,10 +71,10 @@ function getAppendScripts(entryPoint, modules, importBundleNames, options) {
72
71
  data: {
73
72
  code,
74
73
  lineCount: countLines(code),
75
- map: []
76
- }
77
- }
78
- ]
74
+ map: [],
75
+ },
76
+ },
77
+ ],
79
78
  });
80
79
  }
81
80
  }
@@ -86,7 +85,7 @@ function getAppendScripts(entryPoint, modules, importBundleNames, options) {
86
85
  ? getInlineSourceMappingURL(
87
86
  sourceMapString(modules, {
88
87
  processModuleFilter: () => true,
89
- excludeSource: false
88
+ excludeSource: false,
90
89
  })
91
90
  )
92
91
  : nullthrows(options.sourceMapUrl);
@@ -102,10 +101,10 @@ function getAppendScripts(entryPoint, modules, importBundleNames, options) {
102
101
  data: {
103
102
  code,
104
103
  lineCount: countLines(code),
105
- map: []
106
- }
107
- }
108
- ]
104
+ map: [],
105
+ },
106
+ },
107
+ ],
109
108
  });
110
109
  }
111
110
 
@@ -122,10 +121,10 @@ function getAppendScripts(entryPoint, modules, importBundleNames, options) {
122
121
  data: {
123
122
  code,
124
123
  lineCount: countLines(code),
125
- map: []
126
- }
127
- }
128
- ]
124
+ map: [],
125
+ },
126
+ },
127
+ ],
129
128
  });
130
129
  }
131
130
 
@@ -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,13 +10,13 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const countLines = require('./countLines');
13
+ import type {Module} from '../DeltaBundler';
14
+
14
15
  const getInlineSourceMappingURL = require('../DeltaBundler/Serializers/helpers/getInlineSourceMappingURL');
16
+ const sourceMapString = require('../DeltaBundler/Serializers/sourceMapString');
17
+ const countLines = require('./countLines');
15
18
  const nullthrows = require('nullthrows');
16
19
  const path = require('path');
17
- const sourceMapString = require('../DeltaBundler/Serializers/sourceMapString');
18
-
19
- import type {Module} from '../DeltaBundler';
20
20
 
21
21
  type Options<T: number | string> = {
22
22
  +asyncRequireModulePath: string,
@@ -43,9 +43,8 @@ function getAppendScripts<T: number | string>(
43
43
  const importBundleNamesObject = Object.create(null);
44
44
  importBundleNames.forEach(absolutePath => {
45
45
  const bundlePath = path.relative(options.projectRoot, absolutePath);
46
- importBundleNamesObject[
47
- options.createModuleId(absolutePath)
48
- ] = bundlePath.slice(0, -path.extname(bundlePath).length);
46
+ importBundleNamesObject[options.createModuleId(absolutePath)] =
47
+ bundlePath.slice(0, -path.extname(bundlePath).length);
49
48
  });
50
49
  const code = `(function(){var $$=${options.getRunModuleStatement(
51
50
  options.createModuleId(options.asyncRequireModulePath),
@@ -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.
@@ -35,8 +35,8 @@ function getGraphId(
35
35
  experimentalImportBundleSupport,
36
36
  shallow,
37
37
  unstable_transformProfile:
38
- options.unstable_transformProfile || "default"
39
- }
38
+ options.unstable_transformProfile || "default",
39
+ },
40
40
  },
41
41
  canonicalize
42
42
  );
@@ -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 canonicalize = require('metro-core/src/canonicalize');
14
-
15
13
  import type {TransformInputOptions} from '../DeltaBundler/types.flow';
16
14
 
15
+ const canonicalize = require('metro-core/src/canonicalize');
16
+
17
17
  export opaque type GraphId: string = string;
18
18
 
19
19
  function getGraphId(
@@ -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.
@@ -11,7 +11,7 @@
11
11
 
12
12
  const os = require("os");
13
13
 
14
- module.exports = workers => {
14
+ module.exports = (workers) => {
15
15
  const cores = os.cpus().length;
16
16
  return typeof workers === "number" && Number.isInteger(workers)
17
17
  ? Math.min(cores, workers > 0 ? workers : 1)
@@ -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.
@@ -15,7 +15,7 @@ function getPreludeCode({ extraVars, isDev, globalPrefix }) {
15
15
  `__DEV__=${String(isDev)}`,
16
16
  ...formatExtraVars(extraVars),
17
17
  "process=this.process||{}",
18
- `__METRO_GLOBAL_PREFIX__='${globalPrefix}'`
18
+ `__METRO_GLOBAL_PREFIX__='${globalPrefix}'`,
19
19
  ];
20
20
  return `var ${vars.join(",")};${processEnv(
21
21
  isDev ? "development" : "production"
@@ -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.
@@ -11,12 +11,12 @@
11
11
 
12
12
  const countLines = require("./countLines");
13
13
 
14
- const defaults = require("metro-config/src/defaults/defaults");
15
-
16
14
  const getPreludeCode = require("./getPreludeCode");
17
15
 
18
16
  const transformHelpers = require("./transformHelpers");
19
17
 
18
+ const defaults = require("metro-config/src/defaults/defaults");
19
+
20
20
  const { compile } = require("metro-hermes-compiler");
21
21
 
22
22
  async function getPrependedScripts(config, options, bundler, deltaBundler) {
@@ -24,7 +24,7 @@ async function getPrependedScripts(config, options, bundler, deltaBundler) {
24
24
  // `getPolyfills()` method and the `polyfillModuleNames` variable).
25
25
  const polyfillModuleNames = config.serializer
26
26
  .getPolyfills({
27
- platform: options.platform
27
+ platform: options.platform,
28
28
  })
29
29
  .concat(config.serializer.polyfillModuleNames);
30
30
  const transformOptions = { ...options, type: "script" };
@@ -46,22 +46,22 @@ async function getPrependedScripts(config, options, bundler, deltaBundler) {
46
46
  onProgress: null,
47
47
  experimentalImportBundleSupport:
48
48
  config.transformer.experimentalImportBundleSupport,
49
- shallow: false
49
+ shallow: false,
50
50
  }
51
51
  );
52
52
  return [
53
53
  _getPrelude({
54
54
  dev: options.dev,
55
- globalPrefix: config.transformer.globalPrefix
55
+ globalPrefix: config.transformer.globalPrefix,
56
56
  }),
57
- ...dependencies.values()
57
+ ...dependencies.values(),
58
58
  ];
59
59
  }
60
60
 
61
61
  function _getPrelude({ dev, globalPrefix }) {
62
62
  const code = getPreludeCode({
63
63
  isDev: dev,
64
- globalPrefix
64
+ globalPrefix,
65
65
  });
66
66
  const name = "__prelude__";
67
67
  return {
@@ -75,18 +75,18 @@ function _getPrelude({ dev, globalPrefix }) {
75
75
  data: {
76
76
  code,
77
77
  lineCount: countLines(code),
78
- map: []
79
- }
78
+ map: [],
79
+ },
80
80
  },
81
81
  {
82
82
  type: "bytecode/script/virtual",
83
83
  data: {
84
84
  bytecode: compile(code, {
85
- sourceURL: "__prelude__.virtual.js"
86
- }).bytecode
87
- }
88
- }
89
- ]
85
+ sourceURL: "__prelude__.virtual.js",
86
+ }).bytecode,
87
+ },
88
+ },
89
+ ],
90
90
  };
91
91
  }
92
92
 
@@ -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,18 +10,17 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ import type Bundler from '../Bundler';
14
+ import type DeltaBundler, {Module} from '../DeltaBundler';
15
+ import type {TransformInputOptions} from '../DeltaBundler/types.flow';
16
+ import type {ConfigT} from 'metro-config/src/configTypes.flow';
17
+
13
18
  const countLines = require('./countLines');
14
- const defaults = require('metro-config/src/defaults/defaults');
15
19
  const getPreludeCode = require('./getPreludeCode');
16
20
  const transformHelpers = require('./transformHelpers');
17
-
21
+ const defaults = require('metro-config/src/defaults/defaults');
18
22
  const {compile} = require('metro-hermes-compiler');
19
23
 
20
- import type Bundler from '../Bundler';
21
- import type {TransformInputOptions} from '../DeltaBundler/types.flow';
22
- import type DeltaBundler, {Module} from '../DeltaBundler';
23
- import type {ConfigT} from 'metro-config/src/configTypes.flow';
24
-
25
24
  async function getPrependedScripts(
26
25
  config: ConfigT,
27
26
  options: $Diff<
@@ -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.
@@ -12,11 +12,11 @@
12
12
 
13
13
  'use strict';
14
14
 
15
+ import type {Terminal} from 'metro-core';
16
+
15
17
  const chalk = require('chalk');
16
18
  const util = require('util');
17
19
 
18
- import type {Terminal} from 'metro-core';
19
-
20
20
  const groupStack = [];
21
21
  let collapsedGuardTimer;
22
22
 
@@ -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,7 +17,7 @@ const PREFIX = "transform.";
17
17
  module.exports = function parseCustomTransformOptions(urlObj) {
18
18
  const customTransformOptions = Object.create(null);
19
19
  const query = nullthrows(urlObj.query);
20
- Object.keys(query).forEach(key => {
20
+ Object.keys(query).forEach((key) => {
21
21
  if (key.startsWith(PREFIX)) {
22
22
  customTransformOptions[key.substr(PREFIX.length)] = query[key];
23
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.
@@ -11,10 +11,10 @@
11
11
 
12
12
  'use strict';
13
13
 
14
- const nullthrows = require('nullthrows');
15
-
16
14
  import type {CustomTransformOptions} from 'metro-transform-worker';
17
15
 
16
+ const nullthrows = require('nullthrows');
17
+
18
18
  const PREFIX = 'transform.';
19
19
 
20
20
  module.exports = function parseCustomTransformOptions(urlObj: {
@@ -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,11 +9,11 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const nullthrows = require("nullthrows");
12
+ const parsePlatformFilePath = require("../node-haste/lib/parsePlatformFilePath");
13
13
 
14
14
  const parseCustomTransformOptions = require("./parseCustomTransformOptions");
15
15
 
16
- const parsePlatformFilePath = require("../node-haste/lib/parsePlatformFilePath");
16
+ const nullthrows = require("nullthrows");
17
17
 
18
18
  const path = require("path");
19
19
 
@@ -29,10 +29,10 @@ const getNumber = (query, opt, defaultValue) => {
29
29
  return Number.isNaN(number) ? defaultValue : number;
30
30
  };
31
31
 
32
- const getBundleType = bundleType =>
32
+ const getBundleType = (bundleType) =>
33
33
  bundleType === "map" ? bundleType : "bundle";
34
34
 
35
- const getTransformProfile = transformProfile =>
35
+ const getTransformProfile = (transformProfile) =>
36
36
  transformProfile === "hermes-stable" || transformProfile === "hermes-canary"
37
37
  ? transformProfile
38
38
  : "default";
@@ -80,11 +80,11 @@ module.exports = function parseOptionsFromUrl(
80
80
  // when loading the bundle for either Android or iOS.
81
81
  protocol:
82
82
  platform != null && platform.match(/^(android|ios)$/) ? "http" : "",
83
- pathname: pathname.replace(/\.(bundle|delta)$/, ".map")
83
+ pathname: pathname.replace(/\.(bundle|delta)$/, ".map"),
84
84
  }),
85
85
  sourceUrl: requestUrl,
86
86
  unstable_transformProfile: getTransformProfile(
87
87
  query.unstable_transformProfile
88
- )
88
+ ),
89
89
  };
90
90
  };