metro 0.83.2 → 0.83.4
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 +25 -23
- package/src/Assets.js +50 -30
- package/src/Assets.js.flow +26 -15
- package/src/Bundler/util.js +33 -22
- package/src/Bundler/util.js.flow +2 -2
- package/src/Bundler.js +5 -1
- package/src/Bundler.js.flow +1 -1
- package/src/DeltaBundler/DeltaCalculator.js +9 -5
- package/src/DeltaBundler/DeltaCalculator.js.flow +8 -8
- package/src/DeltaBundler/Graph.js +21 -17
- package/src/DeltaBundler/Graph.js.flow +30 -30
- package/src/DeltaBundler/Serializers/baseJSBundle.js +5 -1
- package/src/DeltaBundler/Serializers/baseJSBundle.js.flow +1 -1
- package/src/DeltaBundler/Serializers/getAllFiles.js.flow +2 -2
- package/src/DeltaBundler/Serializers/getAssets.js +5 -1
- package/src/DeltaBundler/Serializers/getAssets.js.flow +2 -2
- package/src/DeltaBundler/Serializers/getExplodedSourceMap.js.flow +2 -2
- package/src/DeltaBundler/Serializers/getRamBundleInfo.js +5 -1
- package/src/DeltaBundler/Serializers/getRamBundleInfo.js.flow +8 -8
- package/src/DeltaBundler/Serializers/helpers/js.js +33 -22
- package/src/DeltaBundler/Serializers/helpers/js.js.flow +6 -6
- package/src/DeltaBundler/Serializers/helpers/processModules.js.flow +3 -3
- package/src/DeltaBundler/Serializers/hmrJSBundle.js +33 -22
- package/src/DeltaBundler/Serializers/hmrJSBundle.js.flow +5 -5
- package/src/DeltaBundler/Serializers/sourceMapGenerator.js +5 -1
- package/src/DeltaBundler/Serializers/sourceMapGenerator.js.flow +6 -6
- package/src/DeltaBundler/Serializers/sourceMapObject.js.flow +2 -2
- package/src/DeltaBundler/Serializers/sourceMapString.js.flow +2 -2
- package/src/DeltaBundler/Transformer.js +5 -1
- package/src/DeltaBundler/Transformer.js.flow +3 -3
- package/src/DeltaBundler/Worker.flow.js +5 -1
- package/src/DeltaBundler/Worker.flow.js.flow +1 -1
- package/src/DeltaBundler/WorkerFarm.js +1 -1
- package/src/DeltaBundler/WorkerFarm.js.flow +26 -13
- package/src/DeltaBundler/buildSubgraph.js +9 -5
- package/src/DeltaBundler/buildSubgraph.js.flow +8 -8
- package/src/DeltaBundler/getTransformCacheKey.js +5 -1
- package/src/DeltaBundler/types.js +5 -1
- package/src/DeltaBundler/types.js.flow +36 -34
- package/src/DeltaBundler.js +5 -1
- package/src/DeltaBundler.js.flow +2 -2
- package/src/HmrServer.js +42 -30
- package/src/HmrServer.js.flow +17 -12
- package/src/IncrementalBundler.js +37 -22
- package/src/IncrementalBundler.js.flow +13 -9
- package/src/ModuleGraph/worker/JsFileWrapping.js +33 -22
- package/src/ModuleGraph/worker/JsFileWrapping.js.flow +10 -5
- package/src/ModuleGraph/worker/collectDependencies.js +33 -22
- package/src/ModuleGraph/worker/collectDependencies.js.flow +27 -21
- package/src/ModuleGraph/worker/generateImportNames.js +5 -1
- package/src/ModuleGraph/worker/generateImportNames.js.flow +4 -2
- package/src/ModuleGraph/worker/importLocationsPlugin.js.flow +7 -3
- package/src/Server/MultipartResponse.js +5 -1
- package/src/Server/MultipartResponse.js.flow +1 -1
- package/src/Server/symbolicate.js.flow +4 -4
- package/src/Server.js +112 -40
- package/src/Server.js.flow +110 -47
- package/src/cli/parseKeyValueParamArray.js.flow +1 -1
- package/src/cli-utils.js +5 -1
- package/src/cli-utils.js.flow +2 -2
- package/src/commands/build.js +5 -1
- package/src/commands/build.js.flow +11 -10
- package/src/commands/dependencies.js +5 -1
- package/src/commands/dependencies.js.flow +8 -4
- package/src/commands/serve.js +2 -0
- package/src/commands/serve.js.flow +14 -9
- package/src/index.flow.js +38 -27
- package/src/index.flow.js.flow +25 -20
- package/src/integration_tests/basic_bundle/AssetRegistry.js.flow +1 -1
- package/src/integration_tests/basic_bundle/ErrorBundle.js.flow +1 -1
- package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-import.js +5 -1
- package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-import.js.flow +1 -1
- package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-multi-line-import-with-escapes.js.flow +1 -1
- package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-multi-line-import.js.flow +1 -1
- package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-require-with-embedded-comment.js.flow +1 -1
- package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-require.js.flow +1 -1
- package/src/integration_tests/basic_bundle/build-errors/cannot-resolve-specifier-with-escapes.js.flow +1 -1
- package/src/integration_tests/basic_bundle/build-errors/inline-requires-cannot-resolve-import.js +5 -1
- package/src/integration_tests/basic_bundle/build-errors/inline-requires-cannot-resolve-import.js.flow +1 -1
- package/src/integration_tests/basic_bundle/build-errors/inline-requires-cannot-resolve-require.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/index.js +33 -22
- package/src/integration_tests/basic_bundle/import-export/index.js.flow +3 -3
- package/src/integration_tests/basic_bundle/import-export/utils.js.flow +2 -2
- package/src/integration_tests/basic_bundle/loadBundleAsyncForTest.js.flow +1 -1
- package/src/integration_tests/basic_bundle/optional-dependencies/index.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-context/conflict.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-context/empty.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-context/matching.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-context/mode-eager.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-context/mode-lazy-once.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-context/mode-lazy.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-context/mode-sync.js.flow +2 -2
- package/src/integration_tests/basic_bundle/require-context/utils.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-resolveWeak/import-and-resolveWeak.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-resolveWeak/multiple.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-resolveWeak/never-required.js.flow +1 -1
- package/src/integration_tests/basic_bundle/require-resolveWeak/require-and-resolveWeak.js.flow +1 -1
- package/src/integration_tests/execBundle.js +5 -1
- package/src/integration_tests/execBundle.js.flow +1 -1
- package/src/lib/BatchProcessor.js +10 -3
- package/src/lib/BatchProcessor.js.flow +10 -7
- package/src/lib/CountingSet.js.flow +4 -4
- package/src/lib/JsonReporter.js +5 -3
- package/src/lib/JsonReporter.js.flow +19 -17
- package/src/lib/RamBundleParser.js +5 -1
- package/src/lib/RamBundleParser.js.flow +1 -1
- package/src/lib/TerminalReporter.js +39 -28
- package/src/lib/TerminalReporter.js.flow +15 -15
- package/src/lib/contextModule.js +5 -1
- package/src/lib/contextModule.js.flow +1 -1
- package/src/lib/contextModuleTemplates.js +28 -21
- package/src/lib/countLines.js +4 -3
- package/src/lib/countLines.js.flow +3 -4
- package/src/lib/createWebsocketServer.js +14 -3
- package/src/lib/createWebsocketServer.js.flow +16 -9
- package/src/lib/debounceAsyncQueue.js.flow +1 -1
- package/src/lib/formatBundlingError.js +5 -1
- package/src/lib/formatBundlingError.js.flow +1 -1
- package/src/lib/getAppendScripts.js +5 -1
- package/src/lib/getAppendScripts.js.flow +4 -4
- package/src/lib/getGraphId.js +5 -1
- package/src/lib/getGraphId.js.flow +1 -1
- package/src/lib/getPreludeCode.js +4 -0
- package/src/lib/getPreludeCode.js.flow +10 -3
- package/src/lib/getPrependedScripts.js +44 -23
- package/src/lib/getPrependedScripts.js.flow +10 -3
- package/src/lib/logToConsole.js +5 -1
- package/src/lib/logToConsole.js.flow +2 -2
- package/src/lib/parseBundleOptionsFromBundleRequestUrl.js +33 -22
- package/src/lib/parseCustomResolverOptions.js.flow +2 -2
- package/src/lib/parseCustomTransformOptions.js.flow +1 -1
- package/src/lib/parseJsonBody.js.flow +11 -1
- package/src/lib/pathUtils.js +28 -21
- package/src/lib/pathUtils.js.flow +1 -1
- package/src/lib/relativizeSourceMap.js +5 -1
- package/src/lib/reporting.js +5 -1
- package/src/lib/reporting.js.flow +4 -4
- package/src/lib/transformHelpers.js +16 -10
- package/src/lib/transformHelpers.js.flow +17 -15
- package/src/node-haste/DependencyGraph/ModuleResolution.js +56 -43
- package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +35 -32
- package/src/node-haste/DependencyGraph/createFileMap.js +64 -39
- package/src/node-haste/DependencyGraph/createFileMap.js.flow +44 -18
- package/src/node-haste/DependencyGraph.js +45 -32
- package/src/node-haste/DependencyGraph.js.flow +35 -37
- package/src/node-haste/Package.js +5 -1
- package/src/node-haste/PackageCache.js +5 -1
- package/src/node-haste/lib/AssetPaths.js +7 -3
- package/src/node-haste/lib/AssetPaths.js.flow +4 -4
- package/src/node-haste/lib/parsePlatformFilePath.js +11 -7
- package/src/node-haste/lib/parsePlatformFilePath.js.flow +4 -4
- package/src/shared/output/RamBundle/as-assets.js +5 -1
- package/src/shared/output/RamBundle/as-assets.js.flow +6 -6
- package/src/shared/output/RamBundle/as-indexed-file.js +5 -1
- package/src/shared/output/RamBundle/as-indexed-file.js.flow +5 -5
- package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js.flow +5 -5
- package/src/shared/output/RamBundle/util.js +5 -1
- package/src/shared/output/RamBundle/util.js.flow +5 -5
- package/src/shared/output/RamBundle/write-sourcemap.js +5 -1
- package/src/shared/output/RamBundle/write-sourcemap.js.flow +1 -1
- package/src/shared/output/RamBundle.js +5 -1
- package/src/shared/output/RamBundle.js.flow +1 -1
- package/src/shared/output/bundle.flow.js +5 -1
- package/src/shared/output/bundle.flow.js.flow +3 -3
- package/src/shared/output/meta.js +7 -3
- package/src/shared/output/meta.js.flow +1 -1
- package/src/shared/output/writeFile.js +13 -4
- package/src/shared/output/writeFile.js.flow +8 -2
- package/src/shared/types.js.flow +20 -5
- package/src/Asset.d.ts +0 -25
- package/src/Bundler.d.ts +0 -39
- package/src/DeltaBundler/Graph.d.ts +0 -40
- package/src/DeltaBundler/Serializers/getExplodedSourceMap.d.ts +0 -26
- package/src/DeltaBundler/Serializers/getRamBundleInfo.d.ts +0 -18
- package/src/DeltaBundler/Worker.d.ts +0 -45
- package/src/DeltaBundler/types.d.ts +0 -166
- package/src/DeltaBundler.d.ts +0 -58
- package/src/IncrementalBundler.d.ts +0 -98
- package/src/ModuleGraph/test-helpers.js +0 -75
- package/src/ModuleGraph/worker/collectDependencies.d.ts +0 -27
- package/src/Server/MultipartResponse.d.ts +0 -31
- package/src/Server/symbolicate.d.ts +0 -31
- package/src/Server.d.ts +0 -118
- package/src/index.d.ts +0 -193
- package/src/lib/CountingSet.d.ts +0 -48
- package/src/lib/TerminalReporter.d.ts +0 -27
- package/src/lib/contextModule.d.ts +0 -22
- package/src/lib/getGraphId.d.ts +0 -11
- package/src/lib/reporting.d.ts +0 -144
- package/src/node-haste/DependencyGraph.d.ts +0 -62
- package/src/shared/output/bundle.d.ts +0 -35
- package/src/shared/types.d.ts +0 -130
|
@@ -6,28 +6,35 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getContextModuleTemplate = getContextModuleTemplate;
|
|
7
7
|
var os = _interopRequireWildcard(require("os"));
|
|
8
8
|
var path = _interopRequireWildcard(require("path"));
|
|
9
|
-
function
|
|
10
|
-
if ("function"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return (
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
27
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
28
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : (n[u] = e[u]);
|
|
9
|
+
function _interopRequireWildcard(e, t) {
|
|
10
|
+
if ("function" == typeof WeakMap)
|
|
11
|
+
var r = new WeakMap(),
|
|
12
|
+
n = new WeakMap();
|
|
13
|
+
return (_interopRequireWildcard = function (e, t) {
|
|
14
|
+
if (!t && e && e.__esModule) return e;
|
|
15
|
+
var o,
|
|
16
|
+
i,
|
|
17
|
+
f = {
|
|
18
|
+
__proto__: null,
|
|
19
|
+
default: e,
|
|
20
|
+
};
|
|
21
|
+
if (null === e || ("object" != typeof e && "function" != typeof e))
|
|
22
|
+
return f;
|
|
23
|
+
if ((o = t ? n : r)) {
|
|
24
|
+
if (o.has(e)) return o.get(e);
|
|
25
|
+
o.set(e, f);
|
|
29
26
|
}
|
|
30
|
-
|
|
27
|
+
for (const t in e)
|
|
28
|
+
"default" !== t &&
|
|
29
|
+
{}.hasOwnProperty.call(e, t) &&
|
|
30
|
+
((i =
|
|
31
|
+
(o = Object.defineProperty) &&
|
|
32
|
+
Object.getOwnPropertyDescriptor(e, t)) &&
|
|
33
|
+
(i.get || i.set)
|
|
34
|
+
? o(f, t, i)
|
|
35
|
+
: (f[t] = e[t]));
|
|
36
|
+
return f;
|
|
37
|
+
})(e, t);
|
|
31
38
|
}
|
|
32
39
|
function createFileMap(modulePath, files, processModule) {
|
|
33
40
|
let mapString = "\n";
|
package/src/lib/countLines.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true,
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = countLines;
|
|
7
7
|
const newline = /\r\n?|\n|\u2028|\u2029/g;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
function countLines(string) {
|
|
9
|
+
return (string.match(newline) || []).length + 1;
|
|
10
|
+
}
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
|
|
12
12
|
const newline = /\r\n?|\n|\u2028|\u2029/g;
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
(string.match(newline) || []).length + 1;
|
|
16
|
-
|
|
17
|
-
export default countLines;
|
|
14
|
+
export default function countLines(string: string): number {
|
|
15
|
+
return (string.match(newline) || []).length + 1;
|
|
16
|
+
}
|
|
@@ -4,10 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true,
|
|
5
5
|
});
|
|
6
6
|
exports.default = createWebsocketServer;
|
|
7
|
+
var _timers = require("timers");
|
|
7
8
|
var _ws = _interopRequireDefault(require("ws"));
|
|
8
9
|
function _interopRequireDefault(e) {
|
|
9
|
-
return e && e.__esModule
|
|
10
|
+
return e && e.__esModule
|
|
11
|
+
? e
|
|
12
|
+
: {
|
|
13
|
+
default: e,
|
|
14
|
+
};
|
|
10
15
|
}
|
|
16
|
+
const KEEP_ALIVE_INTERVAL_MS = 20000;
|
|
11
17
|
function createWebsocketServer({ websocketServer }) {
|
|
12
18
|
const wss = new _ws.default.Server({
|
|
13
19
|
noServer: true,
|
|
@@ -15,9 +21,9 @@ function createWebsocketServer({ websocketServer }) {
|
|
|
15
21
|
wss.on("connection", async (ws, req) => {
|
|
16
22
|
let connected = true;
|
|
17
23
|
const url = req.url;
|
|
18
|
-
const sendFn = (
|
|
24
|
+
const sendFn = (data) => {
|
|
19
25
|
if (connected) {
|
|
20
|
-
ws.send(
|
|
26
|
+
ws.send(data);
|
|
21
27
|
}
|
|
22
28
|
};
|
|
23
29
|
const client = await websocketServer.onClientConnect(url, sendFn);
|
|
@@ -25,10 +31,15 @@ function createWebsocketServer({ websocketServer }) {
|
|
|
25
31
|
ws.close();
|
|
26
32
|
return;
|
|
27
33
|
}
|
|
34
|
+
const keepAliveInterval = (0, _timers.setInterval)(
|
|
35
|
+
() => ws.ping(),
|
|
36
|
+
KEEP_ALIVE_INTERVAL_MS,
|
|
37
|
+
).unref();
|
|
28
38
|
ws.on("error", (e) => {
|
|
29
39
|
websocketServer.onClientError && websocketServer.onClientError(client, e);
|
|
30
40
|
});
|
|
31
41
|
ws.on("close", () => {
|
|
42
|
+
(0, _timers.clearInterval)(keepAliveInterval);
|
|
32
43
|
websocketServer.onClientDisconnect &&
|
|
33
44
|
websocketServer.onClientDisconnect(client);
|
|
34
45
|
connected = false;
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @flow
|
|
7
|
+
* @flow strict
|
|
8
8
|
* @format
|
|
9
9
|
* @oncall react_native
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import {clearInterval, setInterval} from 'timers';
|
|
12
13
|
import ws from 'ws';
|
|
13
14
|
|
|
14
15
|
type WebsocketServiceInterface<T> = interface {
|
|
@@ -16,13 +17,13 @@ type WebsocketServiceInterface<T> = interface {
|
|
|
16
17
|
url: string,
|
|
17
18
|
sendFn: (data: string) => void,
|
|
18
19
|
) => Promise<?T>,
|
|
19
|
-
+onClientDisconnect?: (client: T) =>
|
|
20
|
-
+onClientError?: (client: T, e:
|
|
20
|
+
+onClientDisconnect?: (client: T) => unknown,
|
|
21
|
+
+onClientError?: (client: T, e: Error) => unknown,
|
|
21
22
|
+onClientMessage?: (
|
|
22
23
|
client: T,
|
|
23
24
|
message: string | Buffer | ArrayBuffer | Array<Buffer>,
|
|
24
25
|
sendFn: (data: string) => void,
|
|
25
|
-
) =>
|
|
26
|
+
) => unknown,
|
|
26
27
|
};
|
|
27
28
|
|
|
28
29
|
type HMROptions<TClient> = {
|
|
@@ -30,6 +31,8 @@ type HMROptions<TClient> = {
|
|
|
30
31
|
...
|
|
31
32
|
};
|
|
32
33
|
|
|
34
|
+
const KEEP_ALIVE_INTERVAL_MS = 20000;
|
|
35
|
+
|
|
33
36
|
/**
|
|
34
37
|
* Returns a WebSocketServer to be attached to an existing HTTP instance. It forwards
|
|
35
38
|
* the received events on the given "websocketServer" parameter. It must be an
|
|
@@ -41,7 +44,7 @@ type HMROptions<TClient> = {
|
|
|
41
44
|
* - onClientDisconnect
|
|
42
45
|
*/
|
|
43
46
|
|
|
44
|
-
export default function createWebsocketServer<TClient
|
|
47
|
+
export default function createWebsocketServer<TClient>({
|
|
45
48
|
websocketServer,
|
|
46
49
|
}: HMROptions<TClient>): ws.Server {
|
|
47
50
|
const wss = new ws.Server({
|
|
@@ -52,10 +55,9 @@ export default function createWebsocketServer<TClient: Object>({
|
|
|
52
55
|
let connected = true;
|
|
53
56
|
const url = req.url;
|
|
54
57
|
|
|
55
|
-
const sendFn = (
|
|
58
|
+
const sendFn = (data: string) => {
|
|
56
59
|
if (connected) {
|
|
57
|
-
|
|
58
|
-
ws.send(...args);
|
|
60
|
+
ws.send(data);
|
|
59
61
|
}
|
|
60
62
|
};
|
|
61
63
|
|
|
@@ -66,12 +68,17 @@ export default function createWebsocketServer<TClient: Object>({
|
|
|
66
68
|
return;
|
|
67
69
|
}
|
|
68
70
|
|
|
71
|
+
const keepAliveInterval = setInterval(
|
|
72
|
+
() => ws.ping(),
|
|
73
|
+
KEEP_ALIVE_INTERVAL_MS,
|
|
74
|
+
).unref();
|
|
75
|
+
|
|
69
76
|
ws.on('error', e => {
|
|
70
|
-
// $FlowFixMe[incompatible-type]
|
|
71
77
|
websocketServer.onClientError && websocketServer.onClientError(client, e);
|
|
72
78
|
});
|
|
73
79
|
|
|
74
80
|
ws.on('close', () => {
|
|
81
|
+
clearInterval(keepAliveInterval);
|
|
75
82
|
websocketServer.onClientDisconnect &&
|
|
76
83
|
websocketServer.onClientDisconnect(client);
|
|
77
84
|
connected = false;
|
|
@@ -20,7 +20,11 @@ var _fs = _interopRequireDefault(require("fs"));
|
|
|
20
20
|
var _metroCore = require("metro-core");
|
|
21
21
|
var _serializeError = _interopRequireDefault(require("serialize-error"));
|
|
22
22
|
function _interopRequireDefault(e) {
|
|
23
|
-
return e && e.__esModule
|
|
23
|
+
return e && e.__esModule
|
|
24
|
+
? e
|
|
25
|
+
: {
|
|
26
|
+
default: e,
|
|
27
|
+
};
|
|
24
28
|
}
|
|
25
29
|
function formatBundlingError(error) {
|
|
26
30
|
if (error instanceof _metroCore.AmbiguousModuleResolutionError) {
|
|
@@ -12,7 +12,11 @@ var _CountingSet = _interopRequireDefault(require("./CountingSet"));
|
|
|
12
12
|
var _countLines = _interopRequireDefault(require("./countLines"));
|
|
13
13
|
var _nullthrows = _interopRequireDefault(require("nullthrows"));
|
|
14
14
|
function _interopRequireDefault(e) {
|
|
15
|
-
return e && e.__esModule
|
|
15
|
+
return e && e.__esModule
|
|
16
|
+
? e
|
|
17
|
+
: {
|
|
18
|
+
default: e,
|
|
19
|
+
};
|
|
16
20
|
}
|
|
17
21
|
function getAppendScripts(entryPoint, modules, options) {
|
|
18
22
|
const output = [];
|
|
@@ -18,13 +18,13 @@ import CountingSet from './CountingSet';
|
|
|
18
18
|
import countLines from './countLines';
|
|
19
19
|
import nullthrows from 'nullthrows';
|
|
20
20
|
|
|
21
|
-
type Options<T: number | string> =
|
|
21
|
+
type Options<T: number | string> = Readonly<{
|
|
22
22
|
asyncRequireModulePath: string,
|
|
23
23
|
createModuleId: string => T,
|
|
24
24
|
getRunModuleStatement: (moduleId: T, globalPrefix: string) => string,
|
|
25
25
|
globalPrefix: string,
|
|
26
26
|
inlineSourceMap: ?boolean,
|
|
27
|
-
runBeforeMainModule:
|
|
27
|
+
runBeforeMainModule: ReadonlyArray<string>,
|
|
28
28
|
runModule: boolean,
|
|
29
29
|
shouldAddToIgnoreList: (Module<>) => boolean,
|
|
30
30
|
sourceMapUrl: ?string,
|
|
@@ -35,9 +35,9 @@ type Options<T: number | string> = $ReadOnly<{
|
|
|
35
35
|
|
|
36
36
|
export default function getAppendScripts<T: number | string>(
|
|
37
37
|
entryPoint: string,
|
|
38
|
-
modules:
|
|
38
|
+
modules: ReadonlyArray<Module<>>,
|
|
39
39
|
options: Options<T>,
|
|
40
|
-
):
|
|
40
|
+
): ReadonlyArray<Module<>> {
|
|
41
41
|
const output: Array<Module<>> = [];
|
|
42
42
|
|
|
43
43
|
if (options.runModule) {
|
package/src/lib/getGraphId.js
CHANGED
|
@@ -8,7 +8,11 @@ var _canonicalize = _interopRequireDefault(
|
|
|
8
8
|
require("metro-core/private/canonicalize"),
|
|
9
9
|
);
|
|
10
10
|
function _interopRequireDefault(e) {
|
|
11
|
-
return e && e.__esModule
|
|
11
|
+
return e && e.__esModule
|
|
12
|
+
? e
|
|
13
|
+
: {
|
|
14
|
+
default: e,
|
|
15
|
+
};
|
|
12
16
|
}
|
|
13
17
|
function getGraphId(
|
|
14
18
|
entryFile,
|
|
@@ -9,6 +9,7 @@ function getPreludeCode({
|
|
|
9
9
|
isDev,
|
|
10
10
|
globalPrefix,
|
|
11
11
|
requireCycleIgnorePatterns,
|
|
12
|
+
unstable_forceFullRefreshPatterns,
|
|
12
13
|
}) {
|
|
13
14
|
const vars = [
|
|
14
15
|
"__BUNDLE_START_TIME__=globalThis.nativePerformanceNow?nativePerformanceNow():Date.now()",
|
|
@@ -21,6 +22,9 @@ function getPreludeCode({
|
|
|
21
22
|
vars.push(
|
|
22
23
|
`${globalPrefix}__requireCycleIgnorePatterns=[${requireCycleIgnorePatterns.map((regex) => regex.toString()).join(",")}]`,
|
|
23
24
|
);
|
|
25
|
+
vars.push(
|
|
26
|
+
`${globalPrefix}__unstable_forceFullRefreshPatterns=[${unstable_forceFullRefreshPatterns.map((regex) => regex.toString()).join(",")}]`,
|
|
27
|
+
);
|
|
24
28
|
}
|
|
25
29
|
return `var ${vars.join(",")};${processEnv(isDev ? "development" : "production")}`;
|
|
26
30
|
}
|
|
@@ -14,11 +14,13 @@ export default function getPreludeCode({
|
|
|
14
14
|
isDev,
|
|
15
15
|
globalPrefix,
|
|
16
16
|
requireCycleIgnorePatterns,
|
|
17
|
+
unstable_forceFullRefreshPatterns,
|
|
17
18
|
}: {
|
|
18
|
-
+extraVars?: {[string]:
|
|
19
|
+
+extraVars?: {[string]: unknown, ...},
|
|
19
20
|
+isDev: boolean,
|
|
20
21
|
+globalPrefix: string,
|
|
21
|
-
+requireCycleIgnorePatterns:
|
|
22
|
+
+requireCycleIgnorePatterns: ReadonlyArray<RegExp>,
|
|
23
|
+
+unstable_forceFullRefreshPatterns: ReadonlyArray<RegExp>,
|
|
22
24
|
}): string {
|
|
23
25
|
const vars = [
|
|
24
26
|
// Ensure these variable names match the ones referenced in metro-runtime
|
|
@@ -38,6 +40,11 @@ export default function getPreludeCode({
|
|
|
38
40
|
.map(regex => regex.toString())
|
|
39
41
|
.join(',')}]`,
|
|
40
42
|
);
|
|
43
|
+
vars.push(
|
|
44
|
+
`${globalPrefix}__unstable_forceFullRefreshPatterns=[${unstable_forceFullRefreshPatterns
|
|
45
|
+
.map(regex => regex.toString())
|
|
46
|
+
.join(',')}]`,
|
|
47
|
+
);
|
|
41
48
|
}
|
|
42
49
|
|
|
43
50
|
return `var ${vars.join(',')};${processEnv(
|
|
@@ -47,7 +54,7 @@ export default function getPreludeCode({
|
|
|
47
54
|
|
|
48
55
|
const excluded = new Set(['__BUNDLE_START_TIME__', '__DEV__', 'process']);
|
|
49
56
|
|
|
50
|
-
function formatExtraVars(extraVars: ?{[string]:
|
|
57
|
+
function formatExtraVars(extraVars: ?{[string]: unknown, ...}): Array<string> {
|
|
51
58
|
const assignments = [];
|
|
52
59
|
|
|
53
60
|
for (const key in extraVars) {
|
|
@@ -11,31 +11,42 @@ var transformHelpers = _interopRequireWildcard(require("./transformHelpers"));
|
|
|
11
11
|
var defaults = _interopRequireWildcard(
|
|
12
12
|
require("metro-config/private/defaults/defaults"),
|
|
13
13
|
);
|
|
14
|
-
function
|
|
15
|
-
if ("function"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
32
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
33
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : (n[u] = e[u]);
|
|
14
|
+
function _interopRequireWildcard(e, t) {
|
|
15
|
+
if ("function" == typeof WeakMap)
|
|
16
|
+
var r = new WeakMap(),
|
|
17
|
+
n = new WeakMap();
|
|
18
|
+
return (_interopRequireWildcard = function (e, t) {
|
|
19
|
+
if (!t && e && e.__esModule) return e;
|
|
20
|
+
var o,
|
|
21
|
+
i,
|
|
22
|
+
f = {
|
|
23
|
+
__proto__: null,
|
|
24
|
+
default: e,
|
|
25
|
+
};
|
|
26
|
+
if (null === e || ("object" != typeof e && "function" != typeof e))
|
|
27
|
+
return f;
|
|
28
|
+
if ((o = t ? n : r)) {
|
|
29
|
+
if (o.has(e)) return o.get(e);
|
|
30
|
+
o.set(e, f);
|
|
34
31
|
}
|
|
35
|
-
|
|
32
|
+
for (const t in e)
|
|
33
|
+
"default" !== t &&
|
|
34
|
+
{}.hasOwnProperty.call(e, t) &&
|
|
35
|
+
((i =
|
|
36
|
+
(o = Object.defineProperty) &&
|
|
37
|
+
Object.getOwnPropertyDescriptor(e, t)) &&
|
|
38
|
+
(i.get || i.set)
|
|
39
|
+
? o(f, t, i)
|
|
40
|
+
: (f[t] = e[t]));
|
|
41
|
+
return f;
|
|
42
|
+
})(e, t);
|
|
36
43
|
}
|
|
37
44
|
function _interopRequireDefault(e) {
|
|
38
|
-
return e && e.__esModule
|
|
45
|
+
return e && e.__esModule
|
|
46
|
+
? e
|
|
47
|
+
: {
|
|
48
|
+
default: e,
|
|
49
|
+
};
|
|
39
50
|
}
|
|
40
51
|
async function getPrependedScripts(
|
|
41
52
|
config,
|
|
@@ -76,6 +87,8 @@ async function getPrependedScripts(
|
|
|
76
87
|
lazy: false,
|
|
77
88
|
unstable_enablePackageExports:
|
|
78
89
|
config.resolver.unstable_enablePackageExports,
|
|
90
|
+
unstable_incrementalResolution:
|
|
91
|
+
config.resolver.unstable_incrementalResolution,
|
|
79
92
|
shallow: false,
|
|
80
93
|
},
|
|
81
94
|
);
|
|
@@ -84,15 +97,23 @@ async function getPrependedScripts(
|
|
|
84
97
|
dev: options.dev,
|
|
85
98
|
globalPrefix: config.transformer.globalPrefix,
|
|
86
99
|
requireCycleIgnorePatterns: config.resolver.requireCycleIgnorePatterns,
|
|
100
|
+
unstable_forceFullRefreshPatterns:
|
|
101
|
+
config.resolver.unstable_forceFullRefreshPatterns,
|
|
87
102
|
}),
|
|
88
103
|
...dependencies.values(),
|
|
89
104
|
];
|
|
90
105
|
}
|
|
91
|
-
function _getPrelude({
|
|
106
|
+
function _getPrelude({
|
|
107
|
+
dev,
|
|
108
|
+
globalPrefix,
|
|
109
|
+
requireCycleIgnorePatterns,
|
|
110
|
+
unstable_forceFullRefreshPatterns,
|
|
111
|
+
}) {
|
|
92
112
|
const code = (0, _getPreludeCode.default)({
|
|
93
113
|
isDev: dev,
|
|
94
114
|
globalPrefix,
|
|
95
115
|
requireCycleIgnorePatterns,
|
|
116
|
+
unstable_forceFullRefreshPatterns,
|
|
96
117
|
});
|
|
97
118
|
const name = "__prelude__";
|
|
98
119
|
return {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import type Bundler from '../Bundler';
|
|
13
|
-
import type
|
|
13
|
+
import type {Module, default as DeltaBundler} from '../DeltaBundler';
|
|
14
14
|
import type {TransformInputOptions} from '../DeltaBundler/types';
|
|
15
15
|
import type {ResolverInputOptions} from '../shared/types';
|
|
16
16
|
import type {ConfigT} from 'metro-config';
|
|
@@ -27,7 +27,7 @@ export default async function getPrependedScripts(
|
|
|
27
27
|
resolverOptions: ResolverInputOptions,
|
|
28
28
|
bundler: Bundler,
|
|
29
29
|
deltaBundler: DeltaBundler<>,
|
|
30
|
-
): Promise
|
|
30
|
+
): Promise<ReadonlyArray<Module<>>> {
|
|
31
31
|
// Get all the polyfills from the relevant option params (the
|
|
32
32
|
// `getPolyfills()` method and the `polyfillModuleNames` variable).
|
|
33
33
|
const polyfillModuleNames = config.serializer
|
|
@@ -64,6 +64,8 @@ export default async function getPrependedScripts(
|
|
|
64
64
|
lazy: false,
|
|
65
65
|
unstable_enablePackageExports:
|
|
66
66
|
config.resolver.unstable_enablePackageExports,
|
|
67
|
+
unstable_incrementalResolution:
|
|
68
|
+
config.resolver.unstable_incrementalResolution,
|
|
67
69
|
shallow: false,
|
|
68
70
|
},
|
|
69
71
|
);
|
|
@@ -73,6 +75,8 @@ export default async function getPrependedScripts(
|
|
|
73
75
|
dev: options.dev,
|
|
74
76
|
globalPrefix: config.transformer.globalPrefix,
|
|
75
77
|
requireCycleIgnorePatterns: config.resolver.requireCycleIgnorePatterns,
|
|
78
|
+
unstable_forceFullRefreshPatterns:
|
|
79
|
+
config.resolver.unstable_forceFullRefreshPatterns,
|
|
76
80
|
}),
|
|
77
81
|
...dependencies.values(),
|
|
78
82
|
];
|
|
@@ -82,16 +86,19 @@ function _getPrelude({
|
|
|
82
86
|
dev,
|
|
83
87
|
globalPrefix,
|
|
84
88
|
requireCycleIgnorePatterns,
|
|
89
|
+
unstable_forceFullRefreshPatterns,
|
|
85
90
|
}: {
|
|
86
91
|
dev: boolean,
|
|
87
92
|
globalPrefix: string,
|
|
88
|
-
requireCycleIgnorePatterns:
|
|
93
|
+
requireCycleIgnorePatterns: ReadonlyArray<RegExp>,
|
|
94
|
+
unstable_forceFullRefreshPatterns: ReadonlyArray<RegExp>,
|
|
89
95
|
...
|
|
90
96
|
}): Module<> {
|
|
91
97
|
const code = getPreludeCode({
|
|
92
98
|
isDev: dev,
|
|
93
99
|
globalPrefix,
|
|
94
100
|
requireCycleIgnorePatterns,
|
|
101
|
+
unstable_forceFullRefreshPatterns,
|
|
95
102
|
});
|
|
96
103
|
const name = '__prelude__';
|
|
97
104
|
|
package/src/lib/logToConsole.js
CHANGED
|
@@ -7,7 +7,11 @@ exports.default = void 0;
|
|
|
7
7
|
var _chalk = _interopRequireDefault(require("chalk"));
|
|
8
8
|
var _util = _interopRequireDefault(require("util"));
|
|
9
9
|
function _interopRequireDefault(e) {
|
|
10
|
-
return e && e.__esModule
|
|
10
|
+
return e && e.__esModule
|
|
11
|
+
? e
|
|
12
|
+
: {
|
|
13
|
+
default: e,
|
|
14
|
+
};
|
|
11
15
|
}
|
|
12
16
|
const groupStack = [];
|
|
13
17
|
let collapsedGuardTimer;
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @format
|
|
8
7
|
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
/* eslint-disable no-console */
|
|
@@ -18,7 +18,7 @@ import util from 'util';
|
|
|
18
18
|
const groupStack = [];
|
|
19
19
|
let collapsedGuardTimer;
|
|
20
20
|
|
|
21
|
-
export default (terminal: Terminal, level: string, ...data: Array<
|
|
21
|
+
export default (terminal: Terminal, level: string, ...data: Array<unknown>) => {
|
|
22
22
|
// $FlowFixMe[invalid-computed-prop]
|
|
23
23
|
const logFunction = console[level] && level !== 'trace' ? level : 'log';
|
|
24
24
|
const color =
|
|
@@ -16,31 +16,42 @@ var _parseCustomTransformOptions = _interopRequireDefault(
|
|
|
16
16
|
);
|
|
17
17
|
var jscSafeUrl = _interopRequireWildcard(require("jsc-safe-url"));
|
|
18
18
|
var _path = _interopRequireDefault(require("path"));
|
|
19
|
-
function
|
|
20
|
-
if ("function"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return (
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
37
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
38
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : (n[u] = e[u]);
|
|
19
|
+
function _interopRequireWildcard(e, t) {
|
|
20
|
+
if ("function" == typeof WeakMap)
|
|
21
|
+
var r = new WeakMap(),
|
|
22
|
+
n = new WeakMap();
|
|
23
|
+
return (_interopRequireWildcard = function (e, t) {
|
|
24
|
+
if (!t && e && e.__esModule) return e;
|
|
25
|
+
var o,
|
|
26
|
+
i,
|
|
27
|
+
f = {
|
|
28
|
+
__proto__: null,
|
|
29
|
+
default: e,
|
|
30
|
+
};
|
|
31
|
+
if (null === e || ("object" != typeof e && "function" != typeof e))
|
|
32
|
+
return f;
|
|
33
|
+
if ((o = t ? n : r)) {
|
|
34
|
+
if (o.has(e)) return o.get(e);
|
|
35
|
+
o.set(e, f);
|
|
39
36
|
}
|
|
40
|
-
|
|
37
|
+
for (const t in e)
|
|
38
|
+
"default" !== t &&
|
|
39
|
+
{}.hasOwnProperty.call(e, t) &&
|
|
40
|
+
((i =
|
|
41
|
+
(o = Object.defineProperty) &&
|
|
42
|
+
Object.getOwnPropertyDescriptor(e, t)) &&
|
|
43
|
+
(i.get || i.set)
|
|
44
|
+
? o(f, t, i)
|
|
45
|
+
: (f[t] = e[t]));
|
|
46
|
+
return f;
|
|
47
|
+
})(e, t);
|
|
41
48
|
}
|
|
42
49
|
function _interopRequireDefault(e) {
|
|
43
|
-
return e && e.__esModule
|
|
50
|
+
return e && e.__esModule
|
|
51
|
+
? e
|
|
52
|
+
: {
|
|
53
|
+
default: e,
|
|
54
|
+
};
|
|
44
55
|
}
|
|
45
56
|
const debug = require("debug")(
|
|
46
57
|
"Metro:Server:parseBundleOptionsFromBundleRequestUrl",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @oncall react_native
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import type {CustomResolverOptions} from '
|
|
12
|
+
import type {CustomResolverOptions} from 'metro-resolver';
|
|
13
13
|
|
|
14
14
|
const PREFIX = 'resolver.';
|
|
15
15
|
|
|
@@ -18,7 +18,7 @@ export default function parseCustomResolverOptions(
|
|
|
18
18
|
): CustomResolverOptions {
|
|
19
19
|
const customResolverOptions: {
|
|
20
20
|
__proto__: null,
|
|
21
|
-
[string]:
|
|
21
|
+
[string]: unknown,
|
|
22
22
|
...
|
|
23
23
|
} = Object.create(null);
|
|
24
24
|
|