metro 0.83.0 → 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.
- package/package.json +16 -16
- package/src/Assets.js +68 -42
- package/src/Assets.js.flow +13 -24
- package/src/Bundler/util.js +40 -17
- package/src/Bundler/util.js.flow +6 -13
- package/src/Bundler.js +17 -6
- package/src/Bundler.js.flow +3 -7
- package/src/DeltaBundler/DeltaCalculator.js +15 -15
- package/src/DeltaBundler/DeltaCalculator.js.flow +4 -7
- package/src/DeltaBundler/Graph.js +45 -40
- package/src/DeltaBundler/Graph.js.flow +3 -4
- package/src/DeltaBundler/Serializers/baseJSBundle.js +24 -10
- package/src/DeltaBundler/Serializers/baseJSBundle.js.flow +6 -9
- package/src/DeltaBundler/Serializers/getAllFiles.js +9 -6
- package/src/DeltaBundler/Serializers/getAllFiles.js.flow +4 -8
- package/src/DeltaBundler/Serializers/getAssets.js +18 -11
- package/src/DeltaBundler/Serializers/getAssets.js.flow +5 -9
- package/src/DeltaBundler/Serializers/getExplodedSourceMap.d.ts +26 -0
- package/src/DeltaBundler/Serializers/getExplodedSourceMap.js +7 -6
- package/src/DeltaBundler/Serializers/getExplodedSourceMap.js.flow +3 -9
- package/src/DeltaBundler/Serializers/getRamBundleInfo.js +40 -23
- package/src/DeltaBundler/Serializers/getRamBundleInfo.js.flow +11 -18
- package/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js +4 -1
- package/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js.flow +1 -5
- package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +7 -4
- package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js.flow +3 -7
- package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +4 -1
- package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js.flow +2 -6
- package/src/DeltaBundler/Serializers/helpers/js.js +65 -31
- package/src/DeltaBundler/Serializers/helpers/js.js.flow +21 -21
- package/src/DeltaBundler/Serializers/helpers/processModules.js +8 -5
- package/src/DeltaBundler/Serializers/helpers/processModules.js.flow +3 -7
- package/src/DeltaBundler/Serializers/hmrJSBundle.js +70 -25
- package/src/DeltaBundler/Serializers/hmrJSBundle.js.flow +43 -33
- package/src/DeltaBundler/Serializers/sourceMapGenerator.js +19 -16
- package/src/DeltaBundler/Serializers/sourceMapGenerator.js.flow +6 -14
- package/src/DeltaBundler/Serializers/sourceMapObject.js +12 -10
- package/src/DeltaBundler/Serializers/sourceMapObject.js.flow +4 -9
- package/src/DeltaBundler/Serializers/sourceMapString.js +14 -12
- package/src/DeltaBundler/Serializers/sourceMapString.js.flow +4 -9
- package/src/DeltaBundler/Transformer.js +32 -27
- package/src/DeltaBundler/Transformer.js.flow +10 -17
- package/src/DeltaBundler/Worker.flow.js +25 -18
- package/src/DeltaBundler/Worker.flow.js.flow +12 -18
- package/src/DeltaBundler/Worker.js.flow +2 -0
- package/src/DeltaBundler/WorkerFarm.js +13 -11
- package/src/DeltaBundler/WorkerFarm.js.flow +7 -9
- package/src/DeltaBundler/buildSubgraph.js +13 -17
- package/src/DeltaBundler/buildSubgraph.js.flow +1 -1
- package/src/DeltaBundler/getTransformCacheKey.js +12 -6
- package/src/DeltaBundler/getTransformCacheKey.js.flow +5 -7
- package/src/DeltaBundler/mergeDeltas.js +4 -1
- package/src/DeltaBundler/mergeDeltas.js.flow +5 -6
- package/src/DeltaBundler/types.d.ts +4 -1
- package/src/DeltaBundler/{types.flow.js → types.js} +1 -5
- package/src/DeltaBundler/{types.flow.js.flow → types.js.flow} +5 -3
- package/src/DeltaBundler.js +15 -6
- package/src/DeltaBundler.js.flow +4 -8
- package/src/HmrServer.js +116 -68
- package/src/HmrServer.js.flow +41 -52
- package/src/IncrementalBundler/GraphNotFoundError.js +5 -1
- package/src/IncrementalBundler/GraphNotFoundError.js.flow +1 -5
- package/src/IncrementalBundler/ResourceNotFoundError.js +5 -1
- package/src/IncrementalBundler/ResourceNotFoundError.js.flow +1 -5
- package/src/IncrementalBundler/RevisionNotFoundError.js +5 -1
- package/src/IncrementalBundler/RevisionNotFoundError.js.flow +1 -5
- package/src/IncrementalBundler.js +71 -35
- package/src/IncrementalBundler.js.flow +12 -16
- package/src/ModuleGraph/test-helpers.js +19 -14
- package/src/ModuleGraph/worker/JsFileWrapping.js +22 -29
- package/src/ModuleGraph/worker/JsFileWrapping.js.flow +1 -10
- package/src/ModuleGraph/worker/collectDependencies.js +81 -52
- package/src/ModuleGraph/worker/collectDependencies.js.flow +15 -22
- package/src/ModuleGraph/worker/generateImportNames.js +12 -6
- package/src/ModuleGraph/worker/generateImportNames.js.flow +3 -7
- package/src/ModuleGraph/worker/importLocationsPlugin.js +5 -4
- package/src/ModuleGraph/worker/importLocationsPlugin.js.flow +2 -4
- package/src/Server/MultipartResponse.js +11 -4
- package/src/Server/MultipartResponse.js.flow +2 -5
- package/src/Server/symbolicate.d.ts +31 -0
- package/src/Server/symbolicate.js +15 -16
- package/src/Server/symbolicate.js.flow +6 -16
- package/src/Server.d.ts +0 -1
- package/src/Server.js +298 -191
- package/src/Server.js.flow +136 -99
- package/src/cli-utils.js +13 -4
- package/src/cli-utils.js.flow +3 -5
- package/src/cli.js.flow +2 -0
- package/src/commands/build.js +18 -15
- package/src/commands/build.js.flow +6 -6
- package/src/commands/dependencies.js +26 -16
- package/src/commands/dependencies.js.flow +7 -9
- package/src/commands/serve.js +16 -11
- package/src/commands/serve.js.flow +5 -6
- package/src/index.d.ts +26 -3
- package/src/index.flow.js +162 -72
- package/src/index.flow.js.flow +60 -47
- package/src/index.js.flow +2 -0
- package/src/integration_tests/basic_bundle/TestBundle.js.flow +2 -1
- package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-import.js +1 -5
- package/src/integration_tests/basic_bundle/build-errors/inline-requires-cannot-resolve-import.js +1 -5
- package/src/integration_tests/basic_bundle/import-export/index.js +5 -13
- package/src/integration_tests/basic_bundle/require-context/mode-eager.js +2 -2
- package/src/integration_tests/basic_bundle/require-context/mode-lazy-once.js +2 -2
- package/src/integration_tests/basic_bundle/require-context/mode-lazy.js +2 -2
- package/src/integration_tests/basic_bundle/require-context/mode-sync.js +1 -1
- package/src/integration_tests/basic_bundle/require-context/utils.js +1 -1
- package/src/integration_tests/execBundle.js +7 -4
- package/src/integration_tests/execBundle.js.flow +1 -3
- package/src/integration_tests/metro.config.js +3 -3
- package/src/lib/BatchProcessor.js +15 -5
- package/src/lib/BatchProcessor.js.flow +2 -6
- package/src/lib/CountingSet.js.flow +2 -2
- package/src/lib/JsonReporter.js +6 -2
- package/src/lib/JsonReporter.js.flow +1 -5
- package/src/lib/RamBundleParser.js +12 -3
- package/src/lib/RamBundleParser.js.flow +2 -6
- package/src/lib/TerminalReporter.js +95 -56
- package/src/lib/TerminalReporter.js.flow +9 -12
- package/src/lib/bundleToString.js +4 -1
- package/src/lib/bundleToString.js.flow +2 -9
- package/src/lib/contextModule.js +3 -7
- package/src/lib/contextModuleTemplates.js +9 -19
- package/src/lib/countLines.js +5 -1
- package/src/lib/countLines.js.flow +1 -3
- package/src/lib/createWebsocketServer.js +7 -7
- package/src/lib/createWebsocketServer.js.flow +4 -4
- package/src/lib/debounceAsyncQueue.js +4 -1
- package/src/lib/debounceAsyncQueue.js.flow +1 -5
- package/src/lib/formatBundlingError.js +32 -22
- package/src/lib/formatBundlingError.js.flow +18 -20
- package/src/lib/getAppendScripts.js +20 -20
- package/src/lib/getAppendScripts.js.flow +9 -13
- package/src/lib/getGraphId.js +12 -6
- package/src/lib/getGraphId.js.flow +4 -10
- package/src/lib/getPreludeCode.js +7 -10
- package/src/lib/getPreludeCode.js.flow +2 -6
- package/src/lib/getPrependedScripts.js +40 -16
- package/src/lib/getPrependedScripts.js.flow +8 -13
- package/src/lib/isResolvedDependency.js.flow +1 -1
- package/src/lib/logToConsole.js +18 -12
- package/src/lib/logToConsole.js.flow +5 -14
- package/src/lib/parseBundleOptionsFromBundleRequestUrl.js +144 -0
- package/src/lib/parseBundleOptionsFromBundleRequestUrl.js.flow +146 -0
- package/src/lib/parseCustomResolverOptions.js +8 -6
- package/src/lib/parseCustomResolverOptions.js.flow +6 -12
- package/src/lib/parseCustomTransformOptions.js +8 -6
- package/src/lib/parseCustomTransformOptions.js.flow +11 -14
- package/src/lib/parseJsonBody.js +4 -1
- package/src/lib/parseJsonBody.js.flow +1 -3
- package/src/lib/pathUtils.js +34 -0
- package/src/lib/pathUtils.js.flow +16 -0
- package/src/lib/relativizeSourceMap.js +12 -3
- package/src/lib/relativizeSourceMap.js.flow +2 -6
- package/src/lib/reporting.js +25 -19
- package/src/lib/reporting.js.flow +6 -16
- package/src/lib/splitBundleOptions.js +4 -2
- package/src/lib/splitBundleOptions.js.flow +4 -7
- package/src/lib/transformHelpers.js +19 -25
- package/src/lib/transformHelpers.js.flow +5 -15
- package/src/node-haste/DependencyGraph/ModuleResolution.js +75 -57
- package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +28 -44
- package/src/node-haste/DependencyGraph/createFileMap.js +15 -13
- package/src/node-haste/DependencyGraph/createFileMap.js.flow +2 -5
- package/src/node-haste/DependencyGraph.js +61 -45
- package/src/node-haste/DependencyGraph.js.flow +34 -31
- package/src/node-haste/Package.js +13 -6
- package/src/node-haste/Package.js.flow +3 -7
- package/src/node-haste/{ModuleCache.js → PackageCache.js} +11 -19
- package/src/node-haste/{ModuleCache.js.flow → PackageCache.js.flow} +2 -30
- package/src/node-haste/lib/AssetPaths.js +14 -8
- package/src/node-haste/lib/AssetPaths.js.flow +7 -8
- package/src/node-haste/lib/parsePlatformFilePath.js +10 -4
- package/src/node-haste/lib/parsePlatformFilePath.js.flow +2 -6
- package/src/shared/output/RamBundle/as-assets.js +42 -22
- package/src/shared/output/RamBundle/as-assets.js.flow +12 -15
- package/src/shared/output/RamBundle/as-indexed-file.js +33 -23
- package/src/shared/output/RamBundle/as-indexed-file.js.flow +10 -16
- package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js +11 -10
- package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js.flow +4 -6
- package/src/shared/output/RamBundle/magic-number.js +5 -1
- package/src/shared/output/RamBundle/magic-number.js.flow +1 -3
- package/src/shared/output/RamBundle/util.js +21 -18
- package/src/shared/output/RamBundle/util.js.flow +4 -6
- package/src/shared/output/RamBundle/write-sourcemap.js +9 -3
- package/src/shared/output/RamBundle/write-sourcemap.js.flow +2 -6
- package/src/shared/output/RamBundle.js +16 -9
- package/src/shared/output/RamBundle.js.flow +8 -12
- package/src/shared/output/bundle.flow.js +37 -13
- package/src/shared/output/bundle.flow.js.flow +24 -12
- package/src/shared/output/bundle.js.flow +2 -0
- package/src/shared/output/meta.js +16 -9
- package/src/shared/output/meta.js.flow +3 -5
- package/src/shared/output/unbundle.js +14 -1
- package/src/shared/output/unbundle.js.flow +1 -3
- package/src/shared/output/writeFile.js +11 -4
- package/src/shared/output/writeFile.js.flow +3 -5
- package/src/shared/types.d.ts +0 -1
- package/src/shared/{types.flow.js.flow → types.js.flow} +16 -17
- package/src/lib/createModuleIdFactory.js +0 -15
- package/src/lib/createModuleIdFactory.js.flow +0 -27
- package/src/lib/getMaxWorkers.js +0 -9
- package/src/lib/getMaxWorkers.js.flow +0 -22
- package/src/lib/parseOptionsFromUrl.js +0 -62
- package/src/lib/parseOptionsFromUrl.js.flow +0 -97
- package/src/node-haste/Module.js +0 -24
- package/src/node-haste/Module.js.flow +0 -41
- /package/src/shared/{types.flow.js → types.js} +0 -0
package/src/index.flow.js.flow
CHANGED
|
@@ -9,13 +9,10 @@
|
|
|
9
9
|
* @oncall react_native
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
'use strict';
|
|
13
|
-
|
|
14
12
|
import type {AssetData} from './Assets';
|
|
15
13
|
import type {ReadOnlyGraph} from './DeltaBundler';
|
|
16
14
|
import type {ServerOptions} from './Server';
|
|
17
|
-
import type {BuildOptions} from './shared/types
|
|
18
|
-
import type {OutputOptions, RequestOptions} from './shared/types.flow.js';
|
|
15
|
+
import type {BuildOptions, OutputOptions, RequestOptions} from './shared/types';
|
|
19
16
|
import type {HandleFunction} from 'connect';
|
|
20
17
|
import type {Server as HttpServer} from 'http';
|
|
21
18
|
import type {Server as HttpsServer} from 'https';
|
|
@@ -30,30 +27,31 @@ import type {CustomResolverOptions} from 'metro-resolver';
|
|
|
30
27
|
import type {CustomTransformOptions} from 'metro-transform-worker';
|
|
31
28
|
import typeof Yargs from 'yargs';
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
30
|
+
import makeBuildCommand from './commands/build';
|
|
31
|
+
import makeDependenciesCommand from './commands/dependencies';
|
|
32
|
+
import makeServeCommand from './commands/serve';
|
|
33
|
+
import MetroHmrServer from './HmrServer';
|
|
34
|
+
import IncrementalBundler from './IncrementalBundler';
|
|
35
|
+
import createWebsocketServer from './lib/createWebsocketServer';
|
|
36
|
+
import JsonReporter from './lib/JsonReporter';
|
|
37
|
+
import TerminalReporter from './lib/TerminalReporter';
|
|
38
|
+
import MetroServer from './Server';
|
|
39
|
+
import * as outputBundle from './shared/output/bundle';
|
|
40
|
+
import chalk from 'chalk';
|
|
41
|
+
import fs from 'fs';
|
|
42
|
+
import http from 'http';
|
|
43
|
+
import https from 'https';
|
|
44
|
+
import {
|
|
48
45
|
getDefaultConfig,
|
|
49
46
|
loadConfig,
|
|
50
47
|
mergeConfig,
|
|
51
48
|
resolveConfig,
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
} from 'metro-config';
|
|
50
|
+
import {Terminal} from 'metro-core';
|
|
51
|
+
import net from 'net';
|
|
52
|
+
import nullthrows from 'nullthrows';
|
|
53
|
+
|
|
54
|
+
const DEFAULTS = MetroServer.DEFAULT_BUNDLE_OPTIONS;
|
|
57
55
|
|
|
58
56
|
type MetroMiddleWare = {
|
|
59
57
|
attachHmrServer: (httpServer: HttpServer | HttpsServer) => void,
|
|
@@ -150,9 +148,7 @@ export type RunBuildResult = {
|
|
|
150
148
|
type BuildCommandOptions = {} | null;
|
|
151
149
|
type ServeCommandOptions = {} | null;
|
|
152
150
|
|
|
153
|
-
|
|
154
|
-
exports.JsonReporter = JsonReporter;
|
|
155
|
-
exports.TerminalReporter = TerminalReporter;
|
|
151
|
+
export {Terminal, JsonReporter, TerminalReporter};
|
|
156
152
|
|
|
157
153
|
export type {AssetData} from './Assets';
|
|
158
154
|
export type {Reporter, ReportableEvent} from './lib/reporting';
|
|
@@ -164,7 +160,7 @@ async function getConfig(config: InputConfigT): Promise<ConfigT> {
|
|
|
164
160
|
return mergeConfig(defaultConfig, config);
|
|
165
161
|
}
|
|
166
162
|
|
|
167
|
-
async function runMetro(
|
|
163
|
+
export async function runMetro(
|
|
168
164
|
config: InputConfigT,
|
|
169
165
|
options?: RunMetroOptions,
|
|
170
166
|
): Promise<MetroServer> {
|
|
@@ -207,12 +203,9 @@ async function runMetro(
|
|
|
207
203
|
return server;
|
|
208
204
|
}
|
|
209
205
|
|
|
210
|
-
|
|
211
|
-
exports.loadConfig = loadConfig;
|
|
212
|
-
exports.mergeConfig = mergeConfig;
|
|
213
|
-
exports.resolveConfig = resolveConfig;
|
|
206
|
+
export {loadConfig, mergeConfig, resolveConfig};
|
|
214
207
|
|
|
215
|
-
const createConnectMiddleware = async function (
|
|
208
|
+
export const createConnectMiddleware = async function (
|
|
216
209
|
config: ConfigT,
|
|
217
210
|
options?: RunMetroOptions,
|
|
218
211
|
): Promise<MetroMiddleWare> {
|
|
@@ -238,7 +231,7 @@ const createConnectMiddleware = async function (
|
|
|
238
231
|
),
|
|
239
232
|
});
|
|
240
233
|
httpServer.on('upgrade', (request, socket, head) => {
|
|
241
|
-
const {pathname} =
|
|
234
|
+
const {pathname} = new URL(request.url, 'resolve://');
|
|
242
235
|
if (pathname === '/hot') {
|
|
243
236
|
wss.handleUpgrade(request, socket, head, ws => {
|
|
244
237
|
wss.emit('connection', ws, request);
|
|
@@ -255,9 +248,8 @@ const createConnectMiddleware = async function (
|
|
|
255
248
|
},
|
|
256
249
|
};
|
|
257
250
|
};
|
|
258
|
-
exports.createConnectMiddleware = createConnectMiddleware;
|
|
259
251
|
|
|
260
|
-
|
|
252
|
+
export const runServer = async (
|
|
261
253
|
config: ConfigT,
|
|
262
254
|
{
|
|
263
255
|
hasReducedPerformance = false,
|
|
@@ -287,6 +279,7 @@ exports.runServer = async (
|
|
|
287
279
|
);
|
|
288
280
|
}
|
|
289
281
|
// Lazy require
|
|
282
|
+
// eslint-disable-next-line import/no-commonjs
|
|
290
283
|
const connect = require('connect');
|
|
291
284
|
|
|
292
285
|
const serverApp = connect();
|
|
@@ -318,7 +311,7 @@ exports.runServer = async (
|
|
|
318
311
|
...secureServerOptions,
|
|
319
312
|
};
|
|
320
313
|
}
|
|
321
|
-
// $FlowFixMe[incompatible-
|
|
314
|
+
// $FlowFixMe[incompatible-type] 'http' and 'https' Flow types do not match
|
|
322
315
|
httpServer = https.createServer(options, serverApp);
|
|
323
316
|
} else {
|
|
324
317
|
httpServer = http.createServer(serverApp);
|
|
@@ -352,7 +345,7 @@ exports.runServer = async (
|
|
|
352
345
|
};
|
|
353
346
|
|
|
354
347
|
httpServer.on('upgrade', (request, socket, head) => {
|
|
355
|
-
const {pathname} =
|
|
348
|
+
const {pathname} = new URL(request.url, 'resolve://');
|
|
356
349
|
if (pathname != null && websocketEndpoints[pathname]) {
|
|
357
350
|
websocketEndpoints[pathname].handleUpgrade(
|
|
358
351
|
request,
|
|
@@ -387,12 +380,12 @@ exports.runServer = async (
|
|
|
387
380
|
});
|
|
388
381
|
};
|
|
389
382
|
|
|
390
|
-
|
|
383
|
+
export const runBuild = async (
|
|
391
384
|
config: ConfigT,
|
|
392
385
|
{
|
|
393
386
|
assets = false,
|
|
394
|
-
customResolverOptions,
|
|
395
|
-
customTransformOptions,
|
|
387
|
+
customResolverOptions = DEFAULTS.customResolverOptions,
|
|
388
|
+
customTransformOptions = DEFAULTS.customTransformOptions,
|
|
396
389
|
dev = false,
|
|
397
390
|
entry,
|
|
398
391
|
onBegin,
|
|
@@ -406,7 +399,7 @@ exports.runBuild = async (
|
|
|
406
399
|
platform = 'web',
|
|
407
400
|
sourceMap = false,
|
|
408
401
|
sourceMapUrl,
|
|
409
|
-
unstable_transformProfile,
|
|
402
|
+
unstable_transformProfile = DEFAULTS.unstable_transformProfile,
|
|
410
403
|
}: RunBuildOptions,
|
|
411
404
|
): Promise<RunBuildResult> => {
|
|
412
405
|
const metroServer = await runMetro(config, {
|
|
@@ -414,13 +407,13 @@ exports.runBuild = async (
|
|
|
414
407
|
});
|
|
415
408
|
|
|
416
409
|
try {
|
|
417
|
-
const requestOptions
|
|
410
|
+
const requestOptions = {
|
|
418
411
|
dev,
|
|
419
412
|
entryFile: entry,
|
|
420
413
|
inlineSourceMap: sourceMap && !sourceMapUrl,
|
|
421
414
|
minify,
|
|
422
415
|
platform,
|
|
423
|
-
|
|
416
|
+
...(sourceMap === false ? {} : {sourceMapUrl}),
|
|
424
417
|
createModuleIdFactory: config.serializer.createModuleIdFactory,
|
|
425
418
|
onProgress,
|
|
426
419
|
customResolverOptions,
|
|
@@ -455,7 +448,7 @@ exports.runBuild = async (
|
|
|
455
448
|
const sourcemapOutput =
|
|
456
449
|
sourceMap === false
|
|
457
450
|
? undefined
|
|
458
|
-
: sourceMapOut ?? out?.replace(/(\.js)?$/, '.map');
|
|
451
|
+
: (sourceMapOut ?? out?.replace(/(\.js)?$/, '.map'));
|
|
459
452
|
|
|
460
453
|
const outputOptions: OutputOptions = {
|
|
461
454
|
bundleOutput,
|
|
@@ -478,7 +471,7 @@ exports.runBuild = async (
|
|
|
478
471
|
}
|
|
479
472
|
};
|
|
480
473
|
|
|
481
|
-
|
|
474
|
+
export const buildGraph = async function (
|
|
482
475
|
config: InputConfigT,
|
|
483
476
|
{
|
|
484
477
|
customTransformOptions = Object.create(null),
|
|
@@ -521,7 +514,7 @@ type AttachMetroCLIOptions = {
|
|
|
521
514
|
...
|
|
522
515
|
};
|
|
523
516
|
|
|
524
|
-
|
|
517
|
+
export const attachMetroCli = function (
|
|
525
518
|
yargs: Yargs,
|
|
526
519
|
options?: AttachMetroCLIOptions = {},
|
|
527
520
|
): Yargs {
|
|
@@ -555,3 +548,23 @@ async function earlyPortCheck(host: void | string, port: number) {
|
|
|
555
548
|
await new Promise(resolve => server.close(() => resolve()));
|
|
556
549
|
}
|
|
557
550
|
}
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* Backwards-compatibility with CommonJS consumers using interopRequireDefault.
|
|
554
|
+
* Do not add to this list.
|
|
555
|
+
*
|
|
556
|
+
* @deprecated Default import from 'metro' is deprecated, use named exports.
|
|
557
|
+
*/
|
|
558
|
+
export default {
|
|
559
|
+
attachMetroCli,
|
|
560
|
+
runServer,
|
|
561
|
+
Terminal,
|
|
562
|
+
JsonReporter,
|
|
563
|
+
TerminalReporter,
|
|
564
|
+
loadConfig,
|
|
565
|
+
mergeConfig,
|
|
566
|
+
resolveConfig,
|
|
567
|
+
createConnectMiddleware,
|
|
568
|
+
runBuild,
|
|
569
|
+
buildGraph,
|
|
570
|
+
};
|
package/src/index.js.flow
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
const Bar = require('./Bar');
|
|
14
14
|
const Foo = require('./Foo');
|
|
15
|
-
// $FlowFixMe: Flow doesn't understand TypeScript
|
|
15
|
+
// $FlowFixMe[untyped-import]: Flow doesn't understand TypeScript
|
|
16
|
+
// $FlowFixMe[cannot-resolve-module]: Flow doesn't understand TypeScript
|
|
16
17
|
const TypeScript = require('./TypeScript');
|
|
17
18
|
|
|
18
19
|
Object.keys({...Bar});
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _doesNotExist = _interopRequireDefault(require("./does-not-exist"));
|
|
4
4
|
function _interopRequireDefault(e) {
|
|
5
|
-
return e && e.__esModule
|
|
6
|
-
? e
|
|
7
|
-
: {
|
|
8
|
-
default: e,
|
|
9
|
-
};
|
|
5
|
+
return e && e.__esModule ? e : { default: e };
|
|
10
6
|
}
|
|
11
7
|
global.x = _doesNotExist.default;
|
package/src/integration_tests/basic_bundle/build-errors/inline-requires-cannot-resolve-import.js
CHANGED
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _doesNotExist = _interopRequireDefault(require("./does-not-exist"));
|
|
4
4
|
function _interopRequireDefault(e) {
|
|
5
|
-
return e && e.__esModule
|
|
6
|
-
? e
|
|
7
|
-
: {
|
|
8
|
-
default: e,
|
|
9
|
-
};
|
|
5
|
+
return e && e.__esModule ? e : { default: e };
|
|
10
6
|
}
|
|
11
7
|
global.x = _doesNotExist.default;
|
|
@@ -25,16 +25,12 @@ var _export = _interopRequireWildcard(require("./export-1"));
|
|
|
25
25
|
var importStar = _interopRequireWildcard(require("./export-2"));
|
|
26
26
|
var _exportNull = require("./export-null");
|
|
27
27
|
var _exportPrimitiveDefault = _interopRequireWildcard(
|
|
28
|
-
require("./export-primitive-default")
|
|
28
|
+
require("./export-primitive-default"),
|
|
29
29
|
);
|
|
30
30
|
var _export3 = _interopRequireDefault(require("./export-3"));
|
|
31
31
|
var _export4 = require("./export-4");
|
|
32
32
|
function _interopRequireDefault(e) {
|
|
33
|
-
return e && e.__esModule
|
|
34
|
-
? e
|
|
35
|
-
: {
|
|
36
|
-
default: e,
|
|
37
|
-
};
|
|
33
|
+
return e && e.__esModule ? e : { default: e };
|
|
38
34
|
}
|
|
39
35
|
function _getRequireWildcardCache(e) {
|
|
40
36
|
if ("function" != typeof WeakMap) return null;
|
|
@@ -47,21 +43,17 @@ function _getRequireWildcardCache(e) {
|
|
|
47
43
|
function _interopRequireWildcard(e, r) {
|
|
48
44
|
if (!r && e && e.__esModule) return e;
|
|
49
45
|
if (null === e || ("object" != typeof e && "function" != typeof e))
|
|
50
|
-
return {
|
|
51
|
-
default: e,
|
|
52
|
-
};
|
|
46
|
+
return { default: e };
|
|
53
47
|
var t = _getRequireWildcardCache(r);
|
|
54
48
|
if (t && t.has(e)) return t.get(e);
|
|
55
|
-
var n = {
|
|
56
|
-
__proto__: null,
|
|
57
|
-
},
|
|
49
|
+
var n = { __proto__: null },
|
|
58
50
|
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
59
51
|
for (var u in e)
|
|
60
52
|
if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
61
53
|
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
62
54
|
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : (n[u] = e[u]);
|
|
63
55
|
}
|
|
64
|
-
return (n.default = e), t && t.set(e, n), n;
|
|
56
|
+
return ((n.default = e), t && t.set(e, n), n);
|
|
65
57
|
}
|
|
66
58
|
const extraData = (exports.extraData = {
|
|
67
59
|
foo: _exportNull.foo,
|
|
@@ -4,8 +4,8 @@ var _utils = require("./utils");
|
|
|
4
4
|
function main() {
|
|
5
5
|
return (0, _utils.awaitProperties)(
|
|
6
6
|
(0, _utils.copyContextToObject)(
|
|
7
|
-
require.context("./subdir", undefined, undefined, "eager")
|
|
8
|
-
)
|
|
7
|
+
require.context("./subdir", undefined, undefined, "eager"),
|
|
8
|
+
),
|
|
9
9
|
);
|
|
10
10
|
}
|
|
11
11
|
module.exports = main();
|
|
@@ -4,8 +4,8 @@ var _utils = require("./utils");
|
|
|
4
4
|
function main() {
|
|
5
5
|
return (0, _utils.awaitProperties)(
|
|
6
6
|
(0, _utils.copyContextToObject)(
|
|
7
|
-
require.context("./subdir", undefined, undefined, "lazy-once")
|
|
8
|
-
)
|
|
7
|
+
require.context("./subdir", undefined, undefined, "lazy-once"),
|
|
8
|
+
),
|
|
9
9
|
);
|
|
10
10
|
}
|
|
11
11
|
module.exports = main();
|
|
@@ -4,8 +4,8 @@ var _utils = require("./utils");
|
|
|
4
4
|
function main() {
|
|
5
5
|
return (0, _utils.awaitProperties)(
|
|
6
6
|
(0, _utils.copyContextToObject)(
|
|
7
|
-
require.context("./subdir", undefined, undefined, "lazy")
|
|
8
|
-
)
|
|
7
|
+
require.context("./subdir", undefined, undefined, "lazy"),
|
|
8
|
+
),
|
|
9
9
|
);
|
|
10
10
|
}
|
|
11
11
|
module.exports = main();
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _vm = _interopRequireDefault(require("vm"));
|
|
4
|
+
function _interopRequireDefault(e) {
|
|
5
|
+
return e && e.__esModule ? e : { default: e };
|
|
6
|
+
}
|
|
4
7
|
module.exports = function execBundle(code, context = {}) {
|
|
5
|
-
if (
|
|
6
|
-
return
|
|
8
|
+
if (_vm.default.isContext(context)) {
|
|
9
|
+
return _vm.default.runInContext(code, context);
|
|
7
10
|
}
|
|
8
|
-
return
|
|
11
|
+
return _vm.default.runInNewContext(code, context);
|
|
9
12
|
};
|
|
@@ -20,10 +20,10 @@ module.exports = {
|
|
|
20
20
|
transformer: {
|
|
21
21
|
assetRegistryPath: path.join(ROOT_PATH, "AssetRegistry"),
|
|
22
22
|
asyncRequireModulePath: require.resolve(
|
|
23
|
-
"metro-runtime/src/modules/asyncRequire"
|
|
23
|
+
"metro-runtime/src/modules/asyncRequire",
|
|
24
24
|
),
|
|
25
25
|
babelTransformerPath: require.resolve(
|
|
26
|
-
"@react-native/metro-babel-transformer"
|
|
26
|
+
"@react-native/metro-babel-transformer",
|
|
27
27
|
),
|
|
28
28
|
enableBabelRCLookup: false,
|
|
29
29
|
enableBabelRuntime: false,
|
|
@@ -31,7 +31,7 @@ module.exports = {
|
|
|
31
31
|
transform: {
|
|
32
32
|
experimentalImportSupport: true,
|
|
33
33
|
inlineRequires: entryFiles.some((filePath) =>
|
|
34
|
-
filePath.includes("inline-requires")
|
|
34
|
+
filePath.includes("inline-requires"),
|
|
35
35
|
),
|
|
36
36
|
},
|
|
37
37
|
preloadedModules: false,
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true,
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _invariant = _interopRequireDefault(require("invariant"));
|
|
8
|
+
function _interopRequireDefault(e) {
|
|
9
|
+
return e && e.__esModule ? e : { default: e };
|
|
10
|
+
}
|
|
4
11
|
class BatchProcessor {
|
|
5
12
|
constructor(options, processBatch) {
|
|
6
13
|
this._options = options;
|
|
@@ -14,7 +21,10 @@ class BatchProcessor {
|
|
|
14
21
|
this._processQueueOnceReady();
|
|
15
22
|
}
|
|
16
23
|
_onBatchResults(jobs, results) {
|
|
17
|
-
|
|
24
|
+
(0, _invariant.default)(
|
|
25
|
+
results.length === jobs.length,
|
|
26
|
+
"Not enough results returned.",
|
|
27
|
+
);
|
|
18
28
|
for (let i = 0; i < jobs.length; ++i) {
|
|
19
29
|
jobs[i].resolve(results[i]);
|
|
20
30
|
}
|
|
@@ -34,7 +44,7 @@ class BatchProcessor {
|
|
|
34
44
|
const jobs = this._queue.splice(0, this._options.maximumItems);
|
|
35
45
|
this._processBatch(jobs.map((job) => job.item)).then(
|
|
36
46
|
(results) => this._onBatchResults(jobs, results),
|
|
37
|
-
(error) => this._onBatchError(jobs, error)
|
|
47
|
+
(error) => this._onBatchError(jobs, error),
|
|
38
48
|
);
|
|
39
49
|
}
|
|
40
50
|
}
|
|
@@ -47,7 +57,7 @@ class BatchProcessor {
|
|
|
47
57
|
if (this._timeoutHandle == null) {
|
|
48
58
|
this._timeoutHandle = setTimeout(
|
|
49
59
|
() => this._processQueue(),
|
|
50
|
-
this._options.maximumDelayMs
|
|
60
|
+
this._options.maximumDelayMs,
|
|
51
61
|
);
|
|
52
62
|
}
|
|
53
63
|
}
|
|
@@ -65,4 +75,4 @@ class BatchProcessor {
|
|
|
65
75
|
return this._queue.length;
|
|
66
76
|
}
|
|
67
77
|
}
|
|
68
|
-
|
|
78
|
+
exports.default = BatchProcessor;
|
|
@@ -9,9 +9,7 @@
|
|
|
9
9
|
* @oncall react_native
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const invariant = require('invariant');
|
|
12
|
+
import invariant from 'invariant';
|
|
15
13
|
|
|
16
14
|
type ProcessBatch<TItem, TResult> = (
|
|
17
15
|
batch: Array<TItem>,
|
|
@@ -38,7 +36,7 @@ type QueueItem<TItem, TResult> = {
|
|
|
38
36
|
* if we have many items pending in a short amount of time, we can start
|
|
39
37
|
* processing right away.
|
|
40
38
|
*/
|
|
41
|
-
class BatchProcessor<TItem, TResult> {
|
|
39
|
+
export default class BatchProcessor<TItem, TResult> {
|
|
42
40
|
_currentProcessCount: number;
|
|
43
41
|
_options: BatchProcessorOptions;
|
|
44
42
|
_processBatch: ProcessBatch<TItem, TResult>;
|
|
@@ -124,5 +122,3 @@ class BatchProcessor<TItem, TResult> {
|
|
|
124
122
|
return this._queue.length;
|
|
125
123
|
}
|
|
126
124
|
}
|
|
127
|
-
|
|
128
|
-
module.exports = BatchProcessor;
|
|
@@ -81,7 +81,7 @@ export default class CountingSet<T> implements ReadOnlyCountingSet<T> {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
// Iterate over unique entries
|
|
84
|
-
// $
|
|
84
|
+
// $FlowFixMe[unsupported-syntax]
|
|
85
85
|
[Symbol.iterator](): Iterator<T> {
|
|
86
86
|
return this.values();
|
|
87
87
|
}
|
|
@@ -94,7 +94,7 @@ export default class CountingSet<T> implements ReadOnlyCountingSet<T> {
|
|
|
94
94
|
*/
|
|
95
95
|
|
|
96
96
|
// Number of unique entries
|
|
97
|
-
// $
|
|
97
|
+
// $FlowFixMe[unsafe-getters-setters]
|
|
98
98
|
get size(): number {
|
|
99
99
|
return this.#map.size;
|
|
100
100
|
}
|
package/src/lib/JsonReporter.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true,
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
3
7
|
class JsonReporter {
|
|
4
8
|
constructor(stream) {
|
|
5
9
|
this._stream = stream;
|
|
@@ -16,6 +20,7 @@ class JsonReporter {
|
|
|
16
20
|
this._stream.write(JSON.stringify(event) + "\n");
|
|
17
21
|
}
|
|
18
22
|
}
|
|
23
|
+
exports.default = JsonReporter;
|
|
19
24
|
function serializeError(e, seen = new Set()) {
|
|
20
25
|
if (seen.has(e)) {
|
|
21
26
|
return {
|
|
@@ -32,7 +37,7 @@ function serializeError(e, seen = new Set()) {
|
|
|
32
37
|
if (e instanceof AggregateError) {
|
|
33
38
|
serialized.errors = [...e.errors]
|
|
34
39
|
.map((innerError) =>
|
|
35
|
-
innerError instanceof Error ? serializeError(innerError, seen) : null
|
|
40
|
+
innerError instanceof Error ? serializeError(innerError, seen) : null,
|
|
36
41
|
)
|
|
37
42
|
.filter(Boolean);
|
|
38
43
|
}
|
|
@@ -41,4 +46,3 @@ function serializeError(e, seen = new Set()) {
|
|
|
41
46
|
}
|
|
42
47
|
return serialized;
|
|
43
48
|
}
|
|
44
|
-
module.exports = JsonReporter;
|
|
@@ -9,8 +9,6 @@
|
|
|
9
9
|
* @oncall react_native
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
'use strict';
|
|
13
|
-
|
|
14
12
|
import type {Writable} from 'stream';
|
|
15
13
|
|
|
16
14
|
export type SerializedError = {
|
|
@@ -32,7 +30,7 @@ export type SerializedEvent<TEvent: {[string]: any, ...}> = TEvent extends {
|
|
|
32
30
|
}
|
|
33
31
|
: TEvent;
|
|
34
32
|
|
|
35
|
-
class JsonReporter<TEvent: {[string]: any, ...}> {
|
|
33
|
+
export default class JsonReporter<TEvent: {[string]: any, ...}> {
|
|
36
34
|
_stream: Writable;
|
|
37
35
|
|
|
38
36
|
constructor(stream: Writable) {
|
|
@@ -82,5 +80,3 @@ function serializeError(
|
|
|
82
80
|
}
|
|
83
81
|
return serialized;
|
|
84
82
|
}
|
|
85
|
-
|
|
86
|
-
module.exports = JsonReporter;
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true,
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _magicNumber = _interopRequireDefault(
|
|
8
|
+
require("../shared/output/RamBundle/magic-number"),
|
|
9
|
+
);
|
|
10
|
+
function _interopRequireDefault(e) {
|
|
11
|
+
return e && e.__esModule ? e : { default: e };
|
|
12
|
+
}
|
|
4
13
|
const SIZEOF_UINT32 = 4;
|
|
5
14
|
const HEADER_SIZE = 3;
|
|
6
15
|
class RamBundleParser {
|
|
7
16
|
constructor(buffer) {
|
|
8
17
|
this._buffer = buffer;
|
|
9
|
-
if (this._readPosition(0) !==
|
|
18
|
+
if (this._readPosition(0) !== _magicNumber.default) {
|
|
10
19
|
throw new Error("File is not a RAM bundle file");
|
|
11
20
|
}
|
|
12
21
|
this._numModules = this._readPosition(1);
|
|
@@ -29,4 +38,4 @@ class RamBundleParser {
|
|
|
29
38
|
return this._buffer.toString("utf8", start, end);
|
|
30
39
|
}
|
|
31
40
|
}
|
|
32
|
-
|
|
41
|
+
exports.default = RamBundleParser;
|
|
@@ -8,9 +8,7 @@
|
|
|
8
8
|
* @flow strict
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const MAGIC_NUMBER = require('../shared/output/RamBundle/magic-number');
|
|
11
|
+
import MAGIC_NUMBER from '../shared/output/RamBundle/magic-number';
|
|
14
12
|
|
|
15
13
|
const SIZEOF_UINT32 = 4;
|
|
16
14
|
const HEADER_SIZE = 3;
|
|
@@ -24,7 +22,7 @@ const HEADER_SIZE = 3;
|
|
|
24
22
|
* getStartupCode(): returns the runtime and the startup code of the bundle.
|
|
25
23
|
* getModule(): returns the code for the specified module.
|
|
26
24
|
*/
|
|
27
|
-
class RamBundleParser {
|
|
25
|
+
export default class RamBundleParser {
|
|
28
26
|
_buffer: Buffer;
|
|
29
27
|
_numModules: number;
|
|
30
28
|
_startupCodeLength: number;
|
|
@@ -66,5 +64,3 @@ class RamBundleParser {
|
|
|
66
64
|
return this._buffer.toString('utf8', start, end);
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
|
-
|
|
70
|
-
module.exports = RamBundleParser;
|