@atlaspack/core 2.16.2-canary.37 → 2.16.2-canary.371
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 +941 -0
- package/dist/AssetGraph.js +591 -0
- package/dist/Atlaspack.js +666 -0
- package/dist/AtlaspackConfig.js +324 -0
- package/dist/AtlaspackConfig.schema.js +117 -0
- package/dist/BundleGraph.js +1740 -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 +514 -0
- package/dist/UncommittedAsset.js +315 -0
- package/dist/Validation.js +196 -0
- package/dist/applyRuntimes.js +383 -0
- package/dist/assetUtils.js +169 -0
- package/dist/atlaspack-v3/AtlaspackV3.js +74 -0
- package/dist/atlaspack-v3/NapiWorkerPool.js +81 -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 +98 -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 +64 -0
- package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
- package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -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/side-effect-detector.js +243 -0
- package/dist/atlaspack-v3/worker/worker.js +381 -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 +371 -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 +439 -0
- package/dist/requests/AssetGraphRequestRust.js +273 -0
- package/dist/requests/AssetRequest.js +130 -0
- package/dist/requests/AtlaspackBuildRequest.js +92 -0
- package/dist/requests/AtlaspackConfigRequest.js +493 -0
- package/dist/requests/BundleGraphRequest.js +447 -0
- package/dist/requests/ConfigRequest.js +246 -0
- package/dist/requests/DevDepRequest.js +204 -0
- package/dist/requests/EntryRequest.js +314 -0
- package/dist/requests/PackageRequest.js +72 -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 +269 -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 +94 -41
- package/lib/AtlaspackConfig.js +15 -3
- package/lib/AtlaspackConfig.schema.js +16 -5
- package/lib/BundleGraph.js +197 -32
- package/lib/CommittedAsset.js +7 -1
- 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 +66 -15
- package/lib/UncommittedAsset.js +33 -12
- package/lib/Validation.js +18 -2
- package/lib/applyRuntimes.js +96 -4
- package/lib/assetUtils.js +15 -5
- package/lib/atlaspack-v3/AtlaspackV3.js +52 -14
- package/lib/atlaspack-v3/NapiWorkerPool.js +28 -1
- 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 +31 -25
- package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
- package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
- package/lib/atlaspack-v3/worker/compat/mutable-asset.js +15 -10
- package/lib/atlaspack-v3/worker/compat/plugin-config.js +13 -34
- package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -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/side-effect-detector.js +215 -0
- package/lib/atlaspack-v3/worker/worker.js +199 -71
- 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 +25 -22
- 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 +74 -27
- package/lib/requests/AssetGraphRequestRust.js +140 -64
- package/lib/requests/AssetRequest.js +23 -6
- package/lib/requests/AtlaspackBuildRequest.js +43 -4
- package/lib/requests/AtlaspackConfigRequest.js +27 -16
- package/lib/requests/BundleGraphRequest.js +41 -24
- package/lib/requests/ConfigRequest.js +53 -4
- package/lib/requests/DevDepRequest.js +31 -5
- package/lib/requests/EntryRequest.js +2 -0
- package/lib/requests/PackageRequest.js +16 -2
- 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 +38 -11
- 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 +53 -0
- package/lib/types/BundleGraph.d.ts +184 -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 +23 -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 +34 -0
- package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
- package/lib/types/atlaspack-v3/fs.d.ts +12 -0
- package/lib/types/atlaspack-v3/index.d.ts +6 -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 +14 -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 +29 -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 +23 -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/side-effect-detector.d.ts +76 -0
- package/lib/types/atlaspack-v3/worker/worker.d.ts +80 -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 +72 -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 +76 -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 +67 -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 +495 -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 +30 -14
- package/package.json +25 -35
- package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
- package/src/{Atlaspack.js → Atlaspack.ts} +134 -67
- package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
- package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
- package/src/{BundleGraph.js → BundleGraph.ts} +383 -140
- package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
- 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} +179 -87
- 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} +110 -65
- package/src/{UncommittedAsset.js → UncommittedAsset.ts} +60 -39
- package/src/{Validation.js → Validation.ts} +32 -17
- package/src/{applyRuntimes.js → applyRuntimes.ts} +133 -26
- package/src/{assetUtils.js → assetUtils.ts} +49 -36
- package/src/atlaspack-v3/AtlaspackV3.ts +143 -0
- package/src/atlaspack-v3/NapiWorkerPool.ts +91 -0
- package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
- package/src/atlaspack-v3/{index.js → index.ts} +3 -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.ts +102 -0
- package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
- 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} +21 -20
- package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
- 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} +19 -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/side-effect-detector.ts +298 -0
- package/src/atlaspack-v3/worker/worker.ts +531 -0
- 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} +41 -28
- package/src/public/{Bundle.js → Bundle.ts} +28 -29
- package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
- 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} +129 -80
- package/src/requests/AssetGraphRequestRust.ts +364 -0
- package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
- package/src/requests/AtlaspackBuildRequest.ts +163 -0
- package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
- package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +97 -79
- package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -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} +34 -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} +59 -25
- 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 +650 -0
- package/src/{utils.js → utils.ts} +52 -21
- package/src/{worker.js → worker.ts} +50 -42
- 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} +76 -16
- 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.ts +443 -0
- 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 +60 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/index.d.ts +0 -30
- package/src/atlaspack-v3/AtlaspackV3.js +0 -87
- package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
- package/src/atlaspack-v3/jsCallable.js +0 -18
- package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
- package/src/atlaspack-v3/worker/worker.js +0 -362
- package/src/index.js +0 -13
- package/src/requests/AssetGraphRequestRust.js +0 -263
- package/src/requests/AtlaspackBuildRequest.js +0 -111
- 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
- package/test/requests/AssetGraphRequestRust.test.js +0 -411
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
1
|
import type {
|
|
3
2
|
Async,
|
|
4
3
|
FilePath,
|
|
@@ -13,6 +12,7 @@ import type {
|
|
|
13
12
|
PureAtlaspackConfigPipeline,
|
|
14
13
|
AtlaspackOptions,
|
|
15
14
|
ProcessedAtlaspackConfig,
|
|
15
|
+
AtlaspackPluginNode,
|
|
16
16
|
} from '../types';
|
|
17
17
|
|
|
18
18
|
import {createBuildCache} from '@atlaspack/build-cache';
|
|
@@ -40,33 +40,33 @@ import {toProjectPath} from '../projectPath';
|
|
|
40
40
|
import {requestTypes} from '../RequestTracker';
|
|
41
41
|
import {optionsProxy} from '../utils';
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
// @ts-expect-error TS2344
|
|
44
|
+
type ConfigMap<K, V> = Partial<Record<K, V>>;
|
|
44
45
|
|
|
45
|
-
export type ConfigAndCachePath = {
|
|
46
|
-
config: ProcessedAtlaspackConfig
|
|
47
|
-
cachePath: string
|
|
48
|
-
|
|
46
|
+
export type ConfigAndCachePath = {
|
|
47
|
+
config: ProcessedAtlaspackConfig;
|
|
48
|
+
cachePath: string;
|
|
49
|
+
};
|
|
49
50
|
|
|
50
|
-
type RunOpts<TResult> = {
|
|
51
|
-
input: null
|
|
52
|
-
|
|
53
|
-
|};
|
|
51
|
+
type RunOpts<TResult> = {
|
|
52
|
+
input: null;
|
|
53
|
+
} & StaticRunOpts<TResult>;
|
|
54
54
|
|
|
55
|
-
export type AtlaspackConfigRequest = {
|
|
56
|
-
id: string
|
|
57
|
-
type: typeof requestTypes.atlaspack_config_request
|
|
58
|
-
input: null
|
|
55
|
+
export type AtlaspackConfigRequest = {
|
|
56
|
+
id: string;
|
|
57
|
+
type: typeof requestTypes.atlaspack_config_request;
|
|
58
|
+
input: null;
|
|
59
59
|
run: (
|
|
60
|
-
RunOpts<AtlaspackConfigRequestResult>,
|
|
61
|
-
) => Async<AtlaspackConfigRequestResult
|
|
62
|
-
|
|
60
|
+
arg1: RunOpts<AtlaspackConfigRequestResult>,
|
|
61
|
+
) => Async<AtlaspackConfigRequestResult>;
|
|
62
|
+
};
|
|
63
63
|
|
|
64
64
|
export type AtlaspackConfigRequestResult = ConfigAndCachePath;
|
|
65
65
|
|
|
66
|
-
type AtlaspackConfigChain = {
|
|
67
|
-
config: ProcessedAtlaspackConfig
|
|
68
|
-
extendedFiles: Array<FilePath
|
|
69
|
-
|
|
66
|
+
type AtlaspackConfigChain = {
|
|
67
|
+
config: ProcessedAtlaspackConfig;
|
|
68
|
+
extendedFiles: Array<FilePath>;
|
|
69
|
+
};
|
|
70
70
|
|
|
71
71
|
const type = 'atlaspack_config_request';
|
|
72
72
|
|
|
@@ -79,10 +79,9 @@ export default function createAtlaspackConfigRequest(): AtlaspackConfigRequest {
|
|
|
79
79
|
config,
|
|
80
80
|
extendedFiles,
|
|
81
81
|
usedDefault,
|
|
82
|
-
}: {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|} = await loadAtlaspackConfig(
|
|
82
|
+
}: AtlaspackConfigChain & {
|
|
83
|
+
usedDefault: boolean;
|
|
84
|
+
} = await loadAtlaspackConfig(
|
|
86
85
|
optionsProxy(options, api.invalidateOnOptionChange),
|
|
87
86
|
);
|
|
88
87
|
|
|
@@ -122,18 +121,22 @@ export function getCachedAtlaspackConfig(
|
|
|
122
121
|
let {config: processedConfig, cachePath} = result;
|
|
123
122
|
let config = atlaspackConfigCache.get(cachePath);
|
|
124
123
|
if (config) {
|
|
124
|
+
// @ts-expect-error TS2740
|
|
125
125
|
return config;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
config = new AtlaspackConfig(processedConfig, options);
|
|
129
129
|
|
|
130
130
|
atlaspackConfigCache.set(cachePath, config);
|
|
131
|
+
// @ts-expect-error TS2322
|
|
131
132
|
return config;
|
|
132
133
|
}
|
|
133
134
|
|
|
134
|
-
export async function loadAtlaspackConfig(
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
export async function loadAtlaspackConfig(options: AtlaspackOptions): Promise<
|
|
136
|
+
AtlaspackConfigChain & {
|
|
137
|
+
usedDefault: boolean;
|
|
138
|
+
}
|
|
139
|
+
> {
|
|
137
140
|
let atlaspackConfig = await resolveAtlaspackConfig(options);
|
|
138
141
|
|
|
139
142
|
if (!atlaspackConfig) {
|
|
@@ -145,7 +148,13 @@ export async function loadAtlaspackConfig(
|
|
|
145
148
|
|
|
146
149
|
export async function resolveAtlaspackConfig(
|
|
147
150
|
options: AtlaspackOptions,
|
|
148
|
-
): Promise
|
|
151
|
+
): Promise<
|
|
152
|
+
| (AtlaspackConfigChain & {
|
|
153
|
+
usedDefault: boolean;
|
|
154
|
+
})
|
|
155
|
+
| null
|
|
156
|
+
| undefined
|
|
157
|
+
> {
|
|
149
158
|
let resolveFrom = getResolveFrom(options.inputFS, options.projectRoot);
|
|
150
159
|
let configPath =
|
|
151
160
|
options.config != null
|
|
@@ -173,7 +182,7 @@ export async function resolveAtlaspackConfig(
|
|
|
173
182
|
let contents;
|
|
174
183
|
try {
|
|
175
184
|
contents = await options.inputFS.readFile(configPath, 'utf8');
|
|
176
|
-
} catch (e) {
|
|
185
|
+
} catch (e: any) {
|
|
177
186
|
throw new ThrowableDiagnostic({
|
|
178
187
|
diagnostic: {
|
|
179
188
|
message: md`Could not find parcel config at ${path.relative(
|
|
@@ -189,13 +198,19 @@ export async function resolveAtlaspackConfig(
|
|
|
189
198
|
await parseAndProcessConfig(configPath, contents, options);
|
|
190
199
|
|
|
191
200
|
if (options.additionalReporters.length > 0) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
201
|
+
const reporterMap = new Map<PackageName, AtlaspackPluginNode>();
|
|
202
|
+
|
|
203
|
+
options.additionalReporters.forEach(({packageName, resolveFrom}) => {
|
|
204
|
+
reporterMap.set(packageName, {packageName, resolveFrom});
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
config.reporters?.forEach((reporter) => {
|
|
208
|
+
if (!reporterMap.has(reporter.packageName)) {
|
|
209
|
+
reporterMap.set(reporter.packageName, reporter);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
config.reporters = Array.from(reporterMap.values());
|
|
199
214
|
}
|
|
200
215
|
|
|
201
216
|
return {config, extendedFiles, usedDefault};
|
|
@@ -217,7 +232,7 @@ export async function parseAndProcessConfig(
|
|
|
217
232
|
let config: RawAtlaspackConfig;
|
|
218
233
|
try {
|
|
219
234
|
config = parse(contents);
|
|
220
|
-
} catch (e) {
|
|
235
|
+
} catch (e: any) {
|
|
221
236
|
let pos = {
|
|
222
237
|
line: e.lineNumber,
|
|
223
238
|
column: e.columnNumber,
|
|
@@ -249,13 +264,12 @@ export async function parseAndProcessConfig(
|
|
|
249
264
|
|
|
250
265
|
function processPipeline(
|
|
251
266
|
options: AtlaspackOptions,
|
|
252
|
-
pipeline:
|
|
267
|
+
pipeline: Array<PackageName> | null | undefined,
|
|
253
268
|
keyPath: string,
|
|
254
269
|
filePath: FilePath,
|
|
255
270
|
) {
|
|
256
271
|
if (pipeline) {
|
|
257
272
|
return pipeline.map((pkg, i) => {
|
|
258
|
-
// $FlowFixMe
|
|
259
273
|
if (pkg === '...') return pkg;
|
|
260
274
|
|
|
261
275
|
return {
|
|
@@ -278,16 +292,13 @@ const RESERVED_PIPELINES = new Set([
|
|
|
278
292
|
]);
|
|
279
293
|
|
|
280
294
|
async function processMap(
|
|
281
|
-
|
|
282
|
-
map: ?ConfigMap<any, any>,
|
|
295
|
+
map: ConfigMap<any, any> | null | undefined,
|
|
283
296
|
keyPath: string,
|
|
284
297
|
filePath: FilePath,
|
|
285
298
|
options: AtlaspackOptions,
|
|
286
|
-
// $FlowFixMe
|
|
287
299
|
): Promise<ConfigMap<any, any> | typeof undefined> {
|
|
288
300
|
if (!map) return undefined;
|
|
289
301
|
|
|
290
|
-
// $FlowFixMe
|
|
291
302
|
let res: ConfigMap<any, any> = {};
|
|
292
303
|
for (let k in map) {
|
|
293
304
|
let i = k.indexOf(':');
|
|
@@ -346,6 +357,7 @@ export async function processConfig(
|
|
|
346
357
|
: {
|
|
347
358
|
/*::...null*/
|
|
348
359
|
}),
|
|
360
|
+
// @ts-expect-error TS2322
|
|
349
361
|
resolvers: processPipeline(
|
|
350
362
|
options,
|
|
351
363
|
configFile.resolvers,
|
|
@@ -369,12 +381,14 @@ export async function processConfig(
|
|
|
369
381
|
keyPath: '/bundler',
|
|
370
382
|
}
|
|
371
383
|
: undefined,
|
|
384
|
+
// @ts-expect-error TS2322
|
|
372
385
|
namers: processPipeline(
|
|
373
386
|
options,
|
|
374
387
|
configFile.namers,
|
|
375
388
|
'/namers',
|
|
376
389
|
configFile.filePath,
|
|
377
390
|
),
|
|
391
|
+
// @ts-expect-error TS2322
|
|
378
392
|
runtimes: processPipeline(
|
|
379
393
|
options,
|
|
380
394
|
configFile.runtimes,
|
|
@@ -399,6 +413,7 @@ export async function processConfig(
|
|
|
399
413
|
configFile.filePath,
|
|
400
414
|
options,
|
|
401
415
|
),
|
|
416
|
+
// @ts-expect-error TS2322
|
|
402
417
|
reporters: processPipeline(
|
|
403
418
|
options,
|
|
404
419
|
configFile.reporters,
|
|
@@ -437,7 +452,7 @@ export async function processConfigChain(
|
|
|
437
452
|
let exts = Array.isArray(configFile.extends)
|
|
438
453
|
? configFile.extends
|
|
439
454
|
: [configFile.extends];
|
|
440
|
-
let errors = [];
|
|
455
|
+
let errors: Array<any> = [];
|
|
441
456
|
if (exts.length !== 0) {
|
|
442
457
|
let extStartConfig;
|
|
443
458
|
let i = 0;
|
|
@@ -454,7 +469,7 @@ export async function processConfigChain(
|
|
|
454
469
|
extStartConfig = extStartConfig
|
|
455
470
|
? mergeConfigs(extStartConfig, nextConfig)
|
|
456
471
|
: nextConfig;
|
|
457
|
-
} catch (err) {
|
|
472
|
+
} catch (err: any) {
|
|
458
473
|
errors.push(err);
|
|
459
474
|
}
|
|
460
475
|
|
|
@@ -491,7 +506,7 @@ export async function resolveExtends(
|
|
|
491
506
|
try {
|
|
492
507
|
let {resolved} = await options.packageManager.resolve(ext, configPath);
|
|
493
508
|
return options.inputFS.realpath(resolved);
|
|
494
|
-
} catch (err) {
|
|
509
|
+
} catch (err: any) {
|
|
495
510
|
let parentContents = await options.inputFS.readFile(configPath, 'utf8');
|
|
496
511
|
let alternatives = await findAlternativeNodeModules(
|
|
497
512
|
options.inputFS,
|
|
@@ -539,7 +554,7 @@ async function processExtendedConfig(
|
|
|
539
554
|
resolvedExtendedConfigPath,
|
|
540
555
|
'utf8',
|
|
541
556
|
);
|
|
542
|
-
} catch (e) {
|
|
557
|
+
} catch (e: any) {
|
|
543
558
|
let parentContents = await options.inputFS.readFile(configPath, 'utf8');
|
|
544
559
|
let alternatives = await findAlternativeFiles(
|
|
545
560
|
options.inputFS,
|
|
@@ -580,7 +595,7 @@ export function validateConfigFile(
|
|
|
580
595
|
) {
|
|
581
596
|
try {
|
|
582
597
|
validateNotEmpty(config, relativePath);
|
|
583
|
-
} catch (e) {
|
|
598
|
+
} catch (e: any) {
|
|
584
599
|
throw new ThrowableDiagnostic({
|
|
585
600
|
diagnostic: {
|
|
586
601
|
message: e.message,
|
|
@@ -650,8 +665,8 @@ function assertPurePipeline(
|
|
|
650
665
|
}
|
|
651
666
|
|
|
652
667
|
export function mergePipelines(
|
|
653
|
-
base
|
|
654
|
-
ext
|
|
668
|
+
base?: ExtendableAtlaspackConfigPipeline | null,
|
|
669
|
+
ext?: ExtendableAtlaspackConfigPipeline | null,
|
|
655
670
|
): ExtendableAtlaspackConfigPipeline {
|
|
656
671
|
if (ext == null) {
|
|
657
672
|
return base ?? [];
|
|
@@ -676,9 +691,9 @@ export function mergePipelines(
|
|
|
676
691
|
}
|
|
677
692
|
}
|
|
678
693
|
|
|
679
|
-
export function mergeMaps<K
|
|
680
|
-
base
|
|
681
|
-
ext
|
|
694
|
+
export function mergeMaps<K extends string, V>(
|
|
695
|
+
base?: ConfigMap<K, V> | null,
|
|
696
|
+
ext?: ConfigMap<K, V> | null,
|
|
682
697
|
merger?: (a: V, b: V) => V,
|
|
683
698
|
): ConfigMap<K, V> {
|
|
684
699
|
if (!ext || Object.keys(ext).length === 0) {
|
|
@@ -692,16 +707,15 @@ export function mergeMaps<K: string, V>(
|
|
|
692
707
|
let res: ConfigMap<K, V> = {};
|
|
693
708
|
// Add the extension options first so they have higher precedence in the output glob map
|
|
694
709
|
for (let k in ext) {
|
|
695
|
-
|
|
696
|
-
let key: K = (k: any);
|
|
710
|
+
let key: K = k as any;
|
|
697
711
|
res[key] =
|
|
712
|
+
// @ts-expect-error TS2345
|
|
698
713
|
merger && base[key] != null ? merger(base[key], ext[key]) : ext[key];
|
|
699
714
|
}
|
|
700
715
|
|
|
701
716
|
// Add base options that aren't defined in the extension
|
|
702
717
|
for (let k in base) {
|
|
703
|
-
|
|
704
|
-
let key: K = (k: any);
|
|
718
|
+
let key: K = k as any;
|
|
705
719
|
if (res[key] == null) {
|
|
706
720
|
res[key] = base[key];
|
|
707
721
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {Async, Bundle as IBundle, Namer} from '@atlaspack/types';
|
|
4
2
|
import type {SharedReference} from '@atlaspack/workers';
|
|
5
3
|
import type {AtlaspackConfig, LoadedPlugin} from '../AtlaspackConfig';
|
|
@@ -19,7 +17,8 @@ import fs from 'fs';
|
|
|
19
17
|
import invariant from 'assert';
|
|
20
18
|
import assert from 'assert';
|
|
21
19
|
import nullthrows from 'nullthrows';
|
|
22
|
-
import {PluginLogger} from '@atlaspack/logger';
|
|
20
|
+
import {instrumentAsync, PluginLogger} from '@atlaspack/logger';
|
|
21
|
+
import {getFeatureFlag} from '@atlaspack/feature-flags';
|
|
23
22
|
import ThrowableDiagnostic, {errorToDiagnostic} from '@atlaspack/diagnostic';
|
|
24
23
|
import AssetGraph from '../AssetGraph';
|
|
25
24
|
import BundleGraph from '../public/BundleGraph';
|
|
@@ -47,7 +46,7 @@ import {createConfig} from '../InternalConfig';
|
|
|
47
46
|
import {
|
|
48
47
|
loadPluginConfig,
|
|
49
48
|
runConfigRequest,
|
|
50
|
-
|
|
49
|
+
PluginWithLoadConfig,
|
|
51
50
|
} from './ConfigRequest';
|
|
52
51
|
import {
|
|
53
52
|
joinProjectPath,
|
|
@@ -65,34 +64,30 @@ import {
|
|
|
65
64
|
} from './asset-graph-dot';
|
|
66
65
|
import {Priority} from '../types';
|
|
67
66
|
|
|
68
|
-
type BundleGraphRequestInput = {
|
|
69
|
-
requestedAssetIds: Set<string
|
|
70
|
-
signal?: AbortSignal
|
|
71
|
-
optionsRef: SharedReference
|
|
72
|
-
|
|
67
|
+
type BundleGraphRequestInput = {
|
|
68
|
+
requestedAssetIds: Set<string>;
|
|
69
|
+
signal?: AbortSignal;
|
|
70
|
+
optionsRef: SharedReference;
|
|
71
|
+
};
|
|
73
72
|
|
|
74
|
-
type
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
type RunInput = {|
|
|
79
|
-
input: BundleGraphRequestInput,
|
|
80
|
-
...StaticRunOpts<BundleGraphResult>,
|
|
81
|
-
|};
|
|
73
|
+
type RunInput = {
|
|
74
|
+
input: BundleGraphRequestInput;
|
|
75
|
+
} & StaticRunOpts<BundleGraphResult>;
|
|
82
76
|
|
|
83
77
|
// TODO: Rename to BundleGraphRequestResult
|
|
84
|
-
export type BundleGraphResult = {
|
|
85
|
-
bundleGraph: InternalBundleGraph
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
78
|
+
export type BundleGraphResult = {
|
|
79
|
+
bundleGraph: InternalBundleGraph;
|
|
80
|
+
assetGraphBundlingVersion: number;
|
|
81
|
+
changedAssets: Map<string, Asset>;
|
|
82
|
+
assetRequests: Array<AssetGroup>;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
type BundleGraphRequest = {
|
|
86
|
+
id: string;
|
|
87
|
+
readonly type: typeof requestTypes.bundle_graph_request;
|
|
88
|
+
run: (arg1: RunInput) => Async<BundleGraphResult>;
|
|
89
|
+
input: BundleGraphRequestInput;
|
|
90
|
+
};
|
|
96
91
|
|
|
97
92
|
function applySideEffectsForLoadableImports(assetGraph: AssetGraph) {
|
|
98
93
|
// Avoid revisiting nodes
|
|
@@ -146,9 +141,10 @@ export default function createBundleGraphRequest(
|
|
|
146
141
|
let {optionsRef, requestedAssetIds, signal} = input.input;
|
|
147
142
|
let measurement = tracer.createMeasurement('building');
|
|
148
143
|
|
|
149
|
-
let createAssetGraphRequest =
|
|
150
|
-
|
|
151
|
-
|
|
144
|
+
let createAssetGraphRequest =
|
|
145
|
+
getFeatureFlag('atlaspackV3') && input.rustAtlaspack
|
|
146
|
+
? createAssetGraphRequestRust(input.rustAtlaspack)
|
|
147
|
+
: createAssetGraphRequestJS;
|
|
152
148
|
|
|
153
149
|
let request = createAssetGraphRequest({
|
|
154
150
|
name: 'Main',
|
|
@@ -160,12 +156,14 @@ export default function createBundleGraphRequest(
|
|
|
160
156
|
requestedAssetIds,
|
|
161
157
|
});
|
|
162
158
|
|
|
163
|
-
let {assetGraph, changedAssets, assetRequests} = await
|
|
164
|
-
request,
|
|
165
|
-
{
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
159
|
+
let {assetGraph, changedAssets, assetRequests} = await instrumentAsync(
|
|
160
|
+
'asset-graph-request',
|
|
161
|
+
() => {
|
|
162
|
+
return api.runRequest(request, {
|
|
163
|
+
force:
|
|
164
|
+
Boolean(input.rustAtlaspack) ||
|
|
165
|
+
(options.shouldBuildLazily && requestedAssetIds.size > 0),
|
|
166
|
+
});
|
|
169
167
|
},
|
|
170
168
|
);
|
|
171
169
|
|
|
@@ -197,7 +195,11 @@ export default function createBundleGraphRequest(
|
|
|
197
195
|
// force: true,
|
|
198
196
|
// },
|
|
199
197
|
// );
|
|
200
|
-
// require('./asset-graph-diff.
|
|
198
|
+
// require('./asset-graph-diff.ts')(
|
|
199
|
+
// jsAssetGraph,
|
|
200
|
+
// assetGraph,
|
|
201
|
+
// options.projectRoot,
|
|
202
|
+
// );
|
|
201
203
|
// }
|
|
202
204
|
|
|
203
205
|
measurement && measurement.end();
|
|
@@ -214,6 +216,7 @@ export default function createBundleGraphRequest(
|
|
|
214
216
|
|
|
215
217
|
if (subRequestsInvalid) {
|
|
216
218
|
assetGraph.safeToIncrementallyBundle = false;
|
|
219
|
+
assetGraph.setNeedsBundling();
|
|
217
220
|
}
|
|
218
221
|
|
|
219
222
|
let configResult = nullthrows(
|
|
@@ -244,7 +247,7 @@ export default function createBundleGraphRequest(
|
|
|
244
247
|
}
|
|
245
248
|
|
|
246
249
|
await dumpGraphToGraphViz(
|
|
247
|
-
//
|
|
250
|
+
// @ts-expect-error TS2345
|
|
248
251
|
res.bundleGraph._graph,
|
|
249
252
|
'BundleGraph',
|
|
250
253
|
bundleGraphEdgeTypes,
|
|
@@ -282,12 +285,21 @@ class BundlerRunner {
|
|
|
282
285
|
this.pluginOptions = new PluginOptions(
|
|
283
286
|
optionsProxy(this.options, api.invalidateOnOptionChange),
|
|
284
287
|
);
|
|
285
|
-
|
|
286
|
-
hashString(
|
|
288
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
289
|
+
const key = hashString(
|
|
287
290
|
`${ATLASPACK_VERSION}:BundleGraph:${
|
|
288
291
|
JSON.stringify(options.entries) ?? ''
|
|
289
292
|
}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`,
|
|
290
|
-
)
|
|
293
|
+
);
|
|
294
|
+
this.cacheKey = `BundleGraph/${ATLASPACK_VERSION}/${options.mode}/${key}`;
|
|
295
|
+
} else {
|
|
296
|
+
this.cacheKey =
|
|
297
|
+
hashString(
|
|
298
|
+
`${ATLASPACK_VERSION}:BundleGraph:${
|
|
299
|
+
JSON.stringify(options.entries) ?? ''
|
|
300
|
+
}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`,
|
|
301
|
+
) + '-BundleGraph';
|
|
302
|
+
}
|
|
291
303
|
}
|
|
292
304
|
|
|
293
305
|
async loadConfigs() {
|
|
@@ -306,7 +318,7 @@ class BundlerRunner {
|
|
|
306
318
|
}
|
|
307
319
|
}
|
|
308
320
|
|
|
309
|
-
async loadConfig<T
|
|
321
|
+
async loadConfig<T extends PluginWithLoadConfig>(plugin: LoadedPlugin<T>) {
|
|
310
322
|
let config = createConfig({
|
|
311
323
|
plugin: plugin.name,
|
|
312
324
|
searchPath: toProjectPathUnsafe('index'),
|
|
@@ -337,11 +349,11 @@ class BundlerRunner {
|
|
|
337
349
|
graph,
|
|
338
350
|
changedAssets,
|
|
339
351
|
assetRequests,
|
|
340
|
-
}: {
|
|
341
|
-
graph: AssetGraph
|
|
342
|
-
changedAssets: Map<string, Asset
|
|
343
|
-
assetRequests: Array<AssetGroup
|
|
344
|
-
|
|
352
|
+
}: {
|
|
353
|
+
graph: AssetGraph;
|
|
354
|
+
changedAssets: Map<string, Asset>;
|
|
355
|
+
assetRequests: Array<AssetGroup>;
|
|
356
|
+
}): Promise<BundleGraphResult> {
|
|
345
357
|
report({
|
|
346
358
|
type: 'buildProgress',
|
|
347
359
|
phase: 'bundling',
|
|
@@ -353,16 +365,17 @@ class BundlerRunner {
|
|
|
353
365
|
let {plugin: bundler, name, resolveFrom} = plugin;
|
|
354
366
|
|
|
355
367
|
// if a previous asset graph hash is passed in, check if the bundle graph is also available
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
if (previousBundleGraphResult == null) {
|
|
368
|
+
const previousBundleGraphResult: BundleGraphResult | null | undefined =
|
|
369
|
+
await this.api.getPreviousResult();
|
|
370
|
+
const canIncrementallyBundle =
|
|
371
|
+
previousBundleGraphResult?.assetGraphBundlingVersion != null &&
|
|
372
|
+
graph.canIncrementallyBundle(
|
|
373
|
+
previousBundleGraphResult.assetGraphBundlingVersion,
|
|
374
|
+
);
|
|
375
|
+
|
|
376
|
+
if (graph.safeToIncrementallyBundle && previousBundleGraphResult == null) {
|
|
365
377
|
graph.safeToIncrementallyBundle = false;
|
|
378
|
+
graph.setNeedsBundling();
|
|
366
379
|
}
|
|
367
380
|
|
|
368
381
|
let internalBundleGraph;
|
|
@@ -373,7 +386,7 @@ class BundlerRunner {
|
|
|
373
386
|
category: 'bundle',
|
|
374
387
|
});
|
|
375
388
|
try {
|
|
376
|
-
if (previousBundleGraphResult) {
|
|
389
|
+
if (canIncrementallyBundle && previousBundleGraphResult) {
|
|
377
390
|
internalBundleGraph = previousBundleGraphResult.bundleGraph;
|
|
378
391
|
for (let changedAssetId of changedAssets.keys()) {
|
|
379
392
|
// Copy over the whole node to also have correct symbol data
|
|
@@ -391,7 +404,7 @@ class BundlerRunner {
|
|
|
391
404
|
invariant(internalBundleGraph != null); // ensures the graph was created
|
|
392
405
|
|
|
393
406
|
await dumpGraphToGraphViz(
|
|
394
|
-
//
|
|
407
|
+
// @ts-expect-error TS2345
|
|
395
408
|
internalBundleGraph._graph,
|
|
396
409
|
'before_bundle',
|
|
397
410
|
bundleGraphEdgeTypes,
|
|
@@ -442,7 +455,7 @@ class BundlerRunner {
|
|
|
442
455
|
options: this.pluginOptions,
|
|
443
456
|
logger,
|
|
444
457
|
});
|
|
445
|
-
} catch (e) {
|
|
458
|
+
} catch (e: any) {
|
|
446
459
|
throw new ThrowableDiagnostic({
|
|
447
460
|
diagnostic: errorToDiagnostic(e, {
|
|
448
461
|
origin: plugin.name,
|
|
@@ -451,7 +464,7 @@ class BundlerRunner {
|
|
|
451
464
|
} finally {
|
|
452
465
|
optimizeMeasurement && optimizeMeasurement.end();
|
|
453
466
|
await dumpGraphToGraphViz(
|
|
454
|
-
//
|
|
467
|
+
// @ts-expect-error TS2345
|
|
455
468
|
internalBundleGraph._graph,
|
|
456
469
|
'after_optimize',
|
|
457
470
|
);
|
|
@@ -470,11 +483,12 @@ class BundlerRunner {
|
|
|
470
483
|
);
|
|
471
484
|
await this.runDevDepRequest(devDepRequest);
|
|
472
485
|
}
|
|
473
|
-
} catch (e) {
|
|
486
|
+
} catch (e: any) {
|
|
474
487
|
if (internalBundleGraph != null) {
|
|
475
488
|
this.api.storeResult(
|
|
476
489
|
{
|
|
477
490
|
bundleGraph: internalBundleGraph,
|
|
491
|
+
assetGraphBundlingVersion: graph.getBundlingVersion(),
|
|
478
492
|
changedAssets: new Map(),
|
|
479
493
|
assetRequests: [],
|
|
480
494
|
},
|
|
@@ -490,7 +504,7 @@ class BundlerRunner {
|
|
|
490
504
|
} finally {
|
|
491
505
|
if (internalBundleGraph != null) {
|
|
492
506
|
await dumpGraphToGraphViz(
|
|
493
|
-
//
|
|
507
|
+
// @ts-expect-error TS2345
|
|
494
508
|
internalBundleGraph._graph,
|
|
495
509
|
'after_bundle',
|
|
496
510
|
bundleGraphEdgeTypes,
|
|
@@ -499,7 +513,7 @@ class BundlerRunner {
|
|
|
499
513
|
}
|
|
500
514
|
|
|
501
515
|
let changedRuntimes = new Map();
|
|
502
|
-
if (!previousBundleGraphResult) {
|
|
516
|
+
if (!previousBundleGraphResult || !canIncrementallyBundle) {
|
|
503
517
|
let namers = await this.config.getNamers();
|
|
504
518
|
// inline bundles must still be named so the PackagerRunner
|
|
505
519
|
// can match them to the correct packager/optimizer plugins.
|
|
@@ -510,17 +524,19 @@ class BundlerRunner {
|
|
|
510
524
|
),
|
|
511
525
|
);
|
|
512
526
|
|
|
513
|
-
changedRuntimes = await applyRuntimes(
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
527
|
+
changedRuntimes = await instrumentAsync('applyRuntimes', () =>
|
|
528
|
+
applyRuntimes({
|
|
529
|
+
bundleGraph: internalBundleGraph,
|
|
530
|
+
api: this.api,
|
|
531
|
+
config: this.config,
|
|
532
|
+
options: this.options,
|
|
533
|
+
optionsRef: this.optionsRef,
|
|
534
|
+
pluginOptions: this.pluginOptions,
|
|
535
|
+
previousDevDeps: this.previousDevDeps,
|
|
536
|
+
devDepRequests: this.devDepRequests,
|
|
537
|
+
configs: this.configs,
|
|
538
|
+
}),
|
|
539
|
+
);
|
|
524
540
|
|
|
525
541
|
// Add dev deps for namers, AFTER running them to account for lazy require().
|
|
526
542
|
for (let namer of namers) {
|
|
@@ -542,7 +558,7 @@ class BundlerRunner {
|
|
|
542
558
|
}
|
|
543
559
|
|
|
544
560
|
await dumpGraphToGraphViz(
|
|
545
|
-
//
|
|
561
|
+
// @ts-expect-error TS2345
|
|
546
562
|
internalBundleGraph._graph,
|
|
547
563
|
'after_runtimes',
|
|
548
564
|
bundleGraphEdgeTypes,
|
|
@@ -551,6 +567,7 @@ class BundlerRunner {
|
|
|
551
567
|
this.api.storeResult(
|
|
552
568
|
{
|
|
553
569
|
bundleGraph: internalBundleGraph,
|
|
570
|
+
assetGraphBundlingVersion: graph.getBundlingVersion(),
|
|
554
571
|
changedAssets: new Map(),
|
|
555
572
|
assetRequests: [],
|
|
556
573
|
},
|
|
@@ -559,6 +576,7 @@ class BundlerRunner {
|
|
|
559
576
|
|
|
560
577
|
return {
|
|
561
578
|
bundleGraph: internalBundleGraph,
|
|
579
|
+
assetGraphBundlingVersion: graph.getBundlingVersion(),
|
|
562
580
|
changedAssets: changedRuntimes,
|
|
563
581
|
assetRequests,
|
|
564
582
|
};
|
|
@@ -584,7 +602,7 @@ class BundlerRunner {
|
|
|
584
602
|
}
|
|
585
603
|
|
|
586
604
|
async nameBundle(
|
|
587
|
-
namers: Array<LoadedPlugin<Namer<
|
|
605
|
+
namers: Array<LoadedPlugin<Namer<unknown>>>,
|
|
588
606
|
internalBundle: InternalBundle,
|
|
589
607
|
internalBundleGraph: InternalBundleGraph,
|
|
590
608
|
): Promise<void> {
|
|
@@ -617,7 +635,7 @@ class BundlerRunner {
|
|
|
617
635
|
|
|
618
636
|
return;
|
|
619
637
|
}
|
|
620
|
-
} catch (e) {
|
|
638
|
+
} catch (e: any) {
|
|
621
639
|
throw new ThrowableDiagnostic({
|
|
622
640
|
diagnostic: errorToDiagnostic(e, {
|
|
623
641
|
origin: namer.name,
|