metro 0.63.0 → 0.64.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 (90) hide show
  1. package/package.json +22 -22
  2. package/src/Assets.js +8 -2
  3. package/src/Bundler/util.js +17 -10
  4. package/src/Bundler/util.js.flow +13 -12
  5. package/src/Bundler.js +4 -0
  6. package/src/DeltaBundler/DeltaCalculator.js +6 -1
  7. package/src/DeltaBundler/Serializers/baseBytecodeBundle.js +10 -0
  8. package/src/DeltaBundler/Serializers/baseJSBundle.js +5 -0
  9. package/src/DeltaBundler/Serializers/getAllFiles.js +6 -0
  10. package/src/DeltaBundler/Serializers/getAssets.js +4 -0
  11. package/src/DeltaBundler/Serializers/getRamBundleInfo.js +6 -0
  12. package/src/DeltaBundler/Serializers/helpers/bytecode.js +5 -0
  13. package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +5 -0
  14. package/src/DeltaBundler/Serializers/helpers/processBytecodeModules.js +2 -0
  15. package/src/DeltaBundler/Serializers/helpers/processModules.js +2 -0
  16. package/src/DeltaBundler/Serializers/hmrJSBundle.js +8 -2
  17. package/src/DeltaBundler/Serializers/sourceMapGenerator.js +4 -0
  18. package/src/DeltaBundler/Serializers/sourceMapObject.js +4 -0
  19. package/src/DeltaBundler/Transformer.js +16 -0
  20. package/src/DeltaBundler/Worker.js +4 -0
  21. package/src/DeltaBundler/WorkerFarm.js +9 -0
  22. package/src/DeltaBundler/computeDelta.js +5 -0
  23. package/src/DeltaBundler/getTransformCacheKey.js +1 -1
  24. package/src/DeltaBundler/mergeDeltas.js +5 -0
  25. package/src/DeltaBundler/traverseDependencies.js +14 -0
  26. package/src/DeltaBundler.js +6 -1
  27. package/src/HmrServer.js +18 -0
  28. package/src/IncrementalBundler.js +16 -0
  29. package/src/ModuleGraph/node-haste/Package.js +5 -0
  30. package/src/ModuleGraph/node-haste/node-haste.flow.js.flow +0 -2
  31. package/src/ModuleGraph/node-haste/node-haste.js +3 -0
  32. package/src/ModuleGraph/node-haste/node-haste.js.flow +4 -2
  33. package/src/ModuleGraph/output/indexed-ram-bundle.js +10 -0
  34. package/src/ModuleGraph/output/multiple-files-ram-bundle.js +10 -0
  35. package/src/ModuleGraph/output/reverse-dependency-map-references.js +33 -9
  36. package/src/ModuleGraph/output/reverse-dependency-map-references.js.flow +28 -13
  37. package/src/ModuleGraph/output/util.js +59 -25
  38. package/src/ModuleGraph/output/util.js.flow +59 -23
  39. package/src/ModuleGraph/test-helpers.js +74 -2
  40. package/src/ModuleGraph/types.flow.js.flow +13 -8
  41. package/src/ModuleGraph/worker/JsFileWrapping.js +90 -12
  42. package/src/ModuleGraph/worker/JsFileWrapping.js.flow +34 -20
  43. package/src/ModuleGraph/worker/collectDependencies.js +329 -205
  44. package/src/ModuleGraph/worker/collectDependencies.js.flow +397 -209
  45. package/src/ModuleGraph/worker/generate.js.flow +2 -2
  46. package/src/ModuleGraph/worker/generateImportNames.js +2 -1
  47. package/src/ModuleGraph/worker/generateImportNames.js.flow +3 -4
  48. package/src/ModuleGraph/worker/mergeSourceMaps.js +5 -0
  49. package/src/Server/symbolicate.js +14 -0
  50. package/src/Server.js +16 -3
  51. package/src/Server.js.flow +1 -0
  52. package/src/cli-utils.js +4 -0
  53. package/src/cli.js +0 -0
  54. package/src/commands/build.js +10 -0
  55. package/src/commands/build.js.flow +2 -0
  56. package/src/commands/dependencies.js +4 -0
  57. package/src/commands/serve.js +5 -0
  58. package/src/commands/serve.js.flow +2 -0
  59. package/src/index.js +13 -1
  60. package/src/index.js.flow +2 -0
  61. package/src/integration_tests/basic_bundle/import-export/index.js +19 -2
  62. package/src/integration_tests/execBundle.js +2 -2
  63. package/src/integration_tests/metro.config.js +4 -0
  64. package/src/lib/BatchProcessor.js +1 -1
  65. package/src/lib/TerminalReporter.js +10 -0
  66. package/src/lib/attachWebsocketServer.js +5 -1
  67. package/src/lib/bundleToBytecode.js +7 -3
  68. package/src/lib/bundleToString.js +6 -1
  69. package/src/lib/debounceAsyncQueue.js +4 -0
  70. package/src/lib/getAppendScripts.js +2 -0
  71. package/src/lib/getPreludeCode.js +2 -0
  72. package/src/lib/getPrependedScripts.js +11 -0
  73. package/src/lib/logToConsole.js +1 -2
  74. package/src/lib/parseOptionsFromUrl.js +5 -0
  75. package/src/lib/reporting.js +1 -1
  76. package/src/lib/splitBundleOptions.js +1 -1
  77. package/src/lib/transformHelpers.js +19 -3
  78. package/src/lib/transformHelpers.js.flow +4 -4
  79. package/src/node-haste/DependencyGraph/ModuleResolution.js +10 -2
  80. package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +6 -5
  81. package/src/node-haste/DependencyGraph.js +11 -2
  82. package/src/node-haste/DependencyGraph.js.flow +5 -0
  83. package/src/node-haste/Package.js +2 -0
  84. package/src/shared/output/RamBundle/as-assets.js +1 -2
  85. package/src/shared/output/RamBundle/as-indexed-file.js +2 -0
  86. package/src/shared/output/RamBundle/util.js +2 -2
  87. package/src/shared/output/RamBundle.js +9 -0
  88. package/src/shared/output/bundle.js +9 -0
  89. package/src/ModuleGraph/worker/optimizeDependencies.js +0 -122
  90. package/src/ModuleGraph/worker/optimizeDependencies.js.flow +0 -128
@@ -10,7 +10,6 @@
10
10
  "use strict";
11
11
 
12
12
  const invariant = require("invariant");
13
-
14
13
  /**
15
14
  * We batch items together trying to minimize their processing, for example as
16
15
  * network queries. For that we wait a small moment before processing a batch.
@@ -18,6 +17,7 @@ const invariant = require("invariant");
18
17
  * if we have many items pending in a short amount of time, we can start
19
18
  * processing right away.
20
19
  */
20
+
21
21
  class BatchProcessor {
22
22
  constructor(options, processBatch) {
23
23
  this._options = options;
@@ -31,6 +31,7 @@ function _iterableToArrayLimit(arr, i) {
31
31
  var _n = true;
32
32
  var _d = false;
33
33
  var _e = undefined;
34
+
34
35
  try {
35
36
  for (
36
37
  var _i = arr[Symbol.iterator](), _s;
@@ -38,6 +39,7 @@ function _iterableToArrayLimit(arr, i) {
38
39
  _n = true
39
40
  ) {
40
41
  _arr.push(_s.value);
42
+
41
43
  if (i && _arr.length === i) break;
42
44
  }
43
45
  } catch (err) {
@@ -50,6 +52,7 @@ function _iterableToArrayLimit(arr, i) {
50
52
  if (_d) throw _e;
51
53
  }
52
54
  }
55
+
53
56
  return _arr;
54
57
  }
55
58
 
@@ -93,12 +96,15 @@ function _arrayWithoutHoles(arr) {
93
96
 
94
97
  function _arrayLikeToArray(arr, len) {
95
98
  if (len == null || len > arr.length) len = arr.length;
99
+
96
100
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
101
+
97
102
  return arr2;
98
103
  }
99
104
 
100
105
  function ownKeys(object, enumerableOnly) {
101
106
  var keys = Object.keys(object);
107
+
102
108
  if (Object.getOwnPropertySymbols) {
103
109
  var symbols = Object.getOwnPropertySymbols(object);
104
110
  if (enumerableOnly)
@@ -107,12 +113,14 @@ function ownKeys(object, enumerableOnly) {
107
113
  });
108
114
  keys.push.apply(keys, symbols);
109
115
  }
116
+
110
117
  return keys;
111
118
  }
112
119
 
113
120
  function _objectSpread(target) {
114
121
  for (var i = 1; i < arguments.length; i++) {
115
122
  var source = arguments[i] != null ? arguments[i] : {};
123
+
116
124
  if (i % 2) {
117
125
  ownKeys(Object(source), true).forEach(function(key) {
118
126
  _defineProperty(target, key, source[key]);
@@ -129,6 +137,7 @@ function _objectSpread(target) {
129
137
  });
130
138
  }
131
139
  }
140
+
132
141
  return target;
133
142
  }
134
143
 
@@ -143,6 +152,7 @@ function _defineProperty(obj, key, value) {
143
152
  } else {
144
153
  obj[key] = value;
145
154
  }
155
+
146
156
  return obj;
147
157
  }
148
158
 
@@ -17,6 +17,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
17
17
  reject(error);
18
18
  return;
19
19
  }
20
+
20
21
  if (info.done) {
21
22
  resolve(value);
22
23
  } else {
@@ -30,17 +31,19 @@ function _asyncToGenerator(fn) {
30
31
  args = arguments;
31
32
  return new Promise(function(resolve, reject) {
32
33
  var gen = fn.apply(self, args);
34
+
33
35
  function _next(value) {
34
36
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
35
37
  }
38
+
36
39
  function _throw(err) {
37
40
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
38
41
  }
42
+
39
43
  _next(undefined);
40
44
  });
41
45
  };
42
46
  }
43
-
44
47
  /**
45
48
  * Attach a websocket server to an already existing HTTP[S] server, and forward
46
49
  * the received events on the given "websocketServer" parameter. It must be an
@@ -51,6 +54,7 @@ function _asyncToGenerator(fn) {
51
54
  * - onClientMessage
52
55
  * - onClientDisconnect
53
56
  */
57
+
54
58
  module.exports = function attachWebsocketServer(_ref) {
55
59
  let httpServer = _ref.httpServer,
56
60
  websocketServer = _ref.websocketServer,
@@ -31,6 +31,7 @@ function _iterableToArrayLimit(arr, i) {
31
31
  var _n = true;
32
32
  var _d = false;
33
33
  var _e = undefined;
34
+
34
35
  try {
35
36
  for (
36
37
  var _i = arr[Symbol.iterator](), _s;
@@ -38,6 +39,7 @@ function _iterableToArrayLimit(arr, i) {
38
39
  _n = true
39
40
  ) {
40
41
  _arr.push(_s.value);
42
+
41
43
  if (i && _arr.length === i) break;
42
44
  }
43
45
  } catch (err) {
@@ -50,6 +52,7 @@ function _iterableToArrayLimit(arr, i) {
50
52
  if (_d) throw _e;
51
53
  }
52
54
  }
55
+
53
56
  return _arr;
54
57
  }
55
58
 
@@ -93,20 +96,21 @@ function _arrayWithoutHoles(arr) {
93
96
 
94
97
  function _arrayLikeToArray(arr, len) {
95
98
  if (len == null || len > arr.length) len = arr.length;
99
+
96
100
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
101
+
97
102
  return arr2;
98
103
  }
99
104
 
100
105
  const _require = require("metro-hermes-compiler"),
101
- getFileLength = _require.getFileLength;
102
-
103
- // The magic number is used as a header for bytecode.
106
+ getFileLength = _require.getFileLength; // The magic number is used as a header for bytecode.
104
107
  // It represents a Metro tunnel in binary.
105
108
  //
106
109
  // 11111111
107
110
  // 11100111
108
111
  // 11000011
109
112
  // 11000011
113
+
110
114
  const MAGIC_NUMBER = 0xffe7c3c3;
111
115
 
112
116
  function getFileHeader(moduleCount) {
@@ -36,7 +36,9 @@ function _unsupportedIterableToArray(o, minLen) {
36
36
 
37
37
  function _arrayLikeToArray(arr, len) {
38
38
  if (len == null || len > arr.length) len = arr.length;
39
+
39
40
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
41
+
40
42
  return arr2;
41
43
  }
42
44
 
@@ -47,6 +49,7 @@ function _iterableToArrayLimit(arr, i) {
47
49
  var _n = true;
48
50
  var _d = false;
49
51
  var _e = undefined;
52
+
50
53
  try {
51
54
  for (
52
55
  var _i = arr[Symbol.iterator](), _s;
@@ -54,6 +57,7 @@ function _iterableToArrayLimit(arr, i) {
54
57
  _n = true
55
58
  ) {
56
59
  _arr.push(_s.value);
60
+
57
61
  if (i && _arr.length === i) break;
58
62
  }
59
63
  } catch (err) {
@@ -66,16 +70,17 @@ function _iterableToArrayLimit(arr, i) {
66
70
  if (_d) throw _e;
67
71
  }
68
72
  }
73
+
69
74
  return _arr;
70
75
  }
71
76
 
72
77
  function _arrayWithHoles(arr) {
73
78
  if (Array.isArray(arr)) return arr;
74
79
  }
75
-
76
80
  /**
77
81
  * Serializes a bundle into a plain JS bundle.
78
82
  */
83
+
79
84
  function bundleToString(bundle) {
80
85
  let code = bundle.pre.length > 0 ? bundle.pre + "\n" : "";
81
86
  const modules = [];
@@ -18,6 +18,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
18
18
  reject(error);
19
19
  return;
20
20
  }
21
+
21
22
  if (info.done) {
22
23
  resolve(value);
23
24
  } else {
@@ -31,12 +32,15 @@ function _asyncToGenerator(fn) {
31
32
  args = arguments;
32
33
  return new Promise(function(resolve, reject) {
33
34
  var gen = fn.apply(self, args);
35
+
34
36
  function _next(value) {
35
37
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
36
38
  }
39
+
37
40
  function _throw(err) {
38
41
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
39
42
  }
43
+
40
44
  _next(undefined);
41
45
  });
42
46
  };
@@ -45,7 +45,9 @@ function _arrayWithoutHoles(arr) {
45
45
 
46
46
  function _arrayLikeToArray(arr, len) {
47
47
  if (len == null || len > arr.length) len = arr.length;
48
+
48
49
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
50
+
49
51
  return arr2;
50
52
  }
51
53
 
@@ -45,7 +45,9 @@ function _arrayWithoutHoles(arr) {
45
45
 
46
46
  function _arrayLikeToArray(arr, len) {
47
47
  if (len == null || len > arr.length) len = arr.length;
48
+
48
49
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
50
+
49
51
  return arr2;
50
52
  }
51
53
 
@@ -45,12 +45,15 @@ function _arrayWithoutHoles(arr) {
45
45
 
46
46
  function _arrayLikeToArray(arr, len) {
47
47
  if (len == null || len > arr.length) len = arr.length;
48
+
48
49
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
50
+
49
51
  return arr2;
50
52
  }
51
53
 
52
54
  function ownKeys(object, enumerableOnly) {
53
55
  var keys = Object.keys(object);
56
+
54
57
  if (Object.getOwnPropertySymbols) {
55
58
  var symbols = Object.getOwnPropertySymbols(object);
56
59
  if (enumerableOnly)
@@ -59,12 +62,14 @@ function ownKeys(object, enumerableOnly) {
59
62
  });
60
63
  keys.push.apply(keys, symbols);
61
64
  }
65
+
62
66
  return keys;
63
67
  }
64
68
 
65
69
  function _objectSpread(target) {
66
70
  for (var i = 1; i < arguments.length; i++) {
67
71
  var source = arguments[i] != null ? arguments[i] : {};
72
+
68
73
  if (i % 2) {
69
74
  ownKeys(Object(source), true).forEach(function(key) {
70
75
  _defineProperty(target, key, source[key]);
@@ -81,6 +86,7 @@ function _objectSpread(target) {
81
86
  });
82
87
  }
83
88
  }
89
+
84
90
  return target;
85
91
  }
86
92
 
@@ -95,6 +101,7 @@ function _defineProperty(obj, key, value) {
95
101
  } else {
96
102
  obj[key] = value;
97
103
  }
104
+
98
105
  return obj;
99
106
  }
100
107
 
@@ -106,6 +113,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
106
113
  reject(error);
107
114
  return;
108
115
  }
116
+
109
117
  if (info.done) {
110
118
  resolve(value);
111
119
  } else {
@@ -119,12 +127,15 @@ function _asyncToGenerator(fn) {
119
127
  args = arguments;
120
128
  return new Promise(function(resolve, reject) {
121
129
  var gen = fn.apply(self, args);
130
+
122
131
  function _next(value) {
123
132
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
124
133
  }
134
+
125
135
  function _throw(err) {
126
136
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
127
137
  }
138
+
128
139
  _next(undefined);
129
140
  });
130
141
  };
@@ -60,9 +60,8 @@ module.exports = function(terminal, level) {
60
60
  _key++
61
61
  ) {
62
62
  data[_key - 2] = arguments[_key];
63
- }
63
+ } // Remove excess whitespace at the end of a log message, if possible.
64
64
 
65
- // Remove excess whitespace at the end of a log message, if possible.
66
65
  const lastItem = data[data.length - 1];
67
66
 
68
67
  if (typeof lastItem === "string") {
@@ -11,6 +11,7 @@
11
11
 
12
12
  function ownKeys(object, enumerableOnly) {
13
13
  var keys = Object.keys(object);
14
+
14
15
  if (Object.getOwnPropertySymbols) {
15
16
  var symbols = Object.getOwnPropertySymbols(object);
16
17
  if (enumerableOnly)
@@ -19,12 +20,14 @@ function ownKeys(object, enumerableOnly) {
19
20
  });
20
21
  keys.push.apply(keys, symbols);
21
22
  }
23
+
22
24
  return keys;
23
25
  }
24
26
 
25
27
  function _objectSpread(target) {
26
28
  for (var i = 1; i < arguments.length; i++) {
27
29
  var source = arguments[i] != null ? arguments[i] : {};
30
+
28
31
  if (i % 2) {
29
32
  ownKeys(Object(source), true).forEach(function(key) {
30
33
  _defineProperty(target, key, source[key]);
@@ -41,6 +44,7 @@ function _objectSpread(target) {
41
44
  });
42
45
  }
43
46
  }
47
+
44
48
  return target;
45
49
  }
46
50
 
@@ -55,6 +59,7 @@ function _defineProperty(obj, key, value) {
55
59
  } else {
56
60
  obj[key] = value;
57
61
  }
62
+
58
63
  return obj;
59
64
  }
60
65
 
@@ -17,13 +17,13 @@ const util = require("util");
17
17
 
18
18
  const _require = require("metro-core"),
19
19
  Terminal = _require.Terminal;
20
-
21
20
  /**
22
21
  * A standard way to log a warning to the terminal. This should not be called
23
22
  * from some arbitrary Metro logic, only from the reporters. Instead of
24
23
  * calling this, add a new type of ReportableEvent instead, and implement a
25
24
  * proper handler in the reporter(s).
26
25
  */
26
+
27
27
  function logWarning(terminal, format) {
28
28
  for (
29
29
  var _len = arguments.length,
@@ -8,10 +8,10 @@
8
8
  * @format
9
9
  */
10
10
  "use strict";
11
-
12
11
  /**
13
12
  * Splits a BundleOptions object into smaller, more manageable parts.
14
13
  */
14
+
15
15
  function splitBundleOptions(options) {
16
16
  return {
17
17
  entryFile: options.entryFile,
@@ -11,10 +11,14 @@
11
11
 
12
12
  function _objectWithoutProperties(source, excluded) {
13
13
  if (source == null) return {};
14
+
14
15
  var target = _objectWithoutPropertiesLoose(source, excluded);
16
+
15
17
  var key, i;
18
+
16
19
  if (Object.getOwnPropertySymbols) {
17
20
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
21
+
18
22
  for (i = 0; i < sourceSymbolKeys.length; i++) {
19
23
  key = sourceSymbolKeys[i];
20
24
  if (excluded.indexOf(key) >= 0) continue;
@@ -22,6 +26,7 @@ function _objectWithoutProperties(source, excluded) {
22
26
  target[key] = source[key];
23
27
  }
24
28
  }
29
+
25
30
  return target;
26
31
  }
27
32
 
@@ -30,16 +35,19 @@ function _objectWithoutPropertiesLoose(source, excluded) {
30
35
  var target = {};
31
36
  var sourceKeys = Object.keys(source);
32
37
  var key, i;
38
+
33
39
  for (i = 0; i < sourceKeys.length; i++) {
34
40
  key = sourceKeys[i];
35
41
  if (excluded.indexOf(key) >= 0) continue;
36
42
  target[key] = source[key];
37
43
  }
44
+
38
45
  return target;
39
46
  }
40
47
 
41
48
  function ownKeys(object, enumerableOnly) {
42
49
  var keys = Object.keys(object);
50
+
43
51
  if (Object.getOwnPropertySymbols) {
44
52
  var symbols = Object.getOwnPropertySymbols(object);
45
53
  if (enumerableOnly)
@@ -48,12 +56,14 @@ function ownKeys(object, enumerableOnly) {
48
56
  });
49
57
  keys.push.apply(keys, symbols);
50
58
  }
59
+
51
60
  return keys;
52
61
  }
53
62
 
54
63
  function _objectSpread(target) {
55
64
  for (var i = 1; i < arguments.length; i++) {
56
65
  var source = arguments[i] != null ? arguments[i] : {};
66
+
57
67
  if (i % 2) {
58
68
  ownKeys(Object(source), true).forEach(function(key) {
59
69
  _defineProperty(target, key, source[key]);
@@ -70,6 +80,7 @@ function _objectSpread(target) {
70
80
  });
71
81
  }
72
82
  }
83
+
73
84
  return target;
74
85
  }
75
86
 
@@ -84,6 +95,7 @@ function _defineProperty(obj, key, value) {
84
95
  } else {
85
96
  obj[key] = value;
86
97
  }
98
+
87
99
  return obj;
88
100
  }
89
101
 
@@ -95,6 +107,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
95
107
  reject(error);
96
108
  return;
97
109
  }
110
+
98
111
  if (info.done) {
99
112
  resolve(value);
100
113
  } else {
@@ -108,12 +121,15 @@ function _asyncToGenerator(fn) {
108
121
  args = arguments;
109
122
  return new Promise(function(resolve, reject) {
110
123
  var gen = fn.apply(self, args);
124
+
111
125
  function _next(value) {
112
126
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
113
127
  }
128
+
114
129
  function _throw(err) {
115
130
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
116
131
  }
132
+
117
133
  _next(undefined);
118
134
  });
119
135
  };
@@ -217,9 +233,9 @@ function _calcTransformerOptions() {
217
233
  return _calcTransformerOptions.apply(this, arguments);
218
234
  }
219
235
 
220
- function removeInlineRequiresBlacklistFromOptions(path, inlineRequires) {
236
+ function removeInlineRequiresBlockListFromOptions(path, inlineRequires) {
221
237
  if (typeof inlineRequires === "object") {
222
- return !(path in inlineRequires.blacklist);
238
+ return !(path in inlineRequires.blockList);
223
239
  }
224
240
 
225
241
  return inlineRequires;
@@ -262,7 +278,7 @@ function _getTransformFn() {
262
278
  path,
263
279
  config.resolver.assetExts
264
280
  ),
265
- inlineRequires: removeInlineRequiresBlacklistFromOptions(
281
+ inlineRequires: removeInlineRequiresBlockListFromOptions(
266
282
  path,
267
283
  inlineRequires
268
284
  )
@@ -18,7 +18,7 @@ import type DeltaBundler, {TransformFn} from '../DeltaBundler';
18
18
  import type {ConfigT} from 'metro-config/src/configTypes.flow';
19
19
  import type {Type} from 'metro-transform-worker';
20
20
 
21
- type InlineRequiresRaw = {+blacklist: {[string]: true, ...}, ...} | boolean;
21
+ type InlineRequiresRaw = {+blockList: {[string]: true, ...}, ...} | boolean;
22
22
 
23
23
  export type TransformInputOptions = $Diff<
24
24
  TransformOptions,
@@ -99,12 +99,12 @@ async function calcTransformerOptions(
99
99
  };
100
100
  }
101
101
 
102
- function removeInlineRequiresBlacklistFromOptions(
102
+ function removeInlineRequiresBlockListFromOptions(
103
103
  path: string,
104
104
  inlineRequires: InlineRequiresRaw,
105
105
  ): boolean {
106
106
  if (typeof inlineRequires === 'object') {
107
- return !(path in inlineRequires.blacklist);
107
+ return !(path in inlineRequires.blockList);
108
108
  }
109
109
 
110
110
  return inlineRequires;
@@ -129,7 +129,7 @@ async function getTransformFn(
129
129
  return await bundler.transformFile(path, {
130
130
  ...transformOptions,
131
131
  type: getType(transformOptions.type, path, config.resolver.assetExts),
132
- inlineRequires: removeInlineRequiresBlacklistFromOptions(
132
+ inlineRequires: removeInlineRequiresBlockListFromOptions(
133
133
  path,
134
134
  inlineRequires,
135
135
  ),
@@ -45,12 +45,15 @@ function _arrayWithoutHoles(arr) {
45
45
 
46
46
  function _arrayLikeToArray(arr, len) {
47
47
  if (len == null || len > arr.length) len = arr.length;
48
+
48
49
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
50
+
49
51
  return arr2;
50
52
  }
51
53
 
52
54
  function ownKeys(object, enumerableOnly) {
53
55
  var keys = Object.keys(object);
56
+
54
57
  if (Object.getOwnPropertySymbols) {
55
58
  var symbols = Object.getOwnPropertySymbols(object);
56
59
  if (enumerableOnly)
@@ -59,12 +62,14 @@ function ownKeys(object, enumerableOnly) {
59
62
  });
60
63
  keys.push.apply(keys, symbols);
61
64
  }
65
+
62
66
  return keys;
63
67
  }
64
68
 
65
69
  function _objectSpread(target) {
66
70
  for (var i = 1; i < arguments.length; i++) {
67
71
  var source = arguments[i] != null ? arguments[i] : {};
72
+
68
73
  if (i % 2) {
69
74
  ownKeys(Object(source), true).forEach(function(key) {
70
75
  _defineProperty(target, key, source[key]);
@@ -81,6 +86,7 @@ function _objectSpread(target) {
81
86
  });
82
87
  }
83
88
  }
89
+
84
90
  return target;
85
91
  }
86
92
 
@@ -95,6 +101,7 @@ function _defineProperty(obj, key, value) {
95
101
  } else {
96
102
  obj[key] = value;
97
103
  }
104
+
98
105
  return obj;
99
106
  }
100
107
 
@@ -145,6 +152,7 @@ class ModuleResolver {
145
152
  ); // Since the redirected path is still relative to the package root,
146
153
  // we have to transform it back to be module-relative (as it
147
154
  // originally was)
155
+ // $FlowFixMe[incompatible-type]
148
156
 
149
157
  if (redirectedPath !== false) {
150
158
  redirectedPath =
@@ -229,7 +237,7 @@ class ModuleResolver {
229
237
  [`${moduleName} could not be found within the project${hint || "."}`]
230
238
  .concat(
231
239
  _toConsumableArray(
232
- displayDirPaths.map(dirPath => ` ${path.dirname(dirPath)}`)
240
+ displayDirPaths.map(dirPath => ` ${dirPath}`)
233
241
  ),
234
242
  [
235
243
  "\nIf you are sure the module exists, try these steps:",
@@ -246,11 +254,11 @@ class ModuleResolver {
246
254
  throw error;
247
255
  }
248
256
  }
249
-
250
257
  /**
251
258
  * FIXME: get rid of this function and of the reliance on `TModule`
252
259
  * altogether, return strongly typed resolutions at the top-level instead.
253
260
  */
261
+
254
262
  _getFileResolvedModule(resolution) {
255
263
  switch (resolution.type) {
256
264
  case "sourceFile":
@@ -80,9 +80,10 @@ type Options<TModule, TPackage> = {|
80
80
  +isAssetFile: IsAssetFile,
81
81
  +mainFields: $ReadOnlyArray<string>,
82
82
  +moduleCache: ModuleishCache<TModule, TPackage>,
83
- +projectRoot: string,
84
- +preferNativePlatform: boolean,
85
83
  +moduleMap: ModuleMap,
84
+ +nodeModulesPaths: $ReadOnlyArray<string>,
85
+ +preferNativePlatform: boolean,
86
+ +projectRoot: string,
86
87
  +resolveAsset: ResolveAsset,
87
88
  +resolveRequest: ?CustomResolver,
88
89
  +sourceExts: $ReadOnlyArray<string>,
@@ -122,6 +123,7 @@ class ModuleResolver<TModule: Moduleish, TPackage: Packageish> {
122
123
  // Since the redirected path is still relative to the package root,
123
124
  // we have to transform it back to be module-relative (as it
124
125
  // originally was)
126
+ // $FlowFixMe[incompatible-type]
125
127
  if (redirectedPath !== false) {
126
128
  redirectedPath =
127
129
  './' +
@@ -208,14 +210,13 @@ class ModuleResolver<TModule: Moduleish, TPackage: Packageish> {
208
210
  .concat(extraPaths);
209
211
 
210
212
  const hint = displayDirPaths.length ? ' or in these directories:' : '';
213
+
211
214
  throw new UnableToResolveError(
212
215
  fromModule.path,
213
216
  moduleName,
214
217
  [
215
218
  `${moduleName} could not be found within the project${hint || '.'}`,
216
- ...displayDirPaths.map(
217
- (dirPath: string) => ` ${path.dirname(dirPath)}`,
218
- ),
219
+ ...displayDirPaths.map((dirPath: string) => ` ${dirPath}`),
219
220
  '\nIf you are sure the module exists, try these steps:',
220
221
  ' 1. Clear watchman watches: watchman watch-del-all',
221
222
  ' 2. Delete node_modules and run yarn install',