@atlaspack/core 2.16.2-canary.48 → 2.16.2-canary.481
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 +1324 -0
- package/dist/AssetGraph.js +523 -0
- package/dist/Atlaspack.js +701 -0
- package/dist/AtlaspackConfig.js +324 -0
- package/dist/AtlaspackConfig.schema.js +117 -0
- package/dist/BundleGraph.js +1906 -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 +470 -0
- package/dist/ReporterRunner.js +151 -0
- package/dist/RequestTracker.js +1297 -0
- package/dist/SymbolPropagation.js +624 -0
- package/dist/TargetDescriptor.schema.js +146 -0
- package/dist/Transformation.js +514 -0
- package/dist/UncommittedAsset.js +310 -0
- package/dist/Validation.js +196 -0
- package/dist/applyRuntimes.js +384 -0
- package/dist/assetUtils.js +169 -0
- package/dist/atlaspack-v3/AtlaspackV3.js +83 -0
- package/dist/atlaspack-v3/NapiWorkerPool.js +114 -0
- package/dist/atlaspack-v3/fs.js +53 -0
- package/dist/atlaspack-v3/index.js +25 -0
- package/dist/atlaspack-v3/jsCallable.js +16 -0
- package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
- package/dist/atlaspack-v3/worker/compat/bitflags.js +98 -0
- package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
- package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
- package/dist/atlaspack-v3/worker/compat/index.js +24 -0
- package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
- package/dist/atlaspack-v3/worker/compat/plugin-config.js +64 -0
- package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
- package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
- package/dist/atlaspack-v3/worker/compat/target.js +14 -0
- package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
- package/dist/atlaspack-v3/worker/worker.js +398 -0
- package/dist/constants.js +17 -0
- package/dist/dumpGraphToGraphViz.js +281 -0
- package/dist/index.js +62 -0
- package/dist/loadAtlaspackPlugin.js +128 -0
- package/dist/loadDotEnv.js +41 -0
- package/dist/projectPath.js +83 -0
- package/dist/public/Asset.js +279 -0
- package/dist/public/Bundle.js +224 -0
- package/dist/public/BundleGraph.js +371 -0
- package/dist/public/BundleGroup.js +53 -0
- package/dist/public/Config.js +286 -0
- package/dist/public/Dependency.js +138 -0
- package/dist/public/Environment.js +278 -0
- package/dist/public/MutableBundleGraph.js +277 -0
- package/dist/public/PluginOptions.js +80 -0
- package/dist/public/Symbols.js +248 -0
- package/dist/public/Target.js +69 -0
- package/dist/registerCoreWithSerializer.js +38 -0
- package/dist/requests/AssetGraphRequest.js +430 -0
- package/dist/requests/AssetGraphRequestRust.js +471 -0
- package/dist/requests/AssetRequest.js +130 -0
- package/dist/requests/AtlaspackBuildRequest.js +98 -0
- package/dist/requests/AtlaspackConfigRequest.js +493 -0
- package/dist/requests/BundleGraphRequest.js +381 -0
- package/dist/requests/BundleGraphRequestRust.js +324 -0
- package/dist/requests/BundleGraphRequestUtils.js +262 -0
- package/dist/requests/ConfigRequest.js +246 -0
- package/dist/requests/DevDepRequest.js +204 -0
- package/dist/requests/EntryRequest.js +314 -0
- package/dist/requests/PackageRequest.js +89 -0
- package/dist/requests/PathRequest.js +349 -0
- package/dist/requests/TargetRequest.js +1316 -0
- package/dist/requests/ValidationRequest.js +49 -0
- package/dist/requests/WriteBundleRequest.js +522 -0
- package/dist/requests/WriteBundlesRequest.js +190 -0
- package/dist/requests/asset-graph-diff.js +128 -0
- package/dist/requests/asset-graph-dot.js +131 -0
- package/dist/resolveOptions.js +267 -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 +53 -15
- package/lib/Atlaspack.js +140 -56
- package/lib/AtlaspackConfig.js +17 -6
- package/lib/AtlaspackConfig.schema.js +16 -5
- package/lib/BundleGraph.js +390 -43
- package/lib/CommittedAsset.js +8 -2
- package/lib/Dependency.js +9 -3
- package/lib/Environment.js +16 -10
- package/lib/EnvironmentManager.js +143 -0
- package/lib/IdentifierRegistry.js +2 -4
- package/lib/InternalConfig.js +3 -2
- package/lib/PackagerRunner.js +46 -82
- package/lib/ReporterRunner.js +8 -12
- package/lib/RequestTracker.js +191 -152
- package/lib/SymbolPropagation.js +52 -29
- package/lib/TargetDescriptor.schema.js +10 -1
- package/lib/Transformation.js +68 -19
- package/lib/UncommittedAsset.js +17 -24
- package/lib/Validation.js +20 -5
- package/lib/applyRuntimes.js +98 -7
- package/lib/assetUtils.js +16 -6
- package/lib/atlaspack-v3/AtlaspackV3.js +58 -15
- package/lib/atlaspack-v3/NapiWorkerPool.js +63 -2
- package/lib/atlaspack-v3/fs.js +4 -1
- package/lib/atlaspack-v3/index.js +28 -1
- package/lib/atlaspack-v3/jsCallable.js +0 -2
- package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
- package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
- package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
- package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
- package/lib/atlaspack-v3/worker/compat/index.js +0 -11
- package/lib/atlaspack-v3/worker/compat/mutable-asset.js +16 -11
- package/lib/atlaspack-v3/worker/compat/plugin-config.js +14 -35
- package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -2
- package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
- package/lib/atlaspack-v3/worker/compat/target.js +2 -0
- package/lib/atlaspack-v3/worker/index.js +3 -0
- package/lib/atlaspack-v3/worker/side-effect-detector.js +214 -0
- package/lib/atlaspack-v3/worker/worker.js +231 -79
- package/lib/constants.js +0 -1
- package/lib/dumpGraphToGraphViz.js +72 -17
- package/lib/index.js +46 -3
- package/lib/loadAtlaspackPlugin.js +2 -3
- package/lib/loadDotEnv.js +5 -2
- package/lib/projectPath.js +6 -1
- package/lib/public/Asset.js +22 -12
- package/lib/public/Bundle.js +16 -18
- package/lib/public/BundleGraph.js +27 -25
- package/lib/public/BundleGroup.js +5 -6
- package/lib/public/Config.js +118 -18
- package/lib/public/Dependency.js +9 -7
- package/lib/public/Environment.js +13 -8
- package/lib/public/MutableBundleGraph.js +56 -15
- package/lib/public/PluginOptions.js +2 -2
- package/lib/public/Symbols.js +12 -12
- package/lib/public/Target.js +8 -7
- package/lib/registerCoreWithSerializer.js +7 -4
- package/lib/requests/AssetGraphRequest.js +61 -40
- package/lib/requests/AssetGraphRequestRust.js +314 -82
- package/lib/requests/AssetRequest.js +24 -7
- package/lib/requests/AtlaspackBuildRequest.js +53 -7
- package/lib/requests/AtlaspackConfigRequest.js +29 -19
- package/lib/requests/BundleGraphRequest.js +61 -130
- package/lib/requests/BundleGraphRequestRust.js +381 -0
- package/lib/requests/BundleGraphRequestUtils.js +280 -0
- package/lib/requests/ConfigRequest.js +55 -7
- package/lib/requests/DevDepRequest.js +32 -6
- package/lib/requests/EntryRequest.js +4 -3
- package/lib/requests/PackageRequest.js +56 -12
- package/lib/requests/PathRequest.js +26 -6
- package/lib/requests/TargetRequest.js +129 -60
- package/lib/requests/ValidationRequest.js +6 -2
- package/lib/requests/WriteBundleRequest.js +329 -20
- package/lib/requests/WriteBundlesRequest.js +64 -10
- package/lib/requests/asset-graph-diff.js +13 -8
- package/lib/requests/asset-graph-dot.js +2 -8
- package/lib/resolveOptions.js +37 -14
- package/lib/rustWorkerThreadDylibHack.js +0 -1
- package/lib/serializerCore.browser.js +1 -2
- package/lib/summarizeRequest.js +1 -1
- package/lib/types/AssetGraph.d.ts +55 -0
- package/lib/types/Atlaspack.d.ts +52 -0
- package/lib/types/AtlaspackConfig.d.ts +65 -0
- package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
- package/lib/types/BundleGraph.d.ts +232 -0
- package/lib/types/CommittedAsset.d.ts +23 -0
- package/lib/types/Dependency.d.ts +44 -0
- package/lib/types/Environment.d.ts +11 -0
- package/lib/types/EnvironmentManager.d.ts +37 -0
- package/lib/types/IdentifierRegistry.d.ts +6 -0
- package/lib/types/InternalConfig.d.ts +23 -0
- package/lib/types/PackagerRunner.d.ts +85 -0
- package/lib/types/ReporterRunner.d.ts +25 -0
- package/lib/types/RequestTracker.d.ts +385 -0
- package/lib/types/SymbolPropagation.d.ts +11 -0
- package/lib/types/TargetDescriptor.schema.d.ts +5 -0
- package/lib/types/Transformation.d.ts +72 -0
- package/lib/types/UncommittedAsset.d.ts +61 -0
- package/lib/types/Validation.d.ts +37 -0
- package/lib/types/applyRuntimes.d.ts +25 -0
- package/lib/types/assetUtils.d.ts +42 -0
- package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +35 -0
- package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
- package/lib/types/atlaspack-v3/fs.d.ts +13 -0
- package/lib/types/atlaspack-v3/index.d.ts +6 -0
- package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
- package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
- package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
- package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
- package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
- package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -2
- package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
- package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
- package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
- package/lib/types/atlaspack-v3/worker/worker.d.ts +81 -0
- package/lib/types/constants.d.ts +13 -0
- package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
- package/lib/types/index.d.ts +8 -0
- package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
- package/lib/types/loadDotEnv.d.ts +3 -0
- package/lib/types/projectPath.d.ts +19 -0
- package/lib/types/public/Asset.d.ts +74 -0
- package/lib/types/public/Bundle.d.ts +45 -0
- package/lib/types/public/BundleGraph.d.ts +72 -0
- package/lib/types/public/BundleGroup.d.ts +12 -0
- package/lib/types/public/Config.d.ts +75 -0
- package/lib/types/public/Dependency.d.ts +32 -0
- package/lib/types/public/Environment.d.ts +34 -0
- package/lib/types/public/MutableBundleGraph.d.ts +26 -0
- package/lib/types/public/PluginOptions.d.ts +25 -0
- package/lib/types/public/Symbols.d.ts +81 -0
- package/lib/types/public/Target.d.ts +16 -0
- package/lib/types/registerCoreWithSerializer.d.ts +2 -0
- package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
- package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
- package/lib/types/requests/AssetRequest.d.ts +16 -0
- package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
- package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
- package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
- package/lib/types/requests/BundleGraphRequestRust.d.ts +34 -0
- package/lib/types/requests/BundleGraphRequestUtils.d.ts +38 -0
- package/lib/types/requests/ConfigRequest.d.ts +67 -0
- package/lib/types/requests/DevDepRequest.d.ts +30 -0
- package/lib/types/requests/EntryRequest.d.ts +36 -0
- package/lib/types/requests/PackageRequest.d.ts +27 -0
- package/lib/types/requests/PathRequest.d.ts +48 -0
- package/lib/types/requests/TargetRequest.d.ts +48 -0
- package/lib/types/requests/ValidationRequest.d.ts +20 -0
- package/lib/types/requests/WriteBundleRequest.d.ts +80 -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 +496 -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 +18 -3
- package/lib/worker.js +32 -15
- package/package.json +26 -36
- package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
- package/src/{Atlaspack.js → Atlaspack.ts} +181 -72
- package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
- package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
- package/src/{BundleGraph.js → BundleGraph.ts} +575 -145
- package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
- package/src/{Dependency.js → Dependency.ts} +59 -42
- package/src/{Environment.js → Environment.ts} +24 -15
- package/src/EnvironmentManager.ts +154 -0
- package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
- package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
- package/src/{PackagerRunner.js → PackagerRunner.ts} +114 -159
- package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
- package/src/{RequestTracker.js → RequestTracker.ts} +444 -355
- package/src/{SymbolPropagation.js → SymbolPropagation.ts} +178 -61
- package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +10 -1
- package/src/{Transformation.js → Transformation.ts} +110 -65
- package/src/{UncommittedAsset.js → UncommittedAsset.ts} +45 -49
- package/src/{Validation.js → Validation.ts} +32 -17
- package/src/{applyRuntimes.js → applyRuntimes.ts} +135 -26
- package/src/{assetUtils.js → assetUtils.ts} +49 -36
- package/src/atlaspack-v3/AtlaspackV3.ts +183 -0
- package/src/atlaspack-v3/NapiWorkerPool.ts +129 -0
- package/src/atlaspack-v3/{fs.js → fs.ts} +8 -4
- package/src/atlaspack-v3/{index.js → index.ts} +3 -4
- package/src/atlaspack-v3/jsCallable.ts +14 -0
- package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
- package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
- package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
- package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
- package/src/atlaspack-v3/worker/compat/index.ts +8 -0
- package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
- package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
- package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
- package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
- package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
- package/src/atlaspack-v3/worker/index.js +2 -1
- package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
- package/src/atlaspack-v3/worker/worker.ts +548 -0
- package/src/{constants.js → constants.ts} +0 -3
- package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
- package/src/index.ts +18 -0
- package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
- package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
- package/src/{projectPath.js → projectPath.ts} +20 -9
- package/src/public/{Asset.js → Asset.ts} +41 -28
- package/src/public/{Bundle.js → Bundle.ts} +28 -29
- package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
- package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
- package/src/public/{Config.js → Config.ts} +171 -33
- package/src/public/{Dependency.js → Dependency.ts} +20 -17
- package/src/public/{Environment.js → Environment.ts} +28 -17
- package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
- package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
- package/src/public/{Symbols.js → Symbols.ts} +75 -36
- package/src/public/{Target.js → Target.ts} +10 -8
- package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
- package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +117 -90
- package/src/requests/AssetGraphRequestRust.ts +557 -0
- package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
- package/src/requests/AtlaspackBuildRequest.ts +168 -0
- package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
- package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +119 -199
- package/src/requests/BundleGraphRequestRust.ts +470 -0
- package/src/requests/BundleGraphRequestUtils.ts +323 -0
- package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
- package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
- package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
- package/src/requests/{PackageRequest.js → PackageRequest.ts} +52 -25
- package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
- package/src/requests/{TargetRequest.js → TargetRequest.ts} +265 -179
- package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
- package/src/requests/WriteBundleRequest.ts +734 -0
- package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +134 -50
- 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} +57 -27
- 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 +651 -0
- package/src/{utils.js → utils.ts} +52 -21
- package/src/{worker.js → worker.ts} +50 -42
- package/test/{AssetGraph.test.js → AssetGraph.test.ts} +5 -8
- package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
- package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
- package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
- package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
- package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
- package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
- package/test/Environment.test.ts +153 -0
- package/test/EnvironmentManager.test.ts +188 -0
- package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
- package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
- package/test/PackagerRunner.test.ts +0 -0
- package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
- package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
- package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
- package/test/PublicEnvironment.test.ts +49 -0
- package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
- package/test/{RequestTracker.test.js → RequestTracker.test.ts} +136 -58
- package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
- package/test/{TargetRequest.test.js → TargetRequest.test.ts} +91 -92
- package/test/fixtures/config-with-reporters/.parcelrc +7 -0
- package/test/fixtures/custom-targets/package.json +6 -0
- package/test/public/Config.test.ts +104 -0
- package/test/requests/AssetGraphRequestRust.test.ts +443 -0
- package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
- package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
- package/test/requests/WriteBundleRequest.test.ts +602 -0
- package/test/{test-utils.js → test-utils.ts} +3 -4
- package/test/{utils.test.js → utils.test.ts} +1 -3
- package/tsconfig.json +60 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/index.d.ts +0 -30
- package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
- package/src/atlaspack-v3/AtlaspackV3.js +0 -87
- package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
- package/src/atlaspack-v3/jsCallable.js +0 -18
- package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
- package/src/atlaspack-v3/worker/compat/plugin-logger.js +0 -47
- package/src/atlaspack-v3/worker/worker.js +0 -369
- package/src/index.js +0 -13
- package/src/requests/AssetGraphRequestRust.js +0 -263
- package/src/requests/AtlaspackBuildRequest.js +0 -111
- package/src/requests/WriteBundleRequest.js +0 -369
- package/src/types.js +0 -600
- package/test/Environment.test.js +0 -119
- package/test/PackagerRunner.test.js +0 -27
- package/test/PublicEnvironment.test.js +0 -27
- package/test/requests/AssetGraphRequestRust.test.js +0 -411
package/lib/utils.js
CHANGED
|
@@ -36,7 +36,11 @@ function _utils() {
|
|
|
36
36
|
return data;
|
|
37
37
|
}
|
|
38
38
|
var _projectPath = require("./projectPath");
|
|
39
|
-
function _interopRequireDefault(
|
|
39
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
40
|
+
// flow-to-ts helpers
|
|
41
|
+
|
|
42
|
+
// /flow-to-ts helpers
|
|
43
|
+
|
|
40
44
|
const base62 = (0, _baseX().default)('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
|
41
45
|
function getBundleGroupId(bundleGroup) {
|
|
42
46
|
return 'bundle_group:' + bundleGroup.target.name + bundleGroup.entryAssetId;
|
|
@@ -75,6 +79,8 @@ function optionsProxy(options, invalidateOnOptionChange, addDevDependency) {
|
|
|
75
79
|
if (!ignoreOptions.has(prop)) {
|
|
76
80
|
invalidateOnOptionChange(prop);
|
|
77
81
|
}
|
|
82
|
+
|
|
83
|
+
// @ts-expect-error TS7053
|
|
78
84
|
return target[prop];
|
|
79
85
|
}
|
|
80
86
|
});
|
|
@@ -94,30 +100,39 @@ function proxyPackageManager(projectRoot, packageManager, addDevDependency) {
|
|
|
94
100
|
return require;
|
|
95
101
|
}
|
|
96
102
|
|
|
97
|
-
//
|
|
103
|
+
// @ts-expect-error TS7053
|
|
98
104
|
return target[prop];
|
|
99
105
|
}
|
|
100
106
|
});
|
|
101
107
|
}
|
|
102
108
|
function hashFromOption(value) {
|
|
103
109
|
if (typeof value === 'object' && value != null) {
|
|
110
|
+
// @ts-expect-error TS2345
|
|
104
111
|
return (0, _utils().hashObject)(value);
|
|
105
112
|
}
|
|
106
113
|
return String(value);
|
|
107
114
|
}
|
|
108
115
|
function invalidateOnFileCreateToInternal(projectRoot, invalidation) {
|
|
116
|
+
// @ts-expect-error TS2339
|
|
109
117
|
if (invalidation.glob != null) {
|
|
118
|
+
// @ts-expect-error TS2339
|
|
110
119
|
return {
|
|
111
120
|
glob: (0, _projectPath.toProjectPath)(projectRoot, invalidation.glob)
|
|
112
121
|
};
|
|
122
|
+
// @ts-expect-error TS2339
|
|
113
123
|
} else if (invalidation.filePath != null) {
|
|
114
124
|
return {
|
|
125
|
+
// @ts-expect-error TS2339
|
|
115
126
|
filePath: (0, _projectPath.toProjectPath)(projectRoot, invalidation.filePath)
|
|
116
127
|
};
|
|
117
128
|
} else {
|
|
118
|
-
(0, _assert().default)(
|
|
129
|
+
(0, _assert().default)(
|
|
130
|
+
// @ts-expect-error TS2339
|
|
131
|
+
invalidation.aboveFilePath != null && invalidation.fileName != null);
|
|
119
132
|
return {
|
|
133
|
+
// @ts-expect-error TS2339
|
|
120
134
|
fileName: invalidation.fileName,
|
|
135
|
+
// @ts-expect-error TS2339
|
|
121
136
|
aboveFilePath: (0, _projectPath.toProjectPath)(projectRoot, invalidation.aboveFilePath)
|
|
122
137
|
};
|
|
123
138
|
}
|
package/lib/worker.js
CHANGED
|
@@ -46,7 +46,7 @@ function _buildCache() {
|
|
|
46
46
|
return data;
|
|
47
47
|
}
|
|
48
48
|
function _sourceMap() {
|
|
49
|
-
const data = require("@
|
|
49
|
+
const data = require("@atlaspack/source-map");
|
|
50
50
|
_sourceMap = function () {
|
|
51
51
|
return data;
|
|
52
52
|
};
|
|
@@ -76,29 +76,25 @@ function _featureFlags() {
|
|
|
76
76
|
require("@atlaspack/cache");
|
|
77
77
|
require("@atlaspack/package-manager");
|
|
78
78
|
require("@atlaspack/fs");
|
|
79
|
-
function _interopRequireDefault(
|
|
79
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
80
|
+
// @ts-expect-error TS2305
|
|
81
|
+
|
|
80
82
|
// register with serializer
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
// $FlowFixMe
|
|
86
|
-
require('@atlaspack/repl/src/atlaspack/ExtendedMemoryFS.js');
|
|
87
|
-
/* eslint-enable import/no-extraneous-dependencies, monorepo/no-internal-import */
|
|
88
|
-
}
|
|
83
|
+
|
|
84
|
+
// flow-to-ts helpers
|
|
85
|
+
|
|
86
|
+
// /flow-to-ts helpers
|
|
89
87
|
|
|
90
88
|
(0, _registerCoreWithSerializer.registerCoreWithSerializer)();
|
|
91
89
|
|
|
92
90
|
// Remove the workerApi type from the TransformationOpts and ValidationOpts types:
|
|
93
91
|
// https://github.com/facebook/flow/issues/2835
|
|
92
|
+
|
|
94
93
|
// TODO: this should eventually be replaced by an in memory cache layer
|
|
95
94
|
let atlaspackConfigCache = new Map();
|
|
96
95
|
function loadOptions(ref, workerApi) {
|
|
97
|
-
return (0, _nullthrows().default)(workerApi.getSharedReference(ref
|
|
98
|
-
// $FlowFixMe
|
|
99
|
-
));
|
|
96
|
+
return (0, _nullthrows().default)(workerApi.getSharedReference(ref));
|
|
100
97
|
}
|
|
101
|
-
|
|
102
98
|
async function loadConfig(cachePath, options) {
|
|
103
99
|
let config = atlaspackConfigCache.get(cachePath);
|
|
104
100
|
if (config && config.options === options) {
|
|
@@ -125,6 +121,7 @@ async function runTransform(workerApi, opts) {
|
|
|
125
121
|
return new _Transformation.default({
|
|
126
122
|
workerApi,
|
|
127
123
|
options,
|
|
124
|
+
// @ts-expect-error TS2783
|
|
128
125
|
config,
|
|
129
126
|
...rest
|
|
130
127
|
}).run();
|
|
@@ -139,8 +136,10 @@ async function runValidate(workerApi, opts) {
|
|
|
139
136
|
let config = await loadConfig(configCachePath, options);
|
|
140
137
|
return new _Validation.default({
|
|
141
138
|
workerApi,
|
|
139
|
+
// @ts-expect-error TS2783
|
|
142
140
|
report: _ReporterRunner.reportWorker.bind(null, workerApi),
|
|
143
141
|
options,
|
|
142
|
+
// @ts-expect-error TS2783
|
|
144
143
|
config,
|
|
145
144
|
...rest
|
|
146
145
|
}).run();
|
|
@@ -161,6 +160,7 @@ async function runPackage(workerApi, {
|
|
|
161
160
|
let runner = new _PackagerRunner.default({
|
|
162
161
|
config: atlaspackConfig,
|
|
163
162
|
options,
|
|
163
|
+
// @ts-expect-error TS2322
|
|
164
164
|
report: _workers().default.isWorker() ? _ReporterRunner.reportWorker.bind(null, workerApi) : _ReporterRunner.report,
|
|
165
165
|
previousDevDeps,
|
|
166
166
|
previousInvalidations
|
|
@@ -172,7 +172,24 @@ async function childInit() {
|
|
|
172
172
|
await (_rust().init === null || _rust().init === void 0 ? void 0 : (0, _rust().init)());
|
|
173
173
|
}
|
|
174
174
|
const PKG_RE = /node_modules[/\\]((?:@[^/\\]+[/\\][^/\\]+)|[^/\\]+)(?!.*[/\\]node_modules[/\\])/;
|
|
175
|
-
function invalidateRequireCache() {
|
|
175
|
+
function invalidateRequireCache(workerApi, file) {
|
|
176
|
+
if (process.env.ATLASPACK_BUILD_ENV === 'test') {
|
|
177
|
+
// Delete this module and all children in the same node_modules folder
|
|
178
|
+
let module = require.cache[file];
|
|
179
|
+
if (module) {
|
|
180
|
+
var _file$match;
|
|
181
|
+
delete require.cache[file];
|
|
182
|
+
let pkg = (_file$match = file.match(PKG_RE)) === null || _file$match === void 0 ? void 0 : _file$match[1];
|
|
183
|
+
for (let child of module.children) {
|
|
184
|
+
var _child$id$match;
|
|
185
|
+
if (pkg === ((_child$id$match = child.id.match(PKG_RE)) === null || _child$id$match === void 0 ? void 0 : _child$id$match[1])) {
|
|
186
|
+
invalidateRequireCache(workerApi, child.id);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
atlaspackConfigCache.clear();
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
176
193
|
throw new Error('invalidateRequireCache is only for tests');
|
|
177
194
|
}
|
|
178
195
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaspack/core",
|
|
3
|
-
"version": "2.16.2-canary.
|
|
3
|
+
"version": "2.16.2-canary.481+a1d772935",
|
|
4
4
|
"license": "(MIT OR Apache-2.0)",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -9,39 +9,40 @@
|
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "https://github.com/atlassian-labs/atlaspack.git"
|
|
11
11
|
},
|
|
12
|
-
"main": "lib/index.js",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
12
|
+
"main": "./lib/index.js",
|
|
13
|
+
"source": "./src/index.ts",
|
|
14
|
+
"types": "./lib/types/index.d.ts",
|
|
15
15
|
"engines": {
|
|
16
16
|
"node": ">= 16.0.0"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"test": "mocha",
|
|
20
20
|
"test-ci": "mocha",
|
|
21
|
-
"
|
|
21
|
+
"generate-ts": "tsc --emitDeclarationOnly",
|
|
22
|
+
"build:lib": "gulp build --gulpfile ../../../gulpfile.js --cwd ."
|
|
22
23
|
},
|
|
23
24
|
"dependencies": {
|
|
24
|
-
"@atlaspack/build-cache": "2.13.3-canary.
|
|
25
|
-
"@atlaspack/cache": "3.1.1-canary.
|
|
26
|
-
"@atlaspack/diagnostic": "2.14.1-canary.
|
|
27
|
-
"@atlaspack/events": "2.14.1-canary.
|
|
28
|
-
"@atlaspack/feature-flags": "2.14.1-canary.
|
|
29
|
-
"@atlaspack/fs": "2.14.5-canary.
|
|
30
|
-
"@atlaspack/graph": "3.4.1-canary.
|
|
31
|
-
"@atlaspack/logger": "2.14.5-canary.
|
|
32
|
-
"@atlaspack/package-manager": "2.14.5-canary.
|
|
33
|
-
"@atlaspack/plugin": "2.14.5-canary.
|
|
34
|
-
"@atlaspack/profiler": "2.14.1-canary.
|
|
35
|
-
"@atlaspack/rust": "3.2.1-canary.
|
|
36
|
-
"@atlaspack/
|
|
37
|
-
"@atlaspack/
|
|
38
|
-
"@atlaspack/
|
|
25
|
+
"@atlaspack/build-cache": "2.13.3-canary.549+a1d772935",
|
|
26
|
+
"@atlaspack/cache": "3.1.1-canary.481+a1d772935",
|
|
27
|
+
"@atlaspack/diagnostic": "2.14.1-canary.549+a1d772935",
|
|
28
|
+
"@atlaspack/events": "2.14.1-canary.549+a1d772935",
|
|
29
|
+
"@atlaspack/feature-flags": "2.14.1-canary.549+a1d772935",
|
|
30
|
+
"@atlaspack/fs": "2.14.5-canary.481+a1d772935",
|
|
31
|
+
"@atlaspack/graph": "3.4.1-canary.549+a1d772935",
|
|
32
|
+
"@atlaspack/logger": "2.14.5-canary.481+a1d772935",
|
|
33
|
+
"@atlaspack/package-manager": "2.14.5-canary.481+a1d772935",
|
|
34
|
+
"@atlaspack/plugin": "2.14.5-canary.481+a1d772935",
|
|
35
|
+
"@atlaspack/profiler": "2.14.1-canary.549+a1d772935",
|
|
36
|
+
"@atlaspack/rust": "3.2.1-canary.481+a1d772935",
|
|
37
|
+
"@atlaspack/source-map": "3.3.8-canary.4260+a1d772935",
|
|
38
|
+
"@atlaspack/types": "2.14.5-canary.481+a1d772935",
|
|
39
|
+
"@atlaspack/utils": "2.14.5-canary.481+a1d772935",
|
|
40
|
+
"@atlaspack/workers": "2.14.5-canary.481+a1d772935",
|
|
39
41
|
"@mischnic/json-sourcemap": "^0.1.0",
|
|
40
|
-
"@parcel/source-map": "^2.1.1",
|
|
41
42
|
"base-x": "^3.0.8",
|
|
42
43
|
"browserslist": "^4.6.6",
|
|
43
44
|
"clone": "^2.1.1",
|
|
44
|
-
"dotenv": "^
|
|
45
|
+
"dotenv": "^12.0.4",
|
|
45
46
|
"dotenv-expand": "^5.1.0",
|
|
46
47
|
"json5": "^2.2.0",
|
|
47
48
|
"msgpackr": "^1.9.9",
|
|
@@ -49,27 +50,16 @@
|
|
|
49
50
|
"semver": "^7.5.2"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
52
|
-
"@atlaspack/babel-register": "2.14.
|
|
53
|
+
"@atlaspack/babel-register": "2.14.5",
|
|
53
54
|
"@types/node": ">= 18",
|
|
54
55
|
"graphviz": "^0.0.9",
|
|
55
56
|
"jest-diff": "*",
|
|
56
57
|
"rfdc": "1",
|
|
57
58
|
"tempy": "^0.2.1"
|
|
58
59
|
},
|
|
59
|
-
"exports": {
|
|
60
|
-
"./*": "./*",
|
|
61
|
-
".": {
|
|
62
|
-
"types": "./index.d.ts",
|
|
63
|
-
"default": "./lib/index.js"
|
|
64
|
-
},
|
|
65
|
-
"./worker": {
|
|
66
|
-
"@atlaspack::sources": "./src/worker.js",
|
|
67
|
-
"default": "./lib/worker.js"
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
60
|
"browser": {
|
|
71
61
|
"./src/serializerCore.js": "./src/serializerCore.browser.js"
|
|
72
62
|
},
|
|
73
63
|
"type": "commonjs",
|
|
74
|
-
"gitHead": "
|
|
75
|
-
}
|
|
64
|
+
"gitHead": "a1d772935c9ed74c6d8eafbee6b65eb91ddc38fd"
|
|
65
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {GraphVisitor} from '@atlaspack/types';
|
|
4
2
|
import type {
|
|
5
3
|
ContentGraphOpts,
|
|
@@ -28,23 +26,27 @@ import {hashObject} from '@atlaspack/utils';
|
|
|
28
26
|
import nullthrows from 'nullthrows';
|
|
29
27
|
import {ContentGraph} from '@atlaspack/graph';
|
|
30
28
|
import {createDependency} from './Dependency';
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
type
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
hash?:
|
|
47
|
-
|
|
29
|
+
import {ProjectPath, fromProjectPathRelative} from './projectPath';
|
|
30
|
+
import {
|
|
31
|
+
fromEnvironmentId,
|
|
32
|
+
toEnvironmentId,
|
|
33
|
+
toEnvironmentRef,
|
|
34
|
+
} from './EnvironmentManager';
|
|
35
|
+
import {getFeatureFlag} from '@atlaspack/feature-flags';
|
|
36
|
+
|
|
37
|
+
type InitOpts = {
|
|
38
|
+
entries?: Array<ProjectPath>;
|
|
39
|
+
targets?: Array<Target>;
|
|
40
|
+
assetGroups?: Array<AssetGroup>;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
type AssetGraphOpts = ContentGraphOpts<AssetGraphNode> & {
|
|
44
|
+
hash?: string | null | undefined;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
type SerializedAssetGraph = SerializedContentGraph<AssetGraphNode> & {
|
|
48
|
+
hash?: string | null | undefined;
|
|
49
|
+
};
|
|
48
50
|
|
|
49
51
|
export function nodeFromDep(dep: Dependency): DependencyNode {
|
|
50
52
|
return {
|
|
@@ -64,8 +66,10 @@ export function nodeFromDep(dep: Dependency): DependencyNode {
|
|
|
64
66
|
export function nodeFromAssetGroup(assetGroup: AssetGroup): AssetGroupNode {
|
|
65
67
|
return {
|
|
66
68
|
id: hashString(
|
|
69
|
+
// @ts-expect-error TS2345
|
|
67
70
|
fromProjectPathRelative(assetGroup.filePath) +
|
|
68
|
-
|
|
71
|
+
// @ts-expect-error TS2345
|
|
72
|
+
toEnvironmentId(assetGroup.env) +
|
|
69
73
|
String(assetGroup.isSource) +
|
|
70
74
|
String(assetGroup.sideEffects) +
|
|
71
75
|
(assetGroup.code ?? '') +
|
|
@@ -107,16 +111,20 @@ export function nodeFromEntryFile(entry: Entry): EntryFileNode {
|
|
|
107
111
|
};
|
|
108
112
|
}
|
|
109
113
|
|
|
114
|
+
// @ts-expect-error TS2417
|
|
110
115
|
export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
111
|
-
onNodeRemoved:
|
|
112
|
-
hash:
|
|
116
|
+
onNodeRemoved: ((nodeId: NodeId) => unknown) | null | undefined;
|
|
117
|
+
hash: string | null | undefined;
|
|
113
118
|
envCache: Map<string, Environment>;
|
|
119
|
+
|
|
114
120
|
safeToIncrementallyBundle: boolean = true;
|
|
121
|
+
|
|
115
122
|
undeferredDependencies: Set<Dependency>;
|
|
116
123
|
|
|
117
|
-
constructor(opts
|
|
124
|
+
constructor(opts?: AssetGraphOpts | null) {
|
|
118
125
|
if (opts) {
|
|
119
126
|
let {hash, ...rest} = opts;
|
|
127
|
+
// @ts-expect-error TS2345
|
|
120
128
|
super(rest);
|
|
121
129
|
this.hash = hash;
|
|
122
130
|
} else {
|
|
@@ -134,12 +142,10 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
134
142
|
this.envCache = new Map();
|
|
135
143
|
}
|
|
136
144
|
|
|
137
|
-
// $FlowFixMe[prop-missing]
|
|
138
145
|
static deserialize(opts: AssetGraphOpts): AssetGraph {
|
|
139
146
|
return new AssetGraph(opts);
|
|
140
147
|
}
|
|
141
148
|
|
|
142
|
-
// $FlowFixMe[prop-missing]
|
|
143
149
|
serialize(): SerializedAssetGraph {
|
|
144
150
|
return {
|
|
145
151
|
...super.serialize(),
|
|
@@ -147,21 +153,35 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
147
153
|
};
|
|
148
154
|
}
|
|
149
155
|
|
|
156
|
+
/**
|
|
157
|
+
* Determine if we can incrementally bundle, which will not require a full bundling pass
|
|
158
|
+
* but just update assets into the bundle graph output.
|
|
159
|
+
*/
|
|
160
|
+
canIncrementallyBundle(): boolean {
|
|
161
|
+
return this.safeToIncrementallyBundle;
|
|
162
|
+
}
|
|
163
|
+
|
|
150
164
|
// Deduplicates Environments by making them referentially equal
|
|
151
165
|
normalizeEnvironment(input: Asset | Dependency | AssetGroup) {
|
|
152
|
-
|
|
166
|
+
if (getFeatureFlag('environmentDeduplication')) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// @ts-expect-error TS2345
|
|
171
|
+
let {id, context} = fromEnvironmentId(input.env);
|
|
153
172
|
let idAndContext = `${id}-${context}`;
|
|
154
173
|
|
|
155
174
|
let env = this.envCache.get(idAndContext);
|
|
156
175
|
if (env) {
|
|
157
|
-
input.env = env;
|
|
176
|
+
input.env = toEnvironmentRef(env);
|
|
158
177
|
} else {
|
|
159
|
-
|
|
178
|
+
// @ts-expect-error TS2345
|
|
179
|
+
this.envCache.set(idAndContext, fromEnvironmentId(input.env));
|
|
160
180
|
}
|
|
161
181
|
}
|
|
162
182
|
|
|
163
183
|
setRootConnections({entries, assetGroups}: InitOpts) {
|
|
164
|
-
let nodes = [];
|
|
184
|
+
let nodes: Array<AssetGroupNode | EntrySpecifierNode> = [];
|
|
165
185
|
if (entries) {
|
|
166
186
|
for (let entry of entries) {
|
|
167
187
|
let node = nodeFromEntrySpecifier(entry);
|
|
@@ -185,8 +205,6 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
185
205
|
let existing = this.getNodeByContentKey(node.id);
|
|
186
206
|
if (existing != null) {
|
|
187
207
|
invariant(existing.type === node.type);
|
|
188
|
-
// $FlowFixMe[incompatible-type] Checked above
|
|
189
|
-
// $FlowFixMe[prop-missing]
|
|
190
208
|
existing.value = node.value;
|
|
191
209
|
let existingId = this.getNodeIdByContentKey(node.id);
|
|
192
210
|
this.updateNode(existingId, existing);
|
|
@@ -235,13 +253,14 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
235
253
|
env: target.env,
|
|
236
254
|
isEntry: true,
|
|
237
255
|
needsStableName: true,
|
|
238
|
-
|
|
256
|
+
// @ts-expect-error TS2322
|
|
257
|
+
symbols: fromEnvironmentId(target.env).isLibrary
|
|
239
258
|
? new Map([['*', {local: '*', isWeak: true, loc: null}]])
|
|
240
259
|
: undefined,
|
|
241
260
|
}),
|
|
242
261
|
);
|
|
243
262
|
|
|
244
|
-
if (node.value.env.isLibrary) {
|
|
263
|
+
if (fromEnvironmentId(node.value.env).isLibrary) {
|
|
245
264
|
// in library mode, all of the entry's symbols are "used"
|
|
246
265
|
node.usedSymbolsDown.add('*');
|
|
247
266
|
node.usedSymbolsUp.set('*', undefined);
|
|
@@ -262,7 +281,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
262
281
|
|
|
263
282
|
resolveDependency(
|
|
264
283
|
dependency: Dependency,
|
|
265
|
-
assetGroup:
|
|
284
|
+
assetGroup: AssetGroup | null | undefined,
|
|
266
285
|
correspondingRequest: string,
|
|
267
286
|
) {
|
|
268
287
|
let depNodeId = this.getNodeIdByContentKey(dependency.id);
|
|
@@ -344,9 +363,11 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
344
363
|
let hasDeferred = this.getNodeIdsConnectedFrom(traversedNodeId).some(
|
|
345
364
|
(childNodeId) => {
|
|
346
365
|
let childNode = nullthrows(this.getNode(childNodeId));
|
|
366
|
+
// @ts-expect-error TS2339
|
|
347
367
|
return childNode.hasDeferred == null
|
|
348
368
|
? false
|
|
349
|
-
:
|
|
369
|
+
: // @ts-expect-error TS2339
|
|
370
|
+
childNode.hasDeferred;
|
|
350
371
|
},
|
|
351
372
|
);
|
|
352
373
|
if (!hasDeferred) {
|
|
@@ -357,6 +378,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
357
378
|
traversedNode.type === 'asset_group' &&
|
|
358
379
|
nodeId !== traversedNodeId
|
|
359
380
|
) {
|
|
381
|
+
// @ts-expect-error TS2339
|
|
360
382
|
if (!ctx?.hasDeferred) {
|
|
361
383
|
this.safeToIncrementallyBundle = false;
|
|
362
384
|
delete traversedNode.hasDeferred;
|
|
@@ -378,7 +400,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
378
400
|
// a huge number of functions since we can avoid even transforming the files that aren't used.
|
|
379
401
|
shouldDeferDependency(
|
|
380
402
|
dependency: Dependency,
|
|
381
|
-
sideEffects:
|
|
403
|
+
sideEffects: boolean | null | undefined,
|
|
382
404
|
canDefer: boolean,
|
|
383
405
|
): boolean {
|
|
384
406
|
let dependencySymbols = dependency.symbols;
|
|
@@ -389,7 +411,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
389
411
|
}
|
|
390
412
|
|
|
391
413
|
let isDeferrable =
|
|
392
|
-
[...dependencySymbols].every(([, {isWeak}]) => isWeak) &&
|
|
414
|
+
[...dependencySymbols].every(([, {isWeak}]: [any, any]) => isWeak) &&
|
|
393
415
|
sideEffects === false &&
|
|
394
416
|
canDefer &&
|
|
395
417
|
!dependencySymbols.has('*');
|
|
@@ -404,7 +426,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
404
426
|
|
|
405
427
|
let assets = this.getNodeIdsConnectedTo(depNodeId);
|
|
406
428
|
let symbols = new Map(
|
|
407
|
-
[...dependencySymbols].map(([key, val]) => [val.local, key]),
|
|
429
|
+
[...dependencySymbols].map(([key, val]: [any, any]) => [val.local, key]),
|
|
408
430
|
);
|
|
409
431
|
invariant(assets.length === 1);
|
|
410
432
|
let firstAsset = nullthrows(this.getNode(assets[0]));
|
|
@@ -428,7 +450,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
428
450
|
|
|
429
451
|
let depIsDeferrable =
|
|
430
452
|
d.symbols &&
|
|
431
|
-
!(d.env.isLibrary && d.isEntry) &&
|
|
453
|
+
!(fromEnvironmentId(d.env).isLibrary && d.isEntry) &&
|
|
432
454
|
!d.symbols.has('*') &&
|
|
433
455
|
![...d.symbols.keys()].some((symbol) => {
|
|
434
456
|
let assetSymbol = resolvedAsset.symbols?.get(symbol)?.local;
|
|
@@ -450,6 +472,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
450
472
|
) {
|
|
451
473
|
this.normalizeEnvironment(assetGroup);
|
|
452
474
|
let assetGroupNode = nodeFromAssetGroup(assetGroup);
|
|
475
|
+
// @ts-expect-error TS2322
|
|
453
476
|
assetGroupNode = this.getNodeByContentKey(assetGroupNode.id);
|
|
454
477
|
if (!assetGroupNode) {
|
|
455
478
|
return;
|
|
@@ -473,16 +496,16 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
473
496
|
}
|
|
474
497
|
}
|
|
475
498
|
|
|
476
|
-
let assetObjects: Array<{
|
|
477
|
-
assetNodeId: NodeId
|
|
478
|
-
dependentAssets: Array<Asset
|
|
479
|
-
|
|
480
|
-
let assetNodeIds = [];
|
|
499
|
+
let assetObjects: Array<{
|
|
500
|
+
assetNodeId: NodeId;
|
|
501
|
+
dependentAssets: Array<Asset>;
|
|
502
|
+
}> = [];
|
|
503
|
+
let assetNodeIds: Array<NodeId> = [];
|
|
481
504
|
for (let asset of assets) {
|
|
482
505
|
this.normalizeEnvironment(asset);
|
|
483
506
|
let isDirect = !dependentAssetKeys.has(asset.uniqueKey);
|
|
484
507
|
|
|
485
|
-
let dependentAssets = [];
|
|
508
|
+
let dependentAssets: Array<Asset> = [];
|
|
486
509
|
for (let dep of asset.dependencies.values()) {
|
|
487
510
|
let dependentAsset = assetsByKey.get(dep.specifier);
|
|
488
511
|
if (dependentAsset) {
|
|
@@ -519,7 +542,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
519
542
|
|
|
520
543
|
resolveAsset(assetNode: AssetNode, dependentAssets: Array<Asset>) {
|
|
521
544
|
let depNodeIds: Array<NodeId> = [];
|
|
522
|
-
let depNodesWithAssets = [];
|
|
545
|
+
let depNodesWithAssets: Array<Array<AssetNode | DependencyNode>> = [];
|
|
523
546
|
for (let dep of assetNode.value.dependencies.values()) {
|
|
524
547
|
this.normalizeEnvironment(dep);
|
|
525
548
|
let depNode = nodeFromDep(dep);
|
|
@@ -532,6 +555,19 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
532
555
|
...depNode.value.meta,
|
|
533
556
|
...existing.value.resolverMeta,
|
|
534
557
|
};
|
|
558
|
+
|
|
559
|
+
if (getFeatureFlag('hmrImprovements')) {
|
|
560
|
+
depNode.value.resolverMeta = existing.value.resolverMeta;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
if (getFeatureFlag('hmrImprovements')) {
|
|
564
|
+
if (
|
|
565
|
+
existing?.type === 'dependency' &&
|
|
566
|
+
existing.value.resolverPriority != null
|
|
567
|
+
) {
|
|
568
|
+
depNode.value.priority = existing.value.resolverPriority;
|
|
569
|
+
depNode.value.resolverPriority = existing.value.resolverPriority;
|
|
570
|
+
}
|
|
535
571
|
}
|
|
536
572
|
let dependentAsset = dependentAssets.find(
|
|
537
573
|
(a) => a.uniqueKey === dep.specifier,
|
|
@@ -563,7 +599,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
563
599
|
getIncomingDependencies(asset: Asset): Array<Dependency> {
|
|
564
600
|
let nodeId = this.getNodeIdByContentKey(asset.id);
|
|
565
601
|
let assetGroupIds = this.getNodeIdsConnectedTo(nodeId);
|
|
566
|
-
let dependencies = [];
|
|
602
|
+
let dependencies: Array<Dependency> = [];
|
|
567
603
|
for (let i = 0; i < assetGroupIds.length; i++) {
|
|
568
604
|
let assetGroupId = assetGroupIds[i];
|
|
569
605
|
|
|
@@ -592,8 +628,8 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
592
628
|
|
|
593
629
|
traverseAssets<TContext>(
|
|
594
630
|
visit: GraphVisitor<Asset, TContext>,
|
|
595
|
-
startNodeId
|
|
596
|
-
):
|
|
631
|
+
startNodeId?: NodeId | null,
|
|
632
|
+
): TContext | null | undefined {
|
|
597
633
|
return this.filteredTraverse(
|
|
598
634
|
(nodeId) => {
|
|
599
635
|
let node = nullthrows(this.getNode(nodeId));
|
|
@@ -605,7 +641,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
605
641
|
}
|
|
606
642
|
|
|
607
643
|
getEntryAssetGroupNodes(): Array<AssetGroupNode> {
|
|
608
|
-
let entryNodes = [];
|
|
644
|
+
let entryNodes: Array<AssetGroupNode> = [];
|
|
609
645
|
this.traverse((nodeId, _, actions) => {
|
|
610
646
|
let node = nullthrows(this.getNode(nodeId));
|
|
611
647
|
if (node.type === 'asset_group') {
|
|
@@ -617,7 +653,7 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
|
|
|
617
653
|
}
|
|
618
654
|
|
|
619
655
|
getEntryAssets(): Array<Asset> {
|
|
620
|
-
let entries = [];
|
|
656
|
+
let entries: Array<Asset> = [];
|
|
621
657
|
this.traverseAssets((asset, ctx, traversal) => {
|
|
622
658
|
entries.push(asset);
|
|
623
659
|
traversal.skipChildren();
|