@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
|
@@ -26,6 +26,13 @@ function _nullthrows() {
|
|
|
26
26
|
};
|
|
27
27
|
return data;
|
|
28
28
|
}
|
|
29
|
+
function _featureFlags() {
|
|
30
|
+
const data = require("@atlaspack/feature-flags");
|
|
31
|
+
_featureFlags = function () {
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
return data;
|
|
35
|
+
}
|
|
29
36
|
function _utils() {
|
|
30
37
|
const data = require("@atlaspack/utils");
|
|
31
38
|
_utils = function () {
|
|
@@ -66,9 +73,10 @@ function createAssetGraphRequest(requestInput) {
|
|
|
66
73
|
run: async input => {
|
|
67
74
|
let prevResult = await input.api.getPreviousResult();
|
|
68
75
|
let builder = new AssetGraphBuilder(input, prevResult);
|
|
69
|
-
let assetGraphRequest = await
|
|
76
|
+
let assetGraphRequest = await builder.build();
|
|
70
77
|
|
|
71
78
|
// early break for incremental bundling if production or flag is off;
|
|
79
|
+
assetGraphRequest.assetGraph.setDisableIncrementalBundling(!input.options.shouldBundleIncrementally || input.options.mode === 'production');
|
|
72
80
|
if (!input.options.shouldBundleIncrementally || input.options.mode === 'production') {
|
|
73
81
|
assetGraphRequest.assetGraph.safeToIncrementallyBundle = false;
|
|
74
82
|
}
|
|
@@ -116,8 +124,15 @@ class AssetGraphBuilder {
|
|
|
116
124
|
this.shouldBuildLazily = shouldBuildLazily ?? false;
|
|
117
125
|
this.lazyIncludes = lazyIncludes ?? [];
|
|
118
126
|
this.lazyExcludes = lazyExcludes ?? [];
|
|
119
|
-
|
|
120
|
-
|
|
127
|
+
if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
|
|
128
|
+
const key = (0, _rust().hashString)(`${_constants.ATLASPACK_VERSION}${name}${JSON.stringify(entries) ?? ''}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`);
|
|
129
|
+
this.cacheKey = `AssetGraph/${_constants.ATLASPACK_VERSION}/${options.mode}/${key}`;
|
|
130
|
+
} else {
|
|
131
|
+
this.cacheKey = (0, _rust().hashString)(`${_constants.ATLASPACK_VERSION}${name}${JSON.stringify(entries) ?? ''}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`) + '-AssetGraph';
|
|
132
|
+
}
|
|
133
|
+
this.isSingleChangeRebuild = api.getInvalidSubRequests()
|
|
134
|
+
// @ts-expect-error TS2367
|
|
135
|
+
.filter(req => req.requestType === 'asset_request').length === 1;
|
|
121
136
|
this.queue = new (_utils().PromiseQueue)();
|
|
122
137
|
assetGraph.onNodeRemoved = nodeId => {
|
|
123
138
|
this.assetGroupsWithRemovedParents.delete(nodeId);
|
|
@@ -156,7 +171,9 @@ class AssetGraphBuilder {
|
|
|
156
171
|
const visitChildren = nodeId => {
|
|
157
172
|
for (let childNodeId of this.assetGraph.getNodeIdsConnectedFrom(nodeId)) {
|
|
158
173
|
let child = (0, _nullthrows().default)(this.assetGraph.getNode(childNodeId));
|
|
159
|
-
if (
|
|
174
|
+
if (
|
|
175
|
+
// @ts-expect-error TS2339
|
|
176
|
+
(!visited.has(childNodeId) || child.hasDeferred) && this.shouldVisitChild(nodeId, childNodeId)) {
|
|
160
177
|
if (child.type === 'asset_group') {
|
|
161
178
|
visitedAssetGroups.add(childNodeId);
|
|
162
179
|
}
|
|
@@ -317,7 +334,14 @@ class AssetGraphBuilder {
|
|
|
317
334
|
}
|
|
318
335
|
shouldSkipRequest(nodeId) {
|
|
319
336
|
let node = (0, _nullthrows().default)(this.assetGraph.getNode(nodeId));
|
|
320
|
-
return
|
|
337
|
+
return (
|
|
338
|
+
// @ts-expect-error TS2339
|
|
339
|
+
node.complete === true || !typesWithRequests.has(node.type) ||
|
|
340
|
+
// @ts-expect-error TS2339
|
|
341
|
+
node.correspondingRequest != null &&
|
|
342
|
+
// @ts-expect-error TS2339
|
|
343
|
+
this.api.canSkipSubrequest(node.correspondingRequest)
|
|
344
|
+
);
|
|
321
345
|
}
|
|
322
346
|
queueCorrespondingRequest(nodeId, errors) {
|
|
323
347
|
let promise;
|
|
@@ -356,6 +380,7 @@ class AssetGraphBuilder {
|
|
|
356
380
|
let didEntriesChange = prevEntries.length !== currentEntries.length || prevEntries.every((entryId, index) => entryId === currentEntries[index]);
|
|
357
381
|
if (didEntriesChange) {
|
|
358
382
|
this.assetGraph.safeToIncrementallyBundle = false;
|
|
383
|
+
this.assetGraph.setNeedsBundling();
|
|
359
384
|
}
|
|
360
385
|
}
|
|
361
386
|
}
|
|
@@ -378,6 +403,7 @@ class AssetGraphBuilder {
|
|
|
378
403
|
}
|
|
379
404
|
async runAssetRequest(input) {
|
|
380
405
|
this.assetRequests.push(input);
|
|
406
|
+
// @ts-expect-error TS2345
|
|
381
407
|
let request = (0, _AssetRequest.default)({
|
|
382
408
|
...input,
|
|
383
409
|
name: this.name,
|
|
@@ -389,16 +415,26 @@ class AssetGraphBuilder {
|
|
|
389
415
|
});
|
|
390
416
|
if (assets != null) {
|
|
391
417
|
for (let asset of assets) {
|
|
418
|
+
// Pass the runtimeAssetRequiringExecutionOnLoad flag from the asset
|
|
419
|
+
// group down to the asset itself, for reading in the packager.
|
|
420
|
+
if (input.runtimeAssetRequiringExecutionOnLoad) {
|
|
421
|
+
asset.meta = {
|
|
422
|
+
...(asset.meta ?? {}),
|
|
423
|
+
runtimeAssetRequiringExecutionOnLoad: input.runtimeAssetRequiringExecutionOnLoad
|
|
424
|
+
};
|
|
425
|
+
}
|
|
392
426
|
if (this.assetGraph.safeToIncrementallyBundle) {
|
|
393
427
|
let otherAsset = this.assetGraph.getNodeByContentKey(asset.id);
|
|
394
428
|
if (otherAsset != null) {
|
|
395
429
|
(0, _assert().default)(otherAsset.type === 'asset');
|
|
396
430
|
if (!this._areDependenciesEqualForAssets(asset, otherAsset.value)) {
|
|
397
431
|
this.assetGraph.safeToIncrementallyBundle = false;
|
|
432
|
+
this.assetGraph.setNeedsBundling();
|
|
398
433
|
}
|
|
399
434
|
} else {
|
|
400
435
|
// adding a new entry or dependency
|
|
401
436
|
this.assetGraph.safeToIncrementallyBundle = false;
|
|
437
|
+
this.assetGraph.setNeedsBundling();
|
|
402
438
|
}
|
|
403
439
|
}
|
|
404
440
|
this.changedAssets.set(asset.id, asset);
|
|
@@ -407,6 +443,7 @@ class AssetGraphBuilder {
|
|
|
407
443
|
this.assetGraph.resolveAssetGroup(input, assets, request.id);
|
|
408
444
|
} else {
|
|
409
445
|
this.assetGraph.safeToIncrementallyBundle = false;
|
|
446
|
+
this.assetGraph.setNeedsBundling();
|
|
410
447
|
}
|
|
411
448
|
this.isSingleChangeRebuild = false;
|
|
412
449
|
}
|
|
@@ -26,11 +26,19 @@ function _logger() {
|
|
|
26
26
|
};
|
|
27
27
|
return data;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
function _featureFlags() {
|
|
30
|
+
const data = require("@atlaspack/feature-flags");
|
|
31
|
+
_featureFlags = function () {
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
return data;
|
|
35
|
+
}
|
|
36
|
+
var _AssetGraph = _interopRequireDefault(require("../AssetGraph"));
|
|
30
37
|
var _RequestTracker = require("../RequestTracker");
|
|
31
38
|
var _SymbolPropagation = require("../SymbolPropagation");
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
var _EnvironmentManager = require("../EnvironmentManager");
|
|
40
|
+
var _Environment = require("../Environment");
|
|
41
|
+
var _dumpGraphToGraphViz = _interopRequireDefault(require("../dumpGraphToGraphViz"));
|
|
34
42
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
43
|
function createAssetGraphRequestRust(rustAtlaspack) {
|
|
36
44
|
return input => ({
|
|
@@ -39,11 +47,25 @@ function createAssetGraphRequestRust(rustAtlaspack) {
|
|
|
39
47
|
run: async input => {
|
|
40
48
|
let options = input.options;
|
|
41
49
|
let serializedAssetGraph = await rustAtlaspack.buildAssetGraph();
|
|
50
|
+
|
|
51
|
+
// Newly created nodes
|
|
42
52
|
serializedAssetGraph.nodes = serializedAssetGraph.nodes.map(node => JSON.parse(node));
|
|
53
|
+
|
|
54
|
+
// Updated existing nodes
|
|
55
|
+
serializedAssetGraph.updates = serializedAssetGraph.updates.map(node => JSON.parse(node));
|
|
56
|
+
|
|
57
|
+
// Don't reuse a previous asset graph result if Rust didn't have one too
|
|
58
|
+
let prevResult = null;
|
|
59
|
+
if (serializedAssetGraph.hadPreviousGraph) {
|
|
60
|
+
prevResult = await input.api.getPreviousResult();
|
|
61
|
+
}
|
|
43
62
|
let {
|
|
44
63
|
assetGraph,
|
|
45
64
|
changedAssets
|
|
46
|
-
} = (0, _logger().instrument)('atlaspack_v3_getAssetGraph', () =>
|
|
65
|
+
} = (0, _logger().instrument)('atlaspack_v3_getAssetGraph', () => {
|
|
66
|
+
var _prevResult;
|
|
67
|
+
return getAssetGraph(serializedAssetGraph, (_prevResult = prevResult) === null || _prevResult === void 0 ? void 0 : _prevResult.assetGraph);
|
|
68
|
+
});
|
|
47
69
|
let changedAssetsPropagation = new Set(changedAssets.keys());
|
|
48
70
|
let errors = (0, _SymbolPropagation.propagateSymbols)({
|
|
49
71
|
options,
|
|
@@ -60,7 +82,8 @@ function createAssetGraphRequestRust(rustAtlaspack) {
|
|
|
60
82
|
diagnostic: [...errors.values()][0]
|
|
61
83
|
});
|
|
62
84
|
}
|
|
63
|
-
|
|
85
|
+
await (0, _dumpGraphToGraphViz.default)(assetGraph, 'AssetGraphV3');
|
|
86
|
+
let result = {
|
|
64
87
|
assetGraph,
|
|
65
88
|
assetRequests: [],
|
|
66
89
|
assetGroupsWithRemovedParents: new Set(),
|
|
@@ -68,19 +91,56 @@ function createAssetGraphRequestRust(rustAtlaspack) {
|
|
|
68
91
|
changedAssetsPropagation,
|
|
69
92
|
previousSymbolPropagationErrors: undefined
|
|
70
93
|
};
|
|
94
|
+
await input.api.storeResult(result);
|
|
95
|
+
input.api.invalidateOnBuild();
|
|
96
|
+
return result;
|
|
71
97
|
},
|
|
72
98
|
input
|
|
73
99
|
});
|
|
74
100
|
}
|
|
101
|
+
function getAssetGraph(serializedGraph, prevAssetGraph) {
|
|
102
|
+
let graph;
|
|
103
|
+
let reuseEdges = false;
|
|
104
|
+
if (prevAssetGraph && serializedGraph.safeToSkipBundling) {
|
|
105
|
+
graph = new _AssetGraph.default({
|
|
106
|
+
_contentKeyToNodeId: prevAssetGraph._contentKeyToNodeId,
|
|
107
|
+
_nodeIdToContentKey: prevAssetGraph._nodeIdToContentKey,
|
|
108
|
+
nodes: prevAssetGraph.nodes,
|
|
109
|
+
rootNodeId: prevAssetGraph.rootNodeId,
|
|
110
|
+
adjacencyList: prevAssetGraph.adjacencyList
|
|
111
|
+
});
|
|
112
|
+
reuseEdges = true;
|
|
113
|
+
} else if (prevAssetGraph && (serializedGraph.updates.length > 0 || serializedGraph.nodes.length > 0)) {
|
|
114
|
+
graph = new _AssetGraph.default({
|
|
115
|
+
_contentKeyToNodeId: prevAssetGraph._contentKeyToNodeId,
|
|
116
|
+
_nodeIdToContentKey: prevAssetGraph._nodeIdToContentKey,
|
|
117
|
+
nodes: prevAssetGraph.nodes,
|
|
118
|
+
initialCapacity: serializedGraph.edges.length,
|
|
119
|
+
// Accomodate the root node
|
|
120
|
+
initialNodeCapacity: prevAssetGraph.nodes.length + 1,
|
|
121
|
+
rootNodeId: prevAssetGraph.rootNodeId
|
|
122
|
+
});
|
|
123
|
+
graph.safeToIncrementallyBundle = false;
|
|
124
|
+
} else {
|
|
125
|
+
graph = new _AssetGraph.default({
|
|
126
|
+
_contentKeyToNodeId: new Map(),
|
|
127
|
+
_nodeIdToContentKey: new Map(),
|
|
128
|
+
initialCapacity: serializedGraph.edges.length,
|
|
129
|
+
// Accomodate the root node
|
|
130
|
+
initialNodeCapacity: serializedGraph.nodes.length + 1
|
|
131
|
+
});
|
|
132
|
+
let rootNodeId = graph.addNodeByContentKey('@@root', {
|
|
133
|
+
id: '@@root',
|
|
134
|
+
type: 'root',
|
|
135
|
+
value: null
|
|
136
|
+
});
|
|
137
|
+
graph.setRootNodeId(rootNodeId);
|
|
138
|
+
graph.safeToIncrementallyBundle = false;
|
|
139
|
+
}
|
|
140
|
+
(0, _assert().default)(graph, 'Asset graph not initialized');
|
|
141
|
+
(0, _assert().default)(graph.rootNodeId != null, 'Asset graph has no root node');
|
|
75
142
|
|
|
76
|
-
//
|
|
77
|
-
function getAssetGraph(serializedGraph) {
|
|
78
|
-
let graph = new _AssetGraph.default({
|
|
79
|
-
_contentKeyToNodeId: new Map(),
|
|
80
|
-
_nodeIdToContentKey: new Map(),
|
|
81
|
-
initialCapacity: serializedGraph.edges.length
|
|
82
|
-
});
|
|
83
|
-
graph.safeToIncrementallyBundle = false;
|
|
143
|
+
// @ts-expect-error TS7031
|
|
84
144
|
function mapSymbols({
|
|
85
145
|
exported,
|
|
86
146
|
...symbol
|
|
@@ -88,19 +148,16 @@ function getAssetGraph(serializedGraph) {
|
|
|
88
148
|
let jsSymbol = {
|
|
89
149
|
local: symbol.local ?? undefined,
|
|
90
150
|
loc: symbol.loc ?? undefined,
|
|
91
|
-
|
|
92
|
-
|
|
151
|
+
isWeak: symbol.isWeak,
|
|
152
|
+
meta: {
|
|
153
|
+
isEsm: symbol.isEsmExport,
|
|
154
|
+
isStaticBindingSafe: symbol.isStaticBindingSafe
|
|
155
|
+
}
|
|
93
156
|
};
|
|
94
157
|
if (symbol.exported) {
|
|
95
|
-
//
|
|
158
|
+
// @ts-expect-error TS2339
|
|
96
159
|
jsSymbol.exported = symbol.exported;
|
|
97
160
|
}
|
|
98
|
-
if (symbol.isEsmExport) {
|
|
99
|
-
// $FlowFixMe
|
|
100
|
-
jsSymbol.meta = {
|
|
101
|
-
isEsm: true
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
161
|
return [exported, jsSymbol];
|
|
105
162
|
}
|
|
106
163
|
|
|
@@ -112,20 +169,26 @@ function getAssetGraph(serializedGraph) {
|
|
|
112
169
|
let envKey = [env.context, env.engines.atlaspack, env.engines.browsers, env.engines.electron, env.engines.node, env.includeNodeModules, env.isLibrary, env.outputFormat, env.shouldScopeHoist, env.shouldOptimize, env.sourceType].join(':');
|
|
113
170
|
let envId = envs.get(envKey);
|
|
114
171
|
if (envId == null) {
|
|
115
|
-
envId = envs.size;
|
|
172
|
+
envId = envs.size.toString();
|
|
116
173
|
envs.set(envKey, envId);
|
|
117
174
|
}
|
|
118
175
|
return envId;
|
|
119
176
|
};
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
let
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
177
|
+
function updateNode(newNode, isUpdateNode) {
|
|
178
|
+
if (isUpdateNode) {
|
|
179
|
+
let existingNode = graph.getNodeByContentKey(newNode.id);
|
|
180
|
+
(0, _assert().default)(existingNode && existingNode.type === newNode.type);
|
|
181
|
+
Object.assign(existingNode, newNode);
|
|
182
|
+
} else {
|
|
183
|
+
graph.addNodeByContentKey(newNode.id, newNode);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
let nodeTypeSwitchoverIndex = serializedGraph.nodes.length;
|
|
187
|
+
let nodesCount = serializedGraph.nodes.length + serializedGraph.updates.length;
|
|
188
|
+
for (let index = 0; index < nodesCount; index++) {
|
|
189
|
+
let isUpdateNode = index >= nodeTypeSwitchoverIndex;
|
|
190
|
+
let node = isUpdateNode ? serializedGraph.updates[index - nodeTypeSwitchoverIndex] : serializedGraph.nodes[index];
|
|
191
|
+
if (node.type === 'entry') {
|
|
129
192
|
let id = 'entry:' + ++entry;
|
|
130
193
|
graph.addNodeByContentKey(id, {
|
|
131
194
|
id: id,
|
|
@@ -137,8 +200,11 @@ function getAssetGraph(serializedGraph) {
|
|
|
137
200
|
let id = asset.id;
|
|
138
201
|
asset.committed = true;
|
|
139
202
|
asset.contentKey = id;
|
|
140
|
-
asset.env.id =
|
|
203
|
+
asset.env.id = (0, _featureFlags().getFeatureFlag)('environmentDeduplication') ?
|
|
204
|
+
// TODO: Rust can do this and avoid copying a significant amount of data over
|
|
205
|
+
(0, _Environment.getEnvironmentHash)(asset.env) : getEnvId(asset.env);
|
|
141
206
|
asset.mapKey = `map:${asset.id}`;
|
|
207
|
+
asset.env = (0, _EnvironmentManager.toEnvironmentRef)(asset.env);
|
|
142
208
|
|
|
143
209
|
// This is populated later when we map the edges between assets and dependencies
|
|
144
210
|
asset.dependencies = new Map();
|
|
@@ -150,19 +216,25 @@ function getAssetGraph(serializedGraph) {
|
|
|
150
216
|
asset.symbols = new Map(asset.symbols.map(mapSymbols));
|
|
151
217
|
}
|
|
152
218
|
changedAssets.set(id, asset);
|
|
153
|
-
|
|
219
|
+
let assetNode = {
|
|
154
220
|
id,
|
|
155
221
|
type: 'asset',
|
|
156
222
|
usedSymbols: new Set(),
|
|
157
223
|
usedSymbolsDownDirty: true,
|
|
158
224
|
usedSymbolsUpDirty: true,
|
|
159
225
|
value: asset
|
|
160
|
-
}
|
|
226
|
+
};
|
|
227
|
+
updateNode(assetNode, isUpdateNode);
|
|
161
228
|
} else if (node.type === 'dependency') {
|
|
162
|
-
let
|
|
163
|
-
|
|
229
|
+
let {
|
|
230
|
+
dependency,
|
|
231
|
+
id
|
|
232
|
+
} = node.value;
|
|
164
233
|
dependency.id = id;
|
|
165
|
-
dependency.env.id =
|
|
234
|
+
dependency.env.id = (0, _featureFlags().getFeatureFlag)('environmentDeduplication') ?
|
|
235
|
+
// TODO: Rust can do this and avoid copying a significant amount of data over
|
|
236
|
+
(0, _Environment.getEnvironmentHash)(dependency.env) : getEnvId(dependency.env);
|
|
237
|
+
dependency.env = (0, _EnvironmentManager.toEnvironmentRef)(dependency.env);
|
|
166
238
|
if (dependency.symbols != null) {
|
|
167
239
|
var _dependency$symbols;
|
|
168
240
|
dependency.symbols = new Map((_dependency$symbols = dependency.symbols) === null || _dependency$symbols === void 0 ? void 0 : _dependency$symbols.map(mapSymbols));
|
|
@@ -173,43 +245,35 @@ function getAssetGraph(serializedGraph) {
|
|
|
173
245
|
usedSymbolsDown.add('*');
|
|
174
246
|
usedSymbolsUp.set('*', undefined);
|
|
175
247
|
}
|
|
176
|
-
|
|
248
|
+
let depNode = {
|
|
177
249
|
id,
|
|
178
250
|
type: 'dependency',
|
|
179
251
|
deferred: false,
|
|
180
252
|
excluded: false,
|
|
181
253
|
hasDeferred: node.has_deferred,
|
|
254
|
+
// @ts-expect-error TS2322
|
|
182
255
|
usedSymbolsDown,
|
|
183
256
|
usedSymbolsDownDirty: true,
|
|
184
257
|
usedSymbolsUp,
|
|
185
258
|
usedSymbolsUpDirtyDown: true,
|
|
186
259
|
usedSymbolsUpDirtyUp: true,
|
|
187
260
|
value: dependency
|
|
188
|
-
}
|
|
261
|
+
};
|
|
262
|
+
updateNode(depNode, isUpdateNode);
|
|
189
263
|
}
|
|
190
264
|
}
|
|
191
|
-
|
|
192
|
-
let
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
pipeline: toNode.value.pipeline,
|
|
204
|
-
sideEffects: Boolean(toNode.value.sideEffects)
|
|
205
|
-
});
|
|
206
|
-
let index = graph.addNodeByContentKeyIfNeeded(assetGroupNode.id, assetGroupNode);
|
|
207
|
-
graph.addEdge(from, index);
|
|
208
|
-
graph.addEdge(index, to);
|
|
209
|
-
} else if ((fromNode === null || fromNode === void 0 ? void 0 : fromNode.type) === 'asset' && (toNode === null || toNode === void 0 ? void 0 : toNode.type) === 'dependency') {
|
|
210
|
-
fromNode.value.dependencies.set(toNode.value.id, toNode.value);
|
|
211
|
-
graph.addEdge(from, to);
|
|
212
|
-
} else {
|
|
265
|
+
if (!reuseEdges) {
|
|
266
|
+
for (let i = 0; i < serializedGraph.edges.length; i += 2) {
|
|
267
|
+
let from = serializedGraph.edges[i];
|
|
268
|
+
let to = serializedGraph.edges[i + 1];
|
|
269
|
+
let fromNode = graph.getNode(from);
|
|
270
|
+
let toNode = graph.getNode(to);
|
|
271
|
+
if ((fromNode === null || fromNode === void 0 ? void 0 : fromNode.type) === 'dependency') {
|
|
272
|
+
(0, _assert().default)((toNode === null || toNode === void 0 ? void 0 : toNode.type) === 'asset');
|
|
273
|
+
}
|
|
274
|
+
if ((fromNode === null || fromNode === void 0 ? void 0 : fromNode.type) === 'asset' && (toNode === null || toNode === void 0 ? void 0 : toNode.type) === 'dependency') {
|
|
275
|
+
fromNode.value.dependencies.set(toNode.value.id, toNode.value);
|
|
276
|
+
}
|
|
213
277
|
graph.addEdge(from, to);
|
|
214
278
|
}
|
|
215
279
|
}
|
|
@@ -31,6 +31,7 @@ var _ConfigRequest = require("./ConfigRequest");
|
|
|
31
31
|
var _projectPath = require("../projectPath");
|
|
32
32
|
var _ReporterRunner = require("../ReporterRunner");
|
|
33
33
|
var _RequestTracker = require("../RequestTracker");
|
|
34
|
+
var _EnvironmentManager = require("../EnvironmentManager");
|
|
34
35
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
36
|
function createAssetRequest(input) {
|
|
36
37
|
return {
|
|
@@ -42,8 +43,10 @@ function createAssetRequest(input) {
|
|
|
42
43
|
}
|
|
43
44
|
const type = 'asset_request';
|
|
44
45
|
function getId(input) {
|
|
45
|
-
return (0, _rust().hashString)(type + (0, _projectPath.fromProjectPathRelative)(input.filePath) + input.env
|
|
46
|
+
return (0, _rust().hashString)(type + (0, _projectPath.fromProjectPathRelative)(input.filePath) + (0, _EnvironmentManager.toEnvironmentId)(input.env) + String(input.isSource) + String(input.sideEffects) + (input.code ?? '') + ':' + (input.pipeline ?? '') + ':' + (input.query ?? ''));
|
|
46
47
|
}
|
|
48
|
+
|
|
49
|
+
// @ts-expect-error TS7031
|
|
47
50
|
async function run({
|
|
48
51
|
input,
|
|
49
52
|
api,
|
|
@@ -64,17 +67,31 @@ async function run({
|
|
|
64
67
|
} = input;
|
|
65
68
|
let {
|
|
66
69
|
cachePath
|
|
67
|
-
} = (0, _nullthrows().default)(
|
|
68
|
-
|
|
70
|
+
} = (0, _nullthrows().default)(
|
|
71
|
+
// @ts-expect-error TS2347
|
|
72
|
+
await api.runRequest((0, _AtlaspackConfigRequest.default)()));
|
|
73
|
+
let previousDevDepRequests = new Map(await Promise.all(api.getSubRequests()
|
|
74
|
+
// @ts-expect-error TS7006
|
|
75
|
+
.filter(req => req.requestType === _RequestTracker.requestTypes.dev_dep_request)
|
|
76
|
+
// @ts-expect-error TS7006
|
|
77
|
+
.map(async req => [req.id,
|
|
78
|
+
// @ts-expect-error TS2347
|
|
79
|
+
(0, _nullthrows().default)(await api.getRequestResult(req.id))])));
|
|
69
80
|
let request = {
|
|
70
81
|
...rest,
|
|
71
82
|
invalidateReason,
|
|
72
|
-
devDeps: new Map([...previousDevDepRequests.entries()]
|
|
73
|
-
|
|
83
|
+
devDeps: new Map([...previousDevDepRequests.entries()]
|
|
84
|
+
// @ts-expect-error TS2769
|
|
85
|
+
.filter(([id]) => api.canSkipSubrequest(id)).map(([, req]) => [`${req.specifier}:${(0, _projectPath.fromProjectPathRelative)(req.resolveFrom)}`, req.hash])),
|
|
86
|
+
invalidDevDeps: await Promise.all([...previousDevDepRequests.entries()]
|
|
87
|
+
// @ts-expect-error TS2769
|
|
88
|
+
.filter(([id]) => !api.canSkipSubrequest(id)).flatMap(([, req]) => {
|
|
74
89
|
return [{
|
|
75
90
|
specifier: req.specifier,
|
|
76
91
|
resolveFrom: req.resolveFrom
|
|
77
|
-
},
|
|
92
|
+
},
|
|
93
|
+
// @ts-expect-error TS7006
|
|
94
|
+
...(req.additionalInvalidations ?? []).map(i => ({
|
|
78
95
|
specifier: i.specifier,
|
|
79
96
|
resolveFrom: i.resolveFrom
|
|
80
97
|
}))];
|
|
@@ -54,12 +54,14 @@ async function run({
|
|
|
54
54
|
force: Boolean(rustAtlaspack) || options.shouldBuildLazily && requestedAssetIds.size > 0
|
|
55
55
|
});
|
|
56
56
|
|
|
57
|
-
//
|
|
57
|
+
// @ts-expect-error TS2345
|
|
58
58
|
(0, _dumpGraphToGraphViz.default)(bundleGraph._graph, 'BundleGraph', _BundleGraph.bundleGraphEdgeTypes);
|
|
59
59
|
await (0, _ReporterRunner.report)({
|
|
60
60
|
type: 'buildProgress',
|
|
61
61
|
phase: 'bundled',
|
|
62
|
-
bundleGraph: new _BundleGraph2.default(bundleGraph,
|
|
62
|
+
bundleGraph: new _BundleGraph2.default(bundleGraph,
|
|
63
|
+
// @ts-expect-error TS2304
|
|
64
|
+
(bundle, bundleGraph, options) => _Bundle.NamedBundle.get(bundle, bundleGraph, options), options),
|
|
63
65
|
changedAssets: new Map(Array.from(changedAssets).map(([id, asset]) => [id, (0, _Asset.assetFromValue)(asset, options)]))
|
|
64
66
|
});
|
|
65
67
|
let packagingMeasurement = _profiler().tracer.createMeasurement('packaging');
|
|
@@ -67,13 +69,17 @@ async function run({
|
|
|
67
69
|
bundleGraph,
|
|
68
70
|
optionsRef
|
|
69
71
|
});
|
|
70
|
-
let
|
|
72
|
+
let {
|
|
73
|
+
bundleInfo,
|
|
74
|
+
scopeHoistingStats
|
|
75
|
+
} = await api.runRequest(writeBundlesRequest);
|
|
71
76
|
packagingMeasurement && packagingMeasurement.end();
|
|
72
77
|
(0, _utils.assertSignalNotAborted)(signal);
|
|
73
78
|
return {
|
|
74
79
|
bundleGraph,
|
|
75
80
|
bundleInfo,
|
|
76
81
|
changedAssets,
|
|
77
|
-
assetRequests
|
|
82
|
+
assetRequests,
|
|
83
|
+
scopeHoistingStats
|
|
78
84
|
};
|
|
79
85
|
}
|
|
@@ -68,6 +68,8 @@ var _utils2 = require("../utils");
|
|
|
68
68
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
69
69
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
70
70
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
71
|
+
// @ts-expect-error TS2344
|
|
72
|
+
|
|
71
73
|
const type = 'atlaspack_config_request';
|
|
72
74
|
function createAtlaspackConfigRequest() {
|
|
73
75
|
return {
|
|
@@ -117,10 +119,12 @@ function getCachedAtlaspackConfig(result, options) {
|
|
|
117
119
|
} = result;
|
|
118
120
|
let config = atlaspackConfigCache.get(cachePath);
|
|
119
121
|
if (config) {
|
|
122
|
+
// @ts-expect-error TS2740
|
|
120
123
|
return config;
|
|
121
124
|
}
|
|
122
125
|
config = new _AtlaspackConfig.AtlaspackConfig(processedConfig, options);
|
|
123
126
|
atlaspackConfigCache.set(cachePath, config);
|
|
127
|
+
// @ts-expect-error TS2322
|
|
124
128
|
return config;
|
|
125
129
|
}
|
|
126
130
|
async function loadAtlaspackConfig(options) {
|
|
@@ -157,13 +161,23 @@ async function resolveAtlaspackConfig(options) {
|
|
|
157
161
|
extendedFiles
|
|
158
162
|
} = await parseAndProcessConfig(configPath, contents, options);
|
|
159
163
|
if (options.additionalReporters.length > 0) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}) => ({
|
|
164
|
+
var _config$reporters;
|
|
165
|
+
const reporterMap = new Map();
|
|
166
|
+
options.additionalReporters.forEach(({
|
|
164
167
|
packageName,
|
|
165
168
|
resolveFrom
|
|
166
|
-
})
|
|
169
|
+
}) => {
|
|
170
|
+
reporterMap.set(packageName, {
|
|
171
|
+
packageName,
|
|
172
|
+
resolveFrom
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
(_config$reporters = config.reporters) === null || _config$reporters === void 0 || _config$reporters.forEach(reporter => {
|
|
176
|
+
if (!reporterMap.has(reporter.packageName)) {
|
|
177
|
+
reporterMap.set(reporter.packageName, reporter);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
config.reporters = Array.from(reporterMap.values());
|
|
167
181
|
}
|
|
168
182
|
return {
|
|
169
183
|
config,
|
|
@@ -207,7 +221,6 @@ async function parseAndProcessConfig(configPath, contents, options) {
|
|
|
207
221
|
function processPipeline(options, pipeline, keyPath, filePath) {
|
|
208
222
|
if (pipeline) {
|
|
209
223
|
return pipeline.map((pkg, i) => {
|
|
210
|
-
// $FlowFixMe
|
|
211
224
|
if (pkg === '...') return pkg;
|
|
212
225
|
return {
|
|
213
226
|
packageName: pkg,
|
|
@@ -218,14 +231,8 @@ function processPipeline(options, pipeline, keyPath, filePath) {
|
|
|
218
231
|
}
|
|
219
232
|
}
|
|
220
233
|
const RESERVED_PIPELINES = new Set(['node:', 'npm:', 'http:', 'https:', 'data:', 'tel:', 'mailto:']);
|
|
221
|
-
async function processMap(
|
|
222
|
-
// $FlowFixMe
|
|
223
|
-
map, keyPath, filePath, options
|
|
224
|
-
// $FlowFixMe
|
|
225
|
-
) {
|
|
234
|
+
async function processMap(map, keyPath, filePath, options) {
|
|
226
235
|
if (!map) return undefined;
|
|
227
|
-
|
|
228
|
-
// $FlowFixMe
|
|
229
236
|
let res = {};
|
|
230
237
|
for (let k in map) {
|
|
231
238
|
let i = k.indexOf(':');
|
|
@@ -268,6 +275,7 @@ async function processConfig(configFile, options) {
|
|
|
268
275
|
} : {
|
|
269
276
|
/*::...null*/
|
|
270
277
|
}),
|
|
278
|
+
// @ts-expect-error TS2322
|
|
271
279
|
resolvers: processPipeline(options, configFile.resolvers, '/resolvers', configFile.filePath),
|
|
272
280
|
transformers: await processMap(configFile.transformers, '/transformers', configFile.filePath, options),
|
|
273
281
|
bundler: configFile.bundler != null ? {
|
|
@@ -275,11 +283,14 @@ async function processConfig(configFile, options) {
|
|
|
275
283
|
resolveFrom: (0, _projectPath.toProjectPath)(options.projectRoot, configFile.filePath),
|
|
276
284
|
keyPath: '/bundler'
|
|
277
285
|
} : undefined,
|
|
286
|
+
// @ts-expect-error TS2322
|
|
278
287
|
namers: processPipeline(options, configFile.namers, '/namers', configFile.filePath),
|
|
288
|
+
// @ts-expect-error TS2322
|
|
279
289
|
runtimes: processPipeline(options, configFile.runtimes, '/runtimes', configFile.filePath),
|
|
280
290
|
packagers: await processMap(configFile.packagers, '/packagers', configFile.filePath, options),
|
|
281
291
|
optimizers: await processMap(configFile.optimizers, '/optimizers', configFile.filePath, options),
|
|
282
292
|
compressors: await processMap(configFile.compressors, '/compressors', configFile.filePath, options),
|
|
293
|
+
// @ts-expect-error TS2322
|
|
283
294
|
reporters: processPipeline(options, configFile.reporters, '/reporters', configFile.filePath),
|
|
284
295
|
validators: await processMap(configFile.validators, '/validators', configFile.filePath, options)
|
|
285
296
|
};
|
|
@@ -462,14 +473,14 @@ function mergeMaps(base, ext, merger) {
|
|
|
462
473
|
let res = {};
|
|
463
474
|
// Add the extension options first so they have higher precedence in the output glob map
|
|
464
475
|
for (let k in ext) {
|
|
465
|
-
//$FlowFixMe Flow doesn't correctly infer the type. See https://github.com/facebook/flow/issues/1736.
|
|
466
476
|
let key = k;
|
|
467
|
-
res[key] =
|
|
477
|
+
res[key] =
|
|
478
|
+
// @ts-expect-error TS2345
|
|
479
|
+
merger && base[key] != null ? merger(base[key], ext[key]) : ext[key];
|
|
468
480
|
}
|
|
469
481
|
|
|
470
482
|
// Add base options that aren't defined in the extension
|
|
471
483
|
for (let k in base) {
|
|
472
|
-
// $FlowFixMe
|
|
473
484
|
let key = k;
|
|
474
485
|
if (res[key] == null) {
|
|
475
486
|
res[key] = base[key];
|