@atlaspack/core 2.16.2-canary.21 → 2.16.2-canary.211
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 +561 -0
- package/dist/AssetGraph.js +591 -0
- package/dist/Atlaspack.js +656 -0
- package/dist/AtlaspackConfig.js +324 -0
- package/dist/AtlaspackConfig.schema.js +108 -0
- package/dist/BundleGraph.js +1628 -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 +531 -0
- package/dist/ReporterRunner.js +151 -0
- package/dist/RequestTracker.js +1368 -0
- package/dist/SymbolPropagation.js +617 -0
- package/dist/TargetDescriptor.schema.js +143 -0
- package/dist/Transformation.js +487 -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 +292 -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 +246 -0
- package/dist/requests/AssetRequest.js +130 -0
- package/dist/requests/AtlaspackBuildRequest.js +60 -0
- package/dist/requests/AtlaspackConfigRequest.js +490 -0
- package/dist/requests/BundleGraphRequest.js +441 -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 +65 -0
- package/dist/requests/PathRequest.js +349 -0
- package/dist/requests/TargetRequest.js +1310 -0
- package/dist/requests/ValidationRequest.js +49 -0
- package/dist/requests/WriteBundleRequest.js +254 -0
- package/dist/requests/WriteBundlesRequest.js +165 -0
- package/dist/requests/asset-graph-diff.js +126 -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 +82 -35
- package/lib/AtlaspackConfig.js +15 -3
- package/lib/AtlaspackConfig.schema.js +7 -5
- package/lib/BundleGraph.js +83 -30
- 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 +66 -23
- package/lib/ReporterRunner.js +6 -9
- package/lib/RequestTracker.js +256 -139
- package/lib/SymbolPropagation.js +22 -3
- package/lib/TargetDescriptor.schema.js +7 -1
- package/lib/Transformation.js +16 -9
- 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 +34 -6
- 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 +41 -4
- package/lib/requests/AssetGraphRequestRust.js +29 -14
- package/lib/requests/AssetRequest.js +23 -6
- package/lib/requests/AtlaspackBuildRequest.js +6 -2
- package/lib/requests/AtlaspackConfigRequest.js +12 -11
- package/lib/requests/BundleGraphRequest.js +29 -18
- 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 +7 -2
- package/lib/requests/PathRequest.js +24 -3
- package/lib/requests/TargetRequest.js +120 -56
- package/lib/requests/ValidationRequest.js +5 -1
- package/lib/requests/WriteBundleRequest.js +39 -11
- package/lib/requests/WriteBundlesRequest.js +24 -2
- package/lib/requests/asset-graph-diff.js +8 -3
- 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 +80 -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 +58 -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 +29 -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 +26 -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} +113 -60
- package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +16 -19
- package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
- package/src/{BundleGraph.js → BundleGraph.ts} +213 -133
- 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} +149 -81
- package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
- package/src/{RequestTracker.js → RequestTracker.ts} +558 -336
- package/src/{SymbolPropagation.js → SymbolPropagation.ts} +137 -39
- package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
- package/src/{Transformation.js → Transformation.ts} +67 -61
- 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} +94 -65
- 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} +83 -48
- package/src/requests/{AssetGraphRequestRust.js → AssetGraphRequestRust.ts} +36 -29
- package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
- package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +30 -31
- package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +58 -51
- package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +66 -57
- 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} +21 -21
- package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
- package/src/requests/{TargetRequest.js → TargetRequest.ts} +259 -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} +77 -34
- package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +14 -14
- 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} +3 -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} +54 -92
- package/test/public/Config.test.ts +104 -0
- package/test/requests/{AssetGraphRequestRust.test.js → AssetGraphRequestRust.test.ts} +163 -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/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 {NodeId} from '@atlaspack/graph';
|
|
4
2
|
import type {Async} from '@atlaspack/types';
|
|
5
3
|
import type {SharedReference} from '@atlaspack/workers';
|
|
@@ -20,6 +18,7 @@ import logger from '@atlaspack/logger';
|
|
|
20
18
|
|
|
21
19
|
import invariant from 'assert';
|
|
22
20
|
import nullthrows from 'nullthrows';
|
|
21
|
+
import {getFeatureFlag} from '@atlaspack/feature-flags';
|
|
23
22
|
import {PromiseQueue, setEqual} from '@atlaspack/utils';
|
|
24
23
|
import {hashString} from '@atlaspack/rust';
|
|
25
24
|
import ThrowableDiagnostic from '@atlaspack/diagnostic';
|
|
@@ -30,44 +29,46 @@ import createEntryRequest from './EntryRequest';
|
|
|
30
29
|
import createTargetRequest from './TargetRequest';
|
|
31
30
|
import createAssetRequest from './AssetRequest';
|
|
32
31
|
import createPathRequest from './PathRequest';
|
|
33
|
-
import {
|
|
32
|
+
import {ProjectPath, fromProjectPathRelative} from '../projectPath';
|
|
34
33
|
import dumpGraphToGraphViz from '../dumpGraphToGraphViz';
|
|
35
34
|
import {propagateSymbols} from '../SymbolPropagation';
|
|
36
35
|
import {requestTypes} from '../RequestTracker';
|
|
37
36
|
|
|
38
|
-
export type AssetGraphRequestInput = {
|
|
39
|
-
entries?: Array<ProjectPath
|
|
40
|
-
assetGroups?: Array<AssetGroup
|
|
41
|
-
optionsRef: SharedReference
|
|
42
|
-
name: string
|
|
43
|
-
shouldBuildLazily?: boolean
|
|
44
|
-
lazyIncludes?: RegExp[]
|
|
45
|
-
lazyExcludes?: RegExp[]
|
|
46
|
-
requestedAssetIds?: Set<string
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export type AssetGraphRequestResult = {
|
|
50
|
-
assetGraph: AssetGraph
|
|
37
|
+
export type AssetGraphRequestInput = {
|
|
38
|
+
entries?: Array<ProjectPath>;
|
|
39
|
+
assetGroups?: Array<AssetGroup>;
|
|
40
|
+
optionsRef: SharedReference;
|
|
41
|
+
name: string;
|
|
42
|
+
shouldBuildLazily?: boolean;
|
|
43
|
+
lazyIncludes?: RegExp[];
|
|
44
|
+
lazyExcludes?: RegExp[];
|
|
45
|
+
requestedAssetIds?: Set<string>;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export type AssetGraphRequestResult = {
|
|
49
|
+
assetGraph: AssetGraph;
|
|
51
50
|
/** Assets added/modified since the last successful build. */
|
|
52
|
-
changedAssets: Map<string, Asset
|
|
51
|
+
changedAssets: Map<string, Asset>;
|
|
53
52
|
/** Assets added/modified since the last symbol propagation invocation. */
|
|
54
|
-
changedAssetsPropagation: Set<string
|
|
55
|
-
assetGroupsWithRemovedParents:
|
|
56
|
-
previousSymbolPropagationErrors:
|
|
57
|
-
|
|
58
|
-
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
53
|
+
changedAssetsPropagation: Set<string>;
|
|
54
|
+
assetGroupsWithRemovedParents: Set<NodeId> | null | undefined;
|
|
55
|
+
previousSymbolPropagationErrors:
|
|
56
|
+
| Map<NodeId, Array<Diagnostic>>
|
|
57
|
+
| null
|
|
58
|
+
| undefined;
|
|
59
|
+
assetRequests: Array<AssetGroup>;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
type RunInput = {
|
|
63
|
+
input: AssetGraphRequestInput;
|
|
64
|
+
} & StaticRunOpts<AssetGraphRequestResult>;
|
|
65
|
+
|
|
66
|
+
type AssetGraphRequest = {
|
|
67
|
+
id: string;
|
|
68
|
+
readonly type: typeof requestTypes.asset_graph_request;
|
|
69
|
+
run: (arg1: RunInput) => Async<AssetGraphRequestResult>;
|
|
70
|
+
input: AssetGraphRequestInput;
|
|
71
|
+
};
|
|
71
72
|
|
|
72
73
|
export default function createAssetGraphRequest(
|
|
73
74
|
requestInput: AssetGraphRequestInput,
|
|
@@ -83,6 +84,11 @@ export default function createAssetGraphRequest(
|
|
|
83
84
|
let assetGraphRequest = await await builder.build();
|
|
84
85
|
|
|
85
86
|
// early break for incremental bundling if production or flag is off;
|
|
87
|
+
assetGraphRequest.assetGraph.setDisableIncrementalBundling(
|
|
88
|
+
!input.options.shouldBundleIncrementally ||
|
|
89
|
+
input.options.mode === 'production',
|
|
90
|
+
);
|
|
91
|
+
|
|
86
92
|
if (
|
|
87
93
|
!input.options.shouldBundleIncrementally ||
|
|
88
94
|
input.options.mode === 'production'
|
|
@@ -106,10 +112,10 @@ const typesWithRequests = new Set([
|
|
|
106
112
|
export class AssetGraphBuilder {
|
|
107
113
|
assetGraph: AssetGraph;
|
|
108
114
|
assetRequests: Array<AssetGroup> = [];
|
|
109
|
-
queue: PromiseQueue<
|
|
115
|
+
queue: PromiseQueue<unknown>;
|
|
110
116
|
changedAssets: Map<string, Asset>;
|
|
111
117
|
changedAssetsPropagation: Set<string>;
|
|
112
|
-
prevChangedAssetsPropagation:
|
|
118
|
+
prevChangedAssetsPropagation: Set<string> | null | undefined;
|
|
113
119
|
optionsRef: SharedReference;
|
|
114
120
|
options: AtlaspackOptions;
|
|
115
121
|
api: RunAPI<AssetGraphRequestResult>;
|
|
@@ -125,7 +131,7 @@ export class AssetGraphBuilder {
|
|
|
125
131
|
|
|
126
132
|
constructor(
|
|
127
133
|
{input, api, options}: RunInput,
|
|
128
|
-
prevResult
|
|
134
|
+
prevResult?: AssetGraphRequestResult | null,
|
|
129
135
|
) {
|
|
130
136
|
let {
|
|
131
137
|
entries,
|
|
@@ -161,20 +167,30 @@ export class AssetGraphBuilder {
|
|
|
161
167
|
this.shouldBuildLazily = shouldBuildLazily ?? false;
|
|
162
168
|
this.lazyIncludes = lazyIncludes ?? [];
|
|
163
169
|
this.lazyExcludes = lazyExcludes ?? [];
|
|
164
|
-
|
|
165
|
-
hashString(
|
|
170
|
+
if (getFeatureFlag('cachePerformanceImprovements')) {
|
|
171
|
+
const key = hashString(
|
|
166
172
|
`${ATLASPACK_VERSION}${name}${JSON.stringify(entries) ?? ''}${
|
|
167
173
|
options.mode
|
|
168
174
|
}${options.shouldBuildLazily ? 'lazy' : 'eager'}`,
|
|
169
|
-
)
|
|
175
|
+
);
|
|
176
|
+
this.cacheKey = `AssetGraph/${ATLASPACK_VERSION}/${options.mode}/${key}`;
|
|
177
|
+
} else {
|
|
178
|
+
this.cacheKey =
|
|
179
|
+
hashString(
|
|
180
|
+
`${ATLASPACK_VERSION}${name}${JSON.stringify(entries) ?? ''}${
|
|
181
|
+
options.mode
|
|
182
|
+
}${options.shouldBuildLazily ? 'lazy' : 'eager'}`,
|
|
183
|
+
) + '-AssetGraph';
|
|
184
|
+
}
|
|
170
185
|
|
|
171
186
|
this.isSingleChangeRebuild =
|
|
172
187
|
api
|
|
173
188
|
.getInvalidSubRequests()
|
|
189
|
+
// @ts-expect-error TS2367
|
|
174
190
|
.filter((req) => req.requestType === 'asset_request').length === 1;
|
|
175
191
|
this.queue = new PromiseQueue();
|
|
176
192
|
|
|
177
|
-
assetGraph.onNodeRemoved = (nodeId) => {
|
|
193
|
+
assetGraph.onNodeRemoved = (nodeId: NodeId) => {
|
|
178
194
|
this.assetGroupsWithRemovedParents.delete(nodeId);
|
|
179
195
|
|
|
180
196
|
// This needs to mark all connected nodes that doesn't become orphaned
|
|
@@ -196,7 +212,7 @@ export class AssetGraphBuilder {
|
|
|
196
212
|
}
|
|
197
213
|
|
|
198
214
|
async build(): Promise<AssetGraphRequestResult> {
|
|
199
|
-
let errors = [];
|
|
215
|
+
let errors: Array<Error> = [];
|
|
200
216
|
let rootNodeId = nullthrows(
|
|
201
217
|
this.assetGraph.rootNodeId,
|
|
202
218
|
'A root node is required to traverse',
|
|
@@ -224,6 +240,7 @@ export class AssetGraphBuilder {
|
|
|
224
240
|
for (let childNodeId of this.assetGraph.getNodeIdsConnectedFrom(nodeId)) {
|
|
225
241
|
let child = nullthrows(this.assetGraph.getNode(childNodeId));
|
|
226
242
|
if (
|
|
243
|
+
// @ts-expect-error TS2339
|
|
227
244
|
(!visited.has(childNodeId) || child.hasDeferred) &&
|
|
228
245
|
this.shouldVisitChild(nodeId, childNodeId)
|
|
229
246
|
) {
|
|
@@ -310,7 +327,7 @@ export class AssetGraphBuilder {
|
|
|
310
327
|
diagnostic: [...errors.values()][0],
|
|
311
328
|
});
|
|
312
329
|
}
|
|
313
|
-
} catch (e) {
|
|
330
|
+
} catch (e: any) {
|
|
314
331
|
await dumpGraphToGraphViz(
|
|
315
332
|
this.assetGraph,
|
|
316
333
|
'AssetGraph_' + this.name + '_failed',
|
|
@@ -428,9 +445,12 @@ export class AssetGraphBuilder {
|
|
|
428
445
|
shouldSkipRequest(nodeId: NodeId): boolean {
|
|
429
446
|
let node = nullthrows(this.assetGraph.getNode(nodeId));
|
|
430
447
|
return (
|
|
448
|
+
// @ts-expect-error TS2339
|
|
431
449
|
node.complete === true ||
|
|
432
450
|
!typesWithRequests.has(node.type) ||
|
|
451
|
+
// @ts-expect-error TS2339
|
|
433
452
|
(node.correspondingRequest != null &&
|
|
453
|
+
// @ts-expect-error TS2339
|
|
434
454
|
this.api.canSkipSubrequest(node.correspondingRequest))
|
|
435
455
|
);
|
|
436
456
|
}
|
|
@@ -459,7 +479,7 @@ export class AssetGraphBuilder {
|
|
|
459
479
|
`Can not queue corresponding request of node with type ${node.type}`,
|
|
460
480
|
);
|
|
461
481
|
}
|
|
462
|
-
return new Promise((resolve) => {
|
|
482
|
+
return new Promise((resolve: (result: Promise<null> | null) => void) => {
|
|
463
483
|
this.queue.add(() =>
|
|
464
484
|
promise.then(
|
|
465
485
|
() => {
|
|
@@ -501,6 +521,7 @@ export class AssetGraphBuilder {
|
|
|
501
521
|
|
|
502
522
|
if (didEntriesChange) {
|
|
503
523
|
this.assetGraph.safeToIncrementallyBundle = false;
|
|
524
|
+
this.assetGraph.setNeedsBundling();
|
|
504
525
|
}
|
|
505
526
|
}
|
|
506
527
|
}
|
|
@@ -515,15 +536,16 @@ export class AssetGraphBuilder {
|
|
|
515
536
|
|
|
516
537
|
async runPathRequest(input: Dependency) {
|
|
517
538
|
let request = createPathRequest({dependency: input, name: this.name});
|
|
518
|
-
let result = await this.api.runRequest<
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
);
|
|
539
|
+
let result = await this.api.runRequest<
|
|
540
|
+
PathRequestInput,
|
|
541
|
+
AssetGroup | null | undefined
|
|
542
|
+
>(request, {force: true});
|
|
522
543
|
this.assetGraph.resolveDependency(input, result, request.id);
|
|
523
544
|
}
|
|
524
545
|
|
|
525
546
|
async runAssetRequest(input: AssetGroup) {
|
|
526
547
|
this.assetRequests.push(input);
|
|
548
|
+
// @ts-expect-error TS2345
|
|
527
549
|
let request = createAssetRequest({
|
|
528
550
|
...input,
|
|
529
551
|
name: this.name,
|
|
@@ -538,16 +560,28 @@ export class AssetGraphBuilder {
|
|
|
538
560
|
|
|
539
561
|
if (assets != null) {
|
|
540
562
|
for (let asset of assets) {
|
|
563
|
+
// Pass the runtimeAssetRequiringExecutionOnLoad flag from the asset
|
|
564
|
+
// group down to the asset itself, for reading in the packager.
|
|
565
|
+
if (input.runtimeAssetRequiringExecutionOnLoad) {
|
|
566
|
+
asset.meta = {
|
|
567
|
+
...(asset.meta ?? {}),
|
|
568
|
+
runtimeAssetRequiringExecutionOnLoad:
|
|
569
|
+
input.runtimeAssetRequiringExecutionOnLoad,
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
|
|
541
573
|
if (this.assetGraph.safeToIncrementallyBundle) {
|
|
542
574
|
let otherAsset = this.assetGraph.getNodeByContentKey(asset.id);
|
|
543
575
|
if (otherAsset != null) {
|
|
544
576
|
invariant(otherAsset.type === 'asset');
|
|
545
577
|
if (!this._areDependenciesEqualForAssets(asset, otherAsset.value)) {
|
|
546
578
|
this.assetGraph.safeToIncrementallyBundle = false;
|
|
579
|
+
this.assetGraph.setNeedsBundling();
|
|
547
580
|
}
|
|
548
581
|
} else {
|
|
549
582
|
// adding a new entry or dependency
|
|
550
583
|
this.assetGraph.safeToIncrementallyBundle = false;
|
|
584
|
+
this.assetGraph.setNeedsBundling();
|
|
551
585
|
}
|
|
552
586
|
}
|
|
553
587
|
this.changedAssets.set(asset.id, asset);
|
|
@@ -556,6 +590,7 @@ export class AssetGraphBuilder {
|
|
|
556
590
|
this.assetGraph.resolveAssetGroup(input, assets, request.id);
|
|
557
591
|
} else {
|
|
558
592
|
this.assetGraph.safeToIncrementallyBundle = false;
|
|
593
|
+
this.assetGraph.setNeedsBundling();
|
|
559
594
|
}
|
|
560
595
|
|
|
561
596
|
this.isSingleChangeRebuild = false;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import invariant from 'assert';
|
|
4
2
|
|
|
5
3
|
import ThrowableDiagnostic from '@atlaspack/diagnostic';
|
|
6
4
|
import type {Async} from '@atlaspack/types';
|
|
7
5
|
import {instrument} from '@atlaspack/logger';
|
|
6
|
+
import {getFeatureFlag} from '@atlaspack/feature-flags';
|
|
8
7
|
|
|
9
8
|
import AssetGraph, {nodeFromAssetGroup} from '../AssetGraph';
|
|
10
9
|
import type {AtlaspackV3} from '../atlaspack-v3';
|
|
11
|
-
import {requestTypes,
|
|
10
|
+
import {requestTypes, StaticRunOpts} from '../RequestTracker';
|
|
12
11
|
import {propagateSymbols} from '../SymbolPropagation';
|
|
13
12
|
import type {Environment, Asset} from '../types';
|
|
14
13
|
|
|
@@ -16,29 +15,31 @@ import type {
|
|
|
16
15
|
AssetGraphRequestInput,
|
|
17
16
|
AssetGraphRequestResult,
|
|
18
17
|
} from './AssetGraphRequest';
|
|
18
|
+
import {toEnvironmentRef} from '../EnvironmentManager';
|
|
19
|
+
import {getEnvironmentHash} from '../Environment';
|
|
19
20
|
|
|
20
|
-
type RunInput = {
|
|
21
|
-
input: AssetGraphRequestInput
|
|
22
|
-
|
|
23
|
-
|};
|
|
21
|
+
type RunInput = {
|
|
22
|
+
input: AssetGraphRequestInput;
|
|
23
|
+
} & StaticRunOpts<AssetGraphRequestResult>;
|
|
24
24
|
|
|
25
|
-
type AssetGraphRequest = {
|
|
26
|
-
id: string
|
|
27
|
-
|
|
28
|
-
run: (RunInput) => Async<AssetGraphRequestResult
|
|
29
|
-
input: AssetGraphRequestInput
|
|
30
|
-
|
|
25
|
+
type AssetGraphRequest = {
|
|
26
|
+
id: string;
|
|
27
|
+
readonly type: typeof requestTypes.asset_graph_request;
|
|
28
|
+
run: (arg1: RunInput) => Async<AssetGraphRequestResult>;
|
|
29
|
+
input: AssetGraphRequestInput;
|
|
30
|
+
};
|
|
31
31
|
|
|
32
32
|
export function createAssetGraphRequestRust(
|
|
33
33
|
rustAtlaspack: AtlaspackV3,
|
|
34
34
|
): (input: AssetGraphRequestInput) => AssetGraphRequest {
|
|
35
|
-
return (input) => ({
|
|
35
|
+
return (input: AssetGraphRequestInput) => ({
|
|
36
36
|
type: requestTypes.asset_graph_request,
|
|
37
37
|
id: input.name,
|
|
38
38
|
run: async (input) => {
|
|
39
39
|
let options = input.options;
|
|
40
40
|
let serializedAssetGraph = await rustAtlaspack.buildAssetGraph();
|
|
41
41
|
|
|
42
|
+
// @ts-expect-error TS7006
|
|
42
43
|
serializedAssetGraph.nodes = serializedAssetGraph.nodes.map((node) =>
|
|
43
44
|
JSON.parse(node),
|
|
44
45
|
);
|
|
@@ -78,10 +79,9 @@ export function createAssetGraphRequestRust(
|
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
// $FlowFixMe
|
|
82
82
|
export function getAssetGraph(serializedGraph: any): {
|
|
83
|
-
assetGraph: AssetGraph
|
|
84
|
-
changedAssets: Map<string, Asset
|
|
83
|
+
assetGraph: AssetGraph;
|
|
84
|
+
changedAssets: Map<string, Asset>;
|
|
85
85
|
} {
|
|
86
86
|
let graph = new AssetGraph({
|
|
87
87
|
_contentKeyToNodeId: new Map(),
|
|
@@ -91,26 +91,23 @@ export function getAssetGraph(serializedGraph: any): {
|
|
|
91
91
|
|
|
92
92
|
graph.safeToIncrementallyBundle = false;
|
|
93
93
|
|
|
94
|
+
// @ts-expect-error TS7031
|
|
94
95
|
function mapSymbols({exported, ...symbol}) {
|
|
95
96
|
let jsSymbol = {
|
|
96
97
|
local: symbol.local ?? undefined,
|
|
97
98
|
loc: symbol.loc ?? undefined,
|
|
98
|
-
meta: undefined,
|
|
99
99
|
isWeak: symbol.isWeak,
|
|
100
|
+
meta: {
|
|
101
|
+
isEsm: symbol.isEsmExport,
|
|
102
|
+
isStaticBindingSafe: symbol.isStaticBindingSafe,
|
|
103
|
+
},
|
|
100
104
|
};
|
|
101
105
|
|
|
102
106
|
if (symbol.exported) {
|
|
103
|
-
//
|
|
107
|
+
// @ts-expect-error TS2339
|
|
104
108
|
jsSymbol.exported = symbol.exported;
|
|
105
109
|
}
|
|
106
110
|
|
|
107
|
-
if (symbol.isEsmExport) {
|
|
108
|
-
// $FlowFixMe
|
|
109
|
-
jsSymbol.meta = {
|
|
110
|
-
isEsm: true,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
111
|
return [exported, jsSymbol];
|
|
115
112
|
}
|
|
116
113
|
|
|
@@ -136,7 +133,7 @@ export function getAssetGraph(serializedGraph: any): {
|
|
|
136
133
|
|
|
137
134
|
let envId = envs.get(envKey);
|
|
138
135
|
if (envId == null) {
|
|
139
|
-
envId = envs.size
|
|
136
|
+
envId = `${envs.size}`;
|
|
140
137
|
envs.set(envKey, envId);
|
|
141
138
|
}
|
|
142
139
|
|
|
@@ -166,9 +163,14 @@ export function getAssetGraph(serializedGraph: any): {
|
|
|
166
163
|
|
|
167
164
|
asset.committed = true;
|
|
168
165
|
asset.contentKey = id;
|
|
169
|
-
asset.env.id =
|
|
166
|
+
asset.env.id = getFeatureFlag('environmentDeduplication')
|
|
167
|
+
? // TODO: Rust can do this and avoid copying a significant amount of data over
|
|
168
|
+
getEnvironmentHash(asset.env)
|
|
169
|
+
: getEnvId(asset.env);
|
|
170
170
|
asset.mapKey = `map:${asset.id}`;
|
|
171
171
|
|
|
172
|
+
asset.env = toEnvironmentRef(asset.env);
|
|
173
|
+
|
|
172
174
|
// This is populated later when we map the edges between assets and dependencies
|
|
173
175
|
asset.dependencies = new Map();
|
|
174
176
|
|
|
@@ -195,7 +197,11 @@ export function getAssetGraph(serializedGraph: any): {
|
|
|
195
197
|
let dependency = node.value.dependency;
|
|
196
198
|
|
|
197
199
|
dependency.id = id;
|
|
198
|
-
dependency.env.id =
|
|
200
|
+
dependency.env.id = getFeatureFlag('environmentDeduplication')
|
|
201
|
+
? // TODO: Rust can do this and avoid copying a significant amount of data over
|
|
202
|
+
getEnvironmentHash(dependency.env)
|
|
203
|
+
: getEnvId(dependency.env);
|
|
204
|
+
dependency.env = toEnvironmentRef(dependency.env);
|
|
199
205
|
|
|
200
206
|
if (dependency.symbols != null) {
|
|
201
207
|
dependency.symbols = new Map(dependency.symbols?.map(mapSymbols));
|
|
@@ -214,6 +220,7 @@ export function getAssetGraph(serializedGraph: any): {
|
|
|
214
220
|
deferred: false,
|
|
215
221
|
excluded: false,
|
|
216
222
|
hasDeferred: node.has_deferred,
|
|
223
|
+
// @ts-expect-error TS2322
|
|
217
224
|
usedSymbolsDown,
|
|
218
225
|
usedSymbolsDownDirty: true,
|
|
219
226
|
usedSymbolsUp,
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {ContentKey} from '@atlaspack/graph';
|
|
4
2
|
import type {Async} from '@atlaspack/types';
|
|
5
3
|
import type {StaticRunOpts} from '../RequestTracker';
|
|
@@ -21,18 +19,18 @@ import {fromProjectPath, fromProjectPathRelative} from '../projectPath';
|
|
|
21
19
|
import {report} from '../ReporterRunner';
|
|
22
20
|
import {requestTypes} from '../RequestTracker';
|
|
23
21
|
import type {DevDepRequestResult} from './DevDepRequest';
|
|
22
|
+
import {toEnvironmentId} from '../EnvironmentManager';
|
|
24
23
|
|
|
25
|
-
type RunInput<TResult> = {
|
|
26
|
-
input: AssetRequestInput
|
|
27
|
-
|
|
28
|
-
|};
|
|
24
|
+
type RunInput<TResult> = {
|
|
25
|
+
input: AssetRequestInput;
|
|
26
|
+
} & StaticRunOpts<TResult>;
|
|
29
27
|
|
|
30
|
-
export type AssetRequest = {
|
|
31
|
-
id: ContentKey
|
|
32
|
-
|
|
33
|
-
run: (RunInput<AssetRequestResult>) => Async<AssetRequestResult
|
|
34
|
-
input: AssetRequestInput
|
|
35
|
-
|
|
28
|
+
export type AssetRequest = {
|
|
29
|
+
id: ContentKey;
|
|
30
|
+
readonly type: typeof requestTypes.asset_request;
|
|
31
|
+
run: (arg1: RunInput<AssetRequestResult>) => Async<AssetRequestResult>;
|
|
32
|
+
input: AssetRequestInput;
|
|
33
|
+
};
|
|
36
34
|
|
|
37
35
|
export default function createAssetRequest(
|
|
38
36
|
input: AssetRequestInput,
|
|
@@ -51,7 +49,7 @@ function getId(input: AssetRequestInput) {
|
|
|
51
49
|
return hashString(
|
|
52
50
|
type +
|
|
53
51
|
fromProjectPathRelative(input.filePath) +
|
|
54
|
-
input.env
|
|
52
|
+
toEnvironmentId(input.env) +
|
|
55
53
|
String(input.isSource) +
|
|
56
54
|
String(input.sideEffects) +
|
|
57
55
|
(input.code ?? '') +
|
|
@@ -62,6 +60,7 @@ function getId(input: AssetRequestInput) {
|
|
|
62
60
|
);
|
|
63
61
|
}
|
|
64
62
|
|
|
63
|
+
// @ts-expect-error TS7031
|
|
65
64
|
async function run({input, api, farm, invalidateReason, options}) {
|
|
66
65
|
report({
|
|
67
66
|
type: 'buildProgress',
|
|
@@ -73,6 +72,7 @@ async function run({input, api, farm, invalidateReason, options}) {
|
|
|
73
72
|
let start = Date.now();
|
|
74
73
|
let {optionsRef, ...rest} = input;
|
|
75
74
|
let {cachePath} = nullthrows(
|
|
75
|
+
// @ts-expect-error TS2347
|
|
76
76
|
await api.runRequest<null, ConfigAndCachePath>(
|
|
77
77
|
createAtlaspackConfigRequest(),
|
|
78
78
|
),
|
|
@@ -82,9 +82,12 @@ async function run({input, api, farm, invalidateReason, options}) {
|
|
|
82
82
|
await Promise.all(
|
|
83
83
|
api
|
|
84
84
|
.getSubRequests()
|
|
85
|
+
// @ts-expect-error TS7006
|
|
85
86
|
.filter((req) => req.requestType === requestTypes.dev_dep_request)
|
|
87
|
+
// @ts-expect-error TS7006
|
|
86
88
|
.map(async (req) => [
|
|
87
89
|
req.id,
|
|
90
|
+
// @ts-expect-error TS2347
|
|
88
91
|
nullthrows(await api.getRequestResult<DevDepRequestResult>(req.id)),
|
|
89
92
|
]),
|
|
90
93
|
),
|
|
@@ -95,21 +98,24 @@ async function run({input, api, farm, invalidateReason, options}) {
|
|
|
95
98
|
invalidateReason,
|
|
96
99
|
devDeps: new Map(
|
|
97
100
|
[...previousDevDepRequests.entries()]
|
|
98
|
-
|
|
99
|
-
.
|
|
101
|
+
// @ts-expect-error TS2769
|
|
102
|
+
.filter(([id]: [any]) => api.canSkipSubrequest(id))
|
|
103
|
+
.map(([, req]: [any, any]) => [
|
|
100
104
|
`${req.specifier}:${fromProjectPathRelative(req.resolveFrom)}`,
|
|
101
105
|
req.hash,
|
|
102
106
|
]),
|
|
103
107
|
),
|
|
104
108
|
invalidDevDeps: await Promise.all(
|
|
105
109
|
[...previousDevDepRequests.entries()]
|
|
106
|
-
|
|
107
|
-
.
|
|
110
|
+
// @ts-expect-error TS2769
|
|
111
|
+
.filter(([id]: [any]) => !api.canSkipSubrequest(id))
|
|
112
|
+
.flatMap(([, req]: [any, any]) => {
|
|
108
113
|
return [
|
|
109
114
|
{
|
|
110
115
|
specifier: req.specifier,
|
|
111
116
|
resolveFrom: req.resolveFrom,
|
|
112
117
|
},
|
|
118
|
+
// @ts-expect-error TS7006
|
|
113
119
|
...(req.additionalInvalidations ?? []).map((i) => ({
|
|
114
120
|
specifier: i.specifier,
|
|
115
121
|
resolveFrom: i.resolveFrom,
|
|
@@ -127,7 +133,7 @@ async function run({input, api, farm, invalidateReason, options}) {
|
|
|
127
133
|
configCachePath: cachePath,
|
|
128
134
|
optionsRef,
|
|
129
135
|
request,
|
|
130
|
-
})
|
|
136
|
+
})) as TransformationResult;
|
|
131
137
|
|
|
132
138
|
let time = Date.now() - start;
|
|
133
139
|
if (assets) {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {ContentKey} from '@atlaspack/graph';
|
|
4
2
|
import type {Async} from '@atlaspack/types';
|
|
5
3
|
import type {SharedReference} from '@atlaspack/workers';
|
|
@@ -9,7 +7,7 @@ import type {Asset, AssetGroup, PackagedBundleInfo} from '../types';
|
|
|
9
7
|
import type BundleGraph from '../BundleGraph';
|
|
10
8
|
|
|
11
9
|
import createBundleGraphRequest, {
|
|
12
|
-
|
|
10
|
+
BundleGraphResult,
|
|
13
11
|
} from './BundleGraphRequest';
|
|
14
12
|
import createWriteBundlesRequest from './WriteBundlesRequest';
|
|
15
13
|
import {assertSignalNotAborted} from '../utils';
|
|
@@ -23,32 +21,31 @@ import {assetFromValue} from '../public/Asset';
|
|
|
23
21
|
import {tracer} from '@atlaspack/profiler';
|
|
24
22
|
import {requestTypes} from '../RequestTracker';
|
|
25
23
|
|
|
26
|
-
type AtlaspackBuildRequestInput = {
|
|
27
|
-
optionsRef: SharedReference
|
|
28
|
-
requestedAssetIds: Set<string
|
|
29
|
-
signal?: AbortSignal
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export type AtlaspackBuildRequestResult = {
|
|
33
|
-
bundleGraph: BundleGraph
|
|
34
|
-
bundleInfo: Map<string, PackagedBundleInfo
|
|
35
|
-
changedAssets: Map<string, Asset
|
|
36
|
-
assetRequests: Array<AssetGroup
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
type RunInput<TResult> = {
|
|
40
|
-
input: AtlaspackBuildRequestInput
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
+type: typeof requestTypes.atlaspack_build_request,
|
|
24
|
+
type AtlaspackBuildRequestInput = {
|
|
25
|
+
optionsRef: SharedReference;
|
|
26
|
+
requestedAssetIds: Set<string>;
|
|
27
|
+
signal?: AbortSignal;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export type AtlaspackBuildRequestResult = {
|
|
31
|
+
bundleGraph: BundleGraph;
|
|
32
|
+
bundleInfo: Map<string, PackagedBundleInfo>;
|
|
33
|
+
changedAssets: Map<string, Asset>;
|
|
34
|
+
assetRequests: Array<AssetGroup>;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
type RunInput<TResult> = {
|
|
38
|
+
input: AtlaspackBuildRequestInput;
|
|
39
|
+
} & StaticRunOpts<TResult>;
|
|
40
|
+
|
|
41
|
+
export type AtlaspackBuildRequest = {
|
|
42
|
+
id: ContentKey;
|
|
43
|
+
readonly type: typeof requestTypes.atlaspack_build_request;
|
|
47
44
|
run: (
|
|
48
|
-
RunInput<AtlaspackBuildRequestResult>,
|
|
49
|
-
) => Async<AtlaspackBuildRequestResult
|
|
50
|
-
input: AtlaspackBuildRequestInput
|
|
51
|
-
|
|
45
|
+
arg1: RunInput<AtlaspackBuildRequestResult>,
|
|
46
|
+
) => Async<AtlaspackBuildRequestResult>;
|
|
47
|
+
input: AtlaspackBuildRequestInput;
|
|
48
|
+
};
|
|
52
49
|
|
|
53
50
|
export default function createAtlaspackBuildRequest(
|
|
54
51
|
input: AtlaspackBuildRequestInput,
|
|
@@ -61,6 +58,7 @@ export default function createAtlaspackBuildRequest(
|
|
|
61
58
|
};
|
|
62
59
|
}
|
|
63
60
|
|
|
61
|
+
// @ts-expect-error TS7031
|
|
64
62
|
async function run({input, api, options, rustAtlaspack}) {
|
|
65
63
|
let {optionsRef, requestedAssetIds, signal} = input;
|
|
66
64
|
|
|
@@ -77,7 +75,7 @@ async function run({input, api, options, rustAtlaspack}) {
|
|
|
77
75
|
(options.shouldBuildLazily && requestedAssetIds.size > 0),
|
|
78
76
|
});
|
|
79
77
|
|
|
80
|
-
//
|
|
78
|
+
// @ts-expect-error TS2345
|
|
81
79
|
dumpGraphToGraphViz(bundleGraph._graph, 'BundleGraph', bundleGraphEdgeTypes);
|
|
82
80
|
|
|
83
81
|
await report({
|
|
@@ -85,12 +83,13 @@ async function run({input, api, options, rustAtlaspack}) {
|
|
|
85
83
|
phase: 'bundled',
|
|
86
84
|
bundleGraph: new IBundleGraph(
|
|
87
85
|
bundleGraph,
|
|
88
|
-
|
|
86
|
+
// @ts-expect-error TS2304
|
|
87
|
+
(bundle: Bundle, bundleGraph: BundleGraph, options: AtlaspackOptions) =>
|
|
89
88
|
NamedBundle.get(bundle, bundleGraph, options),
|
|
90
89
|
options,
|
|
91
90
|
),
|
|
92
91
|
changedAssets: new Map(
|
|
93
|
-
Array.from(changedAssets).map(([id, asset]) => [
|
|
92
|
+
Array.from(changedAssets).map(([id, asset]: [any, any]) => [
|
|
94
93
|
id,
|
|
95
94
|
assetFromValue(asset, options),
|
|
96
95
|
]),
|