metro 0.83.1 → 0.83.2

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 (206) hide show
  1. package/package.json +15 -15
  2. package/src/Assets.js +68 -42
  3. package/src/Assets.js.flow +13 -24
  4. package/src/Bundler/util.js +40 -17
  5. package/src/Bundler/util.js.flow +6 -13
  6. package/src/Bundler.js +17 -6
  7. package/src/Bundler.js.flow +3 -7
  8. package/src/DeltaBundler/DeltaCalculator.js +14 -10
  9. package/src/DeltaBundler/DeltaCalculator.js.flow +4 -7
  10. package/src/DeltaBundler/Graph.js +44 -35
  11. package/src/DeltaBundler/Graph.js.flow +3 -4
  12. package/src/DeltaBundler/Serializers/baseJSBundle.js +24 -10
  13. package/src/DeltaBundler/Serializers/baseJSBundle.js.flow +6 -9
  14. package/src/DeltaBundler/Serializers/getAllFiles.js +9 -6
  15. package/src/DeltaBundler/Serializers/getAllFiles.js.flow +4 -8
  16. package/src/DeltaBundler/Serializers/getAssets.js +18 -11
  17. package/src/DeltaBundler/Serializers/getAssets.js.flow +5 -9
  18. package/src/DeltaBundler/Serializers/getExplodedSourceMap.d.ts +26 -0
  19. package/src/DeltaBundler/Serializers/getExplodedSourceMap.js +7 -6
  20. package/src/DeltaBundler/Serializers/getExplodedSourceMap.js.flow +3 -9
  21. package/src/DeltaBundler/Serializers/getRamBundleInfo.js +40 -23
  22. package/src/DeltaBundler/Serializers/getRamBundleInfo.js.flow +11 -18
  23. package/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js +4 -1
  24. package/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js.flow +1 -5
  25. package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +7 -4
  26. package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js.flow +3 -7
  27. package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +4 -1
  28. package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js.flow +2 -6
  29. package/src/DeltaBundler/Serializers/helpers/js.js +65 -31
  30. package/src/DeltaBundler/Serializers/helpers/js.js.flow +21 -21
  31. package/src/DeltaBundler/Serializers/helpers/processModules.js +8 -5
  32. package/src/DeltaBundler/Serializers/helpers/processModules.js.flow +3 -7
  33. package/src/DeltaBundler/Serializers/hmrJSBundle.js +70 -25
  34. package/src/DeltaBundler/Serializers/hmrJSBundle.js.flow +43 -33
  35. package/src/DeltaBundler/Serializers/sourceMapGenerator.js +19 -16
  36. package/src/DeltaBundler/Serializers/sourceMapGenerator.js.flow +6 -14
  37. package/src/DeltaBundler/Serializers/sourceMapObject.js +12 -10
  38. package/src/DeltaBundler/Serializers/sourceMapObject.js.flow +4 -9
  39. package/src/DeltaBundler/Serializers/sourceMapString.js +14 -12
  40. package/src/DeltaBundler/Serializers/sourceMapString.js.flow +4 -9
  41. package/src/DeltaBundler/Transformer.js +31 -22
  42. package/src/DeltaBundler/Transformer.js.flow +10 -17
  43. package/src/DeltaBundler/Worker.flow.js +25 -18
  44. package/src/DeltaBundler/Worker.flow.js.flow +12 -18
  45. package/src/DeltaBundler/Worker.js.flow +2 -0
  46. package/src/DeltaBundler/WorkerFarm.js +13 -11
  47. package/src/DeltaBundler/WorkerFarm.js.flow +7 -9
  48. package/src/DeltaBundler/buildSubgraph.js +12 -12
  49. package/src/DeltaBundler/buildSubgraph.js.flow +1 -1
  50. package/src/DeltaBundler/getTransformCacheKey.js +12 -6
  51. package/src/DeltaBundler/getTransformCacheKey.js.flow +5 -7
  52. package/src/DeltaBundler/mergeDeltas.js +4 -1
  53. package/src/DeltaBundler/mergeDeltas.js.flow +5 -6
  54. package/src/DeltaBundler/types.d.ts +4 -1
  55. package/src/DeltaBundler/{types.flow.js.flow → types.js.flow} +5 -3
  56. package/src/DeltaBundler.js +15 -6
  57. package/src/DeltaBundler.js.flow +4 -8
  58. package/src/HmrServer.js +116 -68
  59. package/src/HmrServer.js.flow +41 -52
  60. package/src/IncrementalBundler/GraphNotFoundError.js +5 -1
  61. package/src/IncrementalBundler/GraphNotFoundError.js.flow +1 -5
  62. package/src/IncrementalBundler/ResourceNotFoundError.js +5 -1
  63. package/src/IncrementalBundler/ResourceNotFoundError.js.flow +1 -5
  64. package/src/IncrementalBundler/RevisionNotFoundError.js +5 -1
  65. package/src/IncrementalBundler/RevisionNotFoundError.js.flow +1 -5
  66. package/src/IncrementalBundler.js +71 -35
  67. package/src/IncrementalBundler.js.flow +12 -16
  68. package/src/ModuleGraph/test-helpers.js +19 -14
  69. package/src/ModuleGraph/worker/JsFileWrapping.js +19 -18
  70. package/src/ModuleGraph/worker/JsFileWrapping.js.flow +1 -10
  71. package/src/ModuleGraph/worker/collectDependencies.js +81 -52
  72. package/src/ModuleGraph/worker/collectDependencies.js.flow +15 -22
  73. package/src/ModuleGraph/worker/generateImportNames.js +12 -6
  74. package/src/ModuleGraph/worker/generateImportNames.js.flow +3 -7
  75. package/src/ModuleGraph/worker/importLocationsPlugin.js +5 -4
  76. package/src/ModuleGraph/worker/importLocationsPlugin.js.flow +2 -4
  77. package/src/Server/MultipartResponse.js +11 -4
  78. package/src/Server/MultipartResponse.js.flow +2 -5
  79. package/src/Server/symbolicate.d.ts +31 -0
  80. package/src/Server/symbolicate.js +15 -16
  81. package/src/Server/symbolicate.js.flow +6 -16
  82. package/src/Server.d.ts +0 -1
  83. package/src/Server.js +298 -191
  84. package/src/Server.js.flow +136 -99
  85. package/src/cli-utils.js +13 -4
  86. package/src/cli-utils.js.flow +3 -5
  87. package/src/cli.js.flow +2 -0
  88. package/src/commands/build.js +17 -10
  89. package/src/commands/build.js.flow +6 -6
  90. package/src/commands/dependencies.js +26 -16
  91. package/src/commands/dependencies.js.flow +7 -9
  92. package/src/commands/serve.js +16 -11
  93. package/src/commands/serve.js.flow +5 -6
  94. package/src/index.d.ts +26 -3
  95. package/src/index.flow.js +162 -72
  96. package/src/index.flow.js.flow +60 -47
  97. package/src/index.js.flow +2 -0
  98. package/src/integration_tests/basic_bundle/TestBundle.js.flow +2 -1
  99. package/src/integration_tests/basic_bundle/import-export/index.js +2 -2
  100. package/src/integration_tests/basic_bundle/require-context/mode-eager.js +2 -2
  101. package/src/integration_tests/basic_bundle/require-context/mode-lazy-once.js +2 -2
  102. package/src/integration_tests/basic_bundle/require-context/mode-lazy.js +2 -2
  103. package/src/integration_tests/basic_bundle/require-context/mode-sync.js +1 -1
  104. package/src/integration_tests/basic_bundle/require-context/utils.js +1 -1
  105. package/src/integration_tests/execBundle.js +7 -4
  106. package/src/integration_tests/execBundle.js.flow +1 -3
  107. package/src/integration_tests/metro.config.js +3 -3
  108. package/src/lib/BatchProcessor.js +15 -5
  109. package/src/lib/BatchProcessor.js.flow +2 -6
  110. package/src/lib/CountingSet.js.flow +2 -2
  111. package/src/lib/JsonReporter.js +6 -2
  112. package/src/lib/JsonReporter.js.flow +1 -5
  113. package/src/lib/RamBundleParser.js +12 -3
  114. package/src/lib/RamBundleParser.js.flow +2 -6
  115. package/src/lib/TerminalReporter.js +95 -56
  116. package/src/lib/TerminalReporter.js.flow +9 -12
  117. package/src/lib/bundleToString.js +4 -1
  118. package/src/lib/bundleToString.js.flow +2 -9
  119. package/src/lib/contextModule.js +2 -2
  120. package/src/lib/contextModuleTemplates.js +7 -13
  121. package/src/lib/countLines.js +5 -1
  122. package/src/lib/countLines.js.flow +1 -3
  123. package/src/lib/createWebsocketServer.js +6 -2
  124. package/src/lib/createWebsocketServer.js.flow +4 -4
  125. package/src/lib/debounceAsyncQueue.js +4 -1
  126. package/src/lib/debounceAsyncQueue.js.flow +1 -5
  127. package/src/lib/formatBundlingError.js +32 -22
  128. package/src/lib/formatBundlingError.js.flow +18 -20
  129. package/src/lib/getAppendScripts.js +19 -15
  130. package/src/lib/getAppendScripts.js.flow +9 -13
  131. package/src/lib/getGraphId.js +12 -6
  132. package/src/lib/getGraphId.js.flow +4 -10
  133. package/src/lib/getPreludeCode.js +7 -10
  134. package/src/lib/getPreludeCode.js.flow +2 -6
  135. package/src/lib/getPrependedScripts.js +39 -11
  136. package/src/lib/getPrependedScripts.js.flow +8 -13
  137. package/src/lib/isResolvedDependency.js.flow +1 -1
  138. package/src/lib/logToConsole.js +18 -12
  139. package/src/lib/logToConsole.js.flow +5 -14
  140. package/src/lib/parseBundleOptionsFromBundleRequestUrl.js +144 -0
  141. package/src/lib/parseBundleOptionsFromBundleRequestUrl.js.flow +146 -0
  142. package/src/lib/parseCustomResolverOptions.js +8 -6
  143. package/src/lib/parseCustomResolverOptions.js.flow +6 -12
  144. package/src/lib/parseCustomTransformOptions.js +8 -6
  145. package/src/lib/parseCustomTransformOptions.js.flow +11 -14
  146. package/src/lib/parseJsonBody.js +4 -1
  147. package/src/lib/parseJsonBody.js.flow +1 -3
  148. package/src/lib/pathUtils.js +34 -0
  149. package/src/lib/pathUtils.js.flow +16 -0
  150. package/src/lib/relativizeSourceMap.js +12 -3
  151. package/src/lib/relativizeSourceMap.js.flow +2 -6
  152. package/src/lib/reporting.js +25 -19
  153. package/src/lib/reporting.js.flow +6 -16
  154. package/src/lib/splitBundleOptions.js +4 -2
  155. package/src/lib/splitBundleOptions.js.flow +4 -7
  156. package/src/lib/transformHelpers.js +18 -20
  157. package/src/lib/transformHelpers.js.flow +5 -15
  158. package/src/node-haste/DependencyGraph/ModuleResolution.js +75 -57
  159. package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +28 -44
  160. package/src/node-haste/DependencyGraph/createFileMap.js +13 -7
  161. package/src/node-haste/DependencyGraph/createFileMap.js.flow +2 -5
  162. package/src/node-haste/DependencyGraph.js +61 -45
  163. package/src/node-haste/DependencyGraph.js.flow +34 -31
  164. package/src/node-haste/Package.js +13 -6
  165. package/src/node-haste/Package.js.flow +3 -7
  166. package/src/node-haste/{ModuleCache.js → PackageCache.js} +11 -19
  167. package/src/node-haste/{ModuleCache.js.flow → PackageCache.js.flow} +2 -30
  168. package/src/node-haste/lib/AssetPaths.js +14 -8
  169. package/src/node-haste/lib/AssetPaths.js.flow +7 -8
  170. package/src/node-haste/lib/parsePlatformFilePath.js +10 -4
  171. package/src/node-haste/lib/parsePlatformFilePath.js.flow +2 -6
  172. package/src/shared/output/RamBundle/as-assets.js +42 -22
  173. package/src/shared/output/RamBundle/as-assets.js.flow +12 -15
  174. package/src/shared/output/RamBundle/as-indexed-file.js +33 -23
  175. package/src/shared/output/RamBundle/as-indexed-file.js.flow +10 -16
  176. package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js +11 -10
  177. package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js.flow +4 -6
  178. package/src/shared/output/RamBundle/magic-number.js +5 -1
  179. package/src/shared/output/RamBundle/magic-number.js.flow +1 -3
  180. package/src/shared/output/RamBundle/util.js +20 -13
  181. package/src/shared/output/RamBundle/util.js.flow +4 -6
  182. package/src/shared/output/RamBundle/write-sourcemap.js +9 -3
  183. package/src/shared/output/RamBundle/write-sourcemap.js.flow +2 -6
  184. package/src/shared/output/RamBundle.js +16 -9
  185. package/src/shared/output/RamBundle.js.flow +8 -12
  186. package/src/shared/output/bundle.flow.js +37 -13
  187. package/src/shared/output/bundle.flow.js.flow +24 -12
  188. package/src/shared/output/bundle.js.flow +2 -0
  189. package/src/shared/output/meta.js +16 -9
  190. package/src/shared/output/meta.js.flow +3 -5
  191. package/src/shared/output/unbundle.js +14 -1
  192. package/src/shared/output/unbundle.js.flow +1 -3
  193. package/src/shared/output/writeFile.js +11 -4
  194. package/src/shared/output/writeFile.js.flow +3 -5
  195. package/src/shared/types.d.ts +0 -1
  196. package/src/shared/{types.flow.js.flow → types.js.flow} +16 -17
  197. package/src/lib/createModuleIdFactory.js +0 -15
  198. package/src/lib/createModuleIdFactory.js.flow +0 -27
  199. package/src/lib/getMaxWorkers.js +0 -9
  200. package/src/lib/getMaxWorkers.js.flow +0 -22
  201. package/src/lib/parseOptionsFromUrl.js +0 -62
  202. package/src/lib/parseOptionsFromUrl.js.flow +0 -97
  203. package/src/node-haste/Module.js +0 -20
  204. package/src/node-haste/Module.js.flow +0 -41
  205. /package/src/DeltaBundler/{types.flow.js → types.js} +0 -0
  206. /package/src/shared/{types.flow.js → types.js} +0 -0
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- const {
4
- combineSourceMaps,
5
- combineSourceMapsAddingOffsets,
6
- joinModules,
7
- } = require("./util");
8
- module.exports = ({
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.default = void 0;
7
+ var _util = require("./util");
8
+ var _default = ({
9
9
  fixWrapperOffset,
10
10
  lazyModules,
11
11
  moduleGroups,
@@ -17,9 +17,9 @@ module.exports = ({
17
17
  }
18
18
  : undefined;
19
19
  const startupModule = {
20
- code: joinModules(startupModules),
20
+ code: (0, _util.joinModules)(startupModules),
21
21
  id: Number.MIN_SAFE_INTEGER,
22
- map: combineSourceMaps(startupModules, undefined, options),
22
+ map: (0, _util.combineSourceMaps)(startupModules, undefined, options),
23
23
  sourcePath: "",
24
24
  };
25
25
  const module_paths = [];
@@ -29,14 +29,15 @@ module.exports = ({
29
29
  lazyModules.forEach((m) => {
30
30
  module_paths[m.id] = m.sourcePath;
31
31
  });
32
- const map = combineSourceMapsAddingOffsets(
32
+ const map = (0, _util.combineSourceMapsAddingOffsets)(
33
33
  [startupModule].concat(lazyModules),
34
34
  module_paths,
35
35
  moduleGroups,
36
- options
36
+ options,
37
37
  );
38
38
  if (map.x_facebook_offsets != null) {
39
39
  delete map.x_facebook_offsets[Number.MIN_SAFE_INTEGER];
40
40
  }
41
41
  return map;
42
42
  };
43
+ exports.default = _default;
@@ -9,16 +9,14 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
13
-
14
- import type {ModuleGroups, ModuleTransportLike} from '../../types.flow';
12
+ import type {ModuleGroups, ModuleTransportLike} from '../../types';
15
13
  import type {IndexMap} from 'metro-source-map';
16
14
 
17
- const {
15
+ import {
18
16
  combineSourceMaps,
19
17
  combineSourceMapsAddingOffsets,
20
18
  joinModules,
21
- } = require('./util');
19
+ } from './util';
22
20
 
23
21
  type Params = {
24
22
  fixWrapperOffset: boolean,
@@ -27,7 +25,7 @@ type Params = {
27
25
  startupModules: $ReadOnlyArray<ModuleTransportLike>,
28
26
  };
29
27
 
30
- module.exports = (({
28
+ export default (({
31
29
  fixWrapperOffset,
32
30
  lazyModules,
33
31
  moduleGroups,
@@ -1,3 +1,7 @@
1
1
  "use strict";
2
2
 
3
- module.exports = 0xfb0bd1e5;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.default = void 0;
7
+ var _default = (exports.default = 0xfb0bd1e5);
@@ -9,6 +9,4 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
13
-
14
- module.exports = 0xfb0bd1e5;
12
+ export default 0xfb0bd1e5;
@@ -1,10 +1,23 @@
1
1
  "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.combineSourceMaps = combineSourceMaps;
7
+ exports.combineSourceMapsAddingOffsets = combineSourceMapsAddingOffsets;
8
+ Object.defineProperty(exports, "countLines", {
9
+ enumerable: true,
10
+ get: function () {
11
+ return _countLines.default;
12
+ },
13
+ });
14
+ exports.joinModules = void 0;
15
+ exports.lineToLineSourceMap = lineToLineSourceMap;
3
16
  var _countLines = _interopRequireDefault(require("../../../lib/countLines"));
17
+ var _invariant = _interopRequireDefault(require("invariant"));
4
18
  function _interopRequireDefault(e) {
5
19
  return e && e.__esModule ? e : { default: e };
6
20
  }
7
- const invariant = require("invariant");
8
21
  function lineToLineSourceMap(source, filename = "") {
9
22
  const firstLine = "AAAA;";
10
23
  const line = "AACA;";
@@ -35,14 +48,14 @@ function combineSourceMapsAddingOffsets(
35
48
  modules,
36
49
  x_metro_module_paths,
37
50
  moduleGroups,
38
- options
51
+ options,
39
52
  ) {
40
53
  const x_facebook_offsets = [];
41
54
  const sections = combineMaps(
42
55
  modules,
43
56
  x_facebook_offsets,
44
57
  moduleGroups,
45
- options
58
+ options,
46
59
  );
47
60
  return {
48
61
  sections,
@@ -77,12 +90,12 @@ function combineMaps(modules, offsets, moduleGroups, options) {
77
90
  }
78
91
  column = options && options.fixWrapperOffset ? wrapperEnd(code) : 0;
79
92
  }
80
- invariant(
93
+ (0, _invariant.default)(
81
94
  !Array.isArray(map),
82
- "Random Access Bundle source maps cannot be built from raw mappings"
95
+ "Random Access Bundle source maps cannot be built from raw mappings",
83
96
  );
84
97
  sections.push(
85
- Section(line, column, map || lineToLineSourceMap(code, name))
98
+ Section(line, column, map || lineToLineSourceMap(code, name)),
86
99
  );
87
100
  if (offsets != null && id != null) {
88
101
  offsets[id] = line;
@@ -95,10 +108,4 @@ function combineMaps(modules, offsets, moduleGroups, options) {
95
108
  return sections;
96
109
  }
97
110
  const joinModules = (modules) => modules.map((m) => m.code).join("\n");
98
- module.exports = {
99
- combineSourceMaps,
100
- combineSourceMapsAddingOffsets,
101
- countLines: _countLines.default,
102
- joinModules,
103
- lineToLineSourceMap,
104
- };
111
+ exports.joinModules = joinModules;
@@ -9,9 +9,7 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
13
-
14
- import type {ModuleGroups, ModuleTransportLike} from '../../types.flow';
12
+ import type {ModuleGroups, ModuleTransportLike} from '../../types';
15
13
  import type {
16
14
  BasicSourceMap,
17
15
  IndexMap,
@@ -20,8 +18,7 @@ import type {
20
18
  } from 'metro-source-map';
21
19
 
22
20
  import countLines from '../../../lib/countLines';
23
-
24
- const invariant = require('invariant');
21
+ import invariant from 'invariant';
25
22
 
26
23
  function lineToLineSourceMap(
27
24
  source: string,
@@ -123,6 +120,7 @@ function combineMaps(
123
120
  sections.push(
124
121
  /* $FlowFixMe[incompatible-exact] Natural Inference rollout. See
125
122
  * https://fburl.com/gdoc/y8dn025u */
123
+ // $FlowFixMe[incompatible-type]
126
124
  Section(line, column, map || lineToLineSourceMap(code, name)),
127
125
  );
128
126
  if (offsets != null && id != null) {
@@ -140,7 +138,7 @@ function combineMaps(
140
138
  const joinModules = (modules: $ReadOnlyArray<{+code: string, ...}>): string =>
141
139
  modules.map((m: {+code: string, ...}) => m.code).join('\n');
142
140
 
143
- module.exports = {
141
+ export {
144
142
  combineSourceMaps,
145
143
  combineSourceMapsAddingOffsets,
146
144
  countLines,
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
2
 
3
- const writeFile = require("../writeFile");
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.default = writeSourcemap;
7
+ var _writeFile = _interopRequireDefault(require("../writeFile"));
8
+ function _interopRequireDefault(e) {
9
+ return e && e.__esModule ? e : { default: e };
10
+ }
4
11
  function writeSourcemap(fileName, contents, log) {
5
12
  if (!fileName) {
6
13
  return Promise.resolve();
7
14
  }
8
15
  log("Writing sourcemap output to:", fileName);
9
- const writeMap = writeFile(fileName, contents);
16
+ const writeMap = (0, _writeFile.default)(fileName, contents);
10
17
  writeMap.then(() => log("Done writing sourcemap output"));
11
18
  return writeMap;
12
19
  }
13
- module.exports = writeSourcemap;
@@ -9,11 +9,9 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
12
+ import writeFile from '../writeFile';
13
13
 
14
- const writeFile = require('../writeFile');
15
-
16
- function writeSourcemap(
14
+ export default function writeSourcemap(
17
15
  fileName: string,
18
16
  contents: string,
19
17
  log: (...args: Array<string>) => void,
@@ -27,5 +25,3 @@ function writeSourcemap(
27
25
  writeMap.then(() => log('Done writing sourcemap output'));
28
26
  return writeMap;
29
27
  }
30
-
31
- module.exports = writeSourcemap;
@@ -1,20 +1,27 @@
1
1
  "use strict";
2
2
 
3
- const Server = require("../../Server");
4
- const asAssets = require("./RamBundle/as-assets");
5
- const asIndexedFile = require("./RamBundle/as-indexed-file").save;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.build = build;
7
+ exports.formatName = void 0;
8
+ exports.save = save;
9
+ var _Server = _interopRequireDefault(require("../../Server"));
10
+ var _asAssets = _interopRequireDefault(require("./RamBundle/as-assets"));
11
+ var _asIndexedFile = require("./RamBundle/as-indexed-file");
12
+ function _interopRequireDefault(e) {
13
+ return e && e.__esModule ? e : { default: e };
14
+ }
6
15
  async function build(packagerClient, requestOptions) {
7
16
  const options = {
8
- ...Server.DEFAULT_BUNDLE_OPTIONS,
17
+ ..._Server.default.DEFAULT_BUNDLE_OPTIONS,
9
18
  ...requestOptions,
10
19
  };
11
20
  return await packagerClient.getRamBundleInfo(options);
12
21
  }
13
22
  function save(bundle, options, log) {
14
23
  return options.platform === "android" && !(options.indexedRamBundle === true)
15
- ? asAssets(bundle, options, log)
16
- : asIndexedFile(bundle, options, log);
24
+ ? (0, _asAssets.default)(bundle, options, log)
25
+ : (0, _asIndexedFile.save)(bundle, options, log);
17
26
  }
18
- exports.build = build;
19
- exports.save = save;
20
- exports.formatName = "bundle";
27
+ const formatName = (exports.formatName = "bundle");
@@ -9,16 +9,14 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
13
-
14
12
  import type {RamBundleInfo} from '../../DeltaBundler/Serializers/getRamBundleInfo';
15
- import type {OutputOptions, RequestOptions} from '../types.flow';
13
+ import type {OutputOptions, RequestOptions} from '../types';
16
14
 
17
- const Server = require('../../Server');
18
- const asAssets = require('./RamBundle/as-assets');
19
- const asIndexedFile = require('./RamBundle/as-indexed-file').save;
15
+ import Server from '../../Server';
16
+ import asAssets from './RamBundle/as-assets';
17
+ import {save as asIndexedFile} from './RamBundle/as-indexed-file';
20
18
 
21
- async function build(
19
+ export async function build(
22
20
  packagerClient: Server,
23
21
  requestOptions: RequestOptions,
24
22
  ): Promise<RamBundleInfo> {
@@ -26,12 +24,12 @@ async function build(
26
24
  ...Server.DEFAULT_BUNDLE_OPTIONS,
27
25
  ...requestOptions,
28
26
  };
29
- /* $FlowFixMe[incompatible-call] Natural Inference rollout. See
27
+ /* $FlowFixMe[incompatible-type] Natural Inference rollout. See
30
28
  * https://fburl.com/gdoc/y8dn025u */
31
29
  return await packagerClient.getRamBundleInfo(options);
32
30
  }
33
31
 
34
- function save(
32
+ export function save(
35
33
  bundle: RamBundleInfo,
36
34
  options: OutputOptions,
37
35
  log: (x: string) => void,
@@ -44,6 +42,4 @@ function save(
44
42
  : asIndexedFile(bundle, options, log);
45
43
  }
46
44
 
47
- exports.build = build;
48
- exports.save = save;
49
- exports.formatName = 'bundle';
45
+ export const formatName = 'bundle';
@@ -1,23 +1,49 @@
1
1
  "use strict";
2
2
 
3
- const relativizeSourceMapInline = require("../../lib/relativizeSourceMap");
4
- const Server = require("../../Server");
5
- const writeFile = require("./writeFile");
6
- function buildBundle(packagerClient, requestOptions, buildOptions = {}) {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.build = build;
7
+ exports.formatName = void 0;
8
+ exports.save = save;
9
+ var _relativizeSourceMap = _interopRequireDefault(
10
+ require("../../lib/relativizeSourceMap"),
11
+ );
12
+ var _Server = _interopRequireDefault(require("../../Server"));
13
+ var _writeFile = _interopRequireDefault(require("./writeFile"));
14
+ function _interopRequireDefault(e) {
15
+ return e && e.__esModule ? e : { default: e };
16
+ }
17
+ const DEFAULTS = _Server.default.DEFAULT_BUNDLE_OPTIONS;
18
+ function build(packagerClient, requestOptions, buildOptions = {}) {
7
19
  return packagerClient.build(
8
20
  {
9
- ...Server.DEFAULT_BUNDLE_OPTIONS,
21
+ ...DEFAULTS,
10
22
  ...requestOptions,
23
+ ...{
24
+ customResolverOptions:
25
+ requestOptions.customResolverOptions ??
26
+ DEFAULTS.customResolverOptions,
27
+ customTransformOptions:
28
+ requestOptions.customTransformOptions ??
29
+ DEFAULTS.customTransformOptions,
30
+ dev: requestOptions.dev ?? DEFAULTS.dev,
31
+ inlineSourceMap:
32
+ requestOptions.inlineSourceMap ?? DEFAULTS.inlineSourceMap,
33
+ unstable_transformProfile:
34
+ requestOptions.unstable_transformProfile ??
35
+ DEFAULTS.unstable_transformProfile,
36
+ },
11
37
  },
12
- buildOptions
38
+ buildOptions,
13
39
  );
14
40
  }
15
41
  function relativateSerializedMap(map, sourceMapSourcesRoot) {
16
42
  const sourceMap = JSON.parse(map);
17
- relativizeSourceMapInline(sourceMap, sourceMapSourcesRoot);
43
+ (0, _relativizeSourceMap.default)(sourceMap, sourceMapSourcesRoot);
18
44
  return JSON.stringify(sourceMap);
19
45
  }
20
- async function saveBundleAndMap(bundle, options, log) {
46
+ async function save(bundle, options, log) {
21
47
  const {
22
48
  bundleOutput,
23
49
  bundleEncoding: encoding,
@@ -27,7 +53,7 @@ async function saveBundleAndMap(bundle, options, log) {
27
53
  const writeFns = [];
28
54
  writeFns.push(async () => {
29
55
  log(`Writing bundle output to: ${bundleOutput}`);
30
- await writeFile(bundleOutput, bundle.code, encoding);
56
+ await (0, _writeFile.default)(bundleOutput, bundle.code, encoding);
31
57
  log("Done writing bundle output");
32
58
  });
33
59
  if (sourcemapOutput) {
@@ -39,12 +65,10 @@ async function saveBundleAndMap(bundle, options, log) {
39
65
  }
40
66
  writeFns.push(async () => {
41
67
  log(`Writing sourcemap output to: ${sourcemapOutput}`);
42
- await writeFile(sourcemapOutput, map);
68
+ await (0, _writeFile.default)(sourcemapOutput, map);
43
69
  log("Done writing sourcemap output");
44
70
  });
45
71
  }
46
72
  await Promise.all(writeFns.map((cb) => cb()));
47
73
  }
48
- exports.build = buildBundle;
49
- exports.save = saveBundleAndMap;
50
- exports.formatName = "bundle";
74
+ const formatName = (exports.formatName = "bundle");
@@ -9,17 +9,17 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
13
-
14
12
  import type {AssetData} from '../../Assets';
15
- import type {BuildOptions, OutputOptions, RequestOptions} from '../types.flow';
13
+ import type {BuildOptions, OutputOptions, RequestOptions} from '../types';
16
14
  import type {MixedSourceMap} from 'metro-source-map';
17
15
 
18
- const relativizeSourceMapInline = require('../../lib/relativizeSourceMap');
19
- const Server = require('../../Server');
20
- const writeFile = require('./writeFile');
16
+ import relativizeSourceMapInline from '../../lib/relativizeSourceMap';
17
+ import Server from '../../Server';
18
+ import writeFile from './writeFile';
19
+
20
+ const DEFAULTS = Server.DEFAULT_BUNDLE_OPTIONS;
21
21
 
22
- function buildBundle(
22
+ export function build(
23
23
  packagerClient: Server,
24
24
  requestOptions: RequestOptions,
25
25
  buildOptions?: BuildOptions = {},
@@ -31,8 +31,22 @@ function buildBundle(
31
31
  }> {
32
32
  return packagerClient.build(
33
33
  {
34
- ...Server.DEFAULT_BUNDLE_OPTIONS,
34
+ ...DEFAULTS,
35
35
  ...requestOptions,
36
+ ...{
37
+ customResolverOptions:
38
+ requestOptions.customResolverOptions ??
39
+ DEFAULTS.customResolverOptions,
40
+ customTransformOptions:
41
+ requestOptions.customTransformOptions ??
42
+ DEFAULTS.customTransformOptions,
43
+ dev: requestOptions.dev ?? DEFAULTS.dev,
44
+ inlineSourceMap:
45
+ requestOptions.inlineSourceMap ?? DEFAULTS.inlineSourceMap,
46
+ unstable_transformProfile:
47
+ requestOptions.unstable_transformProfile ??
48
+ DEFAULTS.unstable_transformProfile,
49
+ },
36
50
  },
37
51
  buildOptions,
38
52
  );
@@ -47,7 +61,7 @@ function relativateSerializedMap(
47
61
  return JSON.stringify(sourceMap);
48
62
  }
49
63
 
50
- async function saveBundleAndMap(
64
+ export async function save(
51
65
  bundle: {
52
66
  code: string,
53
67
  map: string,
@@ -90,6 +104,4 @@ async function saveBundleAndMap(
90
104
  await Promise.all(writeFns.map((cb: void => mixed) => cb()));
91
105
  }
92
106
 
93
- exports.build = buildBundle;
94
- exports.save = saveBundleAndMap;
95
- exports.formatName = 'bundle';
107
+ export const formatName = 'bundle';
@@ -9,6 +9,8 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
+ /* eslint-disable import/no-commonjs */
13
+
12
14
  'use strict';
13
15
 
14
16
  /*::
@@ -1,28 +1,35 @@
1
1
  "use strict";
2
2
 
3
- const crypto = require("crypto");
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.default = _default;
7
+ var _crypto = _interopRequireDefault(require("crypto"));
8
+ function _interopRequireDefault(e) {
9
+ return e && e.__esModule ? e : { default: e };
10
+ }
4
11
  const isUTF8 = (encoding) => /^utf-?8$/i.test(encoding);
5
12
  const constantFor = (encoding) =>
6
13
  /^ascii$/i.test(encoding)
7
14
  ? 1
8
15
  : isUTF8(encoding)
9
- ? 2
10
- : /^(?:utf-?16(?:le)?|ucs-?2)$/.test(encoding)
11
- ? 3
12
- : 0;
13
- module.exports = function (code, encoding = "utf8") {
16
+ ? 2
17
+ : /^(?:utf-?16(?:le)?|ucs-?2)$/.test(encoding)
18
+ ? 3
19
+ : 0;
20
+ function _default(code, encoding = "utf8") {
14
21
  const buffer = asBuffer(code, encoding);
15
- const hash = crypto.createHash("sha1");
22
+ const hash = _crypto.default.createHash("sha1");
16
23
  hash.update(buffer);
17
24
  const digest = hash.digest("buffer");
18
25
  const signature = Buffer.alloc(digest.length + 1);
19
26
  digest.copy(signature);
20
27
  signature.writeUInt8(
21
28
  constantFor(tryAsciiPromotion(buffer, encoding)),
22
- signature.length - 1
29
+ signature.length - 1,
23
30
  );
24
31
  return signature;
25
- };
32
+ }
26
33
  function tryAsciiPromotion(buffer, encoding) {
27
34
  if (!isUTF8(encoding)) {
28
35
  return encoding;
@@ -9,9 +9,7 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
13
-
14
- const crypto = require('crypto');
12
+ import crypto from 'crypto';
15
13
 
16
14
  const isUTF8 = (encoding: 'ascii' | 'utf16le' | 'utf8') =>
17
15
  /^utf-?8$/i.test(encoding);
@@ -25,7 +23,7 @@ const constantFor = (encoding: 'ascii' | 'utf16le' | 'utf8') =>
25
23
  ? 3
26
24
  : 0;
27
25
 
28
- module.exports = function (
26
+ export default function (
29
27
  code: Buffer | string,
30
28
  encoding: 'ascii' | 'utf16le' | 'utf8' = 'utf8',
31
29
  ): Buffer {
@@ -40,7 +38,7 @@ module.exports = function (
40
38
  signature.length - 1,
41
39
  );
42
40
  return signature;
43
- };
41
+ }
44
42
 
45
43
  function tryAsciiPromotion(
46
44
  buffer: Buffer,
@@ -1,3 +1,16 @@
1
1
  "use strict";
2
2
 
3
- module.exports = require("./RamBundle");
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ var _RamBundle = require("./RamBundle");
7
+ Object.keys(_RamBundle).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _RamBundle[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _RamBundle[key];
14
+ },
15
+ });
16
+ });
@@ -9,8 +9,6 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
13
-
14
12
  /* This is for retro-compatibility of React Native with older versions of
15
13
  * Metro. Use the `RamBundle` module directly. */
16
- module.exports = require('./RamBundle');
14
+ export * from './RamBundle';
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
 
3
- const fs = require("fs");
4
- const throat = require("throat");
5
- const writeFile = throat(128, fs.promises.writeFile);
6
- module.exports = writeFile;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+ exports.default = void 0;
7
+ var _fs = _interopRequireDefault(require("fs"));
8
+ var _throat = _interopRequireDefault(require("throat"));
9
+ function _interopRequireDefault(e) {
10
+ return e && e.__esModule ? e : { default: e };
11
+ }
12
+ const writeFile = (0, _throat.default)(128, _fs.default.promises.writeFile);
13
+ var _default = (exports.default = writeFile);
@@ -9,14 +9,12 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- 'use strict';
13
-
14
- const fs = require('fs');
15
- const throat = require('throat');
12
+ import fs from 'fs';
13
+ import throat from 'throat';
16
14
 
17
15
  const writeFile: typeof fs.promises.writeFile = throat(
18
16
  128,
19
17
  fs.promises.writeFile,
20
18
  );
21
19
 
22
- module.exports = writeFile;
20
+ export default writeFile;
@@ -31,7 +31,6 @@ export interface BundleOptions {
31
31
  dev: boolean;
32
32
  entryFile: string;
33
33
  readonly excludeSource: boolean;
34
- readonly hot: boolean;
35
34
  readonly inlineSourceMap: boolean;
36
35
  readonly lazy: boolean;
37
36
  minify: boolean;