@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/CommittedAsset.js
CHANGED
|
@@ -26,14 +26,14 @@ function _utils() {
|
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
28
|
function _sourceMap() {
|
|
29
|
-
const data = _interopRequireDefault(require("@
|
|
29
|
+
const data = _interopRequireDefault(require("@atlaspack/source-map"));
|
|
30
30
|
_sourceMap = function () {
|
|
31
31
|
return data;
|
|
32
32
|
};
|
|
33
33
|
return data;
|
|
34
34
|
}
|
|
35
35
|
var _assetUtils = require("./assetUtils");
|
|
36
|
-
function _interopRequireDefault(
|
|
36
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
37
37
|
class CommittedAsset {
|
|
38
38
|
constructor(value, options) {
|
|
39
39
|
this.value = value;
|
|
@@ -74,6 +74,7 @@ class CommittedAsset {
|
|
|
74
74
|
if (typeof content === 'string' || content instanceof Buffer) {
|
|
75
75
|
return content.toString();
|
|
76
76
|
} else if (content != null) {
|
|
77
|
+
// @ts-expect-error TS2345
|
|
77
78
|
this.content = (0, _utils().bufferStream)(content);
|
|
78
79
|
return (await this.content).toString();
|
|
79
80
|
}
|
|
@@ -86,7 +87,10 @@ class CommittedAsset {
|
|
|
86
87
|
} else if (typeof content === 'string' || content instanceof Buffer) {
|
|
87
88
|
return Buffer.from(content);
|
|
88
89
|
}
|
|
90
|
+
|
|
91
|
+
// @ts-expect-error TS2345
|
|
89
92
|
this.content = (0, _utils().bufferStream)(content);
|
|
93
|
+
// @ts-expect-error TS2322
|
|
90
94
|
return this.content;
|
|
91
95
|
}
|
|
92
96
|
getStream() {
|
|
@@ -125,6 +129,8 @@ class CommittedAsset {
|
|
|
125
129
|
}
|
|
126
130
|
})();
|
|
127
131
|
}
|
|
132
|
+
|
|
133
|
+
// @ts-expect-error TS2322
|
|
128
134
|
return this.mapBuffer ?? Promise.resolve();
|
|
129
135
|
}
|
|
130
136
|
getMap() {
|
package/lib/Dependency.js
CHANGED
|
@@ -24,7 +24,8 @@ function _assert() {
|
|
|
24
24
|
return data;
|
|
25
25
|
}
|
|
26
26
|
var _IdentifierRegistry = require("./IdentifierRegistry");
|
|
27
|
-
|
|
27
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
28
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
28
29
|
function createDependencyId({
|
|
29
30
|
sourceAssetId,
|
|
30
31
|
specifier,
|
|
@@ -41,8 +42,11 @@ function createDependencyId({
|
|
|
41
42
|
const params = {
|
|
42
43
|
sourceAssetId,
|
|
43
44
|
specifier,
|
|
44
|
-
environmentId: env
|
|
45
|
-
target
|
|
45
|
+
environmentId: (0, _EnvironmentManager.toEnvironmentId)(env),
|
|
46
|
+
target: target != null ? {
|
|
47
|
+
...target,
|
|
48
|
+
env: (0, _EnvironmentManager.fromEnvironmentId)(target.env)
|
|
49
|
+
} : null,
|
|
46
50
|
pipeline,
|
|
47
51
|
specifierType: _types.SpecifierType[specifierType],
|
|
48
52
|
bundleBehavior,
|
|
@@ -121,7 +125,9 @@ function convertConditions(conditions, dep) {
|
|
|
121
125
|
let packageConditions = 0;
|
|
122
126
|
let customConditions = [];
|
|
123
127
|
for (let condition of conditions) {
|
|
128
|
+
// @ts-expect-error TS7053
|
|
124
129
|
if (_types.ExportsCondition[condition]) {
|
|
130
|
+
// @ts-expect-error TS7053
|
|
125
131
|
packageConditions |= _types.ExportsCondition[condition];
|
|
126
132
|
} else {
|
|
127
133
|
customConditions.push(condition);
|
package/lib/Environment.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createEnvironment = createEnvironment;
|
|
7
|
+
exports.getEnvironmentHash = getEnvironmentHash;
|
|
7
8
|
exports.mergeEnvironments = mergeEnvironments;
|
|
8
9
|
function _rust() {
|
|
9
10
|
const data = require("@atlaspack/rust");
|
|
@@ -15,8 +16,8 @@ function _rust() {
|
|
|
15
16
|
var _utils = require("./utils");
|
|
16
17
|
var _Environment = _interopRequireWildcard(require("./public/Environment"));
|
|
17
18
|
var _IdentifierRegistry = require("./IdentifierRegistry");
|
|
18
|
-
|
|
19
|
-
function _interopRequireWildcard(e, r) { if (!
|
|
19
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
20
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
20
21
|
const DEFAULT_ENGINES = {
|
|
21
22
|
browsers: ['> 0.25%'],
|
|
22
23
|
node: '>= 8.0.0'
|
|
@@ -32,7 +33,8 @@ function createEnvironment({
|
|
|
32
33
|
shouldScopeHoist = false,
|
|
33
34
|
sourceMap,
|
|
34
35
|
unstableSingleFileOutput = false,
|
|
35
|
-
loc
|
|
36
|
+
loc,
|
|
37
|
+
customEnv
|
|
36
38
|
} = {
|
|
37
39
|
/*::...null*/
|
|
38
40
|
}) {
|
|
@@ -57,8 +59,10 @@ function createEnvironment({
|
|
|
57
59
|
case 'browser':
|
|
58
60
|
case 'web-worker':
|
|
59
61
|
case 'service-worker':
|
|
62
|
+
case 'tesseract':
|
|
60
63
|
case 'electron-renderer':
|
|
61
64
|
engines = {
|
|
65
|
+
// @ts-expect-error TS2322
|
|
62
66
|
browsers: DEFAULT_ENGINES.browsers
|
|
63
67
|
};
|
|
64
68
|
break;
|
|
@@ -76,6 +80,7 @@ function createEnvironment({
|
|
|
76
80
|
case 'browser':
|
|
77
81
|
case 'web-worker':
|
|
78
82
|
case 'service-worker':
|
|
83
|
+
case 'tesseract':
|
|
79
84
|
default:
|
|
80
85
|
includeNodeModules = true;
|
|
81
86
|
break;
|
|
@@ -96,6 +101,7 @@ function createEnvironment({
|
|
|
96
101
|
let res = {
|
|
97
102
|
id: '',
|
|
98
103
|
context,
|
|
104
|
+
// @ts-expect-error TS2322
|
|
99
105
|
engines,
|
|
100
106
|
includeNodeModules,
|
|
101
107
|
outputFormat,
|
|
@@ -105,21 +111,20 @@ function createEnvironment({
|
|
|
105
111
|
shouldScopeHoist,
|
|
106
112
|
sourceMap,
|
|
107
113
|
unstableSingleFileOutput,
|
|
108
|
-
loc
|
|
114
|
+
loc,
|
|
115
|
+
customEnv
|
|
109
116
|
};
|
|
110
117
|
res.id = getEnvironmentHash(res);
|
|
111
|
-
return Object.freeze(res);
|
|
118
|
+
return (0, _EnvironmentManager.toEnvironmentRef)(Object.freeze(res));
|
|
112
119
|
}
|
|
113
120
|
function mergeEnvironments(projectRoot, a, b) {
|
|
114
121
|
// If merging the same object, avoid copying.
|
|
115
122
|
if (a === b || !b) {
|
|
116
|
-
return a;
|
|
123
|
+
return (0, _EnvironmentManager.toEnvironmentRef)(a);
|
|
117
124
|
}
|
|
118
125
|
if (b instanceof _Environment.default) {
|
|
119
|
-
return (0, _Environment.environmentToInternalEnvironment)(b);
|
|
126
|
+
return (0, _EnvironmentManager.toEnvironmentRef)((0, _Environment.environmentToInternalEnvironment)(b));
|
|
120
127
|
}
|
|
121
|
-
|
|
122
|
-
// $FlowFixMe - ignore the `id` that is already on a
|
|
123
128
|
return createEnvironment({
|
|
124
129
|
...a,
|
|
125
130
|
...b,
|
|
@@ -136,7 +141,8 @@ function getEnvironmentHash(env) {
|
|
|
136
141
|
isLibrary: env.isLibrary,
|
|
137
142
|
shouldOptimize: env.shouldOptimize,
|
|
138
143
|
shouldScopeHoist: env.shouldScopeHoist,
|
|
139
|
-
sourceMap: env.sourceMap
|
|
144
|
+
sourceMap: env.sourceMap,
|
|
145
|
+
customEnv: env.customEnv
|
|
140
146
|
};
|
|
141
147
|
const id = (0, _rust().createEnvironmentId)(data);
|
|
142
148
|
_IdentifierRegistry.identifierRegistry.addIdentifier('environment', id, data);
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fromEnvironmentId = fromEnvironmentId;
|
|
7
|
+
exports.loadEnvironmentsFromCache = loadEnvironmentsFromCache;
|
|
8
|
+
exports.toEnvironmentId = toEnvironmentId;
|
|
9
|
+
exports.toEnvironmentRef = toEnvironmentRef;
|
|
10
|
+
exports.writeEnvironmentsToCache = writeEnvironmentsToCache;
|
|
11
|
+
function _rust() {
|
|
12
|
+
const data = require("@atlaspack/rust");
|
|
13
|
+
_rust = function () {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
function _featureFlags() {
|
|
19
|
+
const data = require("@atlaspack/feature-flags");
|
|
20
|
+
_featureFlags = function () {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
function _logger() {
|
|
26
|
+
const data = require("@atlaspack/logger");
|
|
27
|
+
_logger = function () {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
return data;
|
|
31
|
+
}
|
|
32
|
+
var _constants = require("./constants");
|
|
33
|
+
/*!
|
|
34
|
+
* At the moment we're doing this change for `CoreEnvironment`,
|
|
35
|
+
* but the same change must be made for `TypesEnvironment` in @atlaspack/types.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
const localEnvironmentCache = new Map();
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* When deduplication is cleaned-up this will always be a string.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Convert environment to a ref.
|
|
46
|
+
* This is what we should be using to store environments.
|
|
47
|
+
*/
|
|
48
|
+
function toEnvironmentRef(env) {
|
|
49
|
+
if (!(0, _featureFlags().getFeatureFlag)('environmentDeduplication')) {
|
|
50
|
+
return env;
|
|
51
|
+
}
|
|
52
|
+
const id = toEnvironmentId(env);
|
|
53
|
+
return id;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Convert environment to a string ID
|
|
58
|
+
*/
|
|
59
|
+
function toEnvironmentId(
|
|
60
|
+
/**
|
|
61
|
+
* Redundant type during roll-out
|
|
62
|
+
*/
|
|
63
|
+
env) {
|
|
64
|
+
if (!(0, _featureFlags().getFeatureFlag)('environmentDeduplication')) {
|
|
65
|
+
return typeof env === 'string' ? env : env.id;
|
|
66
|
+
}
|
|
67
|
+
if (typeof env === 'string') {
|
|
68
|
+
return env;
|
|
69
|
+
}
|
|
70
|
+
(0, _rust().addEnvironment)(env);
|
|
71
|
+
return env.id;
|
|
72
|
+
}
|
|
73
|
+
function fromEnvironmentId(id) {
|
|
74
|
+
if (!(0, _featureFlags().getFeatureFlag)('environmentDeduplication')) {
|
|
75
|
+
if (typeof id === 'string') {
|
|
76
|
+
throw new Error('This should never happen when environmentDeduplication feature-flag is off');
|
|
77
|
+
} else {
|
|
78
|
+
return id;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (typeof id !== 'string') {
|
|
82
|
+
return id;
|
|
83
|
+
}
|
|
84
|
+
const localEnv = localEnvironmentCache.get(id);
|
|
85
|
+
if (localEnv) {
|
|
86
|
+
return localEnv;
|
|
87
|
+
}
|
|
88
|
+
const env = Object.freeze((0, _rust().getEnvironment)(id));
|
|
89
|
+
// @ts-expect-error TS2345
|
|
90
|
+
localEnvironmentCache.set(id, env);
|
|
91
|
+
// @ts-expect-error TS2322
|
|
92
|
+
return env;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Writes all environments and their IDs to the cache
|
|
97
|
+
* @param {Cache} cache
|
|
98
|
+
* @returns {Promise<void>}
|
|
99
|
+
*/
|
|
100
|
+
async function writeEnvironmentsToCache(cache) {
|
|
101
|
+
const environments = (0, _rust().getAllEnvironments)();
|
|
102
|
+
const environmentIds = new Set();
|
|
103
|
+
|
|
104
|
+
// Store each environment individually
|
|
105
|
+
for (const env of environments) {
|
|
106
|
+
// @ts-expect-error TS18046
|
|
107
|
+
environmentIds.add(env.id);
|
|
108
|
+
// @ts-expect-error TS18046
|
|
109
|
+
const envKey = `Environment/${_constants.ATLASPACK_VERSION}/${env.id}`;
|
|
110
|
+
await (0, _logger().instrument)(`RequestTracker::writeToCache::cache.put(${envKey})`, async () => {
|
|
111
|
+
await cache.set(envKey, env);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Store the list of environment IDs
|
|
116
|
+
await (0, _logger().instrument)(`RequestTracker::writeToCache::cache.put(${`EnvironmentManager/${_constants.ATLASPACK_VERSION}`})`, async () => {
|
|
117
|
+
await cache.set(`EnvironmentManager/${_constants.ATLASPACK_VERSION}`, Array.from(environmentIds));
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Loads all environments and their IDs from the cache
|
|
123
|
+
* @param {Cache} cache
|
|
124
|
+
* @returns {Promise<void>}
|
|
125
|
+
*/
|
|
126
|
+
async function loadEnvironmentsFromCache(cache) {
|
|
127
|
+
const cachedEnvIds = await cache.get(`EnvironmentManager/${_constants.ATLASPACK_VERSION}`);
|
|
128
|
+
if (cachedEnvIds == null) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const environments = [];
|
|
132
|
+
// @ts-expect-error TS2488
|
|
133
|
+
for (const envId of cachedEnvIds) {
|
|
134
|
+
const envKey = `Environment/${_constants.ATLASPACK_VERSION}/${envId}`;
|
|
135
|
+
const cachedEnv = await cache.get(envKey);
|
|
136
|
+
if (cachedEnv != null) {
|
|
137
|
+
environments.push(cachedEnv);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (environments.length > 0) {
|
|
141
|
+
(0, _rust().setAllEnvironments)(environments);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
@@ -11,7 +11,7 @@ function _fs() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
class IdentifierRegistry {
|
|
16
16
|
#enabled;
|
|
17
17
|
#createdDirectory = false;
|
|
@@ -26,9 +26,7 @@ class IdentifierRegistry {
|
|
|
26
26
|
});
|
|
27
27
|
this.#createdDirectory = true;
|
|
28
28
|
}
|
|
29
|
-
_fs().default.appendFile('./.atlaspack/atlaspack-identifiers.txt',
|
|
30
|
-
// $FlowFixMe
|
|
31
|
-
`${type} ${identifier} ${JSON.stringify(data)}\n`, () => {});
|
|
29
|
+
_fs().default.appendFile('./.atlaspack/atlaspack-identifiers.txt', `${type} ${identifier} ${JSON.stringify(data)}\n`, () => {});
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
32
|
}
|
package/lib/InternalConfig.js
CHANGED
|
@@ -14,6 +14,7 @@ function _rust() {
|
|
|
14
14
|
return data;
|
|
15
15
|
}
|
|
16
16
|
var _IdentifierRegistry = require("./IdentifierRegistry");
|
|
17
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
17
18
|
function createConfig({
|
|
18
19
|
plugin,
|
|
19
20
|
isSource,
|
|
@@ -30,11 +31,11 @@ function createConfig({
|
|
|
30
31
|
invalidateOnBuild
|
|
31
32
|
}) {
|
|
32
33
|
let environment = env ?? (0, _Environment.createEnvironment)();
|
|
33
|
-
const configId = (0, _rust().hashString)(plugin + (0, _projectPath.fromProjectPathRelative)(searchPath) + environment
|
|
34
|
+
const configId = (0, _rust().hashString)(plugin + (0, _projectPath.fromProjectPathRelative)(searchPath) + (0, _EnvironmentManager.toEnvironmentId)(environment) + String(isSource));
|
|
34
35
|
_IdentifierRegistry.identifierRegistry.addIdentifier('config_request', configId, {
|
|
35
36
|
plugin,
|
|
36
37
|
searchPath,
|
|
37
|
-
environmentId: environment
|
|
38
|
+
environmentId: (0, _EnvironmentManager.toEnvironmentId)(environment),
|
|
38
39
|
isSource
|
|
39
40
|
});
|
|
40
41
|
return {
|
package/lib/PackagerRunner.js
CHANGED
|
@@ -60,13 +60,6 @@ function _path() {
|
|
|
60
60
|
};
|
|
61
61
|
return data;
|
|
62
62
|
}
|
|
63
|
-
function _url() {
|
|
64
|
-
const data = _interopRequireDefault(require("url"));
|
|
65
|
-
_url = function () {
|
|
66
|
-
return data;
|
|
67
|
-
};
|
|
68
|
-
return data;
|
|
69
|
-
}
|
|
70
63
|
function _rust() {
|
|
71
64
|
const data = require("@atlaspack/rust");
|
|
72
65
|
_rust = function () {
|
|
@@ -85,6 +78,7 @@ var _ConfigRequest = require("./requests/ConfigRequest");
|
|
|
85
78
|
var _DevDepRequest = require("./requests/DevDepRequest");
|
|
86
79
|
var _assetUtils = require("./assetUtils");
|
|
87
80
|
var _utils2 = require("./utils");
|
|
81
|
+
var _WriteBundleRequest = require("./requests/WriteBundleRequest");
|
|
88
82
|
function _profiler() {
|
|
89
83
|
const data = require("@atlaspack/profiler");
|
|
90
84
|
_profiler = function () {
|
|
@@ -92,22 +86,19 @@ function _profiler() {
|
|
|
92
86
|
};
|
|
93
87
|
return data;
|
|
94
88
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return data;
|
|
99
|
-
};
|
|
100
|
-
return data;
|
|
101
|
-
}
|
|
102
|
-
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); }
|
|
103
|
-
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; }
|
|
104
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
89
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
90
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
91
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
105
92
|
const BOUNDARY_LENGTH = _constants.HASH_REF_PREFIX.length + 32 - 1;
|
|
106
93
|
|
|
107
94
|
// Packager/optimizer configs are not bundle-specific, so we only need to
|
|
108
95
|
// load them once per build.
|
|
109
96
|
const pluginConfigs = (0, _buildCache().createBuildCache)();
|
|
110
97
|
class PackagerRunner {
|
|
98
|
+
// @ts-expect-error TS2564
|
|
99
|
+
|
|
100
|
+
// @ts-expect-error TS2564
|
|
101
|
+
|
|
111
102
|
constructor({
|
|
112
103
|
config,
|
|
113
104
|
options,
|
|
@@ -172,6 +163,7 @@ class PackagerRunner {
|
|
|
172
163
|
// Only load config for a plugin once per build.
|
|
173
164
|
let existing = pluginConfigs.get(plugin.name);
|
|
174
165
|
if (existing != null) {
|
|
166
|
+
// @ts-expect-error TS2345
|
|
175
167
|
configs.set(plugin.name, existing);
|
|
176
168
|
} else {
|
|
177
169
|
if (plugin.plugin.loadConfig != null) {
|
|
@@ -224,7 +216,8 @@ class PackagerRunner {
|
|
|
224
216
|
let {
|
|
225
217
|
type,
|
|
226
218
|
contents,
|
|
227
|
-
map
|
|
219
|
+
map,
|
|
220
|
+
scopeHoistingStats
|
|
228
221
|
} = await this.getBundleResult(bundle, bundleGraph, configs, bundleConfigs);
|
|
229
222
|
|
|
230
223
|
// Recompute cache keys as they may have changed due to dev dependencies.
|
|
@@ -234,7 +227,14 @@ class PackagerRunner {
|
|
|
234
227
|
map: PackagerRunner.getMapKey(cacheKey),
|
|
235
228
|
info: PackagerRunner.getInfoKey(cacheKey)
|
|
236
229
|
};
|
|
237
|
-
|
|
230
|
+
let cachedResult = await this.writeToCache(cacheKeys, type, contents, map);
|
|
231
|
+
if (_utils().debugTools['scope-hoisting-stats']) {
|
|
232
|
+
return {
|
|
233
|
+
...cachedResult,
|
|
234
|
+
scopeHoistingStats
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
return cachedResult;
|
|
238
238
|
}
|
|
239
239
|
async getBundleResult(bundle, bundleGraph, configs, bundleConfigs) {
|
|
240
240
|
let packaged = await this.package(bundle, bundleGraph, configs, bundleConfigs);
|
|
@@ -244,11 +244,12 @@ class PackagerRunner {
|
|
|
244
244
|
return {
|
|
245
245
|
type: res.type ?? type,
|
|
246
246
|
contents: res.contents,
|
|
247
|
-
map
|
|
247
|
+
map,
|
|
248
|
+
scopeHoistingStats: packaged.scopeHoistingStats
|
|
248
249
|
};
|
|
249
250
|
}
|
|
250
251
|
getSourceMapReference(bundle, map) {
|
|
251
|
-
if (map && bundle.env.sourceMap && bundle.bundleBehavior !== 'inline') {
|
|
252
|
+
if (map && bundle.env.sourceMap && bundle.bundleBehavior !== 'inline' && bundle.bundleBehavior !== 'inlineIsolated') {
|
|
252
253
|
if (bundle.env.sourceMap && bundle.env.sourceMap.inline) {
|
|
253
254
|
return this.generateSourceMap((0, _Bundle.bundleToInternalBundle)(bundle), map);
|
|
254
255
|
} else {
|
|
@@ -294,14 +295,14 @@ class PackagerRunner {
|
|
|
294
295
|
category: 'package'
|
|
295
296
|
}),
|
|
296
297
|
getInlineBundleContents: async (bundle, bundleGraph) => {
|
|
297
|
-
if (bundle.bundleBehavior !== 'inline') {
|
|
298
|
+
if (bundle.bundleBehavior !== 'inline' && bundle.bundleBehavior !== 'inlineIsolated') {
|
|
298
299
|
throw new Error('Bundle is not inline and unable to retrieve contents');
|
|
299
300
|
}
|
|
300
|
-
let
|
|
301
|
-
|
|
302
|
-
(0, _BundleGraph.bundleGraphToInternalBundleGraph)(bundleGraph), configs, bundleConfigs);
|
|
301
|
+
let {
|
|
302
|
+
contents
|
|
303
|
+
} = await this.getBundleResult((0, _Bundle.bundleToInternalBundle)(bundle), (0, _BundleGraph.bundleGraphToInternalBundleGraph)(bundleGraph), configs, bundleConfigs);
|
|
303
304
|
return {
|
|
304
|
-
contents
|
|
305
|
+
contents
|
|
305
306
|
};
|
|
306
307
|
}
|
|
307
308
|
});
|
|
@@ -392,31 +393,18 @@ class PackagerRunner {
|
|
|
392
393
|
return optimized;
|
|
393
394
|
}
|
|
394
395
|
async generateSourceMap(bundle, map) {
|
|
395
|
-
|
|
396
|
+
let sourceRoot = (0, _WriteBundleRequest.computeSourceMapRoot)(bundle, this.options);
|
|
397
|
+
let inlineSources = sourceRoot === undefined;
|
|
396
398
|
let filePath = (0, _projectPath.joinProjectPath)(bundle.target.distDir, (0, _nullthrows().default)(bundle.name));
|
|
397
399
|
let fullPath = (0, _projectPath.fromProjectPath)(this.options.projectRoot, filePath);
|
|
398
|
-
let
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
if (bundle.env.sourceMap && bundle.env.sourceMap.sourceRoot !== undefined) {
|
|
402
|
-
sourceRoot = bundle.env.sourceMap.sourceRoot;
|
|
403
|
-
} else if (this.options.serveOptions && bundle.target.env.context === 'browser') {
|
|
404
|
-
sourceRoot = '/__parcel_source_root';
|
|
405
|
-
}
|
|
406
|
-
if (bundle.env.sourceMap && bundle.env.sourceMap.inlineSources !== undefined) {
|
|
407
|
-
inlineSources = bundle.env.sourceMap.inlineSources;
|
|
408
|
-
} else if (bundle.target.env.context !== 'node') {
|
|
409
|
-
// inlining should only happen in production for browser targets by default
|
|
410
|
-
inlineSources = this.options.mode === 'production';
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
let isInlineMap = bundle.env.sourceMap && bundle.env.sourceMap.inline;
|
|
400
|
+
let mapFilename = fullPath + '.map';
|
|
401
|
+
const bundleEnv = (0, _EnvironmentManager.fromEnvironmentId)(bundle.env);
|
|
402
|
+
let isInlineMap = bundleEnv.sourceMap && bundleEnv.sourceMap.inline;
|
|
414
403
|
let stringified = await map.stringify({
|
|
415
|
-
file: _path().default.basename(
|
|
416
|
-
// $FlowFixMe
|
|
404
|
+
file: _path().default.basename(mapFilename),
|
|
417
405
|
fs: this.options.inputFS,
|
|
418
406
|
rootDir: this.options.projectRoot,
|
|
419
|
-
sourceRoot
|
|
407
|
+
sourceRoot,
|
|
420
408
|
inlineSources,
|
|
421
409
|
format: isInlineMap ? 'inline' : 'string'
|
|
422
410
|
});
|
|
@@ -441,10 +429,6 @@ class PackagerRunner {
|
|
|
441
429
|
devDepHashes += await this.getDevDepHashes(inlineBundle);
|
|
442
430
|
}
|
|
443
431
|
let invalidationHash = await (0, _assetUtils.getInvalidationHash)(invalidations, this.options);
|
|
444
|
-
if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
|
|
445
|
-
const hash = (0, _rust().hashString)(_constants.ATLASPACK_VERSION + devDepHashes + invalidationHash + bundle.target.publicUrl + bundleGraph.getHash(bundle) + JSON.stringify(configResults) + JSON.stringify(globalInfoResults) + this.options.mode + (this.options.shouldBuildLazily ? 'lazy' : 'eager'));
|
|
446
|
-
return _path().default.join(bundle.displayName ?? bundle.name ?? bundle.id, hash);
|
|
447
|
-
}
|
|
448
432
|
return (0, _rust().hashString)(_constants.ATLASPACK_VERSION + devDepHashes + invalidationHash + bundle.target.publicUrl + bundleGraph.getHash(bundle) + JSON.stringify(configResults) + JSON.stringify(globalInfoResults) + this.options.mode + (this.options.shouldBuildLazily ? 'lazy' : 'eager'));
|
|
449
433
|
}
|
|
450
434
|
async getDevDepHashes(bundle) {
|
|
@@ -468,30 +452,31 @@ class PackagerRunner {
|
|
|
468
452
|
let contentKey = PackagerRunner.getContentKey(cacheKey);
|
|
469
453
|
let mapKey = PackagerRunner.getMapKey(cacheKey);
|
|
470
454
|
let isLargeBlob = await this.options.cache.hasLargeBlob(contentKey);
|
|
471
|
-
let contentExists =
|
|
455
|
+
let contentExists = isLargeBlob || (await this.options.cache.has(contentKey));
|
|
472
456
|
if (!contentExists) {
|
|
473
457
|
return null;
|
|
474
458
|
}
|
|
475
|
-
let mapExists =
|
|
459
|
+
let mapExists = await this.options.cache.has(mapKey);
|
|
476
460
|
return {
|
|
477
461
|
contents: isLargeBlob ? this.options.cache.getStream(contentKey) : (0, _utils().blobToStream)(await this.options.cache.getBlob(contentKey)),
|
|
478
|
-
map: mapExists ? (0, _utils().blobToStream)(
|
|
462
|
+
map: mapExists ? (0, _utils().blobToStream)(await this.options.cache.getBlob(mapKey)) : null
|
|
479
463
|
};
|
|
480
464
|
}
|
|
481
465
|
async writeToCache(cacheKeys, type, contents, map) {
|
|
482
466
|
let size = 0;
|
|
483
467
|
let hash;
|
|
468
|
+
// @ts-expect-error TS2702
|
|
484
469
|
let hashReferences = [];
|
|
485
|
-
let isLargeBlob =
|
|
470
|
+
let isLargeBlob = false;
|
|
486
471
|
|
|
487
472
|
// TODO: don't replace hash references in binary files??
|
|
488
473
|
if (contents instanceof _stream().Readable) {
|
|
489
|
-
|
|
490
|
-
isLargeBlob = true;
|
|
491
|
-
}
|
|
474
|
+
isLargeBlob = true;
|
|
492
475
|
let boundaryStr = '';
|
|
493
476
|
let h = new (_rust().Hash)();
|
|
494
|
-
await this.options.cache.setStream(cacheKeys.content, (0, _utils().blobToStream)(contents).pipe(
|
|
477
|
+
await this.options.cache.setStream(cacheKeys.content, (0, _utils().blobToStream)(contents).pipe(
|
|
478
|
+
// @ts-expect-error TS2554
|
|
479
|
+
new (_utils().TapStream)(buf => {
|
|
495
480
|
let str = boundaryStr + buf.toString();
|
|
496
481
|
hashReferences = hashReferences.concat(str.match(_constants.HASH_REF_REGEX) ?? []);
|
|
497
482
|
size += buf.length;
|
|
@@ -504,27 +489,15 @@ class PackagerRunner {
|
|
|
504
489
|
size = buffer.byteLength;
|
|
505
490
|
hash = (0, _rust().hashBuffer)(buffer);
|
|
506
491
|
hashReferences = contents.match(_constants.HASH_REF_REGEX) ?? [];
|
|
507
|
-
|
|
508
|
-
await this.options.cache.setLargeBlob(cacheKeys.content, buffer);
|
|
509
|
-
} else {
|
|
510
|
-
await this.options.cache.setBlob(cacheKeys.content, buffer);
|
|
511
|
-
}
|
|
492
|
+
await this.options.cache.setBlob(cacheKeys.content, buffer);
|
|
512
493
|
} else {
|
|
513
494
|
size = contents.length;
|
|
514
495
|
hash = (0, _rust().hashBuffer)(contents);
|
|
515
496
|
hashReferences = contents.toString().match(_constants.HASH_REF_REGEX) ?? [];
|
|
516
|
-
|
|
517
|
-
await this.options.cache.setLargeBlob(cacheKeys.content, contents);
|
|
518
|
-
} else {
|
|
519
|
-
await this.options.cache.setBlob(cacheKeys.content, contents);
|
|
520
|
-
}
|
|
497
|
+
await this.options.cache.setBlob(cacheKeys.content, contents);
|
|
521
498
|
}
|
|
522
499
|
if (map != null) {
|
|
523
|
-
|
|
524
|
-
await this.options.cache.setLargeBlob(cacheKeys.map, map);
|
|
525
|
-
} else {
|
|
526
|
-
await this.options.cache.setBlob(cacheKeys.map, map);
|
|
527
|
-
}
|
|
500
|
+
await this.options.cache.setBlob(cacheKeys.map, map);
|
|
528
501
|
}
|
|
529
502
|
let info = {
|
|
530
503
|
type,
|
|
@@ -538,21 +511,12 @@ class PackagerRunner {
|
|
|
538
511
|
return info;
|
|
539
512
|
}
|
|
540
513
|
static getContentKey(cacheKey) {
|
|
541
|
-
if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
|
|
542
|
-
return `PackagerRunner/${_constants.ATLASPACK_VERSION}/${cacheKey}/content`;
|
|
543
|
-
}
|
|
544
514
|
return (0, _rust().hashString)(`${cacheKey}:content`);
|
|
545
515
|
}
|
|
546
516
|
static getMapKey(cacheKey) {
|
|
547
|
-
if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
|
|
548
|
-
return `PackagerRunner/${_constants.ATLASPACK_VERSION}/${cacheKey}/map`;
|
|
549
|
-
}
|
|
550
517
|
return (0, _rust().hashString)(`${cacheKey}:map`);
|
|
551
518
|
}
|
|
552
519
|
static getInfoKey(cacheKey) {
|
|
553
|
-
if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
|
|
554
|
-
return `PackagerRunner/${_constants.ATLASPACK_VERSION}/${cacheKey}/info`;
|
|
555
|
-
}
|
|
556
520
|
return (0, _rust().hashString)(`${cacheKey}:info`);
|
|
557
521
|
}
|
|
558
522
|
}
|