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,19 +10,19 @@
10
10
  "use strict";
11
11
 
12
12
  Object.defineProperty(exports, "__esModule", {
13
- value: true
13
+ value: true,
14
14
  });
15
15
  Object.defineProperty(exports, "namedDefaultExported", {
16
16
  enumerable: true,
17
- get: function() {
17
+ get: function () {
18
18
  return _export3.default;
19
- }
19
+ },
20
20
  });
21
21
  Object.defineProperty(exports, "default", {
22
22
  enumerable: true,
23
- get: function() {
23
+ get: function () {
24
24
  return _export4.foo;
25
- }
25
+ },
26
26
  });
27
27
  exports.asyncImportESM = exports.asyncImportCJS = exports.extraData = void 0;
28
28
 
@@ -44,23 +44,23 @@ function _interopRequireDefault(obj) {
44
44
  return obj && obj.__esModule ? obj : { default: obj };
45
45
  }
46
46
 
47
- function _getRequireWildcardCache() {
47
+ function _getRequireWildcardCache(nodeInterop) {
48
48
  if (typeof WeakMap !== "function") return null;
49
- var cache = new WeakMap();
50
- _getRequireWildcardCache = function() {
51
- return cache;
52
- };
53
- return cache;
49
+ var cacheBabelInterop = new WeakMap();
50
+ var cacheNodeInterop = new WeakMap();
51
+ return (_getRequireWildcardCache = function (nodeInterop) {
52
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
53
+ })(nodeInterop);
54
54
  }
55
55
 
56
- function _interopRequireWildcard(obj) {
57
- if (obj && obj.__esModule) {
56
+ function _interopRequireWildcard(obj, nodeInterop) {
57
+ if (!nodeInterop && obj && obj.__esModule) {
58
58
  return obj;
59
59
  }
60
60
  if (obj === null || (typeof obj !== "object" && typeof obj !== "function")) {
61
61
  return { default: obj };
62
62
  }
63
- var cache = _getRequireWildcardCache();
63
+ var cache = _getRequireWildcardCache(nodeInterop);
64
64
  if (cache && cache.has(obj)) {
65
65
  return cache.get(obj);
66
66
  }
@@ -68,7 +68,7 @@ function _interopRequireWildcard(obj) {
68
68
  var hasPropertyDescriptor =
69
69
  Object.defineProperty && Object.getOwnPropertyDescriptor;
70
70
  for (var key in obj) {
71
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
71
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
72
72
  var desc = hasPropertyDescriptor
73
73
  ? Object.getOwnPropertyDescriptor(obj, key)
74
74
  : null;
@@ -93,7 +93,7 @@ const extraData = {
93
93
  myFoo: _export.foo,
94
94
  myFunction: (0, _export.myFunction)(),
95
95
  primitiveDefault: _exportPrimitiveDefault.default,
96
- primitiveFoo: _exportPrimitiveDefault.foo
96
+ primitiveFoo: _exportPrimitiveDefault.foo,
97
97
  };
98
98
  exports.extraData = extraData;
99
99
  const asyncImportCJS = import("./export-5");
@@ -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.
@@ -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 vm = require("vm");
17
17
  module.exports = function execBundle(code, context = {}) {
18
18
  // Verify the code can run on older VMs by parsing it as ES5 (versus ES6+).
19
19
  acorn.parse(code, {
20
- ecmaVersion: 5
20
+ ecmaVersion: 5,
21
21
  });
22
22
  return vm.runInNewContext(code, context);
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.
@@ -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,14 +17,14 @@ module.exports = {
17
17
  maxWorkers: 1,
18
18
  projectRoot: ROOT_PATH,
19
19
  reporter: {
20
- update() {}
20
+ update() {},
21
21
  },
22
22
  watchFolders: [path.resolve(__dirname, "../../../")],
23
23
  server: {
24
- port: 10028
24
+ port: 10028,
25
25
  },
26
26
  resolver: {
27
- useWatchman: false
27
+ useWatchman: false,
28
28
  },
29
29
  transformer: {
30
30
  assetRegistryPath: path.join(ROOT_PATH, "AssetRegistry"),
@@ -39,10 +39,10 @@ module.exports = {
39
39
  getTransformOptions: async () => ({
40
40
  transform: {
41
41
  experimentalImportSupport: true,
42
- inlineRequires: false
42
+ inlineRequires: false,
43
43
  },
44
44
  preloadedModules: false,
45
- ramGroups: []
46
- })
47
- }
45
+ ramGroups: [],
46
+ }),
47
+ },
48
48
  };
@@ -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.
@@ -24,7 +24,8 @@ class BatchProcessor {
24
24
  this._processBatch = processBatch;
25
25
  this._queue = [];
26
26
  this._timeoutHandle = null;
27
- this._currentProcessCount = 0;
27
+ this._currentProcessCount = 0; // $FlowFixMe[method-unbinding] added when improving typing for this parameters
28
+
28
29
  this._processQueue = this._processQueue.bind(this);
29
30
  }
30
31
 
@@ -61,8 +62,9 @@ class BatchProcessor {
61
62
 
62
63
  const jobs = this._queue.splice(0, this._options.maximumItems);
63
64
 
64
- this._processBatch(jobs.map(job => job.item)).then(
65
- this._onBatchResults.bind(this, jobs),
65
+ this._processBatch(jobs.map((job) => job.item)).then(
66
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
67
+ this._onBatchResults.bind(this, jobs), // $FlowFixMe[method-unbinding] added when improving typing for this parameters
66
68
  this._onBatchError.bind(this, jobs)
67
69
  );
68
70
  }
@@ -70,13 +72,15 @@ class BatchProcessor {
70
72
 
71
73
  _processQueueOnceReady() {
72
74
  if (this._queue.length >= this._options.maximumItems) {
73
- clearTimeout(this._timeoutHandle);
75
+ clearTimeout(this._timeoutHandle); // $FlowFixMe[method-unbinding] added when improving typing for this parameters
76
+
74
77
  process.nextTick(this._processQueue);
75
78
  return;
76
79
  }
77
80
 
78
81
  if (this._timeoutHandle == null) {
79
82
  this._timeoutHandle = setTimeout(
83
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
80
84
  this._processQueue,
81
85
  this._options.maximumDelayMs
82
86
  );
@@ -88,7 +92,7 @@ class BatchProcessor {
88
92
  this._queue.push({
89
93
  item,
90
94
  resolve,
91
- reject
95
+ reject,
92
96
  });
93
97
 
94
98
  this._processQueueOnceReady();
@@ -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.
@@ -53,6 +53,7 @@ class BatchProcessor<TItem, TResult> {
53
53
  this._queue = [];
54
54
  this._timeoutHandle = null;
55
55
  this._currentProcessCount = 0;
56
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
56
57
  (this: any)._processQueue = this._processQueue.bind(this);
57
58
  }
58
59
 
@@ -88,7 +89,9 @@ class BatchProcessor<TItem, TResult> {
88
89
  this._processBatch(
89
90
  jobs.map((job: QueueItem<TItem, TResult>) => job.item),
90
91
  ).then(
92
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
91
93
  this._onBatchResults.bind(this, jobs),
94
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
92
95
  this._onBatchError.bind(this, jobs),
93
96
  );
94
97
  }
@@ -97,11 +100,13 @@ class BatchProcessor<TItem, TResult> {
97
100
  _processQueueOnceReady(): void {
98
101
  if (this._queue.length >= this._options.maximumItems) {
99
102
  clearTimeout(this._timeoutHandle);
103
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
100
104
  process.nextTick(this._processQueue);
101
105
  return;
102
106
  }
103
107
  if (this._timeoutHandle == null) {
104
108
  this._timeoutHandle = setTimeout(
109
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
105
110
  this._processQueue,
106
111
  this._options.maximumDelayMs,
107
112
  );
@@ -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.
@@ -21,10 +21,11 @@ class JsonReporter {
21
21
  */
22
22
 
23
23
  update(event) {
24
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
24
25
  if (Object.prototype.toString.call(event.error) === "[object Error]") {
25
26
  event = Object.assign(event, {
26
27
  message: event.error.message,
27
- stack: event.error.stack
28
+ stack: event.error.stack,
28
29
  });
29
30
  }
30
31
 
@@ -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.
@@ -24,6 +24,7 @@ class JsonReporter<TEvent: {[string]: any, ...}> {
24
24
  * (Perhaps we should switch in favor of plain object?)
25
25
  */
26
26
  update(event: TEvent): void {
27
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
27
28
  if (Object.prototype.toString.call(event.error) === '[object Error]') {
28
29
  event = Object.assign(event, {
29
30
  message: event.error.message,
@@ -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.
@@ -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,18 +9,18 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const chalk = require("chalk");
13
-
14
12
  const logToConsole = require("./logToConsole");
15
13
 
16
- const path = require("path");
17
-
18
14
  const reporting = require("./reporting");
19
15
 
16
+ const chalk = require("chalk");
17
+
20
18
  const throttle = require("lodash.throttle");
21
19
 
22
20
  const { AmbiguousModuleResolutionError } = require("metro-core");
23
21
 
22
+ const path = require("path");
23
+
24
24
  const GLOBAL_CACHE_DISABLED_MESSAGE_FORMAT =
25
25
  "The global cache is now disabled because %s";
26
26
  const DARK_BLOCK_CHAR = "\u2593";
@@ -39,7 +39,7 @@ class TerminalReporter {
39
39
  */
40
40
  constructor(terminal) {
41
41
  this._activeBundles = new Map();
42
- this._scheduleUpdateBundleProgress = throttle(data => {
42
+ this._scheduleUpdateBundleProgress = throttle((data) => {
43
43
  this.update({ ...data, type: "bundle_transform_progressed_throttled" });
44
44
  }, 100);
45
45
  this.terminal = terminal;
@@ -56,7 +56,7 @@ class TerminalReporter {
56
56
  bundleDetails: { entryFile, bundleType, runtimeBytecodeVersion },
57
57
  transformedFileCount,
58
58
  totalFileCount,
59
- ratio
59
+ ratio,
60
60
  },
61
61
  phase
62
62
  ) {
@@ -121,7 +121,7 @@ class TerminalReporter {
121
121
  {
122
122
  ...progress,
123
123
  ratio: 1,
124
- transformedFileCount: progress.totalFileCount
124
+ transformedFileCount: progress.totalFileCount,
125
125
  },
126
126
  "done"
127
127
  );
@@ -165,7 +165,7 @@ class TerminalReporter {
165
165
  " ######### ######### ",
166
166
  " ######### ",
167
167
  " ",
168
- " "
168
+ " ",
169
169
  ];
170
170
  const color = hasReducedPerformance ? chalk.red : chalk.blue;
171
171
  this.terminal.log(color(logo.join("\n")));
@@ -253,7 +253,7 @@ class TerminalReporter {
253
253
  break;
254
254
 
255
255
  case "client_log":
256
- logToConsole(this.terminal, event.level, ...event.data);
256
+ logToConsole(this.terminal, event.level, event.mode, ...event.data);
257
257
  break;
258
258
 
259
259
  case "dep_graph_loading":
@@ -291,7 +291,7 @@ class TerminalReporter {
291
291
  "or fix them: \n\n" +
292
292
  Object.keys(he.duplicatesSet)
293
293
  .sort()
294
- .map(dupFilePath => ` * \`${dupFilePath}\`\n`)
294
+ .map((dupFilePath) => ` * \`${dupFilePath}\`\n`)
295
295
  .join("");
296
296
  reporting.logError(this.terminal, message);
297
297
  return;
@@ -324,7 +324,7 @@ class TerminalReporter {
324
324
  lines.splice(lines.length - 1, 1);
325
325
  }
326
326
 
327
- lines.forEach(line => {
327
+ lines.forEach((line) => {
328
328
  this.terminal.log(`transform[${origin}]: ${line}`);
329
329
  });
330
330
  }
@@ -347,7 +347,7 @@ class TerminalReporter {
347
347
  Object.assign(currentProgress, {
348
348
  ratio,
349
349
  transformedFileCount,
350
- totalFileCount
350
+ totalFileCount,
351
351
  });
352
352
  }
353
353
  /**
@@ -368,7 +368,7 @@ class TerminalReporter {
368
368
  bundleDetails: event.bundleDetails,
369
369
  transformedFileCount: 0,
370
370
  totalFileCount: 1,
371
- ratio: 0
371
+ ratio: 0,
372
372
  };
373
373
 
374
374
  this._activeBundles.set(event.buildID, bundleProgress);
@@ -392,7 +392,7 @@ class TerminalReporter {
392
392
  .map(([_, progress]) =>
393
393
  this._getBundleStatusMessage(progress, "in_progress")
394
394
  )
395
- .filter(str => str != null)
395
+ .filter((str) => str != null)
396
396
  .join("\n");
397
397
  }
398
398
 
@@ -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,20 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const chalk = require('chalk');
14
- const logToConsole = require('./logToConsole');
15
- const path = require('path');
16
- const reporting = require('./reporting');
17
- const throttle = require('lodash.throttle');
18
-
19
- const {AmbiguousModuleResolutionError} = require('metro-core');
20
-
21
13
  import type {
22
14
  BundleDetails,
23
- ReportableEvent,
24
15
  GlobalCacheDisabledReason,
16
+ ReportableEvent,
25
17
  } from './reporting';
26
18
  import type {Terminal} from 'metro-core';
27
19
 
20
+ const logToConsole = require('./logToConsole');
21
+ const reporting = require('./reporting');
22
+ const chalk = require('chalk');
23
+ const throttle = require('lodash.throttle');
24
+ const {AmbiguousModuleResolutionError} = require('metro-core');
25
+ const path = require('path');
26
+
28
27
  type BundleProgress = {
29
28
  bundleDetails: BundleDetails,
30
29
  transformedFileCount: number,
@@ -45,11 +44,11 @@ export type TerminalReportableEvent =
45
44
 
46
45
  type BuildPhase = 'in_progress' | 'done' | 'failed';
47
46
 
48
- type SnippetError = ErrnoError & {
49
- filename?: string,
50
- snippet?: string,
51
- ...
52
- };
47
+ type SnippetError = ErrnoError &
48
+ interface {
49
+ filename?: string,
50
+ snippet?: string,
51
+ };
53
52
 
54
53
  const GLOBAL_CACHE_DISABLED_MESSAGE_FORMAT =
55
54
  'The global cache is now disabled because %s';
@@ -272,7 +271,7 @@ class TerminalReporter {
272
271
  this._logHmrClientError(event.error);
273
272
  break;
274
273
  case 'client_log':
275
- logToConsole(this.terminal, event.level, ...event.data);
274
+ logToConsole(this.terminal, event.level, event.mode, ...event.data);
276
275
  break;
277
276
  case 'dep_graph_loading':
278
277
  const color = event.hasReducedPerformance ? chalk.red : chalk.blue;
@@ -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,14 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const { getFileLength } = require("metro-hermes-compiler");
13
-
14
- // The magic number is used as a header for bytecode.
12
+ const { getFileLength } = require("metro-hermes-compiler"); // The magic number is used as a header for bytecode.
15
13
  // It represents a Metro tunnel in binary.
16
14
  //
17
15
  // 11111111
18
16
  // 11100111
19
17
  // 11000011
20
18
  // 11000011
19
+
21
20
  const MAGIC_NUMBER = 0xffe7c3c3;
22
21
 
23
22
  function getFileHeader(moduleCount) {
@@ -71,13 +70,13 @@ function bundleToBytecode(bundle) {
71
70
  return {
72
71
  bytecode: Buffer.concat([
73
72
  getFileHeader(buffers.length),
74
- ...buffers.flatMap(addModuleHeader)
73
+ ...buffers.flatMap(addModuleHeader),
75
74
  ]),
76
75
  metadata: {
77
76
  pre: bundle.pre ? bundle.pre.length : 0,
78
77
  post: bundle.post.length,
79
- modules
80
- }
78
+ modules,
79
+ },
81
80
  };
82
81
  }
83
82
 
@@ -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 {getFileLength} = require('metro-hermes-compiler');
14
-
15
13
  import type {
16
- BytecodeBundle,
17
14
  BundleMetadata,
15
+ BytecodeBundle,
18
16
  } from 'metro-runtime/src/modules/types.flow';
19
17
 
18
+ const {getFileLength} = require('metro-hermes-compiler');
19
+
20
20
  // The magic number is used as a header for bytecode.
21
21
  // It represents a Metro tunnel in binary.
22
22
  //
@@ -49,9 +49,10 @@ function addModuleHeader(buffer: Buffer): [Buffer, Buffer] {
49
49
  * ...
50
50
  *
51
51
  */
52
- function bundleToBytecode(
53
- bundle: BytecodeBundle,
54
- ): {|+bytecode: Buffer, +metadata: BundleMetadata|} {
52
+ function bundleToBytecode(bundle: BytecodeBundle): {|
53
+ +bytecode: Buffer,
54
+ +metadata: BundleMetadata,
55
+ |} {
55
56
  const buffers = [];
56
57
 
57
58
  if (bundle.pre.length) {
@@ -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.
@@ -39,8 +39,8 @@ function bundleToString(bundle) {
39
39
  metadata: {
40
40
  pre: bundle.pre.length,
41
41
  post: bundle.post.length,
42
- modules
43
- }
42
+ modules,
43
+ },
44
44
  };
45
45
  }
46
46
 
@@ -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.
@@ -18,9 +18,10 @@ import type {
18
18
  /**
19
19
  * Serializes a bundle into a plain JS bundle.
20
20
  */
21
- function bundleToString(
22
- bundle: Bundle,
23
- ): {|+code: string, +metadata: BundleMetadata|} {
21
+ function bundleToString(bundle: Bundle): {|
22
+ +code: string,
23
+ +metadata: BundleMetadata,
24
+ |} {
24
25
  let code = bundle.pre.length > 0 ? bundle.pre + '\n' : '';
25
26
  const modules = [];
26
27
 
@@ -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,12 +9,8 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const nullthrows = require("nullthrows");
12
+ const newline = /\r\n?|\n|\u2028|\u2029/g;
13
13
 
14
- const reLine = /^/gm;
15
-
16
- function countLines(s) {
17
- return nullthrows(s.match(reLine)).length;
18
- }
14
+ const countLines = (string) => (string.match(newline) || []).length + 1;
19
15
 
20
16
  module.exports = countLines;
@@ -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,12 +10,9 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const nullthrows = require('nullthrows');
13
+ const newline = /\r\n?|\n|\u2028|\u2029/g;
14
14
 
15
- const reLine = /^/gm;
16
-
17
- function countLines(s: string): number {
18
- return nullthrows(s.match(reLine)).length;
19
- }
15
+ const countLines = (string: string): number =>
16
+ (string.match(newline) || []).length + 1;
20
17
 
21
18
  module.exports = countLines;
@@ -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
  function createModuleIdFactory() {
13
13
  const fileToIdMap = new Map();
14
14
  let nextId = 0;
15
- return path => {
15
+ return (path) => {
16
16
  let id = fileToIdMap.get(path);
17
17
 
18
18
  if (typeof id !== "number") {
@@ -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.