metro 0.76.5 → 0.76.7
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 +22 -22
- package/src/DeltaBundler/Graph.js +1 -0
- package/src/DeltaBundler/Graph.js.flow +1 -0
- package/src/Server.js.flow +5 -4
- package/src/index.d.ts +4 -1
- package/src/index.flow.js +7 -0
- package/src/index.flow.js.flow +10 -0
- package/src/lib/TerminalReporter.js +1 -1
- package/src/lib/TerminalReporter.js.flow +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "metro",
|
|
3
|
-
"version": "0.76.
|
|
3
|
+
"version": "0.76.7",
|
|
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.
|
|
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.
|
|
39
|
-
"metro-cache": "0.76.
|
|
40
|
-
"metro-cache-key": "0.76.
|
|
41
|
-
"metro-config": "0.76.
|
|
42
|
-
"metro-core": "0.76.
|
|
43
|
-
"metro-file-map": "0.76.
|
|
44
|
-
"metro-inspector-proxy": "0.76.
|
|
45
|
-
"metro-minify-terser": "0.76.
|
|
46
|
-
"metro-minify-uglify": "0.76.
|
|
47
|
-
"metro-react-native-babel-preset": "0.76.
|
|
48
|
-
"metro-resolver": "0.76.
|
|
49
|
-
"metro-runtime": "0.76.
|
|
50
|
-
"metro-source-map": "0.76.
|
|
51
|
-
"metro-symbolicate": "0.76.
|
|
52
|
-
"metro-transform-plugins": "0.76.
|
|
53
|
-
"metro-transform-worker": "0.76.
|
|
38
|
+
"metro-babel-transformer": "0.76.7",
|
|
39
|
+
"metro-cache": "0.76.7",
|
|
40
|
+
"metro-cache-key": "0.76.7",
|
|
41
|
+
"metro-config": "0.76.7",
|
|
42
|
+
"metro-core": "0.76.7",
|
|
43
|
+
"metro-file-map": "0.76.7",
|
|
44
|
+
"metro-inspector-proxy": "0.76.7",
|
|
45
|
+
"metro-minify-terser": "0.76.7",
|
|
46
|
+
"metro-minify-uglify": "0.76.7",
|
|
47
|
+
"metro-react-native-babel-preset": "0.76.7",
|
|
48
|
+
"metro-resolver": "0.76.7",
|
|
49
|
+
"metro-runtime": "0.76.7",
|
|
50
|
+
"metro-source-map": "0.76.7",
|
|
51
|
+
"metro-symbolicate": "0.76.7",
|
|
52
|
+
"metro-transform-plugins": "0.76.7",
|
|
53
|
+
"metro-transform-worker": "0.76.7",
|
|
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.
|
|
72
|
-
"metro-memory-fs": "0.76.
|
|
73
|
-
"metro-react-native-babel-preset": "0.76.
|
|
74
|
-
"metro-react-native-babel-transformer": "0.76.
|
|
71
|
+
"metro-babel-register": "0.76.7",
|
|
72
|
+
"metro-memory-fs": "0.76.7",
|
|
73
|
+
"metro-react-native-babel-preset": "0.76.7",
|
|
74
|
+
"metro-react-native-babel-transformer": "0.76.7",
|
|
75
75
|
"mock-req": "^0.2.0",
|
|
76
76
|
"mock-res": "^0.6.0",
|
|
77
77
|
"stack-trace": "^0.0.10"
|
|
@@ -197,6 +197,7 @@ class Graph {
|
|
|
197
197
|
// TODO: Refactor for more explicit immutability
|
|
198
198
|
newModule !== originalModule ||
|
|
199
199
|
transfromOutputMayDiffer(newModule, originalModule) ||
|
|
200
|
+
// $FlowFixMe[incompatible-call]
|
|
200
201
|
!allDependenciesEqual(newModule, originalModule)
|
|
201
202
|
) {
|
|
202
203
|
modified.set(path, newModule);
|
|
@@ -240,6 +240,7 @@ export class Graph<T = MixedOutput> {
|
|
|
240
240
|
// TODO: Refactor for more explicit immutability
|
|
241
241
|
newModule !== originalModule ||
|
|
242
242
|
transfromOutputMayDiffer(newModule, originalModule) ||
|
|
243
|
+
// $FlowFixMe[incompatible-call]
|
|
243
244
|
!allDependenciesEqual(newModule, originalModule)
|
|
244
245
|
) {
|
|
245
246
|
modified.set(path, newModule);
|
package/src/Server.js.flow
CHANGED
|
@@ -31,7 +31,8 @@ import type {
|
|
|
31
31
|
ResolverInputOptions,
|
|
32
32
|
SplitBundleOptions,
|
|
33
33
|
} from './shared/types.flow';
|
|
34
|
-
import type {IncomingMessage
|
|
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) =>
|
|
482
|
+
((e: ?Error) => void),
|
|
482
483
|
) => void = (
|
|
483
484
|
req: IncomingMessage,
|
|
484
485
|
res: ServerResponse,
|
|
485
|
-
next: (?Error) =>
|
|
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) =>
|
|
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';
|
|
@@ -32,6 +33,7 @@ import type {OutputOptions, RequestOptions} from './shared/types';
|
|
|
32
33
|
|
|
33
34
|
export {loadConfig, mergeConfig, resolveConfig} from 'metro-config';
|
|
34
35
|
export {Terminal} from 'metro-core';
|
|
36
|
+
export {TerminalReporter} from './lib/TerminalReporter';
|
|
35
37
|
|
|
36
38
|
export {HttpServer, HttpsServer};
|
|
37
39
|
|
|
@@ -72,6 +74,7 @@ export interface RunServerOptions {
|
|
|
72
74
|
/** @deprecated since version 0.61 */
|
|
73
75
|
secureKey?: string;
|
|
74
76
|
|
|
77
|
+
unstable_extraMiddleware?: ReadonlyArray<HandleFunction>;
|
|
75
78
|
waitForBundler?: boolean;
|
|
76
79
|
watch?: boolean;
|
|
77
80
|
websocketEndpoints?: {
|
|
@@ -126,7 +129,7 @@ export function runMetro(
|
|
|
126
129
|
options?: RunMetroOptions,
|
|
127
130
|
): Promise<MetroServer>;
|
|
128
131
|
|
|
129
|
-
export function
|
|
132
|
+
export function createConnectMiddleware(
|
|
130
133
|
config: ConfigT,
|
|
131
134
|
options?: RunMetroOptions,
|
|
132
135
|
): Promise<MetroMiddleWare>;
|
package/src/index.flow.js
CHANGED
|
@@ -17,6 +17,7 @@ const makeServeCommand = require("./commands/serve");
|
|
|
17
17
|
const MetroHmrServer = require("./HmrServer");
|
|
18
18
|
const IncrementalBundler = require("./IncrementalBundler");
|
|
19
19
|
const createWebsocketServer = require("./lib/createWebsocketServer");
|
|
20
|
+
const TerminalReporter = require("./lib/TerminalReporter");
|
|
20
21
|
const MetroServer = require("./Server");
|
|
21
22
|
const outputBundle = require("./shared/output/bundle");
|
|
22
23
|
const chalk = require("chalk");
|
|
@@ -34,6 +35,7 @@ const { InspectorProxy } = require("metro-inspector-proxy");
|
|
|
34
35
|
const net = require("net");
|
|
35
36
|
const { parse } = require("url");
|
|
36
37
|
exports.Terminal = Terminal;
|
|
38
|
+
exports.TerminalReporter = TerminalReporter;
|
|
37
39
|
async function getConfig(config) {
|
|
38
40
|
const defaultConfig = await getDefaultConfig(config.projectRoot);
|
|
39
41
|
// $FlowFixMe[incompatible-variance]
|
|
@@ -134,6 +136,7 @@ exports.runServer = async (
|
|
|
134
136
|
// deprecated
|
|
135
137
|
secureKey,
|
|
136
138
|
// deprecated
|
|
139
|
+
unstable_extraMiddleware,
|
|
137
140
|
waitForBundler = false,
|
|
138
141
|
websocketEndpoints = {},
|
|
139
142
|
watch,
|
|
@@ -161,6 +164,9 @@ exports.runServer = async (
|
|
|
161
164
|
}
|
|
162
165
|
);
|
|
163
166
|
serverApp.use(middleware);
|
|
167
|
+
for (const handler of unstable_extraMiddleware ?? []) {
|
|
168
|
+
serverApp.use(handler);
|
|
169
|
+
}
|
|
164
170
|
let inspectorProxy = null;
|
|
165
171
|
if (config.server.runInspectorProxy) {
|
|
166
172
|
inspectorProxy = new InspectorProxy(config.projectRoot);
|
|
@@ -175,6 +181,7 @@ exports.runServer = async (
|
|
|
175
181
|
...secureServerOptions,
|
|
176
182
|
};
|
|
177
183
|
}
|
|
184
|
+
// $FlowFixMe[incompatible-call] 'http' and 'https' Flow types do not match
|
|
178
185
|
httpServer = https.createServer(options, serverApp);
|
|
179
186
|
} else {
|
|
180
187
|
httpServer = http.createServer(serverApp);
|
package/src/index.flow.js.flow
CHANGED
|
@@ -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';
|
|
@@ -34,6 +35,7 @@ const makeServeCommand = require('./commands/serve');
|
|
|
34
35
|
const MetroHmrServer = require('./HmrServer');
|
|
35
36
|
const IncrementalBundler = require('./IncrementalBundler');
|
|
36
37
|
const createWebsocketServer = require('./lib/createWebsocketServer');
|
|
38
|
+
const TerminalReporter = require('./lib/TerminalReporter');
|
|
37
39
|
const MetroServer = require('./Server');
|
|
38
40
|
const outputBundle = require('./shared/output/bundle');
|
|
39
41
|
const chalk = require('chalk');
|
|
@@ -82,6 +84,7 @@ export type RunServerOptions = $ReadOnly<{
|
|
|
82
84
|
secure?: boolean, // deprecated
|
|
83
85
|
secureCert?: string, // deprecated
|
|
84
86
|
secureKey?: string, // deprecated
|
|
87
|
+
unstable_extraMiddleware?: $ReadOnlyArray<HandleFunction>,
|
|
85
88
|
waitForBundler?: boolean,
|
|
86
89
|
watch?: boolean,
|
|
87
90
|
websocketEndpoints?: $ReadOnly<{
|
|
@@ -138,6 +141,7 @@ type BuildCommandOptions = {} | null;
|
|
|
138
141
|
type ServeCommandOptions = {} | null;
|
|
139
142
|
|
|
140
143
|
exports.Terminal = Terminal;
|
|
144
|
+
exports.TerminalReporter = TerminalReporter;
|
|
141
145
|
|
|
142
146
|
export type {MetroConfig};
|
|
143
147
|
|
|
@@ -254,6 +258,7 @@ exports.runServer = async (
|
|
|
254
258
|
secure, //deprecated
|
|
255
259
|
secureCert, // deprecated
|
|
256
260
|
secureKey, // deprecated
|
|
261
|
+
unstable_extraMiddleware,
|
|
257
262
|
waitForBundler = false,
|
|
258
263
|
websocketEndpoints = {},
|
|
259
264
|
watch,
|
|
@@ -283,6 +288,10 @@ exports.runServer = async (
|
|
|
283
288
|
|
|
284
289
|
serverApp.use(middleware);
|
|
285
290
|
|
|
291
|
+
for (const handler of unstable_extraMiddleware ?? []) {
|
|
292
|
+
serverApp.use(handler);
|
|
293
|
+
}
|
|
294
|
+
|
|
286
295
|
let inspectorProxy: ?InspectorProxy = null;
|
|
287
296
|
if (config.server.runInspectorProxy) {
|
|
288
297
|
inspectorProxy = new InspectorProxy(config.projectRoot);
|
|
@@ -299,6 +308,7 @@ exports.runServer = async (
|
|
|
299
308
|
...secureServerOptions,
|
|
300
309
|
};
|
|
301
310
|
}
|
|
311
|
+
// $FlowFixMe[incompatible-call] 'http' and 'https' Flow types do not match
|
|
302
312
|
httpServer = https.createServer(options, serverApp);
|
|
303
313
|
} else {
|
|
304
314
|
httpServer = http.createServer(serverApp);
|
|
@@ -439,7 +439,7 @@ class TerminalReporter {
|
|
|
439
439
|
|
|
440
440
|
/**
|
|
441
441
|
* Single entry point for reporting events. That allows us to implement the
|
|
442
|
-
* corresponding JSON reporter easily and have a consistent
|
|
442
|
+
* corresponding JSON reporter easily and have a consistent reporting.
|
|
443
443
|
*/
|
|
444
444
|
update(event) {
|
|
445
445
|
if (event.type === "bundle_transform_progressed") {
|
|
@@ -515,7 +515,7 @@ class TerminalReporter {
|
|
|
515
515
|
|
|
516
516
|
/**
|
|
517
517
|
* Single entry point for reporting events. That allows us to implement the
|
|
518
|
-
* corresponding JSON reporter easily and have a consistent
|
|
518
|
+
* corresponding JSON reporter easily and have a consistent reporting.
|
|
519
519
|
*/
|
|
520
520
|
update(event: TerminalReportableEvent): void {
|
|
521
521
|
if (event.type === 'bundle_transform_progressed') {
|