metro 0.80.1 → 0.80.3

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 (43) hide show
  1. package/package.json +17 -17
  2. package/src/Bundler.js.flow +1 -1
  3. package/src/DeltaBundler/DeltaCalculator.js +1 -9
  4. package/src/DeltaBundler/DeltaCalculator.js.flow +3 -11
  5. package/src/DeltaBundler/Graph.js +303 -295
  6. package/src/DeltaBundler/Graph.js.flow +329 -297
  7. package/src/DeltaBundler/Serializers/helpers/js.js.flow +1 -1
  8. package/src/DeltaBundler/Serializers/hmrJSBundle.js +2 -1
  9. package/src/DeltaBundler/Serializers/hmrJSBundle.js.flow +2 -1
  10. package/src/DeltaBundler/Serializers/sourceMapGenerator.js.flow +6 -6
  11. package/src/DeltaBundler/Transformer.js.flow +1 -0
  12. package/src/DeltaBundler/buildSubgraph.js +138 -0
  13. package/src/DeltaBundler/buildSubgraph.js.flow +161 -0
  14. package/src/DeltaBundler/types.flow.js.flow +30 -19
  15. package/src/ModuleGraph/worker/collectDependencies.js +1 -1
  16. package/src/ModuleGraph/worker/collectDependencies.js.flow +2 -2
  17. package/src/Server/MultipartResponse.js.flow +1 -0
  18. package/src/Server/symbolicate.js.flow +1 -2
  19. package/src/Server.js +21 -7
  20. package/src/Server.js.flow +23 -9
  21. package/src/commands/build.js.flow +4 -4
  22. package/src/commands/dependencies.js.flow +1 -1
  23. package/src/commands/serve.js.flow +1 -1
  24. package/src/index.flow.js +1 -0
  25. package/src/index.flow.js.flow +3 -3
  26. package/src/integration_tests/basic_bundle/require-context/conflict.js.flow +2 -2
  27. package/src/integration_tests/basic_bundle/require-context/mode-eager.js.flow +2 -1
  28. package/src/integration_tests/basic_bundle/require-context/mode-lazy-once.js.flow +2 -1
  29. package/src/integration_tests/basic_bundle/require-context/mode-lazy.js.flow +2 -1
  30. package/src/integration_tests/basic_bundle/require-context/mode-sync.js.flow +2 -1
  31. package/src/lib/contextModule.js +1 -1
  32. package/src/lib/contextModule.js.flow +3 -2
  33. package/src/lib/contextModuleTemplates.js +1 -1
  34. package/src/lib/contextModuleTemplates.js.flow +3 -2
  35. package/src/lib/reporting.js.flow +2 -2
  36. package/src/lib/splitBundleOptions.js +1 -0
  37. package/src/lib/splitBundleOptions.js.flow +1 -0
  38. package/src/lib/transformHelpers.js.flow +2 -3
  39. package/src/node-haste/DependencyGraph/ModuleResolution.js +4 -1
  40. package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +8 -7
  41. package/src/node-haste/DependencyGraph.js +2 -5
  42. package/src/node-haste/DependencyGraph.js.flow +7 -10
  43. package/src/shared/types.flow.js.flow +2 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metro",
3
- "version": "0.80.1",
3
+ "version": "0.80.3",
4
4
  "description": "🚇 The JavaScript bundler for React Native.",
5
5
  "main": "src/index.js",
6
6
  "bin": "src/cli.js",
@@ -28,25 +28,25 @@
28
28
  "denodeify": "^1.2.1",
29
29
  "error-stack-parser": "^2.0.6",
30
30
  "graceful-fs": "^4.2.4",
31
- "hermes-parser": "0.17.1",
31
+ "hermes-parser": "0.18.2",
32
32
  "image-size": "^1.0.2",
33
33
  "invariant": "^2.2.4",
34
34
  "jest-worker": "^29.6.3",
35
35
  "jsc-safe-url": "^0.2.2",
36
36
  "lodash.throttle": "^4.1.1",
37
- "metro-babel-transformer": "0.80.1",
38
- "metro-cache": "0.80.1",
39
- "metro-cache-key": "0.80.1",
40
- "metro-config": "0.80.1",
41
- "metro-core": "0.80.1",
42
- "metro-file-map": "0.80.1",
43
- "metro-minify-terser": "0.80.1",
44
- "metro-resolver": "0.80.1",
45
- "metro-runtime": "0.80.1",
46
- "metro-source-map": "0.80.1",
47
- "metro-symbolicate": "0.80.1",
48
- "metro-transform-plugins": "0.80.1",
49
- "metro-transform-worker": "0.80.1",
37
+ "metro-babel-transformer": "0.80.3",
38
+ "metro-cache": "0.80.3",
39
+ "metro-cache-key": "0.80.3",
40
+ "metro-config": "0.80.3",
41
+ "metro-core": "0.80.3",
42
+ "metro-file-map": "0.80.3",
43
+ "metro-minify-terser": "0.80.3",
44
+ "metro-resolver": "0.80.3",
45
+ "metro-runtime": "0.80.3",
46
+ "metro-source-map": "0.80.3",
47
+ "metro-symbolicate": "0.80.3",
48
+ "metro-transform-plugins": "0.80.3",
49
+ "metro-transform-worker": "0.80.3",
50
50
  "mime-types": "^2.1.27",
51
51
  "node-fetch": "^2.2.0",
52
52
  "nullthrows": "^1.1.1",
@@ -67,8 +67,8 @@
67
67
  "dedent": "^0.7.0",
68
68
  "jest-snapshot": "^29.6.3",
69
69
  "jest-snapshot-serializer-raw": "^1.2.0",
70
- "metro-babel-register": "0.80.1",
71
- "metro-memory-fs": "0.80.1",
70
+ "metro-babel-register": "0.80.3",
71
+ "metro-memory-fs": "0.80.3",
72
72
  "mock-req": "^0.2.0",
73
73
  "mock-res": "^0.6.0",
74
74
  "stack-trace": "^0.0.10"
@@ -13,8 +13,8 @@
13
13
 
14
14
  import type {TransformResultWithSource} from './DeltaBundler';
15
15
  import type {TransformOptions} from './DeltaBundler/Worker';
16
- import type {ConfigT} from 'metro-config/src/configTypes.flow';
17
16
  import type EventEmitter from 'events';
17
+ import type {ConfigT} from 'metro-config/src/configTypes.flow';
18
18
 
19
19
  const Transformer = require('./DeltaBundler/Transformer');
20
20
  const DependencyGraph = require('./node-haste/DependencyGraph');
@@ -11,8 +11,8 @@
11
11
 
12
12
  "use strict";
13
13
 
14
- var _path = _interopRequireDefault(require("path"));
15
14
  var _Graph = require("./Graph");
15
+ var _path = _interopRequireDefault(require("path"));
16
16
  function _interopRequireDefault(obj) {
17
17
  return obj && obj.__esModule ? obj : { default: obj };
18
18
  }
@@ -107,7 +107,6 @@ class DeltaCalculator extends EventEmitter {
107
107
  addedFiles
108
108
  );
109
109
  let result;
110
- const numDependencies = this._graph.dependencies.size;
111
110
  try {
112
111
  result = await this._currentBuildPromise;
113
112
  } catch (error) {
@@ -118,13 +117,6 @@ class DeltaCalculator extends EventEmitter {
118
117
  modifiedFiles.forEach((file) => this._modifiedFiles.add(file));
119
118
  deletedFiles.forEach((file) => this._deletedFiles.add(file));
120
119
  addedFiles.forEach((file) => this._addedFiles.add(file));
121
-
122
- // If after an error the number of modules has changed, we could be in
123
- // a weird state. As a safe net we clean the dependency modules to force
124
- // a clean traversal of the graph next time.
125
- if (this._graph.dependencies.size !== numDependencies) {
126
- this._graph.dependencies.clear();
127
- }
128
120
  throw error;
129
121
  } finally {
130
122
  this._currentBuildPromise = null;
@@ -11,12 +11,13 @@
11
11
 
12
12
  'use strict';
13
13
 
14
- import path from 'path';
15
- import {Graph} from './Graph';
16
14
  import type {DeltaResult, Options} from './types.flow';
17
15
  import type {RootPerfLogger} from 'metro-config';
18
16
  import type {ChangeEventMetadata} from 'metro-file-map';
19
17
 
18
+ import {Graph} from './Graph';
19
+ import path from 'path';
20
+
20
21
  const debug = require('debug')('Metro:DeltaCalculator');
21
22
  const {EventEmitter} = require('events');
22
23
 
@@ -132,8 +133,6 @@ class DeltaCalculator<T> extends EventEmitter {
132
133
 
133
134
  let result;
134
135
 
135
- const numDependencies = this._graph.dependencies.size;
136
-
137
136
  try {
138
137
  result = await this._currentBuildPromise;
139
138
  } catch (error) {
@@ -145,13 +144,6 @@ class DeltaCalculator<T> extends EventEmitter {
145
144
  deletedFiles.forEach((file: string) => this._deletedFiles.add(file));
146
145
  addedFiles.forEach((file: string) => this._addedFiles.add(file));
147
146
 
148
- // If after an error the number of modules has changed, we could be in
149
- // a weird state. As a safe net we clean the dependency modules to force
150
- // a clean traversal of the graph next time.
151
- if (this._graph.dependencies.size !== numDependencies) {
152
- this._graph.dependencies.clear();
153
- }
154
-
155
147
  throw error;
156
148
  } finally {
157
149
  this._currentBuildPromise = null;