metro 0.76.5 → 0.76.6

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metro",
3
- "version": "0.76.5",
3
+ "version": "0.76.6",
4
4
  "description": "🚇 The JavaScript bundler for React Native.",
5
5
  "main": "src/index.js",
6
6
  "bin": "src/cli.js",
@@ -29,28 +29,28 @@
29
29
  "denodeify": "^1.2.1",
30
30
  "error-stack-parser": "^2.0.6",
31
31
  "graceful-fs": "^4.2.4",
32
- "hermes-parser": "0.8.0",
32
+ "hermes-parser": "0.12.0",
33
33
  "image-size": "^1.0.2",
34
34
  "invariant": "^2.2.4",
35
35
  "jest-worker": "^27.2.0",
36
36
  "jsc-safe-url": "^0.2.2",
37
37
  "lodash.throttle": "^4.1.1",
38
- "metro-babel-transformer": "0.76.5",
39
- "metro-cache": "0.76.5",
40
- "metro-cache-key": "0.76.5",
41
- "metro-config": "0.76.5",
42
- "metro-core": "0.76.5",
43
- "metro-file-map": "0.76.5",
44
- "metro-inspector-proxy": "0.76.5",
45
- "metro-minify-terser": "0.76.5",
46
- "metro-minify-uglify": "0.76.5",
47
- "metro-react-native-babel-preset": "0.76.5",
48
- "metro-resolver": "0.76.5",
49
- "metro-runtime": "0.76.5",
50
- "metro-source-map": "0.76.5",
51
- "metro-symbolicate": "0.76.5",
52
- "metro-transform-plugins": "0.76.5",
53
- "metro-transform-worker": "0.76.5",
38
+ "metro-babel-transformer": "0.76.6",
39
+ "metro-cache": "0.76.6",
40
+ "metro-cache-key": "0.76.6",
41
+ "metro-config": "0.76.6",
42
+ "metro-core": "0.76.6",
43
+ "metro-file-map": "0.76.6",
44
+ "metro-inspector-proxy": "0.76.6",
45
+ "metro-minify-terser": "0.76.6",
46
+ "metro-minify-uglify": "0.76.6",
47
+ "metro-react-native-babel-preset": "0.76.6",
48
+ "metro-resolver": "0.76.6",
49
+ "metro-runtime": "0.76.6",
50
+ "metro-source-map": "0.76.6",
51
+ "metro-symbolicate": "0.76.6",
52
+ "metro-transform-plugins": "0.76.6",
53
+ "metro-transform-worker": "0.76.6",
54
54
  "mime-types": "^2.1.27",
55
55
  "node-fetch": "^2.2.0",
56
56
  "nullthrows": "^1.1.1",
@@ -68,10 +68,10 @@
68
68
  "dedent": "^0.7.0",
69
69
  "jest-snapshot": "^26.5.2",
70
70
  "jest-snapshot-serializer-raw": "^1.2.0",
71
- "metro-babel-register": "0.76.5",
72
- "metro-memory-fs": "0.76.5",
73
- "metro-react-native-babel-preset": "0.76.5",
74
- "metro-react-native-babel-transformer": "0.76.5",
71
+ "metro-babel-register": "0.76.6",
72
+ "metro-memory-fs": "0.76.6",
73
+ "metro-react-native-babel-preset": "0.76.6",
74
+ "metro-react-native-babel-transformer": "0.76.6",
75
75
  "mock-req": "^0.2.0",
76
76
  "mock-res": "^0.6.0",
77
77
  "stack-trace": "^0.0.10"
@@ -31,7 +31,8 @@ import type {
31
31
  ResolverInputOptions,
32
32
  SplitBundleOptions,
33
33
  } from './shared/types.flow';
34
- import type {IncomingMessage, ServerResponse} from 'http';
34
+ import type {IncomingMessage} from 'connect';
35
+ import type {ServerResponse} from 'http';
35
36
  import type {CacheStore} from 'metro-cache';
36
37
  import type {ConfigT, RootPerfLogger} from 'metro-config/src/configTypes.flow';
37
38
  import type {
@@ -478,11 +479,11 @@ class Server {
478
479
  processRequest: (
479
480
  IncomingMessage,
480
481
  ServerResponse,
481
- ((e: ?Error) => mixed),
482
+ ((e: ?Error) => void),
482
483
  ) => void = (
483
484
  req: IncomingMessage,
484
485
  res: ServerResponse,
485
- next: (?Error) => mixed,
486
+ next: (?Error) => void,
486
487
  ) => {
487
488
  this._processRequest(req, res, next).catch(next);
488
489
  };
@@ -500,7 +501,7 @@ class Server {
500
501
  async _processRequest(
501
502
  req: IncomingMessage,
502
503
  res: ServerResponse,
503
- next: (?Error) => mixed,
504
+ next: (?Error) => void,
504
505
  ) {
505
506
  const originalUrl = req.url;
506
507
  req.url = this._rewriteAndNormalizeUrl(req.url);
package/src/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from './ModuleGraph/worker/collectDependencies';
14
14
  export * from './Server';
15
15
  export * from './lib/reporting';
16
16
 
17
+ import type {HandleFunction} from 'connect';
17
18
  import type {EventEmitter} from 'events';
18
19
  import type {IncomingMessage, Server as HttpServer} from 'http';
19
20
  import type {Server as HttpsServer} from 'https';
@@ -72,6 +73,7 @@ export interface RunServerOptions {
72
73
  /** @deprecated since version 0.61 */
73
74
  secureKey?: string;
74
75
 
76
+ unstable_extraMiddleware?: ReadonlyArray<HandleFunction>;
75
77
  waitForBundler?: boolean;
76
78
  watch?: boolean;
77
79
  websocketEndpoints?: {
@@ -126,7 +128,7 @@ export function runMetro(
126
128
  options?: RunMetroOptions,
127
129
  ): Promise<MetroServer>;
128
130
 
129
- export function createConnectMiddleWare(
131
+ export function createConnectMiddleware(
130
132
  config: ConfigT,
131
133
  options?: RunMetroOptions,
132
134
  ): Promise<MetroMiddleWare>;
package/src/index.flow.js CHANGED
@@ -134,6 +134,7 @@ exports.runServer = async (
134
134
  // deprecated
135
135
  secureKey,
136
136
  // deprecated
137
+ unstable_extraMiddleware,
137
138
  waitForBundler = false,
138
139
  websocketEndpoints = {},
139
140
  watch,
@@ -161,6 +162,9 @@ exports.runServer = async (
161
162
  }
162
163
  );
163
164
  serverApp.use(middleware);
165
+ for (const handler of unstable_extraMiddleware ?? []) {
166
+ serverApp.use(handler);
167
+ }
164
168
  let inspectorProxy = null;
165
169
  if (config.server.runInspectorProxy) {
166
170
  inspectorProxy = new InspectorProxy(config.projectRoot);
@@ -175,6 +179,7 @@ exports.runServer = async (
175
179
  ...secureServerOptions,
176
180
  };
177
181
  }
182
+ // $FlowFixMe[incompatible-call] 'http' and 'https' Flow types do not match
178
183
  httpServer = https.createServer(options, serverApp);
179
184
  } else {
180
185
  httpServer = http.createServer(serverApp);
@@ -11,6 +11,7 @@
11
11
 
12
12
  'use strict';
13
13
 
14
+ import type {HandleFunction} from 'connect';
14
15
  import type {CustomResolverOptions} from 'metro-resolver';
15
16
  import type {ReadOnlyGraph} from './DeltaBundler';
16
17
  import type {ServerOptions} from './Server';
@@ -82,6 +83,7 @@ export type RunServerOptions = $ReadOnly<{
82
83
  secure?: boolean, // deprecated
83
84
  secureCert?: string, // deprecated
84
85
  secureKey?: string, // deprecated
86
+ unstable_extraMiddleware?: $ReadOnlyArray<HandleFunction>,
85
87
  waitForBundler?: boolean,
86
88
  watch?: boolean,
87
89
  websocketEndpoints?: $ReadOnly<{
@@ -254,6 +256,7 @@ exports.runServer = async (
254
256
  secure, //deprecated
255
257
  secureCert, // deprecated
256
258
  secureKey, // deprecated
259
+ unstable_extraMiddleware,
257
260
  waitForBundler = false,
258
261
  websocketEndpoints = {},
259
262
  watch,
@@ -283,6 +286,10 @@ exports.runServer = async (
283
286
 
284
287
  serverApp.use(middleware);
285
288
 
289
+ for (const handler of unstable_extraMiddleware ?? []) {
290
+ serverApp.use(handler);
291
+ }
292
+
286
293
  let inspectorProxy: ?InspectorProxy = null;
287
294
  if (config.server.runInspectorProxy) {
288
295
  inspectorProxy = new InspectorProxy(config.projectRoot);
@@ -299,6 +306,7 @@ exports.runServer = async (
299
306
  ...secureServerOptions,
300
307
  };
301
308
  }
309
+ // $FlowFixMe[incompatible-call] 'http' and 'https' Flow types do not match
302
310
  httpServer = https.createServer(options, serverApp);
303
311
  } else {
304
312
  httpServer = http.createServer(serverApp);