@atlaspack/core 2.16.2-canary.27 → 2.16.2-canary.270
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/CHANGELOG.md +665 -0
- package/dist/AssetGraph.js +591 -0
- package/dist/Atlaspack.js +658 -0
- package/dist/AtlaspackConfig.js +324 -0
- package/dist/AtlaspackConfig.schema.js +108 -0
- package/dist/BundleGraph.js +1635 -0
- package/dist/CommittedAsset.js +142 -0
- package/dist/Dependency.js +125 -0
- package/dist/Environment.js +132 -0
- package/dist/EnvironmentManager.js +108 -0
- package/dist/IdentifierRegistry.js +38 -0
- package/dist/InternalConfig.js +37 -0
- package/dist/PackagerRunner.js +545 -0
- package/dist/ReporterRunner.js +151 -0
- package/dist/RequestTracker.js +1360 -0
- package/dist/SymbolPropagation.js +620 -0
- package/dist/TargetDescriptor.schema.js +143 -0
- package/dist/Transformation.js +490 -0
- package/dist/UncommittedAsset.js +315 -0
- package/dist/Validation.js +196 -0
- package/dist/applyRuntimes.js +305 -0
- package/dist/assetUtils.js +168 -0
- package/dist/atlaspack-v3/AtlaspackV3.js +70 -0
- package/dist/atlaspack-v3/NapiWorkerPool.js +57 -0
- package/dist/atlaspack-v3/fs.js +52 -0
- package/dist/atlaspack-v3/index.js +25 -0
- package/dist/atlaspack-v3/jsCallable.js +16 -0
- package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
- package/dist/atlaspack-v3/worker/compat/bitflags.js +94 -0
- package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
- package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
- package/dist/atlaspack-v3/worker/compat/index.js +25 -0
- package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
- package/dist/atlaspack-v3/worker/compat/plugin-config.js +76 -0
- package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
- package/dist/atlaspack-v3/worker/compat/plugin-options.js +122 -0
- package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
- package/dist/atlaspack-v3/worker/compat/target.js +14 -0
- package/dist/atlaspack-v3/worker/worker.js +297 -0
- package/dist/constants.js +17 -0
- package/dist/dumpGraphToGraphViz.js +281 -0
- package/dist/index.js +62 -0
- package/dist/loadAtlaspackPlugin.js +128 -0
- package/dist/loadDotEnv.js +41 -0
- package/dist/projectPath.js +83 -0
- package/dist/public/Asset.js +279 -0
- package/dist/public/Bundle.js +224 -0
- package/dist/public/BundleGraph.js +359 -0
- package/dist/public/BundleGroup.js +53 -0
- package/dist/public/Config.js +286 -0
- package/dist/public/Dependency.js +138 -0
- package/dist/public/Environment.js +278 -0
- package/dist/public/MutableBundleGraph.js +277 -0
- package/dist/public/PluginOptions.js +80 -0
- package/dist/public/Symbols.js +248 -0
- package/dist/public/Target.js +69 -0
- package/dist/registerCoreWithSerializer.js +38 -0
- package/dist/requests/AssetGraphRequest.js +429 -0
- package/dist/requests/AssetGraphRequestRust.js +262 -0
- package/dist/requests/AssetRequest.js +130 -0
- package/dist/requests/AtlaspackBuildRequest.js +65 -0
- package/dist/requests/AtlaspackConfigRequest.js +493 -0
- package/dist/requests/BundleGraphRequest.js +445 -0
- package/dist/requests/ConfigRequest.js +222 -0
- package/dist/requests/DevDepRequest.js +204 -0
- package/dist/requests/EntryRequest.js +314 -0
- package/dist/requests/PackageRequest.js +62 -0
- package/dist/requests/PathRequest.js +349 -0
- package/dist/requests/TargetRequest.js +1311 -0
- package/dist/requests/ValidationRequest.js +49 -0
- package/dist/requests/WriteBundleRequest.js +254 -0
- package/dist/requests/WriteBundlesRequest.js +184 -0
- package/dist/requests/asset-graph-diff.js +128 -0
- package/dist/requests/asset-graph-dot.js +131 -0
- package/dist/resolveOptions.js +268 -0
- package/dist/rustWorkerThreadDylibHack.js +19 -0
- package/dist/serializerCore.browser.js +43 -0
- package/dist/summarizeRequest.js +39 -0
- package/dist/types.js +31 -0
- package/dist/utils.js +172 -0
- package/dist/worker.js +123 -0
- package/lib/AssetGraph.js +111 -14
- package/lib/Atlaspack.js +81 -37
- package/lib/AtlaspackConfig.js +15 -3
- package/lib/AtlaspackConfig.schema.js +7 -5
- package/lib/BundleGraph.js +90 -32
- package/lib/CommittedAsset.js +6 -0
- package/lib/Dependency.js +8 -2
- package/lib/Environment.js +15 -8
- package/lib/EnvironmentManager.js +143 -0
- package/lib/IdentifierRegistry.js +1 -3
- package/lib/InternalConfig.js +3 -2
- package/lib/PackagerRunner.js +90 -27
- package/lib/ReporterRunner.js +6 -9
- package/lib/RequestTracker.js +266 -156
- package/lib/SymbolPropagation.js +42 -18
- package/lib/TargetDescriptor.schema.js +7 -1
- package/lib/Transformation.js +26 -10
- package/lib/UncommittedAsset.js +30 -9
- package/lib/Validation.js +18 -2
- package/lib/applyRuntimes.js +9 -1
- package/lib/assetUtils.js +7 -4
- package/lib/atlaspack-v3/AtlaspackV3.js +32 -7
- package/lib/atlaspack-v3/NapiWorkerPool.js +3 -0
- package/lib/atlaspack-v3/fs.js +3 -1
- package/lib/atlaspack-v3/index.js +28 -1
- package/lib/atlaspack-v3/jsCallable.js +0 -2
- package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
- package/lib/atlaspack-v3/worker/compat/bitflags.js +7 -6
- package/lib/atlaspack-v3/worker/compat/dependency.js +3 -0
- package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
- package/lib/atlaspack-v3/worker/compat/mutable-asset.js +14 -9
- package/lib/atlaspack-v3/worker/compat/plugin-config.js +8 -10
- package/lib/atlaspack-v3/worker/compat/plugin-options.js +1 -0
- package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
- package/lib/atlaspack-v3/worker/compat/target.js +2 -0
- package/lib/atlaspack-v3/worker/index.js +3 -0
- package/lib/atlaspack-v3/worker/worker.js +43 -7
- package/lib/constants.js +0 -1
- package/lib/dumpGraphToGraphViz.js +71 -16
- package/lib/index.js +45 -1
- package/lib/loadDotEnv.js +4 -1
- package/lib/projectPath.js +5 -0
- package/lib/public/Asset.js +21 -11
- package/lib/public/Bundle.js +15 -16
- package/lib/public/BundleGraph.js +10 -4
- package/lib/public/BundleGroup.js +4 -5
- package/lib/public/Config.js +118 -17
- package/lib/public/Dependency.js +8 -6
- package/lib/public/Environment.js +12 -7
- package/lib/public/MutableBundleGraph.js +54 -12
- package/lib/public/PluginOptions.js +2 -2
- package/lib/public/Symbols.js +11 -11
- package/lib/public/Target.js +7 -6
- package/lib/registerCoreWithSerializer.js +5 -3
- package/lib/requests/AssetGraphRequest.js +42 -5
- package/lib/requests/AssetGraphRequestRust.js +126 -62
- package/lib/requests/AssetRequest.js +23 -6
- package/lib/requests/AtlaspackBuildRequest.js +10 -4
- package/lib/requests/AtlaspackConfigRequest.js +27 -16
- package/lib/requests/BundleGraphRequest.js +34 -19
- package/lib/requests/ConfigRequest.js +28 -4
- package/lib/requests/DevDepRequest.js +31 -5
- package/lib/requests/EntryRequest.js +2 -0
- package/lib/requests/PackageRequest.js +2 -1
- package/lib/requests/PathRequest.js +24 -3
- package/lib/requests/TargetRequest.js +122 -57
- package/lib/requests/ValidationRequest.js +5 -1
- package/lib/requests/WriteBundleRequest.js +39 -11
- package/lib/requests/WriteBundlesRequest.js +51 -4
- package/lib/requests/asset-graph-diff.js +12 -7
- package/lib/requests/asset-graph-dot.js +1 -7
- package/lib/resolveOptions.js +36 -10
- package/lib/rustWorkerThreadDylibHack.js +0 -1
- package/lib/types/AssetGraph.d.ts +80 -0
- package/lib/types/Atlaspack.d.ts +52 -0
- package/lib/types/AtlaspackConfig.d.ts +65 -0
- package/lib/types/AtlaspackConfig.schema.d.ts +46 -0
- package/lib/types/BundleGraph.d.ts +182 -0
- package/lib/types/CommittedAsset.d.ts +23 -0
- package/lib/types/Dependency.d.ts +44 -0
- package/lib/types/Environment.d.ts +11 -0
- package/lib/types/EnvironmentManager.d.ts +37 -0
- package/lib/types/IdentifierRegistry.d.ts +6 -0
- package/lib/types/InternalConfig.d.ts +24 -0
- package/lib/types/PackagerRunner.d.ts +85 -0
- package/lib/types/ReporterRunner.d.ts +25 -0
- package/lib/types/RequestTracker.d.ts +385 -0
- package/lib/types/SymbolPropagation.d.ts +11 -0
- package/lib/types/TargetDescriptor.schema.d.ts +5 -0
- package/lib/types/Transformation.d.ts +72 -0
- package/lib/types/UncommittedAsset.d.ts +61 -0
- package/lib/types/Validation.d.ts +37 -0
- package/lib/types/applyRuntimes.d.ts +25 -0
- package/lib/types/assetUtils.d.ts +42 -0
- package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +26 -0
- package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +12 -0
- package/lib/types/atlaspack-v3/fs.d.ts +12 -0
- package/lib/types/atlaspack-v3/index.d.ts +5 -0
- package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
- package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
- package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +15 -0
- package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
- package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
- package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
- package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +37 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +22 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
- package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
- package/lib/types/atlaspack-v3/worker/worker.d.ts +60 -0
- package/lib/types/constants.d.ts +13 -0
- package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
- package/lib/types/index.d.ts +8 -0
- package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
- package/lib/types/loadDotEnv.d.ts +3 -0
- package/lib/types/projectPath.d.ts +19 -0
- package/lib/types/public/Asset.d.ts +74 -0
- package/lib/types/public/Bundle.d.ts +45 -0
- package/lib/types/public/BundleGraph.d.ts +70 -0
- package/lib/types/public/BundleGroup.d.ts +12 -0
- package/lib/types/public/Config.d.ts +75 -0
- package/lib/types/public/Dependency.d.ts +32 -0
- package/lib/types/public/Environment.d.ts +34 -0
- package/lib/types/public/MutableBundleGraph.d.ts +26 -0
- package/lib/types/public/PluginOptions.d.ts +25 -0
- package/lib/types/public/Symbols.d.ts +81 -0
- package/lib/types/public/Target.d.ts +16 -0
- package/lib/types/registerCoreWithSerializer.d.ts +2 -0
- package/lib/types/requests/AssetGraphRequest.d.ts +74 -0
- package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
- package/lib/types/requests/AssetRequest.d.ts +16 -0
- package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
- package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
- package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
- package/lib/types/requests/ConfigRequest.d.ts +59 -0
- package/lib/types/requests/DevDepRequest.d.ts +30 -0
- package/lib/types/requests/EntryRequest.d.ts +36 -0
- package/lib/types/requests/PackageRequest.d.ts +27 -0
- package/lib/types/requests/PathRequest.d.ts +48 -0
- package/lib/types/requests/TargetRequest.d.ts +48 -0
- package/lib/types/requests/ValidationRequest.d.ts +20 -0
- package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
- package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
- package/lib/types/requests/asset-graph-diff.d.ts +1 -0
- package/lib/types/requests/asset-graph-dot.d.ts +9 -0
- package/lib/types/resolveOptions.d.ts +3 -0
- package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
- package/lib/types/serializerCore.browser.d.ts +3 -0
- package/lib/types/summarizeRequest.d.ts +10 -0
- package/lib/types/types.d.ts +493 -0
- package/lib/types/utils.d.ts +23 -0
- package/lib/types/worker.d.ts +44 -0
- package/lib/types.js +8 -1
- package/lib/utils.js +17 -2
- package/lib/worker.js +29 -13
- package/package.json +24 -34
- package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
- package/src/{Atlaspack.js → Atlaspack.ts} +114 -61
- package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +16 -19
- package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
- package/src/{BundleGraph.js → BundleGraph.ts} +231 -140
- package/src/{CommittedAsset.js → CommittedAsset.ts} +14 -12
- package/src/{Dependency.js → Dependency.ts} +59 -42
- package/src/{Environment.js → Environment.ts} +24 -15
- package/src/EnvironmentManager.ts +154 -0
- package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
- package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
- package/src/{PackagerRunner.js → PackagerRunner.ts} +178 -86
- package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
- package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
- package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
- package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
- package/src/{Transformation.js → Transformation.ts} +71 -62
- package/src/{UncommittedAsset.js → UncommittedAsset.ts} +57 -36
- package/src/{Validation.js → Validation.ts} +32 -17
- package/src/{applyRuntimes.js → applyRuntimes.ts} +35 -26
- package/src/{assetUtils.js → assetUtils.ts} +47 -35
- package/src/atlaspack-v3/AtlaspackV3.ts +122 -0
- package/src/atlaspack-v3/{NapiWorkerPool.js → NapiWorkerPool.ts} +10 -5
- package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
- package/src/atlaspack-v3/{index.js → index.ts} +2 -4
- package/src/atlaspack-v3/jsCallable.ts +14 -0
- package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
- package/src/atlaspack-v3/worker/compat/{bitflags.js → bitflags.ts} +9 -10
- package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +12 -12
- package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
- package/src/atlaspack-v3/worker/compat/index.ts +9 -0
- package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +20 -19
- package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +27 -26
- package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
- package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +4 -5
- package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
- package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
- package/src/atlaspack-v3/worker/index.js +2 -1
- package/src/atlaspack-v3/worker/{worker.js → worker.ts} +102 -66
- package/src/{constants.js → constants.ts} +0 -3
- package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
- package/src/index.ts +18 -0
- package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
- package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
- package/src/{projectPath.js → projectPath.ts} +20 -9
- package/src/public/{Asset.js → Asset.ts} +40 -27
- package/src/public/{Bundle.js → Bundle.ts} +28 -29
- package/src/public/{BundleGraph.js → BundleGraph.ts} +81 -50
- package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
- package/src/public/{Config.js → Config.ts} +171 -33
- package/src/public/{Dependency.js → Dependency.ts} +20 -17
- package/src/public/{Environment.js → Environment.ts} +28 -17
- package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
- package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
- package/src/public/{Symbols.js → Symbols.ts} +75 -36
- package/src/public/{Target.js → Target.ts} +10 -8
- package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
- package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +84 -49
- package/src/requests/AssetGraphRequestRust.ts +352 -0
- package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
- package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +46 -32
- package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
- package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +71 -58
- package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +71 -50
- package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
- package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
- package/src/requests/{PackageRequest.js → PackageRequest.ts} +20 -22
- package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
- package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
- package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
- package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
- package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
- package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
- package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
- package/src/{resolveOptions.js → resolveOptions.ts} +56 -24
- package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
- package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
- package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
- package/src/types.ts +647 -0
- package/src/{utils.js → utils.ts} +52 -21
- package/src/{worker.js → worker.ts} +49 -41
- package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
- package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
- package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
- package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +75 -15
- package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
- package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
- package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
- package/test/Environment.test.ts +153 -0
- package/test/EnvironmentManager.test.ts +188 -0
- package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
- package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
- package/test/PackagerRunner.test.ts +0 -0
- package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
- package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
- package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
- package/test/PublicEnvironment.test.ts +49 -0
- package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
- package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
- package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
- package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
- package/test/fixtures/config-with-reporters/.parcelrc +7 -0
- package/test/fixtures/custom-targets/package.json +6 -0
- package/test/public/Config.test.ts +104 -0
- package/test/requests/{AssetGraphRequestRust.test.js → AssetGraphRequestRust.test.ts} +164 -134
- package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
- package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
- package/test/{test-utils.js → test-utils.ts} +4 -11
- package/test/{utils.test.js → utils.test.ts} +1 -3
- package/tsconfig.json +57 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/index.d.ts +0 -30
- package/src/atlaspack-v3/AtlaspackV3.js +0 -87
- package/src/atlaspack-v3/jsCallable.js +0 -18
- package/src/index.js +0 -13
- package/src/requests/AssetGraphRequestRust.js +0 -263
- package/src/types.js +0 -600
- package/test/Environment.test.js +0 -119
- package/test/PackagerRunner.test.js +0 -27
- package/test/PublicEnvironment.test.js +0 -27
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {
|
|
4
2
|
Blob,
|
|
5
3
|
FilePath,
|
|
@@ -26,7 +24,7 @@ import type {DevDepSpecifier} from './requests/DevDepRequest';
|
|
|
26
24
|
|
|
27
25
|
import invariant from 'assert';
|
|
28
26
|
import {createBuildCache} from '@atlaspack/build-cache';
|
|
29
|
-
import {blobToStream, TapStream} from '@atlaspack/utils';
|
|
27
|
+
import {blobToStream, debugTools, TapStream} from '@atlaspack/utils';
|
|
30
28
|
import {PluginLogger} from '@atlaspack/logger';
|
|
31
29
|
import ThrowableDiagnostic, {errorToDiagnostic} from '@atlaspack/diagnostic';
|
|
32
30
|
import {Readable} from 'stream';
|
|
@@ -53,7 +51,7 @@ import {
|
|
|
53
51
|
loadPluginConfig,
|
|
54
52
|
getConfigHash,
|
|
55
53
|
getConfigRequests,
|
|
56
|
-
|
|
54
|
+
PluginWithBundleConfig,
|
|
57
55
|
} from './requests/ConfigRequest';
|
|
58
56
|
import {
|
|
59
57
|
createDevDependency,
|
|
@@ -63,37 +61,43 @@ import {getInvalidationId, getInvalidationHash} from './assetUtils';
|
|
|
63
61
|
import {optionsProxy} from './utils';
|
|
64
62
|
import {invalidateDevDeps} from './requests/DevDepRequest';
|
|
65
63
|
import {tracer, PluginTracer} from '@atlaspack/profiler';
|
|
64
|
+
import {fromEnvironmentId} from './EnvironmentManager';
|
|
65
|
+
import {getFeatureFlag} from '@atlaspack/feature-flags';
|
|
66
66
|
|
|
67
|
-
type Opts = {
|
|
68
|
-
config: AtlaspackConfig
|
|
69
|
-
options: AtlaspackOptions
|
|
70
|
-
report: ReportFn
|
|
71
|
-
previousDevDeps: Map<string, string
|
|
72
|
-
previousInvalidations: Array<RequestInvalidation
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
export type RunPackagerRunnerResult = {
|
|
76
|
-
bundleInfo: BundleInfo
|
|
77
|
-
configRequests: Array<ConfigRequest
|
|
78
|
-
devDepRequests: Array<DevDepRequest | DevDepRequestRef
|
|
79
|
-
invalidations: Array<RequestInvalidation
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
export type BundleInfo = {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
67
|
+
type Opts = {
|
|
68
|
+
config: AtlaspackConfig;
|
|
69
|
+
options: AtlaspackOptions;
|
|
70
|
+
report: ReportFn;
|
|
71
|
+
previousDevDeps: Map<string, string>;
|
|
72
|
+
previousInvalidations: Array<RequestInvalidation>;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export type RunPackagerRunnerResult = {
|
|
76
|
+
bundleInfo: BundleInfo;
|
|
77
|
+
configRequests: Array<ConfigRequest>;
|
|
78
|
+
devDepRequests: Array<DevDepRequest | DevDepRequestRef>;
|
|
79
|
+
invalidations: Array<RequestInvalidation>;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export type BundleInfo = {
|
|
83
|
+
readonly type: string;
|
|
84
|
+
readonly size: number;
|
|
85
|
+
readonly hash: string;
|
|
86
|
+
readonly hashReferences: Array<string>;
|
|
87
|
+
readonly time?: number;
|
|
88
|
+
readonly cacheKeys: CacheKeyMap;
|
|
89
|
+
readonly isLargeBlob: boolean;
|
|
90
|
+
readonly scopeHoistingStats?: {
|
|
91
|
+
totalAssets: number;
|
|
92
|
+
wrappedAssets: number;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
type CacheKeyMap = {
|
|
97
|
+
content: string;
|
|
98
|
+
map: string;
|
|
99
|
+
info: string;
|
|
100
|
+
};
|
|
97
101
|
|
|
98
102
|
const BOUNDARY_LENGTH = HASH_REF_PREFIX.length + 32 - 1;
|
|
99
103
|
|
|
@@ -105,7 +109,9 @@ export default class PackagerRunner {
|
|
|
105
109
|
config: AtlaspackConfig;
|
|
106
110
|
options: AtlaspackOptions;
|
|
107
111
|
pluginOptions: PluginOptions;
|
|
112
|
+
// @ts-expect-error TS2564
|
|
108
113
|
distDir: FilePath;
|
|
114
|
+
// @ts-expect-error TS2564
|
|
109
115
|
distExists: Set<FilePath>;
|
|
110
116
|
report: ReportFn;
|
|
111
117
|
previousDevDeps: Map<string, string>;
|
|
@@ -175,10 +181,10 @@ export default class PackagerRunner {
|
|
|
175
181
|
async loadConfigs(
|
|
176
182
|
bundleGraph: InternalBundleGraph,
|
|
177
183
|
bundle: InternalBundle,
|
|
178
|
-
): Promise<{
|
|
179
|
-
configs: Map<string, Config
|
|
180
|
-
bundleConfigs: Map<string, Config
|
|
181
|
-
|
|
184
|
+
): Promise<{
|
|
185
|
+
configs: Map<string, Config>;
|
|
186
|
+
bundleConfigs: Map<string, Config>;
|
|
187
|
+
}> {
|
|
182
188
|
let configs = new Map();
|
|
183
189
|
let bundleConfigs = new Map();
|
|
184
190
|
|
|
@@ -218,7 +224,7 @@ export default class PackagerRunner {
|
|
|
218
224
|
}
|
|
219
225
|
}
|
|
220
226
|
|
|
221
|
-
async loadPluginConfig<T
|
|
227
|
+
async loadPluginConfig<T extends PluginWithBundleConfig>(
|
|
222
228
|
bundleGraph: InternalBundleGraph,
|
|
223
229
|
bundle: InternalBundle,
|
|
224
230
|
plugin: LoadedPlugin<T>,
|
|
@@ -229,6 +235,7 @@ export default class PackagerRunner {
|
|
|
229
235
|
// Only load config for a plugin once per build.
|
|
230
236
|
let existing = pluginConfigs.get(plugin.name);
|
|
231
237
|
if (existing != null) {
|
|
238
|
+
// @ts-expect-error TS2345
|
|
232
239
|
configs.set(plugin.name, existing);
|
|
233
240
|
} else {
|
|
234
241
|
if (plugin.plugin.loadConfig != null) {
|
|
@@ -288,7 +295,7 @@ export default class PackagerRunner {
|
|
|
288
295
|
bundle: InternalBundle,
|
|
289
296
|
configs: Map<string, Config>,
|
|
290
297
|
bundleConfigs: Map<string, Config>,
|
|
291
|
-
): Async
|
|
298
|
+
): Promise<Async<BundleInfo | null | undefined>> {
|
|
292
299
|
if (this.options.shouldDisableCache) {
|
|
293
300
|
return;
|
|
294
301
|
}
|
|
@@ -310,7 +317,7 @@ export default class PackagerRunner {
|
|
|
310
317
|
configs: Map<string, Config>,
|
|
311
318
|
bundleConfigs: Map<string, Config>,
|
|
312
319
|
): Promise<BundleInfo> {
|
|
313
|
-
let {type, contents, map} = await this.getBundleResult(
|
|
320
|
+
let {type, contents, map, scopeHoistingStats} = await this.getBundleResult(
|
|
314
321
|
bundle,
|
|
315
322
|
bundleGraph,
|
|
316
323
|
configs,
|
|
@@ -331,7 +338,13 @@ export default class PackagerRunner {
|
|
|
331
338
|
info: PackagerRunner.getInfoKey(cacheKey),
|
|
332
339
|
};
|
|
333
340
|
|
|
334
|
-
|
|
341
|
+
let cachedResult = await this.writeToCache(cacheKeys, type, contents, map);
|
|
342
|
+
|
|
343
|
+
if (debugTools['scope-hoisting-stats']) {
|
|
344
|
+
return {...cachedResult, scopeHoistingStats};
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
return cachedResult;
|
|
335
348
|
}
|
|
336
349
|
|
|
337
350
|
async getBundleResult(
|
|
@@ -339,11 +352,12 @@ export default class PackagerRunner {
|
|
|
339
352
|
bundleGraph: InternalBundleGraph,
|
|
340
353
|
configs: Map<string, Config>,
|
|
341
354
|
bundleConfigs: Map<string, Config>,
|
|
342
|
-
): Promise<{
|
|
343
|
-
type: string
|
|
344
|
-
contents: Blob
|
|
345
|
-
map:
|
|
346
|
-
|
|
355
|
+
): Promise<{
|
|
356
|
+
type: string;
|
|
357
|
+
contents: Blob;
|
|
358
|
+
map: string | null | undefined;
|
|
359
|
+
scopeHoistingStats?: BundleResult['scopeHoistingStats'];
|
|
360
|
+
}> {
|
|
347
361
|
let packaged = await this.package(
|
|
348
362
|
bundle,
|
|
349
363
|
bundleGraph,
|
|
@@ -367,11 +381,20 @@ export default class PackagerRunner {
|
|
|
367
381
|
type: res.type ?? type,
|
|
368
382
|
contents: res.contents,
|
|
369
383
|
map,
|
|
384
|
+
scopeHoistingStats: packaged.scopeHoistingStats,
|
|
370
385
|
};
|
|
371
386
|
}
|
|
372
387
|
|
|
373
|
-
getSourceMapReference(
|
|
374
|
-
|
|
388
|
+
getSourceMapReference(
|
|
389
|
+
bundle: NamedBundle,
|
|
390
|
+
map?: SourceMap | null,
|
|
391
|
+
): Async<string | null | undefined> {
|
|
392
|
+
if (
|
|
393
|
+
map &&
|
|
394
|
+
bundle.env.sourceMap &&
|
|
395
|
+
bundle.bundleBehavior !== 'inline' &&
|
|
396
|
+
bundle.bundleBehavior !== 'inlineIsolated'
|
|
397
|
+
) {
|
|
375
398
|
if (bundle.env.sourceMap && bundle.env.sourceMap.inline) {
|
|
376
399
|
return this.generateSourceMap(bundleToInternalBundle(bundle), map);
|
|
377
400
|
} else {
|
|
@@ -421,24 +444,26 @@ export default class PackagerRunner {
|
|
|
421
444
|
bundle: BundleType,
|
|
422
445
|
bundleGraph: BundleGraphType<NamedBundleType>,
|
|
423
446
|
) => {
|
|
424
|
-
if (
|
|
447
|
+
if (
|
|
448
|
+
bundle.bundleBehavior !== 'inline' &&
|
|
449
|
+
bundle.bundleBehavior !== 'inlineIsolated'
|
|
450
|
+
) {
|
|
425
451
|
throw new Error(
|
|
426
452
|
'Bundle is not inline and unable to retrieve contents',
|
|
427
453
|
);
|
|
428
454
|
}
|
|
429
455
|
|
|
430
|
-
let
|
|
456
|
+
let {contents} = await this.getBundleResult(
|
|
431
457
|
bundleToInternalBundle(bundle),
|
|
432
|
-
// $FlowFixMe
|
|
433
458
|
bundleGraphToInternalBundleGraph(bundleGraph),
|
|
434
459
|
configs,
|
|
435
460
|
bundleConfigs,
|
|
436
461
|
);
|
|
437
462
|
|
|
438
|
-
return {contents
|
|
463
|
+
return {contents};
|
|
439
464
|
},
|
|
440
465
|
});
|
|
441
|
-
} catch (e) {
|
|
466
|
+
} catch (e: any) {
|
|
442
467
|
throw new ThrowableDiagnostic({
|
|
443
468
|
diagnostic: errorToDiagnostic(e, {
|
|
444
469
|
origin: name,
|
|
@@ -469,7 +494,7 @@ export default class PackagerRunner {
|
|
|
469
494
|
internalBundleGraph: InternalBundleGraph,
|
|
470
495
|
type: string,
|
|
471
496
|
contents: Blob,
|
|
472
|
-
map
|
|
497
|
+
map: SourceMap | null | undefined,
|
|
473
498
|
configs: Map<string, Config>,
|
|
474
499
|
bundleConfigs: Map<string, Config>,
|
|
475
500
|
): Promise<BundleResult> {
|
|
@@ -532,7 +557,7 @@ export default class PackagerRunner {
|
|
|
532
557
|
optimized.type = next.type ?? optimized.type;
|
|
533
558
|
optimized.contents = next.contents;
|
|
534
559
|
optimized.map = next.map;
|
|
535
|
-
} catch (e) {
|
|
560
|
+
} catch (e: any) {
|
|
536
561
|
throw new ThrowableDiagnostic({
|
|
537
562
|
diagnostic: errorToDiagnostic(e, {
|
|
538
563
|
origin: optimizer.name,
|
|
@@ -577,36 +602,47 @@ export default class PackagerRunner {
|
|
|
577
602
|
);
|
|
578
603
|
let inlineSources = false;
|
|
579
604
|
|
|
605
|
+
const bundleEnv = fromEnvironmentId(bundle.env);
|
|
580
606
|
if (bundle.target) {
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
sourceRoot = bundle.env.sourceMap.sourceRoot;
|
|
607
|
+
const bundleTargetEnv = fromEnvironmentId(bundle.target.env);
|
|
608
|
+
|
|
609
|
+
if (bundleEnv.sourceMap && bundleEnv.sourceMap.sourceRoot !== undefined) {
|
|
610
|
+
sourceRoot = bundleEnv.sourceMap.sourceRoot;
|
|
586
611
|
} else if (
|
|
587
612
|
this.options.serveOptions &&
|
|
588
|
-
|
|
613
|
+
bundleTargetEnv.context === 'browser'
|
|
589
614
|
) {
|
|
590
615
|
sourceRoot = '/__parcel_source_root';
|
|
591
616
|
}
|
|
592
617
|
|
|
593
618
|
if (
|
|
594
|
-
|
|
595
|
-
|
|
619
|
+
bundleEnv.sourceMap &&
|
|
620
|
+
bundleEnv.sourceMap.inlineSources !== undefined
|
|
596
621
|
) {
|
|
597
|
-
inlineSources =
|
|
598
|
-
} else if (
|
|
622
|
+
inlineSources = bundleEnv.sourceMap.inlineSources;
|
|
623
|
+
} else if (bundleTargetEnv.context !== 'node') {
|
|
599
624
|
// inlining should only happen in production for browser targets by default
|
|
600
625
|
inlineSources = this.options.mode === 'production';
|
|
601
626
|
}
|
|
602
627
|
}
|
|
603
628
|
|
|
604
629
|
let mapFilename = fullPath + '.map';
|
|
605
|
-
let isInlineMap =
|
|
630
|
+
let isInlineMap = bundleEnv.sourceMap && bundleEnv.sourceMap.inline;
|
|
631
|
+
|
|
632
|
+
if (getFeatureFlag('omitSourcesContentInMemory') && !isInlineMap) {
|
|
633
|
+
if (
|
|
634
|
+
!(bundleEnv.sourceMap && bundleEnv.sourceMap.inlineSources === false)
|
|
635
|
+
) {
|
|
636
|
+
/*
|
|
637
|
+
We're omitting sourcesContent during transformation to allow GC to run.
|
|
638
|
+
Ensure sources are still inlined into the final source maps written to disk. UNLESS the user explicitly disabled inlineSources.
|
|
639
|
+
*/
|
|
640
|
+
inlineSources = true;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
606
643
|
|
|
607
644
|
let stringified = await map.stringify({
|
|
608
645
|
file: path.basename(mapFilename),
|
|
609
|
-
// $FlowFixMe
|
|
610
646
|
fs: this.options.inputFS,
|
|
611
647
|
rootDir: this.options.projectRoot,
|
|
612
648
|
sourceRoot: !inlineSources
|
|
@@ -627,7 +663,7 @@ export default class PackagerRunner {
|
|
|
627
663
|
bundleConfigs: Map<string, Config>,
|
|
628
664
|
invalidations: Array<RequestInvalidation>,
|
|
629
665
|
): Promise<string> {
|
|
630
|
-
let configResults = {};
|
|
666
|
+
let configResults: Record<string, any> = {};
|
|
631
667
|
for (let [pluginName, config] of configs) {
|
|
632
668
|
if (config) {
|
|
633
669
|
configResults[pluginName] = await getConfigHash(
|
|
@@ -637,7 +673,7 @@ export default class PackagerRunner {
|
|
|
637
673
|
);
|
|
638
674
|
}
|
|
639
675
|
}
|
|
640
|
-
let globalInfoResults = {};
|
|
676
|
+
let globalInfoResults: Record<string, any> = {};
|
|
641
677
|
for (let [pluginName, config] of bundleConfigs) {
|
|
642
678
|
if (config) {
|
|
643
679
|
globalInfoResults[pluginName] = await getConfigHash(
|
|
@@ -658,6 +694,21 @@ export default class PackagerRunner {
|
|
|
658
694
|
this.options,
|
|
659
695
|
);
|
|
660
696
|
|
|
697
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
698
|
+
const hash = hashString(
|
|
699
|
+
ATLASPACK_VERSION +
|
|
700
|
+
devDepHashes +
|
|
701
|
+
invalidationHash +
|
|
702
|
+
bundle.target.publicUrl +
|
|
703
|
+
bundleGraph.getHash(bundle) +
|
|
704
|
+
JSON.stringify(configResults) +
|
|
705
|
+
JSON.stringify(globalInfoResults) +
|
|
706
|
+
this.options.mode +
|
|
707
|
+
(this.options.shouldBuildLazily ? 'lazy' : 'eager'),
|
|
708
|
+
);
|
|
709
|
+
return path.join(bundle.displayName ?? bundle.name ?? bundle.id, hash);
|
|
710
|
+
}
|
|
711
|
+
|
|
661
712
|
return hashString(
|
|
662
713
|
ATLASPACK_VERSION +
|
|
663
714
|
devDepHashes +
|
|
@@ -692,28 +743,39 @@ export default class PackagerRunner {
|
|
|
692
743
|
return devDepHashes;
|
|
693
744
|
}
|
|
694
745
|
|
|
695
|
-
async readFromCache(cacheKey: string): Promise
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
746
|
+
async readFromCache(cacheKey: string): Promise<
|
|
747
|
+
| {
|
|
748
|
+
contents: Readable;
|
|
749
|
+
map: Readable | null | undefined;
|
|
750
|
+
}
|
|
751
|
+
| null
|
|
752
|
+
| undefined
|
|
753
|
+
> {
|
|
699
754
|
let contentKey = PackagerRunner.getContentKey(cacheKey);
|
|
700
755
|
let mapKey = PackagerRunner.getMapKey(cacheKey);
|
|
701
756
|
|
|
702
757
|
let isLargeBlob = await this.options.cache.hasLargeBlob(contentKey);
|
|
703
|
-
let contentExists =
|
|
704
|
-
isLargeBlob
|
|
758
|
+
let contentExists = getFeatureFlag('cachePerformanceImprovements')
|
|
759
|
+
? isLargeBlob
|
|
760
|
+
: isLargeBlob || (await this.options.cache.has(contentKey));
|
|
705
761
|
if (!contentExists) {
|
|
706
762
|
return null;
|
|
707
763
|
}
|
|
708
764
|
|
|
709
|
-
let mapExists =
|
|
765
|
+
let mapExists = getFeatureFlag('cachePerformanceImprovements')
|
|
766
|
+
? await this.options.cache.hasLargeBlob(mapKey)
|
|
767
|
+
: await this.options.cache.has(mapKey);
|
|
710
768
|
|
|
711
769
|
return {
|
|
712
770
|
contents: isLargeBlob
|
|
713
771
|
? this.options.cache.getStream(contentKey)
|
|
714
772
|
: blobToStream(await this.options.cache.getBlob(contentKey)),
|
|
715
773
|
map: mapExists
|
|
716
|
-
? blobToStream(
|
|
774
|
+
? blobToStream(
|
|
775
|
+
getFeatureFlag('cachePerformanceImprovements')
|
|
776
|
+
? await this.options.cache.getLargeBlob(mapKey)
|
|
777
|
+
: await this.options.cache.getBlob(mapKey),
|
|
778
|
+
)
|
|
717
779
|
: null,
|
|
718
780
|
};
|
|
719
781
|
}
|
|
@@ -722,22 +784,27 @@ export default class PackagerRunner {
|
|
|
722
784
|
cacheKeys: CacheKeyMap,
|
|
723
785
|
type: string,
|
|
724
786
|
contents: Blob,
|
|
725
|
-
map
|
|
787
|
+
map?: string | null,
|
|
726
788
|
): Promise<BundleInfo> {
|
|
727
789
|
let size = 0;
|
|
728
790
|
let hash;
|
|
729
|
-
|
|
730
|
-
let
|
|
791
|
+
// @ts-expect-error TS2702
|
|
792
|
+
let hashReferences: RegExp.matchResult | Array<string> = [];
|
|
793
|
+
let isLargeBlob = getFeatureFlag('cachePerformanceImprovements');
|
|
731
794
|
|
|
732
795
|
// TODO: don't replace hash references in binary files??
|
|
733
796
|
if (contents instanceof Readable) {
|
|
734
|
-
|
|
797
|
+
if (!getFeatureFlag('cachePerformanceImprovements')) {
|
|
798
|
+
isLargeBlob = true;
|
|
799
|
+
}
|
|
800
|
+
|
|
735
801
|
let boundaryStr = '';
|
|
736
802
|
let h = new Hash();
|
|
737
803
|
await this.options.cache.setStream(
|
|
738
804
|
cacheKeys.content,
|
|
739
805
|
blobToStream(contents).pipe(
|
|
740
|
-
|
|
806
|
+
// @ts-expect-error TS2554
|
|
807
|
+
new TapStream((buf: Buffer) => {
|
|
741
808
|
let str = boundaryStr + buf.toString();
|
|
742
809
|
hashReferences = hashReferences.concat(
|
|
743
810
|
str.match(HASH_REF_REGEX) ?? [],
|
|
@@ -754,17 +821,32 @@ export default class PackagerRunner {
|
|
|
754
821
|
size = buffer.byteLength;
|
|
755
822
|
hash = hashBuffer(buffer);
|
|
756
823
|
hashReferences = contents.match(HASH_REF_REGEX) ?? [];
|
|
757
|
-
|
|
824
|
+
|
|
825
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
826
|
+
await this.options.cache.setLargeBlob(cacheKeys.content, buffer);
|
|
827
|
+
} else {
|
|
828
|
+
await this.options.cache.setBlob(cacheKeys.content, buffer);
|
|
829
|
+
}
|
|
758
830
|
} else {
|
|
759
831
|
size = contents.length;
|
|
760
832
|
hash = hashBuffer(contents);
|
|
761
833
|
hashReferences = contents.toString().match(HASH_REF_REGEX) ?? [];
|
|
762
|
-
|
|
834
|
+
|
|
835
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
836
|
+
await this.options.cache.setLargeBlob(cacheKeys.content, contents);
|
|
837
|
+
} else {
|
|
838
|
+
await this.options.cache.setBlob(cacheKeys.content, contents);
|
|
839
|
+
}
|
|
763
840
|
}
|
|
764
841
|
|
|
765
842
|
if (map != null) {
|
|
766
|
-
|
|
843
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
844
|
+
await this.options.cache.setLargeBlob(cacheKeys.map, map);
|
|
845
|
+
} else {
|
|
846
|
+
await this.options.cache.setBlob(cacheKeys.map, map);
|
|
847
|
+
}
|
|
767
848
|
}
|
|
849
|
+
|
|
768
850
|
let info = {
|
|
769
851
|
type,
|
|
770
852
|
size,
|
|
@@ -773,19 +855,29 @@ export default class PackagerRunner {
|
|
|
773
855
|
cacheKeys,
|
|
774
856
|
isLargeBlob,
|
|
775
857
|
};
|
|
858
|
+
|
|
776
859
|
await this.options.cache.set(cacheKeys.info, info);
|
|
777
860
|
return info;
|
|
778
861
|
}
|
|
779
862
|
|
|
780
863
|
static getContentKey(cacheKey: string): string {
|
|
864
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
865
|
+
return `PackagerRunner/${ATLASPACK_VERSION}/${cacheKey}/content`;
|
|
866
|
+
}
|
|
781
867
|
return hashString(`${cacheKey}:content`);
|
|
782
868
|
}
|
|
783
869
|
|
|
784
870
|
static getMapKey(cacheKey: string): string {
|
|
871
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
872
|
+
return `PackagerRunner/${ATLASPACK_VERSION}/${cacheKey}/map`;
|
|
873
|
+
}
|
|
785
874
|
return hashString(`${cacheKey}:map`);
|
|
786
875
|
}
|
|
787
876
|
|
|
788
877
|
static getInfoKey(cacheKey: string): string {
|
|
878
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
879
|
+
return `PackagerRunner/${ATLASPACK_VERSION}/${cacheKey}/info`;
|
|
880
|
+
}
|
|
789
881
|
return hashString(`${cacheKey}:info`);
|
|
790
882
|
}
|
|
791
883
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {ReporterEvent, Reporter} from '@atlaspack/types';
|
|
4
2
|
import type {WorkerApi} from '@atlaspack/workers';
|
|
5
3
|
import type {Bundle as InternalBundle, AtlaspackOptions} from './types';
|
|
@@ -23,11 +21,11 @@ import BundleGraph from './BundleGraph';
|
|
|
23
21
|
import {tracer, PluginTracer} from '@atlaspack/profiler';
|
|
24
22
|
import {anyToDiagnostic} from '@atlaspack/diagnostic';
|
|
25
23
|
|
|
26
|
-
type Opts = {
|
|
27
|
-
options: AtlaspackOptions
|
|
28
|
-
reporters: Array<LoadedPlugin<Reporter
|
|
29
|
-
workerFarm: WorkerFarm
|
|
30
|
-
|
|
24
|
+
type Opts = {
|
|
25
|
+
options: AtlaspackOptions;
|
|
26
|
+
reporters: Array<LoadedPlugin<Reporter>>;
|
|
27
|
+
workerFarm: WorkerFarm;
|
|
28
|
+
};
|
|
31
29
|
|
|
32
30
|
const instances: Set<ReporterRunner> = new Set();
|
|
33
31
|
|
|
@@ -58,24 +56,21 @@ export default class ReporterRunner {
|
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
58
|
|
|
61
|
-
eventHandler: (ReporterEvent) => void = (event): void => {
|
|
59
|
+
eventHandler: (arg1: ReporterEvent) => void = (event): void => {
|
|
62
60
|
if (
|
|
63
61
|
event.type === 'buildProgress' &&
|
|
64
62
|
(event.phase === 'optimizing' || event.phase === 'packaging') &&
|
|
65
63
|
!(event.bundle instanceof NamedBundle)
|
|
66
64
|
) {
|
|
67
|
-
//
|
|
65
|
+
// @ts-expect-error TS2339
|
|
68
66
|
let bundleGraphRef = event.bundleGraphRef;
|
|
69
|
-
//
|
|
67
|
+
// @ts-expect-error TS2739
|
|
70
68
|
let bundle: InternalBundle = event.bundle;
|
|
71
69
|
// Convert any internal bundles back to their public equivalents as reporting
|
|
72
70
|
// is public api
|
|
73
|
-
let bundleGraph =
|
|
74
|
-
|
|
75
|
-
bundleGraphRef,
|
|
76
|
-
);
|
|
71
|
+
let bundleGraph =
|
|
72
|
+
this.workerFarm.workerApi.getSharedReference(bundleGraphRef);
|
|
77
73
|
invariant(bundleGraph instanceof BundleGraph);
|
|
78
|
-
// $FlowFixMe[incompatible-call]
|
|
79
74
|
this.report({
|
|
80
75
|
...event,
|
|
81
76
|
bundle: NamedBundle.get(bundle, bundleGraph, this.options),
|
|
@@ -88,11 +83,12 @@ export default class ReporterRunner {
|
|
|
88
83
|
|
|
89
84
|
async report(unsanitisedEvent: ReporterEvent) {
|
|
90
85
|
let event: ReporterEvent = unsanitisedEvent;
|
|
86
|
+
// @ts-expect-error TS2339
|
|
91
87
|
if (event.diagnostics) {
|
|
92
88
|
// Sanitise input before passing to reporters
|
|
93
|
-
// $FlowFixMe too complex to narrow down by type
|
|
94
89
|
event = {
|
|
95
90
|
...event,
|
|
91
|
+
// @ts-expect-error TS2322
|
|
96
92
|
diagnostics: anyToDiagnostic(event.diagnostics),
|
|
97
93
|
};
|
|
98
94
|
}
|
|
@@ -105,7 +101,6 @@ export default class ReporterRunner {
|
|
|
105
101
|
measurement = tracer.createMeasurement(reporter.name, 'reporter');
|
|
106
102
|
}
|
|
107
103
|
await reporter.plugin.report({
|
|
108
|
-
// $FlowFixMe
|
|
109
104
|
event,
|
|
110
105
|
options: this.pluginOptions,
|
|
111
106
|
logger: new PluginLogger({origin: reporter.name}),
|
|
@@ -114,7 +109,7 @@ export default class ReporterRunner {
|
|
|
114
109
|
category: 'reporter',
|
|
115
110
|
}),
|
|
116
111
|
});
|
|
117
|
-
} catch (reportError) {
|
|
112
|
+
} catch (reportError: any) {
|
|
118
113
|
if (event.type !== 'buildSuccess') {
|
|
119
114
|
// This will be captured by consumers
|
|
120
115
|
INTERNAL_ORIGINAL_CONSOLE.error(reportError);
|