@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,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';
|
|
@@ -20,6 +18,7 @@ import invariant from 'assert';
|
|
|
20
18
|
import assert from 'assert';
|
|
21
19
|
import nullthrows from 'nullthrows';
|
|
22
20
|
import {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
|
-
|
|
73
|
-
|
|
74
|
-
type BundleGraphRequestResult = {|
|
|
75
|
-
bundleGraph: InternalBundleGraph,
|
|
76
|
-
|};
|
|
67
|
+
type BundleGraphRequestInput = {
|
|
68
|
+
requestedAssetIds: Set<string>;
|
|
69
|
+
signal?: AbortSignal;
|
|
70
|
+
optionsRef: SharedReference;
|
|
71
|
+
};
|
|
77
72
|
|
|
78
|
-
type RunInput = {
|
|
79
|
-
input: BundleGraphRequestInput
|
|
80
|
-
|
|
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
|
|
@@ -197,7 +192,11 @@ export default function createBundleGraphRequest(
|
|
|
197
192
|
// force: true,
|
|
198
193
|
// },
|
|
199
194
|
// );
|
|
200
|
-
// require('./asset-graph-diff.
|
|
195
|
+
// require('./asset-graph-diff.ts')(
|
|
196
|
+
// jsAssetGraph,
|
|
197
|
+
// assetGraph,
|
|
198
|
+
// options.projectRoot,
|
|
199
|
+
// );
|
|
201
200
|
// }
|
|
202
201
|
|
|
203
202
|
measurement && measurement.end();
|
|
@@ -214,6 +213,7 @@ export default function createBundleGraphRequest(
|
|
|
214
213
|
|
|
215
214
|
if (subRequestsInvalid) {
|
|
216
215
|
assetGraph.safeToIncrementallyBundle = false;
|
|
216
|
+
assetGraph.setNeedsBundling();
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
let configResult = nullthrows(
|
|
@@ -244,7 +244,7 @@ export default function createBundleGraphRequest(
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
await dumpGraphToGraphViz(
|
|
247
|
-
//
|
|
247
|
+
// @ts-expect-error TS2345
|
|
248
248
|
res.bundleGraph._graph,
|
|
249
249
|
'BundleGraph',
|
|
250
250
|
bundleGraphEdgeTypes,
|
|
@@ -282,12 +282,21 @@ class BundlerRunner {
|
|
|
282
282
|
this.pluginOptions = new PluginOptions(
|
|
283
283
|
optionsProxy(this.options, api.invalidateOnOptionChange),
|
|
284
284
|
);
|
|
285
|
-
|
|
286
|
-
hashString(
|
|
285
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
286
|
+
const key = hashString(
|
|
287
287
|
`${ATLASPACK_VERSION}:BundleGraph:${
|
|
288
288
|
JSON.stringify(options.entries) ?? ''
|
|
289
289
|
}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`,
|
|
290
|
-
)
|
|
290
|
+
);
|
|
291
|
+
this.cacheKey = `BundleGraph/${ATLASPACK_VERSION}/${options.mode}/${key}`;
|
|
292
|
+
} else {
|
|
293
|
+
this.cacheKey =
|
|
294
|
+
hashString(
|
|
295
|
+
`${ATLASPACK_VERSION}:BundleGraph:${
|
|
296
|
+
JSON.stringify(options.entries) ?? ''
|
|
297
|
+
}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`,
|
|
298
|
+
) + '-BundleGraph';
|
|
299
|
+
}
|
|
291
300
|
}
|
|
292
301
|
|
|
293
302
|
async loadConfigs() {
|
|
@@ -306,7 +315,7 @@ class BundlerRunner {
|
|
|
306
315
|
}
|
|
307
316
|
}
|
|
308
317
|
|
|
309
|
-
async loadConfig<T
|
|
318
|
+
async loadConfig<T extends PluginWithLoadConfig>(plugin: LoadedPlugin<T>) {
|
|
310
319
|
let config = createConfig({
|
|
311
320
|
plugin: plugin.name,
|
|
312
321
|
searchPath: toProjectPathUnsafe('index'),
|
|
@@ -337,11 +346,11 @@ class BundlerRunner {
|
|
|
337
346
|
graph,
|
|
338
347
|
changedAssets,
|
|
339
348
|
assetRequests,
|
|
340
|
-
}: {
|
|
341
|
-
graph: AssetGraph
|
|
342
|
-
changedAssets: Map<string, Asset
|
|
343
|
-
assetRequests: Array<AssetGroup
|
|
344
|
-
|
|
349
|
+
}: {
|
|
350
|
+
graph: AssetGraph;
|
|
351
|
+
changedAssets: Map<string, Asset>;
|
|
352
|
+
assetRequests: Array<AssetGroup>;
|
|
353
|
+
}): Promise<BundleGraphResult> {
|
|
345
354
|
report({
|
|
346
355
|
type: 'buildProgress',
|
|
347
356
|
phase: 'bundling',
|
|
@@ -353,16 +362,17 @@ class BundlerRunner {
|
|
|
353
362
|
let {plugin: bundler, name, resolveFrom} = plugin;
|
|
354
363
|
|
|
355
364
|
// 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) {
|
|
365
|
+
const previousBundleGraphResult: BundleGraphResult | null | undefined =
|
|
366
|
+
await this.api.getPreviousResult();
|
|
367
|
+
const canIncrementallyBundle =
|
|
368
|
+
previousBundleGraphResult?.assetGraphBundlingVersion != null &&
|
|
369
|
+
graph.canIncrementallyBundle(
|
|
370
|
+
previousBundleGraphResult.assetGraphBundlingVersion,
|
|
371
|
+
);
|
|
372
|
+
|
|
373
|
+
if (graph.safeToIncrementallyBundle && previousBundleGraphResult == null) {
|
|
365
374
|
graph.safeToIncrementallyBundle = false;
|
|
375
|
+
graph.setNeedsBundling();
|
|
366
376
|
}
|
|
367
377
|
|
|
368
378
|
let internalBundleGraph;
|
|
@@ -373,7 +383,7 @@ class BundlerRunner {
|
|
|
373
383
|
category: 'bundle',
|
|
374
384
|
});
|
|
375
385
|
try {
|
|
376
|
-
if (previousBundleGraphResult) {
|
|
386
|
+
if (canIncrementallyBundle && previousBundleGraphResult) {
|
|
377
387
|
internalBundleGraph = previousBundleGraphResult.bundleGraph;
|
|
378
388
|
for (let changedAssetId of changedAssets.keys()) {
|
|
379
389
|
// Copy over the whole node to also have correct symbol data
|
|
@@ -391,7 +401,7 @@ class BundlerRunner {
|
|
|
391
401
|
invariant(internalBundleGraph != null); // ensures the graph was created
|
|
392
402
|
|
|
393
403
|
await dumpGraphToGraphViz(
|
|
394
|
-
//
|
|
404
|
+
// @ts-expect-error TS2345
|
|
395
405
|
internalBundleGraph._graph,
|
|
396
406
|
'before_bundle',
|
|
397
407
|
bundleGraphEdgeTypes,
|
|
@@ -442,7 +452,7 @@ class BundlerRunner {
|
|
|
442
452
|
options: this.pluginOptions,
|
|
443
453
|
logger,
|
|
444
454
|
});
|
|
445
|
-
} catch (e) {
|
|
455
|
+
} catch (e: any) {
|
|
446
456
|
throw new ThrowableDiagnostic({
|
|
447
457
|
diagnostic: errorToDiagnostic(e, {
|
|
448
458
|
origin: plugin.name,
|
|
@@ -451,7 +461,7 @@ class BundlerRunner {
|
|
|
451
461
|
} finally {
|
|
452
462
|
optimizeMeasurement && optimizeMeasurement.end();
|
|
453
463
|
await dumpGraphToGraphViz(
|
|
454
|
-
//
|
|
464
|
+
// @ts-expect-error TS2345
|
|
455
465
|
internalBundleGraph._graph,
|
|
456
466
|
'after_optimize',
|
|
457
467
|
);
|
|
@@ -470,11 +480,12 @@ class BundlerRunner {
|
|
|
470
480
|
);
|
|
471
481
|
await this.runDevDepRequest(devDepRequest);
|
|
472
482
|
}
|
|
473
|
-
} catch (e) {
|
|
483
|
+
} catch (e: any) {
|
|
474
484
|
if (internalBundleGraph != null) {
|
|
475
485
|
this.api.storeResult(
|
|
476
486
|
{
|
|
477
487
|
bundleGraph: internalBundleGraph,
|
|
488
|
+
assetGraphBundlingVersion: graph.getBundlingVersion(),
|
|
478
489
|
changedAssets: new Map(),
|
|
479
490
|
assetRequests: [],
|
|
480
491
|
},
|
|
@@ -490,7 +501,7 @@ class BundlerRunner {
|
|
|
490
501
|
} finally {
|
|
491
502
|
if (internalBundleGraph != null) {
|
|
492
503
|
await dumpGraphToGraphViz(
|
|
493
|
-
//
|
|
504
|
+
// @ts-expect-error TS2345
|
|
494
505
|
internalBundleGraph._graph,
|
|
495
506
|
'after_bundle',
|
|
496
507
|
bundleGraphEdgeTypes,
|
|
@@ -499,7 +510,7 @@ class BundlerRunner {
|
|
|
499
510
|
}
|
|
500
511
|
|
|
501
512
|
let changedRuntimes = new Map();
|
|
502
|
-
if (!previousBundleGraphResult) {
|
|
513
|
+
if (!previousBundleGraphResult || !canIncrementallyBundle) {
|
|
503
514
|
let namers = await this.config.getNamers();
|
|
504
515
|
// inline bundles must still be named so the PackagerRunner
|
|
505
516
|
// can match them to the correct packager/optimizer plugins.
|
|
@@ -542,7 +553,7 @@ class BundlerRunner {
|
|
|
542
553
|
}
|
|
543
554
|
|
|
544
555
|
await dumpGraphToGraphViz(
|
|
545
|
-
//
|
|
556
|
+
// @ts-expect-error TS2345
|
|
546
557
|
internalBundleGraph._graph,
|
|
547
558
|
'after_runtimes',
|
|
548
559
|
bundleGraphEdgeTypes,
|
|
@@ -551,6 +562,7 @@ class BundlerRunner {
|
|
|
551
562
|
this.api.storeResult(
|
|
552
563
|
{
|
|
553
564
|
bundleGraph: internalBundleGraph,
|
|
565
|
+
assetGraphBundlingVersion: graph.getBundlingVersion(),
|
|
554
566
|
changedAssets: new Map(),
|
|
555
567
|
assetRequests: [],
|
|
556
568
|
},
|
|
@@ -559,6 +571,7 @@ class BundlerRunner {
|
|
|
559
571
|
|
|
560
572
|
return {
|
|
561
573
|
bundleGraph: internalBundleGraph,
|
|
574
|
+
assetGraphBundlingVersion: graph.getBundlingVersion(),
|
|
562
575
|
changedAssets: changedRuntimes,
|
|
563
576
|
assetRequests,
|
|
564
577
|
};
|
|
@@ -584,7 +597,7 @@ class BundlerRunner {
|
|
|
584
597
|
}
|
|
585
598
|
|
|
586
599
|
async nameBundle(
|
|
587
|
-
namers: Array<LoadedPlugin<Namer<
|
|
600
|
+
namers: Array<LoadedPlugin<Namer<unknown>>>,
|
|
588
601
|
internalBundle: InternalBundle,
|
|
589
602
|
internalBundleGraph: InternalBundleGraph,
|
|
590
603
|
): Promise<void> {
|
|
@@ -617,7 +630,7 @@ class BundlerRunner {
|
|
|
617
630
|
|
|
618
631
|
return;
|
|
619
632
|
}
|
|
620
|
-
} catch (e) {
|
|
633
|
+
} catch (e: any) {
|
|
621
634
|
throw new ThrowableDiagnostic({
|
|
622
635
|
diagnostic: errorToDiagnostic(e, {
|
|
623
636
|
origin: namer.name,
|