@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
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import {Readable} from 'stream';
|
|
4
2
|
|
|
5
3
|
import {deserializeRaw} from '@atlaspack/build-cache';
|
|
6
4
|
import type {AST, Blob} from '@atlaspack/types';
|
|
7
5
|
import {bufferStream, blobToStream, streamFromPromise} from '@atlaspack/utils';
|
|
8
|
-
import SourceMap from '@
|
|
6
|
+
import SourceMap from '@atlaspack/source-map';
|
|
9
7
|
|
|
10
8
|
import {generateFromAST} from './assetUtils';
|
|
11
9
|
import type {Asset, Dependency, AtlaspackOptions} from './types';
|
|
12
10
|
|
|
13
11
|
export default class CommittedAsset {
|
|
14
|
-
key:
|
|
12
|
+
key: string | null | undefined;
|
|
15
13
|
value: Asset;
|
|
16
14
|
options: AtlaspackOptions;
|
|
17
|
-
content:
|
|
18
|
-
mapBuffer:
|
|
19
|
-
map:
|
|
20
|
-
ast:
|
|
21
|
-
code:
|
|
15
|
+
content: Promise<Buffer | string> | null | undefined;
|
|
16
|
+
mapBuffer: Promise<Buffer | null | undefined> | null | undefined;
|
|
17
|
+
map: Promise<SourceMap | null | undefined> | null | undefined;
|
|
18
|
+
ast: Promise<AST> | null | undefined;
|
|
19
|
+
code: string | null | undefined;
|
|
22
20
|
|
|
23
21
|
constructor(value: Asset, options: AtlaspackOptions) {
|
|
24
22
|
this.value = value;
|
|
@@ -63,6 +61,7 @@ export default class CommittedAsset {
|
|
|
63
61
|
if (typeof content === 'string' || content instanceof Buffer) {
|
|
64
62
|
return content.toString();
|
|
65
63
|
} else if (content != null) {
|
|
64
|
+
// @ts-expect-error TS2345
|
|
66
65
|
this.content = bufferStream(content);
|
|
67
66
|
return (await this.content).toString();
|
|
68
67
|
}
|
|
@@ -79,7 +78,9 @@ export default class CommittedAsset {
|
|
|
79
78
|
return Buffer.from(content);
|
|
80
79
|
}
|
|
81
80
|
|
|
81
|
+
// @ts-expect-error TS2345
|
|
82
82
|
this.content = bufferStream(content);
|
|
83
|
+
// @ts-expect-error TS2322
|
|
83
84
|
return this.content;
|
|
84
85
|
}
|
|
85
86
|
|
|
@@ -90,7 +91,7 @@ export default class CommittedAsset {
|
|
|
90
91
|
: blobToStream(content);
|
|
91
92
|
}
|
|
92
93
|
|
|
93
|
-
getMapBuffer(): Promise
|
|
94
|
+
getMapBuffer(): Promise<Buffer | null | undefined> {
|
|
94
95
|
let mapKey = this.value.mapKey;
|
|
95
96
|
if (mapKey != null && this.mapBuffer == null) {
|
|
96
97
|
this.mapBuffer = (async () => {
|
|
@@ -116,7 +117,7 @@ export default class CommittedAsset {
|
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
return await this.options.cache.getBlob(mapKey);
|
|
119
|
-
} catch (err) {
|
|
120
|
+
} catch (err: any) {
|
|
120
121
|
if (err.code === 'ENOENT' && this.value.astKey != null) {
|
|
121
122
|
return (await generateFromAST(this)).map?.toBuffer();
|
|
122
123
|
} else {
|
|
@@ -126,10 +127,11 @@ export default class CommittedAsset {
|
|
|
126
127
|
})();
|
|
127
128
|
}
|
|
128
129
|
|
|
130
|
+
// @ts-expect-error TS2322
|
|
129
131
|
return this.mapBuffer ?? Promise.resolve();
|
|
130
132
|
}
|
|
131
133
|
|
|
132
|
-
getMap(): Promise
|
|
134
|
+
getMap(): Promise<SourceMap | null | undefined> {
|
|
133
135
|
if (this.map == null) {
|
|
134
136
|
this.map = (async () => {
|
|
135
137
|
let mapBuffer = await this.getMapBuffer();
|
|
@@ -143,7 +145,7 @@ export default class CommittedAsset {
|
|
|
143
145
|
return this.map;
|
|
144
146
|
}
|
|
145
147
|
|
|
146
|
-
getAST(): Promise
|
|
148
|
+
getAST(): Promise<AST | null | undefined> {
|
|
147
149
|
if (this.value.astKey == null) {
|
|
148
150
|
return Promise.resolve(null);
|
|
149
151
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow
|
|
2
1
|
import type {
|
|
3
2
|
FilePath,
|
|
4
3
|
Meta,
|
|
@@ -8,7 +7,7 @@ import type {
|
|
|
8
7
|
BundleBehavior as IBundleBehavior,
|
|
9
8
|
SemverRange,
|
|
10
9
|
} from '@atlaspack/types';
|
|
11
|
-
import type {Dependency,
|
|
10
|
+
import type {Dependency, Target} from './types';
|
|
12
11
|
import {createDependencyId as createDependencyIdRust} from '@atlaspack/rust';
|
|
13
12
|
import {
|
|
14
13
|
SpecifierType,
|
|
@@ -21,31 +20,41 @@ import {toInternalSourceLocation} from './utils';
|
|
|
21
20
|
import {toProjectPath} from './projectPath';
|
|
22
21
|
import assert from 'assert';
|
|
23
22
|
import {identifierRegistry} from './IdentifierRegistry';
|
|
23
|
+
import {fromEnvironmentId, toEnvironmentId} from './EnvironmentManager';
|
|
24
|
+
import type {EnvironmentRef} from './EnvironmentManager';
|
|
24
25
|
|
|
25
|
-
type DependencyOpts = {
|
|
26
|
-
id?: string
|
|
27
|
-
sourcePath?: FilePath
|
|
28
|
-
sourceAssetId?: string
|
|
29
|
-
specifier: DependencySpecifier
|
|
30
|
-
specifierType:
|
|
31
|
-
priority?:
|
|
32
|
-
needsStableName?: boolean
|
|
33
|
-
bundleBehavior?:
|
|
34
|
-
isEntry?: boolean
|
|
35
|
-
isOptional?: boolean
|
|
36
|
-
loc?: SourceLocation
|
|
37
|
-
env:
|
|
38
|
-
packageConditions?: Array<string
|
|
39
|
-
meta?: Meta
|
|
40
|
-
resolveFrom?: FilePath
|
|
41
|
-
range?: SemverRange
|
|
42
|
-
target?: Target
|
|
43
|
-
symbols?:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
|
26
|
+
type DependencyOpts = {
|
|
27
|
+
id?: string;
|
|
28
|
+
sourcePath?: FilePath;
|
|
29
|
+
sourceAssetId?: string;
|
|
30
|
+
specifier: DependencySpecifier;
|
|
31
|
+
specifierType: keyof typeof SpecifierType;
|
|
32
|
+
priority?: keyof typeof Priority;
|
|
33
|
+
needsStableName?: boolean;
|
|
34
|
+
bundleBehavior?: IBundleBehavior | null | undefined;
|
|
35
|
+
isEntry?: boolean;
|
|
36
|
+
isOptional?: boolean;
|
|
37
|
+
loc?: SourceLocation;
|
|
38
|
+
env: EnvironmentRef;
|
|
39
|
+
packageConditions?: Array<string>;
|
|
40
|
+
meta?: Meta;
|
|
41
|
+
resolveFrom?: FilePath;
|
|
42
|
+
range?: SemverRange;
|
|
43
|
+
target?: Target;
|
|
44
|
+
symbols?:
|
|
45
|
+
| Map<
|
|
46
|
+
symbol,
|
|
47
|
+
{
|
|
48
|
+
local: symbol;
|
|
49
|
+
loc: SourceLocation | null | undefined;
|
|
50
|
+
isWeak: boolean;
|
|
51
|
+
meta?: Meta | null | undefined;
|
|
52
|
+
}
|
|
53
|
+
>
|
|
54
|
+
| null
|
|
55
|
+
| undefined;
|
|
56
|
+
pipeline?: string | null | undefined;
|
|
57
|
+
};
|
|
49
58
|
|
|
50
59
|
export function createDependencyId({
|
|
51
60
|
sourceAssetId,
|
|
@@ -57,30 +66,36 @@ export function createDependencyId({
|
|
|
57
66
|
bundleBehavior,
|
|
58
67
|
priority,
|
|
59
68
|
packageConditions,
|
|
60
|
-
}: {
|
|
61
|
-
sourceAssetId?: string |
|
|
62
|
-
specifier: DependencySpecifier
|
|
63
|
-
env:
|
|
64
|
-
target?: Target |
|
|
65
|
-
pipeline?:
|
|
66
|
-
specifierType:
|
|
67
|
-
bundleBehavior?:
|
|
68
|
-
priority?:
|
|
69
|
-
packageConditions?: Array<string> |
|
|
70
|
-
|
|
69
|
+
}: {
|
|
70
|
+
sourceAssetId?: string | undefined;
|
|
71
|
+
specifier: DependencySpecifier;
|
|
72
|
+
env: EnvironmentRef;
|
|
73
|
+
target?: Target | undefined;
|
|
74
|
+
pipeline?: string | null | undefined;
|
|
75
|
+
specifierType: keyof typeof SpecifierType;
|
|
76
|
+
bundleBehavior?: IBundleBehavior | null | undefined;
|
|
77
|
+
priority?: keyof typeof Priority | undefined;
|
|
78
|
+
packageConditions?: Array<string> | undefined;
|
|
79
|
+
}): string {
|
|
71
80
|
assert(typeof specifierType === 'string');
|
|
72
81
|
assert(typeof priority === 'string' || priority == null);
|
|
73
82
|
const params = {
|
|
74
83
|
sourceAssetId,
|
|
75
84
|
specifier,
|
|
76
|
-
environmentId: env
|
|
77
|
-
target
|
|
85
|
+
environmentId: toEnvironmentId(env),
|
|
86
|
+
target:
|
|
87
|
+
target != null
|
|
88
|
+
? {
|
|
89
|
+
...target,
|
|
90
|
+
env: fromEnvironmentId(target.env),
|
|
91
|
+
}
|
|
92
|
+
: null,
|
|
78
93
|
pipeline,
|
|
79
94
|
specifierType: SpecifierType[specifierType],
|
|
80
95
|
bundleBehavior,
|
|
81
96
|
priority: priority ? Priority[priority] : Priority.sync,
|
|
82
97
|
packageConditions,
|
|
83
|
-
};
|
|
98
|
+
} as const;
|
|
84
99
|
const id = createDependencyIdRust(params);
|
|
85
100
|
identifierRegistry.addIdentifier('dependency', id, params);
|
|
86
101
|
return id;
|
|
@@ -126,7 +141,7 @@ export function createDependency(
|
|
|
126
141
|
symbols:
|
|
127
142
|
opts.symbols &&
|
|
128
143
|
new Map(
|
|
129
|
-
[...opts.symbols].map(([k, v]) => [
|
|
144
|
+
[...opts.symbols].map(([k, v]: [any, any]) => [
|
|
130
145
|
k,
|
|
131
146
|
{
|
|
132
147
|
local: v.local,
|
|
@@ -164,9 +179,11 @@ function convertConditions(conditions: Array<string>, dep: Dependency) {
|
|
|
164
179
|
// Store common package conditions as bit flags to reduce size.
|
|
165
180
|
// Custom conditions are stored as strings.
|
|
166
181
|
let packageConditions = 0;
|
|
167
|
-
let customConditions = [];
|
|
182
|
+
let customConditions: Array<string> = [];
|
|
168
183
|
for (let condition of conditions) {
|
|
184
|
+
// @ts-expect-error TS7053
|
|
169
185
|
if (ExportsCondition[condition]) {
|
|
186
|
+
// @ts-expect-error TS7053
|
|
170
187
|
packageConditions |= ExportsCondition[condition];
|
|
171
188
|
} else {
|
|
172
189
|
customConditions.push(condition);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// @flow
|
|
2
1
|
import type {
|
|
3
2
|
EnvironmentOptions,
|
|
4
3
|
Environment as IEnvironment,
|
|
5
4
|
FilePath,
|
|
5
|
+
EnvMap,
|
|
6
6
|
} from '@atlaspack/types';
|
|
7
7
|
import type {Environment, InternalSourceLocation} from './types';
|
|
8
8
|
import {createEnvironmentId} from '@atlaspack/rust';
|
|
@@ -10,16 +10,18 @@ import {toInternalSourceLocation} from './utils';
|
|
|
10
10
|
import PublicEnvironment from './public/Environment';
|
|
11
11
|
import {environmentToInternalEnvironment} from './public/Environment';
|
|
12
12
|
import {identifierRegistry} from './IdentifierRegistry';
|
|
13
|
+
import {toEnvironmentRef} from './EnvironmentManager';
|
|
14
|
+
import type {EnvironmentRef} from './EnvironmentManager';
|
|
13
15
|
|
|
14
16
|
const DEFAULT_ENGINES = {
|
|
15
17
|
browsers: ['> 0.25%'],
|
|
16
18
|
node: '>= 8.0.0',
|
|
17
|
-
};
|
|
19
|
+
} as const;
|
|
18
20
|
|
|
19
|
-
type EnvironmentOpts = {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
type EnvironmentOpts = EnvironmentOptions & {
|
|
22
|
+
loc?: InternalSourceLocation | null | undefined;
|
|
23
|
+
customEnv?: EnvMap | null | undefined;
|
|
24
|
+
};
|
|
23
25
|
|
|
24
26
|
export function createEnvironment({
|
|
25
27
|
context,
|
|
@@ -33,9 +35,10 @@ export function createEnvironment({
|
|
|
33
35
|
sourceMap,
|
|
34
36
|
unstableSingleFileOutput = false,
|
|
35
37
|
loc,
|
|
38
|
+
customEnv,
|
|
36
39
|
}: EnvironmentOpts = {
|
|
37
40
|
/*::...null*/
|
|
38
|
-
}):
|
|
41
|
+
}): EnvironmentRef {
|
|
39
42
|
if (context == null) {
|
|
40
43
|
if (engines?.node) {
|
|
41
44
|
context = 'node';
|
|
@@ -57,8 +60,10 @@ export function createEnvironment({
|
|
|
57
60
|
case 'browser':
|
|
58
61
|
case 'web-worker':
|
|
59
62
|
case 'service-worker':
|
|
63
|
+
case 'tesseract':
|
|
60
64
|
case 'electron-renderer':
|
|
61
65
|
engines = {
|
|
66
|
+
// @ts-expect-error TS2322
|
|
62
67
|
browsers: DEFAULT_ENGINES.browsers,
|
|
63
68
|
};
|
|
64
69
|
break;
|
|
@@ -77,6 +82,7 @@ export function createEnvironment({
|
|
|
77
82
|
case 'browser':
|
|
78
83
|
case 'web-worker':
|
|
79
84
|
case 'service-worker':
|
|
85
|
+
case 'tesseract':
|
|
80
86
|
default:
|
|
81
87
|
includeNodeModules = true;
|
|
82
88
|
break;
|
|
@@ -99,6 +105,7 @@ export function createEnvironment({
|
|
|
99
105
|
let res: Environment = {
|
|
100
106
|
id: '',
|
|
101
107
|
context,
|
|
108
|
+
// @ts-expect-error TS2322
|
|
102
109
|
engines,
|
|
103
110
|
includeNodeModules,
|
|
104
111
|
outputFormat,
|
|
@@ -109,27 +116,28 @@ export function createEnvironment({
|
|
|
109
116
|
sourceMap,
|
|
110
117
|
unstableSingleFileOutput,
|
|
111
118
|
loc,
|
|
119
|
+
customEnv,
|
|
112
120
|
};
|
|
113
121
|
|
|
114
122
|
res.id = getEnvironmentHash(res);
|
|
115
|
-
|
|
123
|
+
|
|
124
|
+
return toEnvironmentRef(Object.freeze(res));
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
export function mergeEnvironments(
|
|
119
128
|
projectRoot: FilePath,
|
|
120
129
|
a: Environment,
|
|
121
|
-
b
|
|
122
|
-
):
|
|
130
|
+
b?: EnvironmentOptions | IEnvironment | null,
|
|
131
|
+
): EnvironmentRef {
|
|
123
132
|
// If merging the same object, avoid copying.
|
|
124
133
|
if (a === b || !b) {
|
|
125
|
-
return a;
|
|
134
|
+
return toEnvironmentRef(a);
|
|
126
135
|
}
|
|
127
136
|
|
|
128
137
|
if (b instanceof PublicEnvironment) {
|
|
129
|
-
return environmentToInternalEnvironment(b);
|
|
138
|
+
return toEnvironmentRef(environmentToInternalEnvironment(b));
|
|
130
139
|
}
|
|
131
140
|
|
|
132
|
-
// $FlowFixMe - ignore the `id` that is already on a
|
|
133
141
|
return createEnvironment({
|
|
134
142
|
...a,
|
|
135
143
|
...b,
|
|
@@ -137,7 +145,7 @@ export function mergeEnvironments(
|
|
|
137
145
|
});
|
|
138
146
|
}
|
|
139
147
|
|
|
140
|
-
function getEnvironmentHash(env: Environment): string {
|
|
148
|
+
export function getEnvironmentHash(env: Environment): string {
|
|
141
149
|
const data = {
|
|
142
150
|
context: env.context,
|
|
143
151
|
engines: env.engines,
|
|
@@ -148,7 +156,8 @@ function getEnvironmentHash(env: Environment): string {
|
|
|
148
156
|
shouldOptimize: env.shouldOptimize,
|
|
149
157
|
shouldScopeHoist: env.shouldScopeHoist,
|
|
150
158
|
sourceMap: env.sourceMap,
|
|
151
|
-
|
|
159
|
+
customEnv: env.customEnv,
|
|
160
|
+
} as const;
|
|
152
161
|
const id = createEnvironmentId(data);
|
|
153
162
|
identifierRegistry.addIdentifier('environment', id, data);
|
|
154
163
|
return id;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* At the moment we're doing this change for `CoreEnvironment`,
|
|
3
|
+
* but the same change must be made for `TypesEnvironment` in @atlaspack/types.
|
|
4
|
+
*/
|
|
5
|
+
import type {Environment as CoreEnvironment} from './types';
|
|
6
|
+
import {Cache} from '@atlaspack/cache';
|
|
7
|
+
import {
|
|
8
|
+
addEnvironment,
|
|
9
|
+
getEnvironment,
|
|
10
|
+
getAllEnvironments,
|
|
11
|
+
setAllEnvironments,
|
|
12
|
+
} from '@atlaspack/rust';
|
|
13
|
+
import {getFeatureFlag} from '@atlaspack/feature-flags';
|
|
14
|
+
import {instrument} from '@atlaspack/logger';
|
|
15
|
+
import {ATLASPACK_VERSION} from './constants';
|
|
16
|
+
|
|
17
|
+
const localEnvironmentCache = new Map<string, CoreEnvironment>();
|
|
18
|
+
|
|
19
|
+
export type EnvironmentId = string;
|
|
20
|
+
/**
|
|
21
|
+
* When deduplication is cleaned-up this will always be a string.
|
|
22
|
+
*/
|
|
23
|
+
export type EnvironmentRef = EnvironmentId | CoreEnvironment;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Convert environment to a ref.
|
|
27
|
+
* This is what we should be using to store environments.
|
|
28
|
+
*/
|
|
29
|
+
export function toEnvironmentRef(env: CoreEnvironment): EnvironmentRef {
|
|
30
|
+
if (!getFeatureFlag('environmentDeduplication')) {
|
|
31
|
+
return env;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const id = toEnvironmentId(env);
|
|
35
|
+
return id;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Convert environment to a string ID
|
|
40
|
+
*/
|
|
41
|
+
export function toEnvironmentId(
|
|
42
|
+
/**
|
|
43
|
+
* Redundant type during roll-out
|
|
44
|
+
*/
|
|
45
|
+
env: CoreEnvironment | EnvironmentRef,
|
|
46
|
+
): string {
|
|
47
|
+
if (!getFeatureFlag('environmentDeduplication')) {
|
|
48
|
+
return typeof env === 'string' ? env : env.id;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (typeof env === 'string') {
|
|
52
|
+
return env;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
addEnvironment(env);
|
|
56
|
+
return env.id;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function fromEnvironmentId(id: EnvironmentRef): CoreEnvironment {
|
|
60
|
+
if (!getFeatureFlag('environmentDeduplication')) {
|
|
61
|
+
if (typeof id === 'string') {
|
|
62
|
+
throw new Error(
|
|
63
|
+
'This should never happen when environmentDeduplication feature-flag is off',
|
|
64
|
+
);
|
|
65
|
+
} else {
|
|
66
|
+
return id;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (typeof id !== 'string') {
|
|
71
|
+
return id;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const localEnv = localEnvironmentCache.get(id);
|
|
75
|
+
|
|
76
|
+
if (localEnv) {
|
|
77
|
+
return localEnv;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const env = Object.freeze(getEnvironment(id));
|
|
81
|
+
// @ts-expect-error TS2345
|
|
82
|
+
localEnvironmentCache.set(id, env);
|
|
83
|
+
// @ts-expect-error TS2322
|
|
84
|
+
return env;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Writes all environments and their IDs to the cache
|
|
89
|
+
* @param {Cache} cache
|
|
90
|
+
* @returns {Promise<void>}
|
|
91
|
+
*/
|
|
92
|
+
export async function writeEnvironmentsToCache(cache: Cache): Promise<void> {
|
|
93
|
+
const environments = getAllEnvironments();
|
|
94
|
+
const environmentIds = new Set<string>();
|
|
95
|
+
|
|
96
|
+
// Store each environment individually
|
|
97
|
+
for (const env of environments) {
|
|
98
|
+
// @ts-expect-error TS18046
|
|
99
|
+
environmentIds.add(env.id);
|
|
100
|
+
// @ts-expect-error TS18046
|
|
101
|
+
const envKey = `Environment/${ATLASPACK_VERSION}/${env.id}`;
|
|
102
|
+
|
|
103
|
+
await instrument(
|
|
104
|
+
`RequestTracker::writeToCache::cache.put(${envKey})`,
|
|
105
|
+
async () => {
|
|
106
|
+
await cache.set(envKey, env);
|
|
107
|
+
},
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Store the list of environment IDs
|
|
112
|
+
await instrument(
|
|
113
|
+
`RequestTracker::writeToCache::cache.put(${`EnvironmentManager/${ATLASPACK_VERSION}`})`,
|
|
114
|
+
async () => {
|
|
115
|
+
await cache.set(
|
|
116
|
+
`EnvironmentManager/${ATLASPACK_VERSION}`,
|
|
117
|
+
Array.from(environmentIds),
|
|
118
|
+
);
|
|
119
|
+
},
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Loads all environments and their IDs from the cache
|
|
125
|
+
* @param {Cache} cache
|
|
126
|
+
* @returns {Promise<void>}
|
|
127
|
+
*/
|
|
128
|
+
export async function loadEnvironmentsFromCache(cache: Cache): Promise<void> {
|
|
129
|
+
const cachedEnvIds = await cache.get(
|
|
130
|
+
`EnvironmentManager/${ATLASPACK_VERSION}`,
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
if (cachedEnvIds == null) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const environments: Array<
|
|
138
|
+
// @ts-expect-error TS2552
|
|
139
|
+
Environment & {
|
|
140
|
+
id: string;
|
|
141
|
+
}
|
|
142
|
+
> = [];
|
|
143
|
+
// @ts-expect-error TS2488
|
|
144
|
+
for (const envId of cachedEnvIds) {
|
|
145
|
+
const envKey = `Environment/${ATLASPACK_VERSION}/${envId}`;
|
|
146
|
+
const cachedEnv = await cache.get(envKey);
|
|
147
|
+
if (cachedEnv != null) {
|
|
148
|
+
environments.push(cachedEnv);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (environments.length > 0) {
|
|
152
|
+
setAllEnvironments(environments);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import fs from 'fs';
|
|
4
2
|
|
|
5
3
|
export class IdentifierRegistry {
|
|
@@ -10,7 +8,7 @@ export class IdentifierRegistry {
|
|
|
10
8
|
this.#enabled = enabled;
|
|
11
9
|
}
|
|
12
10
|
|
|
13
|
-
addIdentifier(type: string, identifier: string, data:
|
|
11
|
+
addIdentifier(type: string, identifier: string, data: unknown) {
|
|
14
12
|
if (this.#enabled) {
|
|
15
13
|
if (!this.#createdDirectory) {
|
|
16
14
|
fs.mkdirSync('./.atlaspack', {recursive: true});
|
|
@@ -19,7 +17,6 @@ export class IdentifierRegistry {
|
|
|
19
17
|
|
|
20
18
|
fs.appendFile(
|
|
21
19
|
'./.atlaspack/atlaspack-identifiers.txt',
|
|
22
|
-
// $FlowFixMe
|
|
23
20
|
`${type} ${identifier} ${JSON.stringify(data)}\n`,
|
|
24
21
|
() => {},
|
|
25
22
|
);
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {PackageName, ConfigResult} from '@atlaspack/types';
|
|
4
2
|
import type {
|
|
5
3
|
Config,
|
|
6
|
-
Environment,
|
|
7
4
|
InternalFileCreateInvalidation,
|
|
8
5
|
InternalDevDepOptions,
|
|
9
6
|
} from './types';
|
|
@@ -13,25 +10,27 @@ import {fromProjectPathRelative} from './projectPath';
|
|
|
13
10
|
import {createEnvironment} from './Environment';
|
|
14
11
|
import {hashString} from '@atlaspack/rust';
|
|
15
12
|
import {identifierRegistry} from './IdentifierRegistry';
|
|
13
|
+
import type {EnvironmentRef} from './EnvironmentManager';
|
|
14
|
+
import {toEnvironmentId} from './EnvironmentManager';
|
|
16
15
|
|
|
17
|
-
type ConfigOpts = {
|
|
18
|
-
plugin: PackageName
|
|
19
|
-
searchPath: ProjectPath
|
|
20
|
-
isSource?: boolean
|
|
21
|
-
env?:
|
|
22
|
-
result?: ConfigResult
|
|
23
|
-
invalidateOnFileChange?: Set<ProjectPath
|
|
24
|
-
invalidateOnConfigKeyChange?: Array<{
|
|
25
|
-
filePath: ProjectPath
|
|
26
|
-
configKey: string
|
|
27
|
-
|
|
28
|
-
invalidateOnFileCreate?: Array<InternalFileCreateInvalidation
|
|
29
|
-
invalidateOnEnvChange?: Set<string
|
|
30
|
-
invalidateOnOptionChange?: Set<string
|
|
31
|
-
devDeps?: Array<InternalDevDepOptions
|
|
32
|
-
invalidateOnStartup?: boolean
|
|
33
|
-
invalidateOnBuild?: boolean
|
|
34
|
-
|
|
16
|
+
export type ConfigOpts = {
|
|
17
|
+
plugin: PackageName;
|
|
18
|
+
searchPath: ProjectPath;
|
|
19
|
+
isSource?: boolean;
|
|
20
|
+
env?: EnvironmentRef;
|
|
21
|
+
result?: ConfigResult;
|
|
22
|
+
invalidateOnFileChange?: Set<ProjectPath>;
|
|
23
|
+
invalidateOnConfigKeyChange?: Array<{
|
|
24
|
+
filePath: ProjectPath;
|
|
25
|
+
configKey: string[];
|
|
26
|
+
}>;
|
|
27
|
+
invalidateOnFileCreate?: Array<InternalFileCreateInvalidation>;
|
|
28
|
+
invalidateOnEnvChange?: Set<string>;
|
|
29
|
+
invalidateOnOptionChange?: Set<string>;
|
|
30
|
+
devDeps?: Array<InternalDevDepOptions>;
|
|
31
|
+
invalidateOnStartup?: boolean;
|
|
32
|
+
invalidateOnBuild?: boolean;
|
|
33
|
+
};
|
|
35
34
|
|
|
36
35
|
export function createConfig({
|
|
37
36
|
plugin,
|
|
@@ -52,13 +51,13 @@ export function createConfig({
|
|
|
52
51
|
const configId = hashString(
|
|
53
52
|
plugin +
|
|
54
53
|
fromProjectPathRelative(searchPath) +
|
|
55
|
-
environment
|
|
54
|
+
toEnvironmentId(environment) +
|
|
56
55
|
String(isSource),
|
|
57
56
|
);
|
|
58
57
|
identifierRegistry.addIdentifier('config_request', configId, {
|
|
59
58
|
plugin,
|
|
60
59
|
searchPath,
|
|
61
|
-
environmentId: environment
|
|
60
|
+
environmentId: toEnvironmentId(environment),
|
|
62
61
|
isSource,
|
|
63
62
|
});
|
|
64
63
|
return {
|