metro 0.65.2 → 0.67.0
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 +27 -27
- package/src/Assets.js +9 -9
- package/src/Assets.js.flow +5 -7
- package/src/Bundler/util.js +17 -15
- package/src/Bundler/util.js.flow +12 -10
- package/src/Bundler.js +22 -9
- package/src/Bundler.js.flow +20 -7
- package/src/DeltaBundler/DeltaCalculator.js +17 -15
- package/src/DeltaBundler/DeltaCalculator.js.flow +9 -7
- package/src/DeltaBundler/Serializers/baseBytecodeBundle.js +13 -13
- package/src/DeltaBundler/Serializers/baseBytecodeBundle.js.flow +6 -7
- package/src/DeltaBundler/Serializers/baseJSBundle.js +4 -4
- package/src/DeltaBundler/Serializers/baseJSBundle.js.flow +4 -4
- package/src/DeltaBundler/Serializers/getAllFiles.js +1 -1
- package/src/DeltaBundler/Serializers/getAllFiles.js.flow +3 -3
- package/src/DeltaBundler/Serializers/getAssets.js +3 -3
- package/src/DeltaBundler/Serializers/getAssets.js.flow +4 -5
- package/src/DeltaBundler/Serializers/getExplodedSourceMap.js +4 -4
- package/src/DeltaBundler/Serializers/getExplodedSourceMap.js.flow +4 -4
- package/src/DeltaBundler/Serializers/getRamBundleInfo.js +20 -20
- package/src/DeltaBundler/Serializers/getRamBundleInfo.js.flow +9 -10
- package/src/DeltaBundler/Serializers/helpers/bytecode.js +11 -11
- package/src/DeltaBundler/Serializers/helpers/bytecode.js.flow +5 -6
- package/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js +1 -1
- package/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js.flow +1 -1
- package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +2 -2
- package/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js.flow +4 -4
- package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +1 -1
- package/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js.flow +1 -1
- package/src/DeltaBundler/Serializers/helpers/js.js +18 -8
- package/src/DeltaBundler/Serializers/helpers/js.js.flow +19 -10
- package/src/DeltaBundler/Serializers/helpers/processBytecodeModules.js +4 -4
- package/src/DeltaBundler/Serializers/helpers/processBytecodeModules.js.flow +3 -3
- package/src/DeltaBundler/Serializers/helpers/processModules.js +4 -4
- package/src/DeltaBundler/Serializers/helpers/processModules.js.flow +3 -3
- package/src/DeltaBundler/Serializers/hmrJSBundle.js +9 -9
- package/src/DeltaBundler/Serializers/hmrJSBundle.js.flow +9 -8
- package/src/DeltaBundler/Serializers/sourceMapGenerator.js +6 -6
- package/src/DeltaBundler/Serializers/sourceMapGenerator.js.flow +3 -4
- package/src/DeltaBundler/Serializers/sourceMapObject.js +5 -5
- package/src/DeltaBundler/Serializers/sourceMapObject.js.flow +4 -4
- package/src/DeltaBundler/Serializers/sourceMapString.js +2 -2
- package/src/DeltaBundler/Serializers/sourceMapString.js.flow +3 -3
- package/src/DeltaBundler/Transformer.js +16 -14
- package/src/DeltaBundler/Transformer.js.flow +15 -15
- package/src/DeltaBundler/Worker.js +8 -11
- package/src/DeltaBundler/Worker.js.flow +8 -11
- package/src/DeltaBundler/WorkerFarm.js +15 -18
- package/src/DeltaBundler/WorkerFarm.js.flow +9 -11
- package/src/DeltaBundler/__fixtures__/hasteImpl.js +2 -2
- package/src/DeltaBundler/computeDelta.js +2 -2
- package/src/DeltaBundler/computeDelta.js.flow +2 -2
- package/src/DeltaBundler/getTransformCacheKey.js +4 -4
- package/src/DeltaBundler/getTransformCacheKey.js.flow +5 -6
- package/src/DeltaBundler/mergeDeltas.js +2 -2
- package/src/DeltaBundler/mergeDeltas.js.flow +1 -1
- package/src/DeltaBundler/traverseDependencies.js +22 -22
- package/src/DeltaBundler/traverseDependencies.js.flow +3 -3
- package/src/DeltaBundler/types.flow.js +1 -1
- package/src/DeltaBundler/types.flow.js.flow +15 -1
- package/src/DeltaBundler.js +5 -5
- package/src/DeltaBundler.js.flow +4 -4
- package/src/HmrServer.js +73 -55
- package/src/HmrServer.js.flow +42 -37
- package/src/IncrementalBundler/GraphNotFoundError.js +1 -1
- package/src/IncrementalBundler/GraphNotFoundError.js.flow +1 -1
- package/src/IncrementalBundler/ResourceNotFoundError.js +1 -1
- package/src/IncrementalBundler/ResourceNotFoundError.js.flow +1 -1
- package/src/IncrementalBundler/RevisionNotFoundError.js +1 -1
- package/src/IncrementalBundler/RevisionNotFoundError.js.flow +1 -1
- package/src/IncrementalBundler.js +46 -32
- package/src/IncrementalBundler.js.flow +32 -24
- package/src/ModuleGraph/module.js +3 -3
- package/src/ModuleGraph/module.js.flow +1 -1
- package/src/ModuleGraph/node-haste/HasteFS.js +5 -3
- package/src/ModuleGraph/node-haste/HasteFS.js.flow +3 -1
- package/src/ModuleGraph/node-haste/Module.js +1 -1
- package/src/ModuleGraph/node-haste/Module.js.flow +1 -1
- package/src/ModuleGraph/node-haste/ModuleCache.js +1 -1
- package/src/ModuleGraph/node-haste/ModuleCache.js.flow +3 -3
- package/src/ModuleGraph/node-haste/Package.js +3 -3
- package/src/ModuleGraph/node-haste/Package.js.flow +3 -3
- package/src/ModuleGraph/node-haste/node-haste.flow.js +1 -1
- package/src/ModuleGraph/node-haste/node-haste.flow.js.flow +1 -1
- package/src/ModuleGraph/node-haste/node-haste.js +41 -31
- package/src/ModuleGraph/node-haste/node-haste.js.flow +28 -22
- package/src/ModuleGraph/output/indexed-ram-bundle.js +17 -17
- package/src/ModuleGraph/output/indexed-ram-bundle.js.flow +41 -9
- package/src/ModuleGraph/output/multiple-files-ram-bundle.js +18 -18
- package/src/ModuleGraph/output/multiple-files-ram-bundle.js.flow +21 -9
- package/src/ModuleGraph/output/plain-bundle.js +6 -6
- package/src/ModuleGraph/output/plain-bundle.js.flow +7 -7
- package/src/ModuleGraph/output/reverse-dependency-map-references.js +3 -3
- package/src/ModuleGraph/output/reverse-dependency-map-references.js.flow +4 -8
- package/src/ModuleGraph/output/util.js +61 -40
- package/src/ModuleGraph/output/util.js.flow +51 -28
- package/src/ModuleGraph/silent-console.js +2 -2
- package/src/ModuleGraph/silent-console.js.flow +1 -1
- package/src/ModuleGraph/test-helpers.js +7 -7
- package/src/ModuleGraph/types.flow.js +1 -1
- package/src/ModuleGraph/types.flow.js.flow +47 -31
- package/src/ModuleGraph/worker/JsFileWrapping.js +16 -16
- package/src/ModuleGraph/worker/JsFileWrapping.js.flow +3 -2
- package/src/ModuleGraph/worker/Platforms.js +2 -2
- package/src/ModuleGraph/worker/Platforms.js.flow +1 -1
- package/src/ModuleGraph/worker/collectDependencies.js +24 -25
- package/src/ModuleGraph/worker/collectDependencies.js.flow +16 -18
- package/src/ModuleGraph/worker/generate.js +2 -2
- package/src/ModuleGraph/worker/generate.js.flow +3 -3
- package/src/ModuleGraph/worker/generateImportNames.js +5 -5
- package/src/ModuleGraph/worker/generateImportNames.js.flow +3 -5
- package/src/ModuleGraph/worker/mergeSourceMaps.js +8 -7
- package/src/ModuleGraph/worker/mergeSourceMaps.js.flow +3 -3
- package/src/Server/MultipartResponse.js +4 -8
- package/src/Server/symbolicate.js +8 -8
- package/src/Server/symbolicate.js.flow +17 -5
- package/src/Server.js +204 -150
- package/src/Server.js.flow +131 -87
- package/src/cli-utils.js +4 -4
- package/src/cli-utils.js.flow +15 -13
- package/src/cli.js +4 -4
- package/src/cli.js.flow +2 -4
- package/src/commands/build.js +23 -24
- package/src/commands/build.js.flow +6 -9
- package/src/commands/dependencies.js +25 -19
- package/src/commands/serve.js +19 -19
- package/src/commands/serve.js.flow +7 -9
- package/src/index.js +117 -50
- package/src/index.js.flow +108 -40
- package/src/integration_tests/basic_bundle/AssetRegistry.js +2 -2
- package/src/integration_tests/basic_bundle/AssetRegistry.js.flow +1 -1
- package/src/integration_tests/basic_bundle/Bar.js +2 -2
- package/src/integration_tests/basic_bundle/Bar.js.flow +1 -1
- package/src/integration_tests/basic_bundle/ErrorBundle.js +2 -2
- package/src/integration_tests/basic_bundle/ErrorBundle.js.flow +1 -1
- package/src/integration_tests/basic_bundle/Foo.js +2 -2
- package/src/integration_tests/basic_bundle/Foo.js.flow +1 -1
- package/src/integration_tests/basic_bundle/TestBundle.js +2 -2
- package/src/integration_tests/basic_bundle/TestBundle.js.flow +1 -1
- package/src/integration_tests/basic_bundle/TestPolyfill.js +1 -1
- package/src/integration_tests/basic_bundle/TestPolyfill.js.flow +1 -1
- package/src/integration_tests/basic_bundle/TypeScript.ts +1 -1
- package/src/integration_tests/basic_bundle/import-export/export-1.js +2 -2
- package/src/integration_tests/basic_bundle/import-export/export-1.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/export-2.js +2 -2
- package/src/integration_tests/basic_bundle/import-export/export-2.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/export-3.js +2 -2
- package/src/integration_tests/basic_bundle/import-export/export-3.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/export-4.js +2 -2
- package/src/integration_tests/basic_bundle/import-export/export-4.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/export-5.js +2 -2
- package/src/integration_tests/basic_bundle/import-export/export-5.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/export-6.js +2 -2
- package/src/integration_tests/basic_bundle/import-export/export-6.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/export-null.js +2 -2
- package/src/integration_tests/basic_bundle/import-export/export-null.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/export-primitive-default.js +2 -2
- package/src/integration_tests/basic_bundle/import-export/export-primitive-default.js.flow +1 -1
- package/src/integration_tests/basic_bundle/import-export/index.js +17 -17
- package/src/integration_tests/basic_bundle/import-export/index.js.flow +1 -1
- package/src/integration_tests/basic_bundle/polyfill.js +1 -1
- package/src/integration_tests/execBundle.js +2 -2
- package/src/integration_tests/execBundle.js.flow +1 -1
- package/src/integration_tests/metro.config.js +8 -8
- package/src/lib/BatchProcessor.js +10 -6
- package/src/lib/BatchProcessor.js.flow +6 -1
- package/src/lib/JsonReporter.js +3 -2
- package/src/lib/JsonReporter.js.flow +2 -1
- package/src/lib/RamBundleParser.js +1 -1
- package/src/lib/RamBundleParser.js.flow +1 -1
- package/src/lib/TerminalReporter.js +15 -15
- package/src/lib/TerminalReporter.js.flow +15 -16
- package/src/lib/bundleToBytecode.js +6 -7
- package/src/lib/bundleToBytecode.js.flow +8 -7
- package/src/lib/bundleToString.js +3 -3
- package/src/lib/bundleToString.js.flow +5 -4
- package/src/lib/countLines.js +3 -7
- package/src/lib/countLines.js.flow +4 -7
- package/src/lib/createModuleIdFactory.js +2 -2
- package/src/lib/createModuleIdFactory.js.flow +1 -1
- package/src/lib/{attachWebsocketServer.js → createWebsocketServer.js} +18 -17
- package/src/lib/{attachWebsocketServer.js.flow → createWebsocketServer.js.flow} +13 -23
- package/src/lib/debounceAsyncQueue.js +2 -2
- package/src/lib/debounceAsyncQueue.js.flow +1 -1
- package/src/lib/formatBundlingError.js +21 -21
- package/src/lib/formatBundlingError.js.flow +18 -20
- package/src/lib/getAppendScripts.js +26 -27
- package/src/lib/getAppendScripts.js.flow +7 -8
- package/src/lib/getGraphId.js +3 -3
- package/src/lib/getGraphId.js.flow +3 -3
- package/src/lib/getMaxWorkers.js +2 -2
- package/src/lib/getMaxWorkers.js.flow +1 -1
- package/src/lib/getPreludeCode.js +2 -2
- package/src/lib/getPreludeCode.js.flow +1 -1
- package/src/lib/getPrependedScripts.js +16 -15
- package/src/lib/getPrependedScripts.js.flow +8 -8
- package/src/lib/logToConsole.js +12 -5
- package/src/lib/logToConsole.js.flow +19 -6
- package/src/lib/parseCustomTransformOptions.js +2 -2
- package/src/lib/parseCustomTransformOptions.js.flow +3 -3
- package/src/lib/parseOptionsFromUrl.js +7 -7
- package/src/lib/parseOptionsFromUrl.js.flow +29 -9
- package/src/lib/relativizeSourceMap.js +1 -1
- package/src/lib/relativizeSourceMap.js.flow +3 -3
- package/src/lib/reporting.js +5 -5
- package/src/lib/reporting.js.flow +18 -4
- package/src/lib/splitBundleOptions.js +5 -5
- package/src/lib/splitBundleOptions.js.flow +1 -1
- package/src/lib/transformHelpers.js +11 -10
- package/src/lib/transformHelpers.js.flow +6 -13
- package/src/node-haste/DependencyGraph/ModuleResolution.js +51 -30
- package/src/node-haste/DependencyGraph/ModuleResolution.js.flow +49 -48
- package/src/node-haste/DependencyGraph/createHasteMap.js +99 -0
- package/src/node-haste/DependencyGraph/createHasteMap.js.flow +88 -0
- package/src/node-haste/DependencyGraph/{assets/empty-module.js → types.js} +2 -2
- package/src/node-haste/DependencyGraph/types.js.flow +88 -0
- package/src/node-haste/DependencyGraph.js +51 -118
- package/src/node-haste/DependencyGraph.js.flow +38 -111
- package/src/node-haste/Module.js +1 -1
- package/src/node-haste/Module.js.flow +3 -3
- package/src/node-haste/ModuleCache.js +54 -13
- package/src/node-haste/ModuleCache.js.flow +53 -12
- package/src/node-haste/Package.js +2 -2
- package/src/node-haste/Package.js.flow +1 -1
- package/src/node-haste/lib/AssetPaths.js +5 -5
- package/src/node-haste/lib/AssetPaths.js.flow +7 -6
- package/src/node-haste/lib/parsePlatformFilePath.js +4 -4
- package/src/node-haste/lib/parsePlatformFilePath.js.flow +2 -2
- package/src/shared/output/RamBundle/as-assets.js +14 -15
- package/src/shared/output/RamBundle/as-assets.js.flow +9 -11
- package/src/shared/output/RamBundle/as-indexed-file.js +14 -15
- package/src/shared/output/RamBundle/as-indexed-file.js.flow +8 -12
- package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js +7 -7
- package/src/shared/output/RamBundle/buildSourcemapWithMetadata.js.flow +4 -4
- package/src/shared/output/RamBundle/magic-number.js +1 -1
- package/src/shared/output/RamBundle/magic-number.js.flow +1 -1
- package/src/shared/output/RamBundle/util.js +21 -19
- package/src/shared/output/RamBundle/util.js.flow +5 -8
- package/src/shared/output/RamBundle/write-sourcemap.js +1 -1
- package/src/shared/output/RamBundle/write-sourcemap.js.flow +1 -1
- package/src/shared/output/RamBundle.js +2 -2
- package/src/shared/output/RamBundle.js.flow +4 -5
- package/src/shared/output/bundle.js +6 -6
- package/src/shared/output/bundle.js.flow +4 -5
- package/src/shared/output/meta.js +4 -5
- package/src/shared/output/meta.js.flow +2 -4
- package/src/shared/output/unbundle.js +1 -1
- package/src/shared/output/unbundle.js.flow +1 -1
- package/src/shared/output/writeFile.js +1 -1
- package/src/shared/output/writeFile.js.flow +1 -1
- package/src/shared/types.flow.js +1 -1
- package/src/shared/types.flow.js.flow +6 -4
- package/src/node-haste/DependencyGraph/assets/empty-module.js.flow +0 -9
- package/src/node-haste/types.js +0 -10
- package/src/node-haste/types.js.flow +0 -23
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
|
|
12
12
|
const invariant = require("invariant");
|
|
13
13
|
|
|
14
|
-
const path = require("path");
|
|
15
|
-
|
|
16
14
|
const { addParamsToDefineCall } = require("metro-transform-plugins");
|
|
17
15
|
|
|
16
|
+
const path = require("path");
|
|
17
|
+
|
|
18
18
|
function wrapModule(module, options) {
|
|
19
19
|
const output = getJsOutput(module);
|
|
20
20
|
|
|
@@ -25,9 +25,9 @@ function wrapModule(module, options) {
|
|
|
25
25
|
const moduleId = options.createModuleId(module.path);
|
|
26
26
|
const params = [
|
|
27
27
|
moduleId,
|
|
28
|
-
Array.from(module.dependencies.values()).map(dependency =>
|
|
28
|
+
Array.from(module.dependencies.values()).map((dependency) =>
|
|
29
29
|
options.createModuleId(dependency.absolutePath)
|
|
30
|
-
)
|
|
30
|
+
),
|
|
31
31
|
];
|
|
32
32
|
|
|
33
33
|
if (options.dev) {
|
|
@@ -40,15 +40,25 @@ function wrapModule(module, options) {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
function getJsOutput(module) {
|
|
43
|
+
var _module$path, _module$path2;
|
|
44
|
+
|
|
43
45
|
const jsModules = module.output.filter(({ type }) => type.startsWith("js/"));
|
|
44
46
|
invariant(
|
|
45
47
|
jsModules.length === 1,
|
|
46
|
-
`Modules must have exactly one JS output, but ${
|
|
48
|
+
`Modules must have exactly one JS output, but ${
|
|
49
|
+
(_module$path = module.path) !== null && _module$path !== void 0
|
|
50
|
+
? _module$path
|
|
51
|
+
: "unknown module"
|
|
52
|
+
} has ${jsModules.length} JS outputs.`
|
|
47
53
|
);
|
|
48
54
|
const jsOutput = jsModules[0];
|
|
49
55
|
invariant(
|
|
50
56
|
Number.isFinite(jsOutput.data.lineCount),
|
|
51
|
-
`JS output must populate lineCount, but ${
|
|
57
|
+
`JS output must populate lineCount, but ${
|
|
58
|
+
(_module$path2 = module.path) !== null && _module$path2 !== void 0
|
|
59
|
+
? _module$path2
|
|
60
|
+
: "unknown module"
|
|
61
|
+
} has ${jsOutput.type} output with lineCount '${jsOutput.data.lineCount}'`
|
|
52
62
|
);
|
|
53
63
|
return jsOutput;
|
|
54
64
|
}
|
|
@@ -64,5 +74,5 @@ function isJsOutput(output) {
|
|
|
64
74
|
module.exports = {
|
|
65
75
|
getJsOutput,
|
|
66
76
|
isJsModule,
|
|
67
|
-
wrapModule
|
|
77
|
+
wrapModule,
|
|
68
78
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -10,14 +10,13 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const invariant = require('invariant');
|
|
14
|
-
const path = require('path');
|
|
15
|
-
|
|
16
|
-
const {addParamsToDefineCall} = require('metro-transform-plugins');
|
|
17
|
-
|
|
18
13
|
import type {MixedOutput, Module} from '../../types.flow';
|
|
19
14
|
import type {JsOutput} from 'metro-transform-worker';
|
|
20
15
|
|
|
16
|
+
const invariant = require('invariant');
|
|
17
|
+
const {addParamsToDefineCall} = require('metro-transform-plugins');
|
|
18
|
+
const path = require('path');
|
|
19
|
+
|
|
21
20
|
export type Options = {
|
|
22
21
|
+createModuleId: string => number | string,
|
|
23
22
|
+dev: boolean,
|
|
@@ -49,19 +48,29 @@ function wrapModule(module: Module<>, options: Options): string {
|
|
|
49
48
|
return addParamsToDefineCall(output.data.code, ...params);
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
function getJsOutput(
|
|
51
|
+
function getJsOutput(
|
|
52
|
+
module: $ReadOnly<{
|
|
53
|
+
output: $ReadOnlyArray<MixedOutput>,
|
|
54
|
+
path?: string,
|
|
55
|
+
...
|
|
56
|
+
}>,
|
|
57
|
+
): JsOutput {
|
|
53
58
|
const jsModules = module.output.filter(({type}) => type.startsWith('js/'));
|
|
54
59
|
|
|
55
60
|
invariant(
|
|
56
61
|
jsModules.length === 1,
|
|
57
|
-
`Modules must have exactly one JS output, but ${
|
|
62
|
+
`Modules must have exactly one JS output, but ${
|
|
63
|
+
module.path ?? 'unknown module'
|
|
64
|
+
} has ${jsModules.length} JS outputs.`,
|
|
58
65
|
);
|
|
59
66
|
|
|
60
|
-
const jsOutput = (jsModules[0]: any);
|
|
67
|
+
const jsOutput: JsOutput = (jsModules[0]: any);
|
|
61
68
|
|
|
62
69
|
invariant(
|
|
63
70
|
Number.isFinite(jsOutput.data.lineCount),
|
|
64
|
-
`JS output must populate lineCount, but ${
|
|
71
|
+
`JS output must populate lineCount, but ${
|
|
72
|
+
module.path ?? 'unknown module'
|
|
73
|
+
} has ${jsOutput.type} output with lineCount '${jsOutput.data.lineCount}'`,
|
|
65
74
|
);
|
|
66
75
|
|
|
67
76
|
return jsOutput;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -18,13 +18,13 @@ function processBytecodeModules(
|
|
|
18
18
|
return [...modules]
|
|
19
19
|
.filter(isBytecodeModule)
|
|
20
20
|
.filter(filter)
|
|
21
|
-
.map(module => [
|
|
21
|
+
.map((module) => [
|
|
22
22
|
module,
|
|
23
23
|
wrapModule(module, {
|
|
24
24
|
createModuleId,
|
|
25
25
|
dev,
|
|
26
|
-
projectRoot
|
|
27
|
-
})
|
|
26
|
+
projectRoot,
|
|
27
|
+
}),
|
|
28
28
|
]);
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const {isBytecodeModule, wrapModule} = require('./bytecode');
|
|
14
|
-
|
|
15
13
|
import type {Module} from '../../types.flow';
|
|
16
14
|
|
|
15
|
+
const {isBytecodeModule, wrapModule} = require('./bytecode');
|
|
16
|
+
|
|
17
17
|
function processBytecodeModules(
|
|
18
18
|
modules: $ReadOnlyArray<Module<>>,
|
|
19
19
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -18,13 +18,13 @@ function processModules(
|
|
|
18
18
|
return [...modules]
|
|
19
19
|
.filter(isJsModule)
|
|
20
20
|
.filter(filter)
|
|
21
|
-
.map(module => [
|
|
21
|
+
.map((module) => [
|
|
22
22
|
module,
|
|
23
23
|
wrapModule(module, {
|
|
24
24
|
createModuleId,
|
|
25
25
|
dev,
|
|
26
|
-
projectRoot
|
|
27
|
-
})
|
|
26
|
+
projectRoot,
|
|
27
|
+
}),
|
|
28
28
|
]);
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const {isJsModule, wrapModule} = require('./js');
|
|
14
|
-
|
|
15
13
|
import type {Module} from '../../types.flow';
|
|
16
14
|
|
|
15
|
+
const {isJsModule, wrapModule} = require('./js');
|
|
16
|
+
|
|
17
17
|
function processModules(
|
|
18
18
|
modules: $ReadOnlyArray<Module<>>,
|
|
19
19
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -9,21 +9,21 @@
|
|
|
9
9
|
*/
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
|
-
const path = require("path");
|
|
13
|
-
|
|
14
|
-
const url = require("url");
|
|
15
|
-
|
|
16
12
|
const { isJsModule, wrapModule } = require("./helpers/js");
|
|
17
13
|
|
|
18
14
|
const { addParamsToDefineCall } = require("metro-transform-plugins");
|
|
19
15
|
|
|
16
|
+
const path = require("path");
|
|
17
|
+
|
|
18
|
+
const url = require("url");
|
|
19
|
+
|
|
20
20
|
function generateModules(sourceModules, graph, options) {
|
|
21
21
|
const modules = [];
|
|
22
22
|
|
|
23
23
|
for (const module of sourceModules) {
|
|
24
24
|
if (isJsModule(module)) {
|
|
25
25
|
// Construct a bundle URL for this specific module only
|
|
26
|
-
const getURL = extension => {
|
|
26
|
+
const getURL = (extension) => {
|
|
27
27
|
options.clientUrl.pathname = path.relative(
|
|
28
28
|
options.projectRoot,
|
|
29
29
|
path.join(
|
|
@@ -45,7 +45,7 @@ function generateModules(sourceModules, graph, options) {
|
|
|
45
45
|
modules.push({
|
|
46
46
|
module: [options.createModuleId(module.path), code],
|
|
47
47
|
sourceMappingURL,
|
|
48
|
-
sourceURL
|
|
48
|
+
sourceURL,
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -58,7 +58,7 @@ function prepareModule(module, graph, options) {
|
|
|
58
58
|
const inverseDependencies = getInverseDependencies(module.path, graph); // Transform the inverse dependency paths to ids.
|
|
59
59
|
|
|
60
60
|
const inverseDependenciesById = Object.create(null);
|
|
61
|
-
Object.keys(inverseDependencies).forEach(path => {
|
|
61
|
+
Object.keys(inverseDependencies).forEach((path) => {
|
|
62
62
|
inverseDependenciesById[options.createModuleId(path)] = inverseDependencies[
|
|
63
63
|
path
|
|
64
64
|
].map(options.createModuleId);
|
|
@@ -98,7 +98,7 @@ function hmrJSBundle(delta, graph, options) {
|
|
|
98
98
|
return {
|
|
99
99
|
added: generateModules(delta.added.values(), graph, options),
|
|
100
100
|
modified: generateModules(delta.modified.values(), graph, options),
|
|
101
|
-
deleted: [...delta.deleted].map(path => options.createModuleId(path))
|
|
101
|
+
deleted: [...delta.deleted].map((path) => options.createModuleId(path)),
|
|
102
102
|
};
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -10,16 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const path = require('path');
|
|
14
|
-
const url = require('url');
|
|
15
|
-
|
|
16
|
-
const {isJsModule, wrapModule} = require('./helpers/js');
|
|
17
|
-
const {addParamsToDefineCall} = require('metro-transform-plugins');
|
|
18
|
-
|
|
19
13
|
import type {EntryPointURL} from '../../HmrServer';
|
|
20
14
|
import type {DeltaResult, Graph, Module} from '../types.flow';
|
|
21
15
|
import type {HmrModule} from 'metro-runtime/src/modules/types.flow';
|
|
22
16
|
|
|
17
|
+
const {isJsModule, wrapModule} = require('./helpers/js');
|
|
18
|
+
const {addParamsToDefineCall} = require('metro-transform-plugins');
|
|
19
|
+
const path = require('path');
|
|
20
|
+
const url = require('url');
|
|
21
|
+
|
|
23
22
|
type Options = {
|
|
24
23
|
+clientUrl: EntryPointURL,
|
|
25
24
|
+createModuleId: string => number,
|
|
@@ -37,7 +36,9 @@ function generateModules(
|
|
|
37
36
|
for (const module of sourceModules) {
|
|
38
37
|
if (isJsModule(module)) {
|
|
39
38
|
// Construct a bundle URL for this specific module only
|
|
40
|
-
const getURL =
|
|
39
|
+
const getURL = (
|
|
40
|
+
extension: $TEMPORARY$string<'bundle'> | $TEMPORARY$string<'map'>,
|
|
41
|
+
) => {
|
|
41
42
|
options.clientUrl.pathname = path.relative(
|
|
42
43
|
options.projectRoot,
|
|
43
44
|
path.join(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -15,7 +15,7 @@ const { isJsModule } = require("./helpers/js");
|
|
|
15
15
|
|
|
16
16
|
const {
|
|
17
17
|
fromRawMappings,
|
|
18
|
-
fromRawMappingsNonBlocking
|
|
18
|
+
fromRawMappingsNonBlocking,
|
|
19
19
|
} = require("metro-source-map");
|
|
20
20
|
|
|
21
21
|
function getSourceMapInfosImpl(isBlocking, onDone, modules, options) {
|
|
@@ -31,7 +31,7 @@ function getSourceMapInfosImpl(isBlocking, onDone, modules, options) {
|
|
|
31
31
|
|
|
32
32
|
const mod = modulesToProcess.shift();
|
|
33
33
|
const info = getSourceMapInfo(mod, {
|
|
34
|
-
excludeSource: options.excludeSource
|
|
34
|
+
excludeSource: options.excludeSource,
|
|
35
35
|
});
|
|
36
36
|
sourceMapInfos.push(info);
|
|
37
37
|
return false;
|
|
@@ -72,7 +72,7 @@ function sourceMapGenerator(modules, options) {
|
|
|
72
72
|
let sourceMapInfos;
|
|
73
73
|
getSourceMapInfosImpl(
|
|
74
74
|
true,
|
|
75
|
-
infos => {
|
|
75
|
+
(infos) => {
|
|
76
76
|
sourceMapInfos = infos;
|
|
77
77
|
},
|
|
78
78
|
modules,
|
|
@@ -89,7 +89,7 @@ function sourceMapGenerator(modules, options) {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
async function sourceMapGeneratorNonBlocking(modules, options) {
|
|
92
|
-
const sourceMapInfos = await new Promise(resolve => {
|
|
92
|
+
const sourceMapInfos = await new Promise((resolve) => {
|
|
93
93
|
getSourceMapInfosImpl(false, resolve, modules, options);
|
|
94
94
|
});
|
|
95
95
|
return fromRawMappingsNonBlocking(sourceMapInfos);
|
|
@@ -97,5 +97,5 @@ async function sourceMapGeneratorNonBlocking(modules, options) {
|
|
|
97
97
|
|
|
98
98
|
module.exports = {
|
|
99
99
|
sourceMapGenerator,
|
|
100
|
-
sourceMapGeneratorNonBlocking
|
|
100
|
+
sourceMapGeneratorNonBlocking,
|
|
101
101
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -10,16 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
import type {Module} from '../types.flow';
|
|
14
14
|
|
|
15
|
+
const getSourceMapInfo = require('./helpers/getSourceMapInfo');
|
|
15
16
|
const {isJsModule} = require('./helpers/js');
|
|
16
17
|
const {
|
|
17
18
|
fromRawMappings,
|
|
18
19
|
fromRawMappingsNonBlocking,
|
|
19
20
|
} = require('metro-source-map');
|
|
20
21
|
|
|
21
|
-
import type {Module} from '../types.flow';
|
|
22
|
-
|
|
23
22
|
type ReturnType<F> = $Call<<A, R>((...A) => R) => R, F>;
|
|
24
23
|
|
|
25
24
|
function getSourceMapInfosImpl(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -11,24 +11,24 @@
|
|
|
11
11
|
|
|
12
12
|
const {
|
|
13
13
|
sourceMapGenerator,
|
|
14
|
-
sourceMapGeneratorNonBlocking
|
|
14
|
+
sourceMapGeneratorNonBlocking,
|
|
15
15
|
} = require("./sourceMapGenerator");
|
|
16
16
|
|
|
17
17
|
function sourceMapObject(modules, options) {
|
|
18
18
|
const generator = sourceMapGenerator(modules, options);
|
|
19
19
|
return generator.toMap(undefined, {
|
|
20
|
-
excludeSource: options.excludeSource
|
|
20
|
+
excludeSource: options.excludeSource,
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
async function sourceMapObjectNonBlocking(modules, options) {
|
|
25
25
|
const generator = await sourceMapGeneratorNonBlocking(modules, options);
|
|
26
26
|
return generator.toMap(undefined, {
|
|
27
|
-
excludeSource: options.excludeSource
|
|
27
|
+
excludeSource: options.excludeSource,
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
module.exports = {
|
|
32
32
|
sourceMapObject,
|
|
33
|
-
sourceMapObjectNonBlocking
|
|
33
|
+
sourceMapObjectNonBlocking,
|
|
34
34
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
import type {Module} from '../types.flow';
|
|
14
|
+
import type {MixedSourceMap} from 'metro-source-map';
|
|
15
|
+
|
|
13
16
|
const {
|
|
14
17
|
sourceMapGenerator,
|
|
15
18
|
sourceMapGeneratorNonBlocking,
|
|
16
19
|
} = require('./sourceMapGenerator');
|
|
17
20
|
|
|
18
|
-
import type {Module} from '../types.flow';
|
|
19
|
-
import type {MixedSourceMap} from 'metro-source-map';
|
|
20
|
-
|
|
21
21
|
function sourceMapObject(
|
|
22
22
|
modules: $ReadOnlyArray<Module<>>,
|
|
23
23
|
options: {|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -13,7 +13,7 @@ const { sourceMapGenerator } = require("./sourceMapGenerator");
|
|
|
13
13
|
|
|
14
14
|
function sourceMapString(modules, options) {
|
|
15
15
|
return sourceMapGenerator(modules, options).toString(undefined, {
|
|
16
|
-
excludeSource: options.excludeSource
|
|
16
|
+
excludeSource: options.excludeSource,
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const {sourceMapGenerator} = require('./sourceMapGenerator');
|
|
14
|
-
|
|
15
13
|
import type {Module} from '../types.flow';
|
|
16
14
|
|
|
15
|
+
const {sourceMapGenerator} = require('./sourceMapGenerator');
|
|
16
|
+
|
|
17
17
|
function sourceMapString(
|
|
18
18
|
modules: $ReadOnlyArray<Module<>>,
|
|
19
19
|
options: {|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -9,18 +9,18 @@
|
|
|
9
9
|
*/
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
|
+
const getTransformCacheKey = require("./getTransformCacheKey");
|
|
13
|
+
|
|
12
14
|
const WorkerFarm = require("./WorkerFarm");
|
|
13
15
|
|
|
14
16
|
const assert = require("assert");
|
|
15
17
|
|
|
16
18
|
const fs = require("fs");
|
|
17
19
|
|
|
18
|
-
const
|
|
20
|
+
const { Cache, stableHash } = require("metro-cache");
|
|
19
21
|
|
|
20
22
|
const path = require("path");
|
|
21
23
|
|
|
22
|
-
const { Cache, stableHash } = require("metro-cache");
|
|
23
|
-
|
|
24
24
|
class Transformer {
|
|
25
25
|
constructor(config, getSha1Fn) {
|
|
26
26
|
this._config = config;
|
|
@@ -34,21 +34,22 @@ class Transformer {
|
|
|
34
34
|
|
|
35
35
|
const {
|
|
36
36
|
getTransformOptions: _getTransformOptions,
|
|
37
|
-
postMinifyProcess: _postMinifyProcess,
|
|
38
37
|
transformVariants: _transformVariants,
|
|
39
38
|
workerPath: _workerPath,
|
|
40
39
|
...transformerConfig
|
|
41
40
|
} = this._config.transformer;
|
|
42
41
|
const transformerOptions = {
|
|
43
42
|
transformerPath: this._config.transformerPath,
|
|
44
|
-
transformerConfig
|
|
43
|
+
transformerConfig,
|
|
45
44
|
};
|
|
46
45
|
this._workerFarm = new WorkerFarm(config, transformerOptions);
|
|
47
|
-
const globalCacheKey =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
const globalCacheKey = this._cache.isDisabled
|
|
47
|
+
? ""
|
|
48
|
+
: getTransformCacheKey({
|
|
49
|
+
cacheVersion: this._config.cacheVersion,
|
|
50
|
+
projectRoot: this._config.projectRoot,
|
|
51
|
+
transformerConfig: transformerOptions,
|
|
52
|
+
});
|
|
52
53
|
this._baseHash = stableHash([globalCacheKey]).toString("binary");
|
|
53
54
|
}
|
|
54
55
|
|
|
@@ -72,6 +73,7 @@ class Transformer {
|
|
|
72
73
|
} = transformerOptions;
|
|
73
74
|
|
|
74
75
|
for (const key in extra) {
|
|
76
|
+
// $FlowFixMe[cannot-resolve-name]
|
|
75
77
|
if (hasOwnProperty.call(extra, key)) {
|
|
76
78
|
throw new Error(
|
|
77
79
|
"Extra keys detected: " + Object.keys(extra).join(", ")
|
|
@@ -96,7 +98,7 @@ class Transformer {
|
|
|
96
98
|
runtimeBytecodeVersion,
|
|
97
99
|
type,
|
|
98
100
|
unstable_disableES6Transforms,
|
|
99
|
-
unstable_transformProfile
|
|
101
|
+
unstable_transformProfile,
|
|
100
102
|
]);
|
|
101
103
|
|
|
102
104
|
const sha1 = this._getSha1(filePath);
|
|
@@ -108,7 +110,7 @@ class Transformer {
|
|
|
108
110
|
const data = result
|
|
109
111
|
? {
|
|
110
112
|
result,
|
|
111
|
-
sha1
|
|
113
|
+
sha1,
|
|
112
114
|
}
|
|
113
115
|
: await this._workerFarm.transform(localPath, transformerOptions); // Only re-compute the full key if the SHA-1 changed. This is because
|
|
114
116
|
// references are used by the cache implementation in a weak map to keep
|
|
@@ -124,7 +126,7 @@ class Transformer {
|
|
|
124
126
|
|
|
125
127
|
getSource() {
|
|
126
128
|
return fs.readFileSync(filePath);
|
|
127
|
-
}
|
|
129
|
+
},
|
|
128
130
|
};
|
|
129
131
|
}
|
|
130
132
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
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.
|
|
@@ -10,18 +10,16 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
import type {TransformResult, TransformResultWithSource} from '../DeltaBundler';
|
|
14
|
+
import type {TransformerConfig, TransformOptions} from './Worker';
|
|
15
|
+
import type {ConfigT} from 'metro-config/src/configTypes.flow';
|
|
14
16
|
|
|
17
|
+
const getTransformCacheKey = require('./getTransformCacheKey');
|
|
18
|
+
const WorkerFarm = require('./WorkerFarm');
|
|
15
19
|
const assert = require('assert');
|
|
16
20
|
const fs = require('fs');
|
|
17
|
-
const getTransformCacheKey = require('./getTransformCacheKey');
|
|
18
|
-
const path = require('path');
|
|
19
|
-
|
|
20
21
|
const {Cache, stableHash} = require('metro-cache');
|
|
21
|
-
|
|
22
|
-
import type {TransformResult, TransformResultWithSource} from '../DeltaBundler';
|
|
23
|
-
import type {TransformOptions, TransformerConfig} from './Worker';
|
|
24
|
-
import type {ConfigT} from 'metro-config/src/configTypes.flow';
|
|
22
|
+
const path = require('path');
|
|
25
23
|
|
|
26
24
|
class Transformer {
|
|
27
25
|
_config: ConfigT;
|
|
@@ -42,7 +40,6 @@ class Transformer {
|
|
|
42
40
|
// can treat the transformer config params as opaque.
|
|
43
41
|
const {
|
|
44
42
|
getTransformOptions: _getTransformOptions,
|
|
45
|
-
postMinifyProcess: _postMinifyProcess,
|
|
46
43
|
transformVariants: _transformVariants,
|
|
47
44
|
workerPath: _workerPath,
|
|
48
45
|
...transformerConfig
|
|
@@ -55,11 +52,13 @@ class Transformer {
|
|
|
55
52
|
|
|
56
53
|
this._workerFarm = new WorkerFarm(config, transformerOptions);
|
|
57
54
|
|
|
58
|
-
const globalCacheKey =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
55
|
+
const globalCacheKey = this._cache.isDisabled
|
|
56
|
+
? ''
|
|
57
|
+
: getTransformCacheKey({
|
|
58
|
+
cacheVersion: this._config.cacheVersion,
|
|
59
|
+
projectRoot: this._config.projectRoot,
|
|
60
|
+
transformerConfig: transformerOptions,
|
|
61
|
+
});
|
|
63
62
|
|
|
64
63
|
this._baseHash = stableHash([globalCacheKey]).toString('binary');
|
|
65
64
|
}
|
|
@@ -88,6 +87,7 @@ class Transformer {
|
|
|
88
87
|
} = transformerOptions;
|
|
89
88
|
|
|
90
89
|
for (const key in extra) {
|
|
90
|
+
// $FlowFixMe[cannot-resolve-name]
|
|
91
91
|
if (hasOwnProperty.call(extra, key)) {
|
|
92
92
|
throw new Error(
|
|
93
93
|
'Extra keys detected: ' + Object.keys(extra).join(', '),
|