@atlaspack/core 2.16.2-canary.27 → 2.16.2-canary.270
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +665 -0
- package/dist/AssetGraph.js +591 -0
- package/dist/Atlaspack.js +658 -0
- package/dist/AtlaspackConfig.js +324 -0
- package/dist/AtlaspackConfig.schema.js +108 -0
- package/dist/BundleGraph.js +1635 -0
- package/dist/CommittedAsset.js +142 -0
- package/dist/Dependency.js +125 -0
- package/dist/Environment.js +132 -0
- package/dist/EnvironmentManager.js +108 -0
- package/dist/IdentifierRegistry.js +38 -0
- package/dist/InternalConfig.js +37 -0
- package/dist/PackagerRunner.js +545 -0
- package/dist/ReporterRunner.js +151 -0
- package/dist/RequestTracker.js +1360 -0
- package/dist/SymbolPropagation.js +620 -0
- package/dist/TargetDescriptor.schema.js +143 -0
- package/dist/Transformation.js +490 -0
- package/dist/UncommittedAsset.js +315 -0
- package/dist/Validation.js +196 -0
- package/dist/applyRuntimes.js +305 -0
- package/dist/assetUtils.js +168 -0
- package/dist/atlaspack-v3/AtlaspackV3.js +70 -0
- package/dist/atlaspack-v3/NapiWorkerPool.js +57 -0
- package/dist/atlaspack-v3/fs.js +52 -0
- package/dist/atlaspack-v3/index.js +25 -0
- package/dist/atlaspack-v3/jsCallable.js +16 -0
- package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
- package/dist/atlaspack-v3/worker/compat/bitflags.js +94 -0
- package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
- package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
- package/dist/atlaspack-v3/worker/compat/index.js +25 -0
- package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
- package/dist/atlaspack-v3/worker/compat/plugin-config.js +76 -0
- package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
- package/dist/atlaspack-v3/worker/compat/plugin-options.js +122 -0
- package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
- package/dist/atlaspack-v3/worker/compat/target.js +14 -0
- package/dist/atlaspack-v3/worker/worker.js +297 -0
- package/dist/constants.js +17 -0
- package/dist/dumpGraphToGraphViz.js +281 -0
- package/dist/index.js +62 -0
- package/dist/loadAtlaspackPlugin.js +128 -0
- package/dist/loadDotEnv.js +41 -0
- package/dist/projectPath.js +83 -0
- package/dist/public/Asset.js +279 -0
- package/dist/public/Bundle.js +224 -0
- package/dist/public/BundleGraph.js +359 -0
- package/dist/public/BundleGroup.js +53 -0
- package/dist/public/Config.js +286 -0
- package/dist/public/Dependency.js +138 -0
- package/dist/public/Environment.js +278 -0
- package/dist/public/MutableBundleGraph.js +277 -0
- package/dist/public/PluginOptions.js +80 -0
- package/dist/public/Symbols.js +248 -0
- package/dist/public/Target.js +69 -0
- package/dist/registerCoreWithSerializer.js +38 -0
- package/dist/requests/AssetGraphRequest.js +429 -0
- package/dist/requests/AssetGraphRequestRust.js +262 -0
- package/dist/requests/AssetRequest.js +130 -0
- package/dist/requests/AtlaspackBuildRequest.js +65 -0
- package/dist/requests/AtlaspackConfigRequest.js +493 -0
- package/dist/requests/BundleGraphRequest.js +445 -0
- package/dist/requests/ConfigRequest.js +222 -0
- package/dist/requests/DevDepRequest.js +204 -0
- package/dist/requests/EntryRequest.js +314 -0
- package/dist/requests/PackageRequest.js +62 -0
- package/dist/requests/PathRequest.js +349 -0
- package/dist/requests/TargetRequest.js +1311 -0
- package/dist/requests/ValidationRequest.js +49 -0
- package/dist/requests/WriteBundleRequest.js +254 -0
- package/dist/requests/WriteBundlesRequest.js +184 -0
- package/dist/requests/asset-graph-diff.js +128 -0
- package/dist/requests/asset-graph-dot.js +131 -0
- package/dist/resolveOptions.js +268 -0
- package/dist/rustWorkerThreadDylibHack.js +19 -0
- package/dist/serializerCore.browser.js +43 -0
- package/dist/summarizeRequest.js +39 -0
- package/dist/types.js +31 -0
- package/dist/utils.js +172 -0
- package/dist/worker.js +123 -0
- package/lib/AssetGraph.js +111 -14
- package/lib/Atlaspack.js +81 -37
- package/lib/AtlaspackConfig.js +15 -3
- package/lib/AtlaspackConfig.schema.js +7 -5
- package/lib/BundleGraph.js +90 -32
- package/lib/CommittedAsset.js +6 -0
- package/lib/Dependency.js +8 -2
- package/lib/Environment.js +15 -8
- package/lib/EnvironmentManager.js +143 -0
- package/lib/IdentifierRegistry.js +1 -3
- package/lib/InternalConfig.js +3 -2
- package/lib/PackagerRunner.js +90 -27
- package/lib/ReporterRunner.js +6 -9
- package/lib/RequestTracker.js +266 -156
- package/lib/SymbolPropagation.js +42 -18
- package/lib/TargetDescriptor.schema.js +7 -1
- package/lib/Transformation.js +26 -10
- package/lib/UncommittedAsset.js +30 -9
- package/lib/Validation.js +18 -2
- package/lib/applyRuntimes.js +9 -1
- package/lib/assetUtils.js +7 -4
- package/lib/atlaspack-v3/AtlaspackV3.js +32 -7
- package/lib/atlaspack-v3/NapiWorkerPool.js +3 -0
- package/lib/atlaspack-v3/fs.js +3 -1
- package/lib/atlaspack-v3/index.js +28 -1
- package/lib/atlaspack-v3/jsCallable.js +0 -2
- package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
- package/lib/atlaspack-v3/worker/compat/bitflags.js +7 -6
- package/lib/atlaspack-v3/worker/compat/dependency.js +3 -0
- package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
- package/lib/atlaspack-v3/worker/compat/mutable-asset.js +14 -9
- package/lib/atlaspack-v3/worker/compat/plugin-config.js +8 -10
- package/lib/atlaspack-v3/worker/compat/plugin-options.js +1 -0
- package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
- package/lib/atlaspack-v3/worker/compat/target.js +2 -0
- package/lib/atlaspack-v3/worker/index.js +3 -0
- package/lib/atlaspack-v3/worker/worker.js +43 -7
- package/lib/constants.js +0 -1
- package/lib/dumpGraphToGraphViz.js +71 -16
- package/lib/index.js +45 -1
- package/lib/loadDotEnv.js +4 -1
- package/lib/projectPath.js +5 -0
- package/lib/public/Asset.js +21 -11
- package/lib/public/Bundle.js +15 -16
- package/lib/public/BundleGraph.js +10 -4
- package/lib/public/BundleGroup.js +4 -5
- package/lib/public/Config.js +118 -17
- package/lib/public/Dependency.js +8 -6
- package/lib/public/Environment.js +12 -7
- package/lib/public/MutableBundleGraph.js +54 -12
- package/lib/public/PluginOptions.js +2 -2
- package/lib/public/Symbols.js +11 -11
- package/lib/public/Target.js +7 -6
- package/lib/registerCoreWithSerializer.js +5 -3
- package/lib/requests/AssetGraphRequest.js +42 -5
- package/lib/requests/AssetGraphRequestRust.js +126 -62
- package/lib/requests/AssetRequest.js +23 -6
- package/lib/requests/AtlaspackBuildRequest.js +10 -4
- package/lib/requests/AtlaspackConfigRequest.js +27 -16
- package/lib/requests/BundleGraphRequest.js +34 -19
- package/lib/requests/ConfigRequest.js +28 -4
- package/lib/requests/DevDepRequest.js +31 -5
- package/lib/requests/EntryRequest.js +2 -0
- package/lib/requests/PackageRequest.js +2 -1
- package/lib/requests/PathRequest.js +24 -3
- package/lib/requests/TargetRequest.js +122 -57
- package/lib/requests/ValidationRequest.js +5 -1
- package/lib/requests/WriteBundleRequest.js +39 -11
- package/lib/requests/WriteBundlesRequest.js +51 -4
- package/lib/requests/asset-graph-diff.js +12 -7
- package/lib/requests/asset-graph-dot.js +1 -7
- package/lib/resolveOptions.js +36 -10
- package/lib/rustWorkerThreadDylibHack.js +0 -1
- package/lib/types/AssetGraph.d.ts +80 -0
- package/lib/types/Atlaspack.d.ts +52 -0
- package/lib/types/AtlaspackConfig.d.ts +65 -0
- package/lib/types/AtlaspackConfig.schema.d.ts +46 -0
- package/lib/types/BundleGraph.d.ts +182 -0
- package/lib/types/CommittedAsset.d.ts +23 -0
- package/lib/types/Dependency.d.ts +44 -0
- package/lib/types/Environment.d.ts +11 -0
- package/lib/types/EnvironmentManager.d.ts +37 -0
- package/lib/types/IdentifierRegistry.d.ts +6 -0
- package/lib/types/InternalConfig.d.ts +24 -0
- package/lib/types/PackagerRunner.d.ts +85 -0
- package/lib/types/ReporterRunner.d.ts +25 -0
- package/lib/types/RequestTracker.d.ts +385 -0
- package/lib/types/SymbolPropagation.d.ts +11 -0
- package/lib/types/TargetDescriptor.schema.d.ts +5 -0
- package/lib/types/Transformation.d.ts +72 -0
- package/lib/types/UncommittedAsset.d.ts +61 -0
- package/lib/types/Validation.d.ts +37 -0
- package/lib/types/applyRuntimes.d.ts +25 -0
- package/lib/types/assetUtils.d.ts +42 -0
- package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +26 -0
- package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +12 -0
- package/lib/types/atlaspack-v3/fs.d.ts +12 -0
- package/lib/types/atlaspack-v3/index.d.ts +5 -0
- package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
- package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
- package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +15 -0
- package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
- package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
- package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
- package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +37 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +22 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
- package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
- package/lib/types/atlaspack-v3/worker/worker.d.ts +60 -0
- package/lib/types/constants.d.ts +13 -0
- package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
- package/lib/types/index.d.ts +8 -0
- package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
- package/lib/types/loadDotEnv.d.ts +3 -0
- package/lib/types/projectPath.d.ts +19 -0
- package/lib/types/public/Asset.d.ts +74 -0
- package/lib/types/public/Bundle.d.ts +45 -0
- package/lib/types/public/BundleGraph.d.ts +70 -0
- package/lib/types/public/BundleGroup.d.ts +12 -0
- package/lib/types/public/Config.d.ts +75 -0
- package/lib/types/public/Dependency.d.ts +32 -0
- package/lib/types/public/Environment.d.ts +34 -0
- package/lib/types/public/MutableBundleGraph.d.ts +26 -0
- package/lib/types/public/PluginOptions.d.ts +25 -0
- package/lib/types/public/Symbols.d.ts +81 -0
- package/lib/types/public/Target.d.ts +16 -0
- package/lib/types/registerCoreWithSerializer.d.ts +2 -0
- package/lib/types/requests/AssetGraphRequest.d.ts +74 -0
- package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
- package/lib/types/requests/AssetRequest.d.ts +16 -0
- package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
- package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
- package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
- package/lib/types/requests/ConfigRequest.d.ts +59 -0
- package/lib/types/requests/DevDepRequest.d.ts +30 -0
- package/lib/types/requests/EntryRequest.d.ts +36 -0
- package/lib/types/requests/PackageRequest.d.ts +27 -0
- package/lib/types/requests/PathRequest.d.ts +48 -0
- package/lib/types/requests/TargetRequest.d.ts +48 -0
- package/lib/types/requests/ValidationRequest.d.ts +20 -0
- package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
- package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
- package/lib/types/requests/asset-graph-diff.d.ts +1 -0
- package/lib/types/requests/asset-graph-dot.d.ts +9 -0
- package/lib/types/resolveOptions.d.ts +3 -0
- package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
- package/lib/types/serializerCore.browser.d.ts +3 -0
- package/lib/types/summarizeRequest.d.ts +10 -0
- package/lib/types/types.d.ts +493 -0
- package/lib/types/utils.d.ts +23 -0
- package/lib/types/worker.d.ts +44 -0
- package/lib/types.js +8 -1
- package/lib/utils.js +17 -2
- package/lib/worker.js +29 -13
- package/package.json +24 -34
- package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
- package/src/{Atlaspack.js → Atlaspack.ts} +114 -61
- package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +16 -19
- package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
- package/src/{BundleGraph.js → BundleGraph.ts} +231 -140
- package/src/{CommittedAsset.js → CommittedAsset.ts} +14 -12
- package/src/{Dependency.js → Dependency.ts} +59 -42
- package/src/{Environment.js → Environment.ts} +24 -15
- package/src/EnvironmentManager.ts +154 -0
- package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
- package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
- package/src/{PackagerRunner.js → PackagerRunner.ts} +178 -86
- package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
- package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
- package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
- package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
- package/src/{Transformation.js → Transformation.ts} +71 -62
- package/src/{UncommittedAsset.js → UncommittedAsset.ts} +57 -36
- package/src/{Validation.js → Validation.ts} +32 -17
- package/src/{applyRuntimes.js → applyRuntimes.ts} +35 -26
- package/src/{assetUtils.js → assetUtils.ts} +47 -35
- package/src/atlaspack-v3/AtlaspackV3.ts +122 -0
- package/src/atlaspack-v3/{NapiWorkerPool.js → NapiWorkerPool.ts} +10 -5
- package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
- package/src/atlaspack-v3/{index.js → index.ts} +2 -4
- package/src/atlaspack-v3/jsCallable.ts +14 -0
- package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
- package/src/atlaspack-v3/worker/compat/{bitflags.js → bitflags.ts} +9 -10
- package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +12 -12
- package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
- package/src/atlaspack-v3/worker/compat/index.ts +9 -0
- package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +20 -19
- package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +27 -26
- package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
- package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +4 -5
- package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
- package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
- package/src/atlaspack-v3/worker/index.js +2 -1
- package/src/atlaspack-v3/worker/{worker.js → worker.ts} +102 -66
- package/src/{constants.js → constants.ts} +0 -3
- package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
- package/src/index.ts +18 -0
- package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
- package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
- package/src/{projectPath.js → projectPath.ts} +20 -9
- package/src/public/{Asset.js → Asset.ts} +40 -27
- package/src/public/{Bundle.js → Bundle.ts} +28 -29
- package/src/public/{BundleGraph.js → BundleGraph.ts} +81 -50
- package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
- package/src/public/{Config.js → Config.ts} +171 -33
- package/src/public/{Dependency.js → Dependency.ts} +20 -17
- package/src/public/{Environment.js → Environment.ts} +28 -17
- package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
- package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
- package/src/public/{Symbols.js → Symbols.ts} +75 -36
- package/src/public/{Target.js → Target.ts} +10 -8
- package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
- package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +84 -49
- package/src/requests/AssetGraphRequestRust.ts +352 -0
- package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
- package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +46 -32
- package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
- package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +71 -58
- package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +71 -50
- package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
- package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
- package/src/requests/{PackageRequest.js → PackageRequest.ts} +20 -22
- package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
- package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
- package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
- package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
- package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
- package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
- package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
- package/src/{resolveOptions.js → resolveOptions.ts} +56 -24
- package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
- package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
- package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
- package/src/types.ts +647 -0
- package/src/{utils.js → utils.ts} +52 -21
- package/src/{worker.js → worker.ts} +49 -41
- package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
- package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
- package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
- package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +75 -15
- package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
- package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
- package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
- package/test/Environment.test.ts +153 -0
- package/test/EnvironmentManager.test.ts +188 -0
- package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
- package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
- package/test/PackagerRunner.test.ts +0 -0
- package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
- package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
- package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
- package/test/PublicEnvironment.test.ts +49 -0
- package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
- package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
- package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
- package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
- package/test/fixtures/config-with-reporters/.parcelrc +7 -0
- package/test/fixtures/custom-targets/package.json +6 -0
- package/test/public/Config.test.ts +104 -0
- package/test/requests/{AssetGraphRequestRust.test.js → AssetGraphRequestRust.test.ts} +164 -134
- package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
- package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
- package/test/{test-utils.js → test-utils.ts} +4 -11
- package/test/{utils.test.js → utils.test.ts} +1 -3
- package/tsconfig.json +57 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/index.d.ts +0 -30
- package/src/atlaspack-v3/AtlaspackV3.js +0 -87
- package/src/atlaspack-v3/jsCallable.js +0 -18
- package/src/index.js +0 -13
- package/src/requests/AssetGraphRequestRust.js +0 -263
- package/src/types.js +0 -600
- package/test/Environment.test.js +0 -119
- package/test/PackagerRunner.test.js +0 -27
- package/test/PublicEnvironment.test.js +0 -27
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
1
|
import type {ContentKey, NodeId} from '@atlaspack/graph';
|
|
4
2
|
import type {Meta, Symbol} from '@atlaspack/types';
|
|
5
3
|
import type {Diagnostic} from '@atlaspack/diagnostic';
|
|
4
|
+
import {getFeatureFlag} from '@atlaspack/feature-flags';
|
|
6
5
|
import type {
|
|
7
6
|
AssetNode,
|
|
8
7
|
DependencyNode,
|
|
9
8
|
InternalSourceLocation,
|
|
10
9
|
AtlaspackOptions,
|
|
11
10
|
} from './types';
|
|
12
|
-
import {
|
|
11
|
+
import {default as AssetGraph} from './AssetGraph';
|
|
13
12
|
|
|
14
13
|
import invariant from 'assert';
|
|
15
14
|
import nullthrows from 'nullthrows';
|
|
@@ -17,7 +16,7 @@ import {setEqual} from '@atlaspack/utils';
|
|
|
17
16
|
import logger from '@atlaspack/logger';
|
|
18
17
|
import {md, convertSourceLocationToHighlight} from '@atlaspack/diagnostic';
|
|
19
18
|
import {instrument} from '@atlaspack/logger';
|
|
20
|
-
import {BundleBehavior, Priority} from './types';
|
|
19
|
+
import {BundleBehavior, Priority, SpecifierType} from './types';
|
|
21
20
|
import {fromProjectPathRelative, fromProjectPath} from './projectPath';
|
|
22
21
|
|
|
23
22
|
export function propagateSymbols({
|
|
@@ -26,13 +25,13 @@ export function propagateSymbols({
|
|
|
26
25
|
changedAssetsPropagation,
|
|
27
26
|
assetGroupsWithRemovedParents,
|
|
28
27
|
previousErrors,
|
|
29
|
-
}: {
|
|
30
|
-
options: AtlaspackOptions
|
|
31
|
-
assetGraph: AssetGraph
|
|
32
|
-
changedAssetsPropagation: Set<string
|
|
33
|
-
assetGroupsWithRemovedParents: Set<NodeId
|
|
34
|
-
previousErrors?:
|
|
35
|
-
|
|
28
|
+
}: {
|
|
29
|
+
options: AtlaspackOptions;
|
|
30
|
+
assetGraph: AssetGraph;
|
|
31
|
+
changedAssetsPropagation: Set<string>;
|
|
32
|
+
assetGroupsWithRemovedParents: Set<NodeId>;
|
|
33
|
+
previousErrors?: Map<NodeId, Array<Diagnostic>> | null | undefined;
|
|
34
|
+
}): Map<NodeId, Array<Diagnostic>> {
|
|
36
35
|
return instrument('propagateSymbols', () => {
|
|
37
36
|
let changedAssets = new Set(
|
|
38
37
|
[...changedAssetsPropagation].map((id) =>
|
|
@@ -62,11 +61,25 @@ export function propagateSymbols({
|
|
|
62
61
|
changedAssets,
|
|
63
62
|
assetGroupsWithRemovedParents,
|
|
64
63
|
(assetNode, incomingDeps, outgoingDeps) => {
|
|
64
|
+
if (
|
|
65
|
+
assetNode.value.meta.emptyFileStarReexport &&
|
|
66
|
+
incomingDeps.every((d) => d.value.specifierType === SpecifierType.esm)
|
|
67
|
+
) {
|
|
68
|
+
assetNode.value.symbols?.delete('*');
|
|
69
|
+
}
|
|
70
|
+
|
|
65
71
|
// exportSymbol -> identifier
|
|
66
|
-
let assetSymbols:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
72
|
+
let assetSymbols:
|
|
73
|
+
| ReadonlyMap<
|
|
74
|
+
Symbol,
|
|
75
|
+
{
|
|
76
|
+
local: Symbol;
|
|
77
|
+
loc: InternalSourceLocation | null | undefined;
|
|
78
|
+
meta?: Meta | null | undefined;
|
|
79
|
+
}
|
|
80
|
+
>
|
|
81
|
+
| null
|
|
82
|
+
| undefined = assetNode.value.symbols;
|
|
70
83
|
// identifier -> exportSymbol
|
|
71
84
|
let assetSymbolsInverse;
|
|
72
85
|
if (assetSymbols) {
|
|
@@ -143,8 +156,15 @@ export function propagateSymbols({
|
|
|
143
156
|
|
|
144
157
|
// Incomding dependency with cleared symbols, add everything
|
|
145
158
|
if (addAll) {
|
|
146
|
-
assetSymbols?.forEach(
|
|
147
|
-
|
|
159
|
+
assetSymbols?.forEach(
|
|
160
|
+
(
|
|
161
|
+
_: {
|
|
162
|
+
loc: InternalSourceLocation | null | undefined;
|
|
163
|
+
local: Symbol;
|
|
164
|
+
meta?: Meta | null | undefined;
|
|
165
|
+
},
|
|
166
|
+
exportSymbol: Symbol,
|
|
167
|
+
) => assetNode.usedSymbols.add(exportSymbol),
|
|
148
168
|
);
|
|
149
169
|
}
|
|
150
170
|
|
|
@@ -153,6 +173,7 @@ export function propagateSymbols({
|
|
|
153
173
|
for (let dep of outgoingDeps) {
|
|
154
174
|
let depUsedSymbolsDownOld = dep.usedSymbolsDown;
|
|
155
175
|
let depUsedSymbolsDown = new Set();
|
|
176
|
+
// @ts-expect-error TS2322
|
|
156
177
|
dep.usedSymbolsDown = depUsedSymbolsDown;
|
|
157
178
|
if (
|
|
158
179
|
assetNode.value.sideEffects ||
|
|
@@ -233,10 +254,10 @@ export function propagateSymbols({
|
|
|
233
254
|
);
|
|
234
255
|
|
|
235
256
|
const logFallbackNamespaceInsertion = (
|
|
236
|
-
assetNode,
|
|
257
|
+
assetNode: AssetNode,
|
|
237
258
|
symbol: Symbol,
|
|
238
|
-
depNode1,
|
|
239
|
-
depNode2,
|
|
259
|
+
depNode1: DependencyNode,
|
|
260
|
+
depNode2: DependencyNode,
|
|
240
261
|
) => {
|
|
241
262
|
if (options.logLevel === 'verbose') {
|
|
242
263
|
logger.warn({
|
|
@@ -260,10 +281,17 @@ export function propagateSymbols({
|
|
|
260
281
|
changedDepsUsedSymbolsUpDirtyDown,
|
|
261
282
|
previousErrors,
|
|
262
283
|
(assetNode, incomingDeps, outgoingDeps) => {
|
|
263
|
-
let assetSymbols:
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
284
|
+
let assetSymbols:
|
|
285
|
+
| ReadonlyMap<
|
|
286
|
+
Symbol,
|
|
287
|
+
{
|
|
288
|
+
local: Symbol;
|
|
289
|
+
loc: InternalSourceLocation | null | undefined;
|
|
290
|
+
meta?: Meta | null | undefined;
|
|
291
|
+
}
|
|
292
|
+
>
|
|
293
|
+
| null
|
|
294
|
+
| undefined = assetNode.value.symbols;
|
|
267
295
|
|
|
268
296
|
let assetSymbolsInverse = null;
|
|
269
297
|
if (assetSymbols) {
|
|
@@ -281,7 +309,12 @@ export function propagateSymbols({
|
|
|
281
309
|
// the symbols that are reexported (not used in `asset`) -> asset they resolved to
|
|
282
310
|
let reexportedSymbols = new Map<
|
|
283
311
|
Symbol,
|
|
284
|
-
|
|
312
|
+
| {
|
|
313
|
+
asset: ContentKey;
|
|
314
|
+
symbol: Symbol | null | undefined;
|
|
315
|
+
}
|
|
316
|
+
| null
|
|
317
|
+
| undefined
|
|
285
318
|
>();
|
|
286
319
|
// the symbols that are reexported (not used in `asset`) -> the corresponding outgoingDep(s)
|
|
287
320
|
// To generate the diagnostic when there are multiple dependencies with non-statically
|
|
@@ -367,7 +400,36 @@ export function propagateSymbols({
|
|
|
367
400
|
|
|
368
401
|
let errors: Array<Diagnostic> = [];
|
|
369
402
|
|
|
370
|
-
function usedSymbolsUpAmbiguous(
|
|
403
|
+
function usedSymbolsUpAmbiguous(
|
|
404
|
+
old: Map<
|
|
405
|
+
Symbol,
|
|
406
|
+
| {
|
|
407
|
+
asset: ContentKey;
|
|
408
|
+
symbol: Symbol | null | undefined;
|
|
409
|
+
}
|
|
410
|
+
| null
|
|
411
|
+
| undefined
|
|
412
|
+
>,
|
|
413
|
+
current: Map<
|
|
414
|
+
Symbol,
|
|
415
|
+
| {
|
|
416
|
+
asset: ContentKey;
|
|
417
|
+
symbol: Symbol | null | undefined;
|
|
418
|
+
}
|
|
419
|
+
| null
|
|
420
|
+
| undefined
|
|
421
|
+
>,
|
|
422
|
+
s: Symbol,
|
|
423
|
+
value:
|
|
424
|
+
| {
|
|
425
|
+
asset: ContentKey;
|
|
426
|
+
symbol: Symbol;
|
|
427
|
+
}
|
|
428
|
+
| {
|
|
429
|
+
asset: ContentKey;
|
|
430
|
+
symbol: Symbol | null | undefined;
|
|
431
|
+
},
|
|
432
|
+
) {
|
|
371
433
|
if (old.has(s)) {
|
|
372
434
|
let valueOld = old.get(s);
|
|
373
435
|
if (
|
|
@@ -439,6 +501,7 @@ export function propagateSymbols({
|
|
|
439
501
|
|
|
440
502
|
errors.push({
|
|
441
503
|
message: md`${fromProjectPathRelative(
|
|
504
|
+
// @ts-expect-error TS2345
|
|
442
505
|
resolution.value.filePath,
|
|
443
506
|
)} does not export '${s}'`,
|
|
444
507
|
origin: '@atlaspack/core',
|
|
@@ -470,20 +533,22 @@ export function propagateSymbols({
|
|
|
470
533
|
incomingDep.value.symbols != null &&
|
|
471
534
|
incomingDep.usedSymbolsUp.size === 0
|
|
472
535
|
) {
|
|
473
|
-
let
|
|
536
|
+
let connectedNodeIds = assetGraph.getNodeIdsConnectedFrom(
|
|
474
537
|
assetGraph.getNodeIdByContentKey(incomingDep.id),
|
|
475
538
|
);
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
let
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
}
|
|
486
|
-
|
|
539
|
+
|
|
540
|
+
let sideEffectFree = connectedNodeIds.every((nodeId) => {
|
|
541
|
+
let connectedNode = nullthrows(assetGraph.getNode(nodeId));
|
|
542
|
+
// Dependencies should only connect to asset_groups or assets
|
|
543
|
+
invariant(
|
|
544
|
+
connectedNode.type === 'asset' ||
|
|
545
|
+
connectedNode.type === 'asset_group',
|
|
546
|
+
);
|
|
547
|
+
return connectedNode.value.sideEffects === false;
|
|
548
|
+
});
|
|
549
|
+
|
|
550
|
+
if (sideEffectFree) {
|
|
551
|
+
incomingDep.excluded = true;
|
|
487
552
|
}
|
|
488
553
|
}
|
|
489
554
|
}
|
|
@@ -496,7 +561,10 @@ export function propagateSymbols({
|
|
|
496
561
|
// See https://github.com/parcel-bundler/parcel/pull/8212
|
|
497
562
|
for (let dep of changedDeps) {
|
|
498
563
|
dep.usedSymbolsUp = new Map(
|
|
499
|
-
|
|
564
|
+
// @ts-expect-error TS2345
|
|
565
|
+
[...dep.usedSymbolsUp].sort(([a]: [any], [b]: [any]) =>
|
|
566
|
+
a.localeCompare(b),
|
|
567
|
+
),
|
|
500
568
|
);
|
|
501
569
|
}
|
|
502
570
|
|
|
@@ -510,8 +578,8 @@ function propagateSymbolsDown(
|
|
|
510
578
|
assetGroupsWithRemovedParents: Set<NodeId>,
|
|
511
579
|
visit: (
|
|
512
580
|
assetNode: AssetNode,
|
|
513
|
-
incoming:
|
|
514
|
-
outgoing:
|
|
581
|
+
incoming: ReadonlyArray<DependencyNode>,
|
|
582
|
+
outgoing: ReadonlyArray<DependencyNode>,
|
|
515
583
|
) => void,
|
|
516
584
|
) {
|
|
517
585
|
if (changedAssets.size === 0 && assetGroupsWithRemovedParents.size === 0) {
|
|
@@ -597,11 +665,11 @@ function propagateSymbolsUp(
|
|
|
597
665
|
assetGraph: AssetGraph,
|
|
598
666
|
changedAssets: Set<NodeId>,
|
|
599
667
|
changedDepsUsedSymbolsUpDirtyDown: Set<ContentKey>,
|
|
600
|
-
previousErrors:
|
|
668
|
+
previousErrors: Map<NodeId, Array<Diagnostic>> | null | undefined,
|
|
601
669
|
visit: (
|
|
602
670
|
assetNode: AssetNode,
|
|
603
|
-
incoming:
|
|
604
|
-
outgoing:
|
|
671
|
+
incoming: ReadonlyArray<DependencyNode>,
|
|
672
|
+
outgoing: ReadonlyArray<DependencyNode>,
|
|
605
673
|
) => Array<Diagnostic>,
|
|
606
674
|
): Map<NodeId, Array<Diagnostic>> {
|
|
607
675
|
// For graphs in general (so with cyclic dependencies), some nodes will have to be revisited. So
|
|
@@ -615,7 +683,8 @@ function propagateSymbolsUp(
|
|
|
615
683
|
|
|
616
684
|
let errors: Map<NodeId, Array<Diagnostic>> = previousErrors
|
|
617
685
|
? // Some nodes might have been removed since the last build
|
|
618
|
-
|
|
686
|
+
// @ts-expect-error TS2769
|
|
687
|
+
new Map([...previousErrors].filter(([n]: [any]) => assetGraph.hasNode(n)))
|
|
619
688
|
: new Map();
|
|
620
689
|
|
|
621
690
|
let changedDepsUsedSymbolsUpDirtyDownAssets = new Set([
|
|
@@ -633,6 +702,7 @@ function propagateSymbolsUp(
|
|
|
633
702
|
assetGraph.nodes.length * (1 / 6) * 0.5 <
|
|
634
703
|
changedDepsUsedSymbolsUpDirtyDownAssets.size;
|
|
635
704
|
|
|
705
|
+
// @ts-expect-error TS7034
|
|
636
706
|
let dirtyDeps;
|
|
637
707
|
if (runFullPass) {
|
|
638
708
|
dirtyDeps = new Set<NodeId>();
|
|
@@ -641,7 +711,7 @@ function propagateSymbolsUp(
|
|
|
641
711
|
'A root node is required to traverse',
|
|
642
712
|
);
|
|
643
713
|
|
|
644
|
-
const nodeVisitor = (nodeId) => {
|
|
714
|
+
const nodeVisitor = (nodeId: NodeId) => {
|
|
645
715
|
let node = nullthrows(assetGraph.getNode(nodeId));
|
|
646
716
|
|
|
647
717
|
if (node.type === 'asset') {
|
|
@@ -672,13 +742,16 @@ function propagateSymbolsUp(
|
|
|
672
742
|
} else {
|
|
673
743
|
if (node.type === 'dependency') {
|
|
674
744
|
if (node.usedSymbolsUpDirtyUp) {
|
|
745
|
+
// @ts-expect-error TS7005
|
|
675
746
|
dirtyDeps.add(nodeId);
|
|
676
747
|
} else {
|
|
748
|
+
// @ts-expect-error TS7005
|
|
677
749
|
dirtyDeps.delete(nodeId);
|
|
678
750
|
}
|
|
679
751
|
}
|
|
680
752
|
}
|
|
681
753
|
};
|
|
754
|
+
// @ts-expect-error TS2345
|
|
682
755
|
assetGraph.postOrderDfsFast(nodeVisitor, rootNodeId);
|
|
683
756
|
}
|
|
684
757
|
|
|
@@ -721,6 +794,7 @@ function propagateSymbolsUp(
|
|
|
721
794
|
} else {
|
|
722
795
|
let connectedNodes = assetGraph.getNodeIdsConnectedTo(queuedNodeId);
|
|
723
796
|
if (connectedNodes.length > 0) {
|
|
797
|
+
// @ts-expect-error TS2556
|
|
724
798
|
queue.add(...connectedNodes);
|
|
725
799
|
}
|
|
726
800
|
}
|
|
@@ -735,22 +809,46 @@ function getDependencyResolution(
|
|
|
735
809
|
): Array<NodeId> {
|
|
736
810
|
let depNodeId = graph.getNodeIdByContentKey(depId);
|
|
737
811
|
let connected = graph.getNodeIdsConnectedFrom(depNodeId);
|
|
738
|
-
|
|
739
|
-
let
|
|
740
|
-
|
|
812
|
+
|
|
813
|
+
let resolvedNodeIds: Array<NodeId> = [];
|
|
814
|
+
|
|
815
|
+
// If any of the resolved nodes is an asset_group, we need to resolve its
|
|
816
|
+
// assets here.
|
|
817
|
+
for (let child of connected) {
|
|
818
|
+
if (!child) {
|
|
819
|
+
continue;
|
|
820
|
+
}
|
|
821
|
+
|
|
741
822
|
let childNode = nullthrows(graph.getNode(child));
|
|
742
823
|
if (childNode.type === 'asset_group') {
|
|
743
|
-
|
|
824
|
+
resolvedNodeIds.push(...graph.getNodeIdsConnectedFrom(child));
|
|
744
825
|
} else {
|
|
745
|
-
|
|
826
|
+
resolvedNodeIds.push(child);
|
|
746
827
|
}
|
|
747
828
|
}
|
|
748
|
-
|
|
829
|
+
|
|
830
|
+
return resolvedNodeIds;
|
|
749
831
|
}
|
|
750
832
|
|
|
751
833
|
function equalMap<K>(
|
|
752
|
-
a:
|
|
753
|
-
|
|
834
|
+
a: ReadonlyMap<
|
|
835
|
+
K,
|
|
836
|
+
| {
|
|
837
|
+
asset: ContentKey;
|
|
838
|
+
symbol: Symbol | null | undefined;
|
|
839
|
+
}
|
|
840
|
+
| null
|
|
841
|
+
| undefined
|
|
842
|
+
>,
|
|
843
|
+
b: ReadonlyMap<
|
|
844
|
+
K,
|
|
845
|
+
| {
|
|
846
|
+
asset: ContentKey;
|
|
847
|
+
symbol: Symbol | null | undefined;
|
|
848
|
+
}
|
|
849
|
+
| null
|
|
850
|
+
| undefined
|
|
851
|
+
>,
|
|
754
852
|
) {
|
|
755
853
|
if (a.size !== b.size) return false;
|
|
756
854
|
for (let [k, v] of a) {
|
|
@@ -767,14 +865,20 @@ function setPop<T>(set: Set<T>): T {
|
|
|
767
865
|
return v;
|
|
768
866
|
}
|
|
769
867
|
|
|
770
|
-
function outgoingDependencyNodesFromAsset(
|
|
868
|
+
function outgoingDependencyNodesFromAsset(
|
|
869
|
+
assetGraph: AssetGraph,
|
|
870
|
+
assetNode: NodeId,
|
|
871
|
+
) {
|
|
771
872
|
return dependencyNodesFromIds(
|
|
772
873
|
assetGraph,
|
|
773
874
|
assetGraph.getNodeIdsConnectedFrom(assetNode),
|
|
774
875
|
);
|
|
775
876
|
}
|
|
776
877
|
|
|
777
|
-
function dependencyNodesFromIds(
|
|
878
|
+
function dependencyNodesFromIds(
|
|
879
|
+
assetGraph: AssetGraph,
|
|
880
|
+
dependencyIds: Array<NodeId>,
|
|
881
|
+
) {
|
|
778
882
|
return dependencyIds.map((depNodeId) => {
|
|
779
883
|
let depNode = nullthrows(assetGraph.getNode(depNodeId));
|
|
780
884
|
invariant(depNode.type === 'dependency');
|
|
@@ -782,7 +886,11 @@ function dependencyNodesFromIds(assetGraph, dependencyIds) {
|
|
|
782
886
|
});
|
|
783
887
|
}
|
|
784
888
|
|
|
785
|
-
function incomingDependencyNodesFromAsset(
|
|
889
|
+
function incomingDependencyNodesFromAsset(
|
|
890
|
+
assetGraph: AssetGraph,
|
|
891
|
+
// @ts-expect-error TS2552
|
|
892
|
+
assetNodeValue: Asset,
|
|
893
|
+
) {
|
|
786
894
|
return assetGraph.getIncomingDependencies(assetNodeValue).map((d) => {
|
|
787
895
|
let n = assetGraph.getNodeByContentKey(d.id);
|
|
788
896
|
invariant(n && n.type === 'dependency');
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
1
|
import type {SchemaEntity, SchemaObject} from '@atlaspack/utils';
|
|
3
2
|
|
|
4
3
|
export const ENGINES_SCHEMA: SchemaEntity = {
|
|
@@ -36,6 +35,7 @@ export const PACKAGE_DESCRIPTOR_SCHEMA: SchemaObject = {
|
|
|
36
35
|
'electron-main',
|
|
37
36
|
'electron-renderer',
|
|
38
37
|
'service-worker',
|
|
38
|
+
'tesseract',
|
|
39
39
|
],
|
|
40
40
|
},
|
|
41
41
|
includeNodeModules: {
|
|
@@ -115,6 +115,12 @@ export const PACKAGE_DESCRIPTOR_SCHEMA: SchemaObject = {
|
|
|
115
115
|
__unstable_singleFileOutput: {
|
|
116
116
|
type: 'boolean',
|
|
117
117
|
},
|
|
118
|
+
env: {
|
|
119
|
+
type: 'object',
|
|
120
|
+
additionalProperties: {
|
|
121
|
+
type: 'string',
|
|
122
|
+
},
|
|
123
|
+
},
|
|
118
124
|
},
|
|
119
125
|
additionalProperties: false,
|
|
120
126
|
};
|