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.
@@ -11,10 +11,10 @@
11
11
 
12
12
  const invariant = require("invariant");
13
13
 
14
- const path = require("path");
15
-
16
14
  const { addParamsToDefineCall } = require("metro-transform-plugins");
17
15
 
16
+ const path = require("path");
17
+
18
18
  function wrapModule(module, options) {
19
19
  const output = getJsOutput(module);
20
20
 
@@ -25,9 +25,9 @@ function wrapModule(module, options) {
25
25
  const moduleId = options.createModuleId(module.path);
26
26
  const params = [
27
27
  moduleId,
28
- Array.from(module.dependencies.values()).map(dependency =>
28
+ Array.from(module.dependencies.values()).map((dependency) =>
29
29
  options.createModuleId(dependency.absolutePath)
30
- )
30
+ ),
31
31
  ];
32
32
 
33
33
  if (options.dev) {
@@ -40,15 +40,25 @@ function wrapModule(module, options) {
40
40
  }
41
41
 
42
42
  function getJsOutput(module) {
43
+ var _module$path, _module$path2;
44
+
43
45
  const jsModules = module.output.filter(({ type }) => type.startsWith("js/"));
44
46
  invariant(
45
47
  jsModules.length === 1,
46
- `Modules must have exactly one JS output, but ${module.path} has ${jsModules.length} JS outputs.`
48
+ `Modules must have exactly one JS output, but ${
49
+ (_module$path = module.path) !== null && _module$path !== void 0
50
+ ? _module$path
51
+ : "unknown module"
52
+ } has ${jsModules.length} JS outputs.`
47
53
  );
48
54
  const jsOutput = jsModules[0];
49
55
  invariant(
50
56
  Number.isFinite(jsOutput.data.lineCount),
51
- `JS output must populate lineCount, but ${module.path} has ${jsOutput.type} output with lineCount '${jsOutput.data.lineCount}'`
57
+ `JS output must populate lineCount, but ${
58
+ (_module$path2 = module.path) !== null && _module$path2 !== void 0
59
+ ? _module$path2
60
+ : "unknown module"
61
+ } has ${jsOutput.type} output with lineCount '${jsOutput.data.lineCount}'`
52
62
  );
53
63
  return jsOutput;
54
64
  }
@@ -64,5 +74,5 @@ function isJsOutput(output) {
64
74
  module.exports = {
65
75
  getJsOutput,
66
76
  isJsModule,
67
- wrapModule
77
+ wrapModule,
68
78
  };
@@ -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,14 +10,13 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const invariant = require('invariant');
14
- const path = require('path');
15
-
16
- const {addParamsToDefineCall} = require('metro-transform-plugins');
17
-
18
13
  import type {MixedOutput, Module} from '../../types.flow';
19
14
  import type {JsOutput} from 'metro-transform-worker';
20
15
 
16
+ const invariant = require('invariant');
17
+ const {addParamsToDefineCall} = require('metro-transform-plugins');
18
+ const path = require('path');
19
+
21
20
  export type Options = {
22
21
  +createModuleId: string => number | string,
23
22
  +dev: boolean,
@@ -49,19 +48,29 @@ function wrapModule(module: Module<>, options: Options): string {
49
48
  return addParamsToDefineCall(output.data.code, ...params);
50
49
  }
51
50
 
52
- function getJsOutput(module: Module<>): JsOutput {
51
+ function getJsOutput(
52
+ module: $ReadOnly<{
53
+ output: $ReadOnlyArray<MixedOutput>,
54
+ path?: string,
55
+ ...
56
+ }>,
57
+ ): JsOutput {
53
58
  const jsModules = module.output.filter(({type}) => type.startsWith('js/'));
54
59
 
55
60
  invariant(
56
61
  jsModules.length === 1,
57
- `Modules must have exactly one JS output, but ${module.path} has ${jsModules.length} JS outputs.`,
62
+ `Modules must have exactly one JS output, but ${
63
+ module.path ?? 'unknown module'
64
+ } has ${jsModules.length} JS outputs.`,
58
65
  );
59
66
 
60
- const jsOutput = (jsModules[0]: any);
67
+ const jsOutput: JsOutput = (jsModules[0]: any);
61
68
 
62
69
  invariant(
63
70
  Number.isFinite(jsOutput.data.lineCount),
64
- `JS output must populate lineCount, but ${module.path} has ${jsOutput.type} output with lineCount '${jsOutput.data.lineCount}'`,
71
+ `JS output must populate lineCount, but ${
72
+ module.path ?? 'unknown module'
73
+ } has ${jsOutput.type} output with lineCount '${jsOutput.data.lineCount}'`,
65
74
  );
66
75
 
67
76
  return jsOutput;
@@ -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,13 +18,13 @@ function processBytecodeModules(
18
18
  return [...modules]
19
19
  .filter(isBytecodeModule)
20
20
  .filter(filter)
21
- .map(module => [
21
+ .map((module) => [
22
22
  module,
23
23
  wrapModule(module, {
24
24
  createModuleId,
25
25
  dev,
26
- projectRoot
27
- })
26
+ projectRoot,
27
+ }),
28
28
  ]);
29
29
  }
30
30
 
@@ -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 {isBytecodeModule, wrapModule} = require('./bytecode');
14
-
15
13
  import type {Module} from '../../types.flow';
16
14
 
15
+ const {isBytecodeModule, wrapModule} = require('./bytecode');
16
+
17
17
  function processBytecodeModules(
18
18
  modules: $ReadOnlyArray<Module<>>,
19
19
  {
@@ -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,13 +18,13 @@ function processModules(
18
18
  return [...modules]
19
19
  .filter(isJsModule)
20
20
  .filter(filter)
21
- .map(module => [
21
+ .map((module) => [
22
22
  module,
23
23
  wrapModule(module, {
24
24
  createModuleId,
25
25
  dev,
26
- projectRoot
27
- })
26
+ projectRoot,
27
+ }),
28
28
  ]);
29
29
  }
30
30
 
@@ -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 {isJsModule, wrapModule} = require('./js');
14
-
15
13
  import type {Module} from '../../types.flow';
16
14
 
15
+ const {isJsModule, wrapModule} = require('./js');
16
+
17
17
  function processModules(
18
18
  modules: $ReadOnlyArray<Module<>>,
19
19
  {
@@ -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,21 +9,21 @@
9
9
  */
10
10
  "use strict";
11
11
 
12
- const path = require("path");
13
-
14
- const url = require("url");
15
-
16
12
  const { isJsModule, wrapModule } = require("./helpers/js");
17
13
 
18
14
  const { addParamsToDefineCall } = require("metro-transform-plugins");
19
15
 
16
+ const path = require("path");
17
+
18
+ const url = require("url");
19
+
20
20
  function generateModules(sourceModules, graph, options) {
21
21
  const modules = [];
22
22
 
23
23
  for (const module of sourceModules) {
24
24
  if (isJsModule(module)) {
25
25
  // Construct a bundle URL for this specific module only
26
- const getURL = extension => {
26
+ const getURL = (extension) => {
27
27
  options.clientUrl.pathname = path.relative(
28
28
  options.projectRoot,
29
29
  path.join(
@@ -45,7 +45,7 @@ function generateModules(sourceModules, graph, options) {
45
45
  modules.push({
46
46
  module: [options.createModuleId(module.path), code],
47
47
  sourceMappingURL,
48
- sourceURL
48
+ sourceURL,
49
49
  });
50
50
  }
51
51
  }
@@ -58,7 +58,7 @@ function prepareModule(module, graph, options) {
58
58
  const inverseDependencies = getInverseDependencies(module.path, graph); // Transform the inverse dependency paths to ids.
59
59
 
60
60
  const inverseDependenciesById = Object.create(null);
61
- Object.keys(inverseDependencies).forEach(path => {
61
+ Object.keys(inverseDependencies).forEach((path) => {
62
62
  inverseDependenciesById[options.createModuleId(path)] = inverseDependencies[
63
63
  path
64
64
  ].map(options.createModuleId);
@@ -98,7 +98,7 @@ function hmrJSBundle(delta, graph, options) {
98
98
  return {
99
99
  added: generateModules(delta.added.values(), graph, options),
100
100
  modified: generateModules(delta.modified.values(), graph, options),
101
- deleted: [...delta.deleted].map(path => options.createModuleId(path))
101
+ deleted: [...delta.deleted].map((path) => options.createModuleId(path)),
102
102
  };
103
103
  }
104
104
 
@@ -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,15 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const path = require('path');
14
- const url = require('url');
15
-
16
- const {isJsModule, wrapModule} = require('./helpers/js');
17
- const {addParamsToDefineCall} = require('metro-transform-plugins');
18
-
19
13
  import type {EntryPointURL} from '../../HmrServer';
20
14
  import type {DeltaResult, Graph, Module} from '../types.flow';
21
15
  import type {HmrModule} from 'metro-runtime/src/modules/types.flow';
22
16
 
17
+ const {isJsModule, wrapModule} = require('./helpers/js');
18
+ const {addParamsToDefineCall} = require('metro-transform-plugins');
19
+ const path = require('path');
20
+ const url = require('url');
21
+
23
22
  type Options = {
24
23
  +clientUrl: EntryPointURL,
25
24
  +createModuleId: string => number,
@@ -37,7 +36,9 @@ function generateModules(
37
36
  for (const module of sourceModules) {
38
37
  if (isJsModule(module)) {
39
38
  // Construct a bundle URL for this specific module only
40
- const getURL = extension => {
39
+ const getURL = (
40
+ extension: $TEMPORARY$string<'bundle'> | $TEMPORARY$string<'map'>,
41
+ ) => {
41
42
  options.clientUrl.pathname = path.relative(
42
43
  options.projectRoot,
43
44
  path.join(
@@ -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 @@ const { isJsModule } = require("./helpers/js");
15
15
 
16
16
  const {
17
17
  fromRawMappings,
18
- fromRawMappingsNonBlocking
18
+ fromRawMappingsNonBlocking,
19
19
  } = require("metro-source-map");
20
20
 
21
21
  function getSourceMapInfosImpl(isBlocking, onDone, modules, options) {
@@ -31,7 +31,7 @@ function getSourceMapInfosImpl(isBlocking, onDone, modules, options) {
31
31
 
32
32
  const mod = modulesToProcess.shift();
33
33
  const info = getSourceMapInfo(mod, {
34
- excludeSource: options.excludeSource
34
+ excludeSource: options.excludeSource,
35
35
  });
36
36
  sourceMapInfos.push(info);
37
37
  return false;
@@ -72,7 +72,7 @@ function sourceMapGenerator(modules, options) {
72
72
  let sourceMapInfos;
73
73
  getSourceMapInfosImpl(
74
74
  true,
75
- infos => {
75
+ (infos) => {
76
76
  sourceMapInfos = infos;
77
77
  },
78
78
  modules,
@@ -89,7 +89,7 @@ function sourceMapGenerator(modules, options) {
89
89
  }
90
90
 
91
91
  async function sourceMapGeneratorNonBlocking(modules, options) {
92
- const sourceMapInfos = await new Promise(resolve => {
92
+ const sourceMapInfos = await new Promise((resolve) => {
93
93
  getSourceMapInfosImpl(false, resolve, modules, options);
94
94
  });
95
95
  return fromRawMappingsNonBlocking(sourceMapInfos);
@@ -97,5 +97,5 @@ async function sourceMapGeneratorNonBlocking(modules, options) {
97
97
 
98
98
  module.exports = {
99
99
  sourceMapGenerator,
100
- sourceMapGeneratorNonBlocking
100
+ sourceMapGeneratorNonBlocking,
101
101
  };
@@ -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,15 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const getSourceMapInfo = require('./helpers/getSourceMapInfo');
13
+ import type {Module} from '../types.flow';
14
14
 
15
+ const getSourceMapInfo = require('./helpers/getSourceMapInfo');
15
16
  const {isJsModule} = require('./helpers/js');
16
17
  const {
17
18
  fromRawMappings,
18
19
  fromRawMappingsNonBlocking,
19
20
  } = require('metro-source-map');
20
21
 
21
- import type {Module} from '../types.flow';
22
-
23
22
  type ReturnType<F> = $Call<<A, R>((...A) => R) => R, F>;
24
23
 
25
24
  function getSourceMapInfosImpl(
@@ -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,24 +11,24 @@
11
11
 
12
12
  const {
13
13
  sourceMapGenerator,
14
- sourceMapGeneratorNonBlocking
14
+ sourceMapGeneratorNonBlocking,
15
15
  } = require("./sourceMapGenerator");
16
16
 
17
17
  function sourceMapObject(modules, options) {
18
18
  const generator = sourceMapGenerator(modules, options);
19
19
  return generator.toMap(undefined, {
20
- excludeSource: options.excludeSource
20
+ excludeSource: options.excludeSource,
21
21
  });
22
22
  }
23
23
 
24
24
  async function sourceMapObjectNonBlocking(modules, options) {
25
25
  const generator = await sourceMapGeneratorNonBlocking(modules, options);
26
26
  return generator.toMap(undefined, {
27
- excludeSource: options.excludeSource
27
+ excludeSource: options.excludeSource,
28
28
  });
29
29
  }
30
30
 
31
31
  module.exports = {
32
32
  sourceMapObject,
33
- sourceMapObjectNonBlocking
33
+ sourceMapObjectNonBlocking,
34
34
  };
@@ -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,14 +10,14 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ import type {Module} from '../types.flow';
14
+ import type {MixedSourceMap} from 'metro-source-map';
15
+
13
16
  const {
14
17
  sourceMapGenerator,
15
18
  sourceMapGeneratorNonBlocking,
16
19
  } = require('./sourceMapGenerator');
17
20
 
18
- import type {Module} from '../types.flow';
19
- import type {MixedSourceMap} from 'metro-source-map';
20
-
21
21
  function sourceMapObject(
22
22
  modules: $ReadOnlyArray<Module<>>,
23
23
  options: {|
@@ -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.
@@ -13,7 +13,7 @@ const { sourceMapGenerator } = require("./sourceMapGenerator");
13
13
 
14
14
  function sourceMapString(modules, options) {
15
15
  return sourceMapGenerator(modules, options).toString(undefined, {
16
- excludeSource: options.excludeSource
16
+ excludeSource: options.excludeSource,
17
17
  });
18
18
  }
19
19
 
@@ -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 {sourceMapGenerator} = require('./sourceMapGenerator');
14
-
15
13
  import type {Module} from '../types.flow';
16
14
 
15
+ const {sourceMapGenerator} = require('./sourceMapGenerator');
16
+
17
17
  function sourceMapString(
18
18
  modules: $ReadOnlyArray<Module<>>,
19
19
  options: {|
@@ -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 getTransformCacheKey = require("./getTransformCacheKey");
13
+
12
14
  const WorkerFarm = require("./WorkerFarm");
13
15
 
14
16
  const assert = require("assert");
15
17
 
16
18
  const fs = require("fs");
17
19
 
18
- const getTransformCacheKey = require("./getTransformCacheKey");
20
+ const { Cache, stableHash } = require("metro-cache");
19
21
 
20
22
  const path = require("path");
21
23
 
22
- const { Cache, stableHash } = require("metro-cache");
23
-
24
24
  class Transformer {
25
25
  constructor(config, getSha1Fn) {
26
26
  this._config = config;
@@ -34,21 +34,22 @@ class Transformer {
34
34
 
35
35
  const {
36
36
  getTransformOptions: _getTransformOptions,
37
- postMinifyProcess: _postMinifyProcess,
38
37
  transformVariants: _transformVariants,
39
38
  workerPath: _workerPath,
40
39
  ...transformerConfig
41
40
  } = this._config.transformer;
42
41
  const transformerOptions = {
43
42
  transformerPath: this._config.transformerPath,
44
- transformerConfig
43
+ transformerConfig,
45
44
  };
46
45
  this._workerFarm = new WorkerFarm(config, transformerOptions);
47
- const globalCacheKey = getTransformCacheKey({
48
- cacheVersion: this._config.cacheVersion,
49
- projectRoot: this._config.projectRoot,
50
- transformerConfig: transformerOptions
51
- });
46
+ const globalCacheKey = this._cache.isDisabled
47
+ ? ""
48
+ : getTransformCacheKey({
49
+ cacheVersion: this._config.cacheVersion,
50
+ projectRoot: this._config.projectRoot,
51
+ transformerConfig: transformerOptions,
52
+ });
52
53
  this._baseHash = stableHash([globalCacheKey]).toString("binary");
53
54
  }
54
55
 
@@ -72,6 +73,7 @@ class Transformer {
72
73
  } = transformerOptions;
73
74
 
74
75
  for (const key in extra) {
76
+ // $FlowFixMe[cannot-resolve-name]
75
77
  if (hasOwnProperty.call(extra, key)) {
76
78
  throw new Error(
77
79
  "Extra keys detected: " + Object.keys(extra).join(", ")
@@ -96,7 +98,7 @@ class Transformer {
96
98
  runtimeBytecodeVersion,
97
99
  type,
98
100
  unstable_disableES6Transforms,
99
- unstable_transformProfile
101
+ unstable_transformProfile,
100
102
  ]);
101
103
 
102
104
  const sha1 = this._getSha1(filePath);
@@ -108,7 +110,7 @@ class Transformer {
108
110
  const data = result
109
111
  ? {
110
112
  result,
111
- sha1
113
+ sha1,
112
114
  }
113
115
  : await this._workerFarm.transform(localPath, transformerOptions); // Only re-compute the full key if the SHA-1 changed. This is because
114
116
  // references are used by the cache implementation in a weak map to keep
@@ -124,7 +126,7 @@ class Transformer {
124
126
 
125
127
  getSource() {
126
128
  return fs.readFileSync(filePath);
127
- }
129
+ },
128
130
  };
129
131
  }
130
132
 
@@ -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,16 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const WorkerFarm = require('./WorkerFarm');
13
+ import type {TransformResult, TransformResultWithSource} from '../DeltaBundler';
14
+ import type {TransformerConfig, TransformOptions} from './Worker';
15
+ import type {ConfigT} from 'metro-config/src/configTypes.flow';
14
16
 
17
+ const getTransformCacheKey = require('./getTransformCacheKey');
18
+ const WorkerFarm = require('./WorkerFarm');
15
19
  const assert = require('assert');
16
20
  const fs = require('fs');
17
- const getTransformCacheKey = require('./getTransformCacheKey');
18
- const path = require('path');
19
-
20
21
  const {Cache, stableHash} = require('metro-cache');
21
-
22
- import type {TransformResult, TransformResultWithSource} from '../DeltaBundler';
23
- import type {TransformOptions, TransformerConfig} from './Worker';
24
- import type {ConfigT} from 'metro-config/src/configTypes.flow';
22
+ const path = require('path');
25
23
 
26
24
  class Transformer {
27
25
  _config: ConfigT;
@@ -42,7 +40,6 @@ class Transformer {
42
40
  // can treat the transformer config params as opaque.
43
41
  const {
44
42
  getTransformOptions: _getTransformOptions,
45
- postMinifyProcess: _postMinifyProcess,
46
43
  transformVariants: _transformVariants,
47
44
  workerPath: _workerPath,
48
45
  ...transformerConfig
@@ -55,11 +52,13 @@ class Transformer {
55
52
 
56
53
  this._workerFarm = new WorkerFarm(config, transformerOptions);
57
54
 
58
- const globalCacheKey = getTransformCacheKey({
59
- cacheVersion: this._config.cacheVersion,
60
- projectRoot: this._config.projectRoot,
61
- transformerConfig: transformerOptions,
62
- });
55
+ const globalCacheKey = this._cache.isDisabled
56
+ ? ''
57
+ : getTransformCacheKey({
58
+ cacheVersion: this._config.cacheVersion,
59
+ projectRoot: this._config.projectRoot,
60
+ transformerConfig: transformerOptions,
61
+ });
63
62
 
64
63
  this._baseHash = stableHash([globalCacheKey]).toString('binary');
65
64
  }
@@ -88,6 +87,7 @@ class Transformer {
88
87
  } = transformerOptions;
89
88
 
90
89
  for (const key in extra) {
90
+ // $FlowFixMe[cannot-resolve-name]
91
91
  if (hasOwnProperty.call(extra, key)) {
92
92
  throw new Error(
93
93
  'Extra keys detected: ' + Object.keys(extra).join(', '),