@atlaspack/core 2.16.2-canary.49 → 2.16.2-canary.491
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 +1348 -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 +113 -41
- 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 +27 -37
- 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} +24 -59
- 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} +160 -56
- 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,4 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
1
|
import type {
|
|
3
2
|
Config as IConfig,
|
|
4
3
|
ConfigResult,
|
|
@@ -20,20 +19,98 @@ import {
|
|
|
20
19
|
} from '@atlaspack/utils';
|
|
21
20
|
import Environment from './Environment';
|
|
22
21
|
import {fromProjectPath, toProjectPath} from '../projectPath';
|
|
23
|
-
import {
|
|
22
|
+
import {fromEnvironmentId} from '../EnvironmentManager';
|
|
24
23
|
|
|
25
24
|
const internalConfigToConfig: DefaultWeakMap<
|
|
26
25
|
AtlaspackOptions,
|
|
27
|
-
WeakMap<Config, PublicConfig
|
|
26
|
+
WeakMap<Config, PublicConfig>
|
|
28
27
|
> = new DefaultWeakMap(() => new WeakMap());
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Implements read tracking over an object.
|
|
31
|
+
*
|
|
32
|
+
* Calling this function with a non-trivial object like a class instance will fail to work.
|
|
33
|
+
*
|
|
34
|
+
* We track reads to fields that resolve to:
|
|
35
|
+
*
|
|
36
|
+
* - primitive values
|
|
37
|
+
* - arrays
|
|
38
|
+
*
|
|
39
|
+
* That is, reading a nested field `a.b.c` will make a single call to `onRead` with the path
|
|
40
|
+
* `['a', 'b', 'c']`.
|
|
41
|
+
*
|
|
42
|
+
* In case the value is null or an array, we will track the read as well.
|
|
43
|
+
*
|
|
44
|
+
* Iterating over `Object.keys(obj.field)` will register a read for the `['field']` path.
|
|
45
|
+
* Other reads work normally.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
*
|
|
49
|
+
* const usedPaths = new Set();
|
|
50
|
+
* const onRead = (path) => {
|
|
51
|
+
* usedPaths.add(path);
|
|
52
|
+
* };
|
|
53
|
+
*
|
|
54
|
+
* const config = makeConfigProxy(onRead, {a: {b: {c: 'd'}}})
|
|
55
|
+
* console.log(config.a.b.c);
|
|
56
|
+
* console.log(Array.from(usedPaths));
|
|
57
|
+
* // We get a single read for the path
|
|
58
|
+
* // ['a', 'b', 'c']
|
|
59
|
+
*
|
|
60
|
+
*/
|
|
61
|
+
export function makeConfigProxy<T>(
|
|
62
|
+
onRead: (path: string[]) => void,
|
|
63
|
+
config: T,
|
|
64
|
+
): T {
|
|
65
|
+
const reportedPaths = new Set();
|
|
66
|
+
const reportPath = (path: Array<string>) => {
|
|
67
|
+
if (reportedPaths.has(path)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
reportedPaths.add(path);
|
|
71
|
+
onRead(path);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const makeProxy = (target: T, path: Array<string>) => {
|
|
75
|
+
// @ts-expect-error TS2345
|
|
76
|
+
return new Proxy(target, {
|
|
77
|
+
ownKeys(target: T) {
|
|
78
|
+
reportPath(path);
|
|
79
|
+
|
|
80
|
+
return Object.getOwnPropertyNames(target);
|
|
81
|
+
},
|
|
82
|
+
get(target: T, prop: string) {
|
|
83
|
+
// @ts-expect-error TS7053
|
|
84
|
+
const value = target[prop];
|
|
85
|
+
|
|
86
|
+
if (
|
|
87
|
+
typeof value === 'object' &&
|
|
88
|
+
value != null &&
|
|
89
|
+
!Array.isArray(value)
|
|
90
|
+
) {
|
|
91
|
+
return makeProxy(value, [...path, prop]);
|
|
92
|
+
}
|
|
35
93
|
|
|
36
|
-
|
|
94
|
+
reportPath([...path, prop]);
|
|
95
|
+
|
|
96
|
+
return value;
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
// @ts-expect-error TS2322
|
|
102
|
+
return makeProxy(config, []);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export default class PublicConfig implements IConfig {
|
|
106
|
+
// @ts-expect-error TS2564
|
|
107
|
+
#config: Config;
|
|
108
|
+
#pkg: PackageJSON | null | undefined;
|
|
109
|
+
#pkgFilePath: FilePath | null | undefined;
|
|
110
|
+
// @ts-expect-error TS2564
|
|
111
|
+
#options: AtlaspackOptions;
|
|
112
|
+
|
|
113
|
+
constructor(config: Config, options: AtlaspackOptions) {
|
|
37
114
|
let existing = internalConfigToConfig.get(options).get(config);
|
|
38
115
|
if (existing != null) {
|
|
39
116
|
return existing;
|
|
@@ -46,7 +123,7 @@ export default class PublicConfig implements IConfig {
|
|
|
46
123
|
}
|
|
47
124
|
|
|
48
125
|
get env(): Environment {
|
|
49
|
-
return new Environment(this.#config.env, this.#options);
|
|
126
|
+
return new Environment(fromEnvironmentId(this.#config.env), this.#options);
|
|
50
127
|
}
|
|
51
128
|
|
|
52
129
|
get searchPath(): FilePath {
|
|
@@ -61,7 +138,6 @@ export default class PublicConfig implements IConfig {
|
|
|
61
138
|
return this.#config.isSource;
|
|
62
139
|
}
|
|
63
140
|
|
|
64
|
-
// $FlowFixMe
|
|
65
141
|
setResult(result: any): void {
|
|
66
142
|
this.#config.result = result;
|
|
67
143
|
}
|
|
@@ -76,7 +152,7 @@ export default class PublicConfig implements IConfig {
|
|
|
76
152
|
);
|
|
77
153
|
}
|
|
78
154
|
|
|
79
|
-
invalidateOnConfigKeyChange(filePath: FilePath, configKey: string) {
|
|
155
|
+
invalidateOnConfigKeyChange(filePath: FilePath, configKey: string[]) {
|
|
80
156
|
this.#config.invalidateOnConfigKeyChange.push({
|
|
81
157
|
filePath: toProjectPath(this.#options.projectRoot, filePath),
|
|
82
158
|
configKey,
|
|
@@ -87,31 +163,43 @@ export default class PublicConfig implements IConfig {
|
|
|
87
163
|
this.#config.devDeps.push({
|
|
88
164
|
...devDep,
|
|
89
165
|
resolveFrom: toProjectPath(this.#options.projectRoot, devDep.resolveFrom),
|
|
90
|
-
additionalInvalidations: devDep.additionalInvalidations?.map(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
166
|
+
additionalInvalidations: devDep.additionalInvalidations?.map(
|
|
167
|
+
(i: {
|
|
168
|
+
// @ts-expect-error TS2304
|
|
169
|
+
range?: SemverRange | null | undefined;
|
|
170
|
+
resolveFrom: FilePath;
|
|
171
|
+
// @ts-expect-error TS2304
|
|
172
|
+
specifier: DependencySpecifier;
|
|
173
|
+
}) => ({
|
|
174
|
+
...i,
|
|
175
|
+
resolveFrom: toProjectPath(this.#options.projectRoot, i.resolveFrom),
|
|
176
|
+
}),
|
|
177
|
+
),
|
|
94
178
|
});
|
|
95
179
|
}
|
|
96
180
|
|
|
97
181
|
invalidateOnFileCreate(invalidation: FileCreateInvalidation) {
|
|
182
|
+
// @ts-expect-error TS2339
|
|
98
183
|
if (invalidation.glob != null) {
|
|
99
|
-
// $FlowFixMe
|
|
100
184
|
this.#config.invalidateOnFileCreate.push(invalidation);
|
|
185
|
+
// @ts-expect-error TS2339
|
|
101
186
|
} else if (invalidation.filePath != null) {
|
|
102
187
|
this.#config.invalidateOnFileCreate.push({
|
|
103
188
|
filePath: toProjectPath(
|
|
104
189
|
this.#options.projectRoot,
|
|
190
|
+
// @ts-expect-error TS2339
|
|
105
191
|
invalidation.filePath,
|
|
106
192
|
),
|
|
107
193
|
});
|
|
108
194
|
} else {
|
|
195
|
+
// @ts-expect-error TS2339
|
|
109
196
|
invariant(invalidation.aboveFilePath != null);
|
|
110
197
|
this.#config.invalidateOnFileCreate.push({
|
|
111
|
-
//
|
|
198
|
+
// @ts-expect-error TS2339
|
|
112
199
|
fileName: invalidation.fileName,
|
|
113
200
|
aboveFilePath: toProjectPath(
|
|
114
201
|
this.#options.projectRoot,
|
|
202
|
+
// @ts-expect-error TS2339
|
|
115
203
|
invalidation.aboveFilePath,
|
|
116
204
|
),
|
|
117
205
|
});
|
|
@@ -134,59 +222,66 @@ export default class PublicConfig implements IConfig {
|
|
|
134
222
|
searchPath: FilePath,
|
|
135
223
|
fileNames: Array<string>,
|
|
136
224
|
options:
|
|
137
|
-
|
|
|
225
|
+
| {
|
|
138
226
|
/**
|
|
139
227
|
* @deprecated Use `configKey` instead.
|
|
140
228
|
*/
|
|
141
|
-
packageKey?: string
|
|
142
|
-
parse?: boolean
|
|
143
|
-
exclude?: boolean
|
|
144
|
-
|
|
145
|
-
|
|
|
229
|
+
packageKey?: string;
|
|
230
|
+
parse?: boolean;
|
|
231
|
+
exclude?: boolean;
|
|
232
|
+
}
|
|
233
|
+
| null
|
|
234
|
+
| undefined
|
|
235
|
+
| {
|
|
146
236
|
/**
|
|
147
|
-
* If specified,
|
|
237
|
+
* If specified, this function will return a proxy object that will track reads to
|
|
238
|
+
* config fields and only register invalidations for when those keys change.
|
|
148
239
|
*/
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
240
|
+
readTracking?: boolean;
|
|
241
|
+
}
|
|
242
|
+
| null
|
|
243
|
+
| undefined,
|
|
244
|
+
): Promise<ConfigResultWithFilePath<T> | null | undefined> {
|
|
245
|
+
// @ts-expect-error TS2339
|
|
152
246
|
let packageKey = options?.packageKey;
|
|
153
247
|
if (packageKey != null) {
|
|
154
248
|
let pkg = await this.getConfigFrom(searchPath, ['package.json'], {
|
|
155
249
|
exclude: true,
|
|
156
250
|
});
|
|
157
251
|
|
|
252
|
+
// @ts-expect-error TS18046
|
|
158
253
|
if (pkg && pkg.contents[packageKey]) {
|
|
159
254
|
// Invalidate only when the package key changes
|
|
160
|
-
this.invalidateOnConfigKeyChange(pkg.filePath, packageKey);
|
|
255
|
+
this.invalidateOnConfigKeyChange(pkg.filePath, [packageKey]);
|
|
161
256
|
|
|
162
257
|
return {
|
|
258
|
+
// @ts-expect-error TS18046
|
|
163
259
|
contents: pkg.contents[packageKey],
|
|
164
260
|
filePath: pkg.filePath,
|
|
165
261
|
};
|
|
166
262
|
}
|
|
167
263
|
}
|
|
168
264
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
265
|
+
// @ts-expect-error TS2339
|
|
266
|
+
const readTracking = options?.readTracking;
|
|
267
|
+
if (readTracking === true) {
|
|
268
|
+
for (let fileName of fileNames) {
|
|
269
|
+
const config = await this.getConfigFrom(searchPath, [fileName], {
|
|
270
|
+
exclude: true,
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
if (config != null) {
|
|
274
|
+
// @ts-expect-error TS2322
|
|
275
|
+
return Promise.resolve({
|
|
276
|
+
contents: makeConfigProxy((keyPath) => {
|
|
277
|
+
this.invalidateOnConfigKeyChange(config.filePath, keyPath);
|
|
278
|
+
}, config.contents),
|
|
279
|
+
filePath: config.filePath,
|
|
175
280
|
});
|
|
176
|
-
|
|
177
|
-
if (config && config.contents[configKey]) {
|
|
178
|
-
// Invalidate only when the package key changes
|
|
179
|
-
this.invalidateOnConfigKeyChange(config.filePath, configKey);
|
|
180
|
-
|
|
181
|
-
return {
|
|
182
|
-
contents: config.contents[configKey],
|
|
183
|
-
filePath: config.filePath,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
281
|
}
|
|
187
|
-
|
|
188
|
-
// fall through so that file above invalidations are registered
|
|
189
282
|
}
|
|
283
|
+
|
|
284
|
+
// fall through so that file above invalidations are registered
|
|
190
285
|
}
|
|
191
286
|
|
|
192
287
|
if (fileNames.length === 0) {
|
|
@@ -201,6 +296,7 @@ export default class PublicConfig implements IConfig {
|
|
|
201
296
|
});
|
|
202
297
|
}
|
|
203
298
|
|
|
299
|
+
// @ts-expect-error TS2339
|
|
204
300
|
let parse = options && options.parse;
|
|
205
301
|
let configFilePath = await resolveConfig(
|
|
206
302
|
this.#options.inputFS,
|
|
@@ -212,6 +308,7 @@ export default class PublicConfig implements IConfig {
|
|
|
212
308
|
return null;
|
|
213
309
|
}
|
|
214
310
|
|
|
311
|
+
// @ts-expect-error TS2339
|
|
215
312
|
if (!options || !options.exclude) {
|
|
216
313
|
this.invalidateOnFileChange(configFilePath);
|
|
217
314
|
}
|
|
@@ -237,7 +334,6 @@ export default class PublicConfig implements IConfig {
|
|
|
237
334
|
);
|
|
238
335
|
|
|
239
336
|
if (
|
|
240
|
-
// $FlowFixMe
|
|
241
337
|
Object.prototype.toString.call(config) === '[object Module]' &&
|
|
242
338
|
config.default != null
|
|
243
339
|
) {
|
|
@@ -268,21 +364,29 @@ export default class PublicConfig implements IConfig {
|
|
|
268
364
|
|
|
269
365
|
getConfig<T>(
|
|
270
366
|
filePaths: Array<FilePath>,
|
|
271
|
-
options:
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
367
|
+
options:
|
|
368
|
+
| {
|
|
369
|
+
packageKey?: string;
|
|
370
|
+
parse?: boolean;
|
|
371
|
+
exclude?: boolean;
|
|
372
|
+
}
|
|
373
|
+
| null
|
|
374
|
+
| undefined
|
|
375
|
+
| {
|
|
376
|
+
readTracking?: boolean;
|
|
377
|
+
},
|
|
378
|
+
): Promise<ConfigResultWithFilePath<T> | null | undefined> {
|
|
277
379
|
return this.getConfigFrom(this.searchPath, filePaths, options);
|
|
278
380
|
}
|
|
279
381
|
|
|
280
|
-
async getPackage(): Promise
|
|
382
|
+
async getPackage(): Promise<PackageJSON | null | undefined> {
|
|
281
383
|
if (this.#pkg) {
|
|
282
384
|
return this.#pkg;
|
|
283
385
|
}
|
|
284
386
|
|
|
285
|
-
let pkgConfig = await this.getConfig<PackageJSON>(['package.json']
|
|
387
|
+
let pkgConfig = await this.getConfig<PackageJSON>(['package.json'], {
|
|
388
|
+
readTracking: true,
|
|
389
|
+
});
|
|
286
390
|
if (!pkgConfig) {
|
|
287
391
|
return null;
|
|
288
392
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow
|
|
2
1
|
import type {
|
|
3
2
|
Dependency as IDependency,
|
|
4
3
|
Environment as IEnvironment,
|
|
@@ -27,6 +26,7 @@ import {
|
|
|
27
26
|
} from '../types';
|
|
28
27
|
import {fromProjectPath} from '../projectPath';
|
|
29
28
|
import {fromInternalSourceLocation} from '../utils';
|
|
29
|
+
import {fromEnvironmentId} from '../EnvironmentManager';
|
|
30
30
|
|
|
31
31
|
const SpecifierTypeNames = Object.keys(SpecifierTypeMap);
|
|
32
32
|
const PriorityNames = Object.keys(Priority);
|
|
@@ -37,7 +37,7 @@ const internalDependencyToDependency: WeakMap<InternalDependency, Dependency> =
|
|
|
37
37
|
new WeakMap();
|
|
38
38
|
const _dependencyToInternalDependency: WeakMap<
|
|
39
39
|
IDependency,
|
|
40
|
-
InternalDependency
|
|
40
|
+
InternalDependency
|
|
41
41
|
> = new WeakMap();
|
|
42
42
|
export function dependencyToInternalDependency(
|
|
43
43
|
dependency: IDependency,
|
|
@@ -58,10 +58,10 @@ export function getPublicDependency(
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
export default class Dependency implements IDependency {
|
|
61
|
-
#dep
|
|
62
|
-
#options
|
|
61
|
+
#dep: InternalDependency;
|
|
62
|
+
#options: AtlaspackOptions;
|
|
63
63
|
|
|
64
|
-
constructor(dep: InternalDependency, options: AtlaspackOptions)
|
|
64
|
+
constructor(dep: InternalDependency, options: AtlaspackOptions) {
|
|
65
65
|
this.#dep = dep;
|
|
66
66
|
this.#options = options;
|
|
67
67
|
_dependencyToInternalDependency.set(this, dep);
|
|
@@ -69,7 +69,6 @@ export default class Dependency implements IDependency {
|
|
|
69
69
|
return this;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
// $FlowFixMe
|
|
73
72
|
[inspect](): string {
|
|
74
73
|
return `Dependency(${String(this.sourcePath)} -> ${this.specifier})`;
|
|
75
74
|
}
|
|
@@ -83,10 +82,12 @@ export default class Dependency implements IDependency {
|
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
get specifierType(): SpecifierType {
|
|
85
|
+
// @ts-expect-error TS2322
|
|
86
86
|
return SpecifierTypeNames[this.#dep.specifierType];
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
get priority(): DependencyPriority {
|
|
90
|
+
// @ts-expect-error TS2322
|
|
90
91
|
return PriorityNames[this.#dep.priority];
|
|
91
92
|
}
|
|
92
93
|
|
|
@@ -94,7 +95,7 @@ export default class Dependency implements IDependency {
|
|
|
94
95
|
return this.#dep.needsStableName;
|
|
95
96
|
}
|
|
96
97
|
|
|
97
|
-
get bundleBehavior():
|
|
98
|
+
get bundleBehavior(): BundleBehavior | null | undefined {
|
|
98
99
|
let bundleBehavior = this.#dep.bundleBehavior;
|
|
99
100
|
return bundleBehavior == null ? null : BundleBehaviorNames[bundleBehavior];
|
|
100
101
|
}
|
|
@@ -107,15 +108,15 @@ export default class Dependency implements IDependency {
|
|
|
107
108
|
return this.#dep.isOptional;
|
|
108
109
|
}
|
|
109
110
|
|
|
110
|
-
get loc():
|
|
111
|
+
get loc(): SourceLocation | null | undefined {
|
|
111
112
|
return fromInternalSourceLocation(this.#options.projectRoot, this.#dep.loc);
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
get env(): IEnvironment {
|
|
115
|
-
return new Environment(this.#dep.env, this.#options);
|
|
116
|
+
return new Environment(fromEnvironmentId(this.#dep.env), this.#options);
|
|
116
117
|
}
|
|
117
118
|
|
|
118
|
-
get packageConditions():
|
|
119
|
+
get packageConditions(): Array<string> | null | undefined {
|
|
119
120
|
// Merge custom conditions with conditions stored as bitflags.
|
|
120
121
|
// Order is not important because exports conditions are resolved
|
|
121
122
|
// in the order they are declared in the package.json.
|
|
@@ -123,6 +124,7 @@ export default class Dependency implements IDependency {
|
|
|
123
124
|
if (this.#dep.packageConditions) {
|
|
124
125
|
conditions = conditions ? [...conditions] : [];
|
|
125
126
|
for (let key in ExportsCondition) {
|
|
127
|
+
// @ts-expect-error TS7053
|
|
126
128
|
if (this.#dep.packageConditions & ExportsCondition[key]) {
|
|
127
129
|
conditions.push(key);
|
|
128
130
|
}
|
|
@@ -137,40 +139,41 @@ export default class Dependency implements IDependency {
|
|
|
137
139
|
}
|
|
138
140
|
|
|
139
141
|
get symbols(): IMutableDependencySymbols {
|
|
142
|
+
// @ts-expect-error TS2322
|
|
140
143
|
return new MutableDependencySymbols(this.#options, this.#dep);
|
|
141
144
|
}
|
|
142
145
|
|
|
143
|
-
get target():
|
|
146
|
+
get target(): Target | null | undefined {
|
|
144
147
|
let target = this.#dep.target;
|
|
145
148
|
return target ? new Target(target, this.#options) : null;
|
|
146
149
|
}
|
|
147
150
|
|
|
148
|
-
get sourceAssetId():
|
|
151
|
+
get sourceAssetId(): string | null | undefined {
|
|
149
152
|
// TODO: does this need to be public?
|
|
150
153
|
return this.#dep.sourceAssetId;
|
|
151
154
|
}
|
|
152
155
|
|
|
153
|
-
get sourcePath():
|
|
156
|
+
get sourcePath(): FilePath | null | undefined {
|
|
154
157
|
// TODO: does this need to be public?
|
|
155
158
|
return fromProjectPath(this.#options.projectRoot, this.#dep.sourcePath);
|
|
156
159
|
}
|
|
157
160
|
|
|
158
|
-
get sourceAssetType():
|
|
161
|
+
get sourceAssetType(): string | null | undefined {
|
|
159
162
|
return this.#dep.sourceAssetType;
|
|
160
163
|
}
|
|
161
164
|
|
|
162
|
-
get resolveFrom():
|
|
165
|
+
get resolveFrom(): string | null | undefined {
|
|
163
166
|
return fromProjectPath(
|
|
164
167
|
this.#options.projectRoot,
|
|
165
168
|
this.#dep.resolveFrom ?? this.#dep.sourcePath,
|
|
166
169
|
);
|
|
167
170
|
}
|
|
168
171
|
|
|
169
|
-
get range():
|
|
172
|
+
get range(): string | null | undefined {
|
|
170
173
|
return this.#dep.range;
|
|
171
174
|
}
|
|
172
175
|
|
|
173
|
-
get pipeline():
|
|
176
|
+
get pipeline(): string | null | undefined {
|
|
174
177
|
return this.#dep.pipeline;
|
|
175
178
|
}
|
|
176
179
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
1
|
import type {
|
|
3
2
|
Environment as IEnvironment,
|
|
4
3
|
EnvironmentContext,
|
|
@@ -10,6 +9,7 @@ import type {
|
|
|
10
9
|
SourceLocation,
|
|
11
10
|
SourceType,
|
|
12
11
|
TargetSourceMapOptions,
|
|
12
|
+
EnvMap,
|
|
13
13
|
} from '@atlaspack/types';
|
|
14
14
|
import type {
|
|
15
15
|
Environment as InternalEnvironment,
|
|
@@ -27,12 +27,17 @@ export const BROWSER_ENVS: Set<string> = new Set<string>([
|
|
|
27
27
|
'web-worker',
|
|
28
28
|
'service-worker',
|
|
29
29
|
'worklet',
|
|
30
|
+
'tesseract',
|
|
30
31
|
'electron-renderer',
|
|
31
32
|
]);
|
|
32
33
|
const ELECTRON_ENVS = new Set(['electron-main', 'electron-renderer']);
|
|
33
34
|
const NODE_ENVS = new Set(['node', ...ELECTRON_ENVS]);
|
|
34
35
|
const WORKER_ENVS = new Set(['web-worker', 'service-worker']);
|
|
35
|
-
export const ISOLATED_ENVS: Set<string> = new Set([
|
|
36
|
+
export const ISOLATED_ENVS: Set<string> = new Set([
|
|
37
|
+
...WORKER_ENVS,
|
|
38
|
+
'worklet',
|
|
39
|
+
'tesseract',
|
|
40
|
+
]);
|
|
36
41
|
|
|
37
42
|
const ALL_BROWSERS = [
|
|
38
43
|
'chrome',
|
|
@@ -139,15 +144,15 @@ const supportData = {
|
|
|
139
144
|
android: '71',
|
|
140
145
|
samsung: '10.1',
|
|
141
146
|
},
|
|
142
|
-
};
|
|
147
|
+
} as const;
|
|
143
148
|
|
|
144
149
|
const internalEnvironmentToEnvironment: WeakMap<
|
|
145
150
|
InternalEnvironment,
|
|
146
|
-
Environment
|
|
151
|
+
Environment
|
|
147
152
|
> = new WeakMap();
|
|
148
153
|
const _environmentToInternalEnvironment: WeakMap<
|
|
149
154
|
IEnvironment,
|
|
150
|
-
InternalEnvironment
|
|
155
|
+
InternalEnvironment
|
|
151
156
|
> = new WeakMap();
|
|
152
157
|
export function environmentToInternalEnvironment(
|
|
153
158
|
environment: IEnvironment,
|
|
@@ -156,13 +161,12 @@ export function environmentToInternalEnvironment(
|
|
|
156
161
|
}
|
|
157
162
|
|
|
158
163
|
export default class Environment implements IEnvironment {
|
|
159
|
-
|
|
160
|
-
#
|
|
164
|
+
// @ts-expect-error TS2564
|
|
165
|
+
#environment: InternalEnvironment;
|
|
166
|
+
// @ts-expect-error TS2564
|
|
167
|
+
#options: AtlaspackOptions;
|
|
161
168
|
|
|
162
|
-
constructor(
|
|
163
|
-
env: InternalEnvironment,
|
|
164
|
-
options: AtlaspackOptions,
|
|
165
|
-
): Environment {
|
|
169
|
+
constructor(env: InternalEnvironment, options: AtlaspackOptions) {
|
|
166
170
|
let existing = internalEnvironmentToEnvironment.get(env);
|
|
167
171
|
if (existing != null) {
|
|
168
172
|
return existing;
|
|
@@ -190,7 +194,7 @@ export default class Environment implements IEnvironment {
|
|
|
190
194
|
get includeNodeModules():
|
|
191
195
|
| boolean
|
|
192
196
|
| Array<PackageName>
|
|
193
|
-
|
|
|
197
|
+
| Partial<Record<PackageName, boolean>> {
|
|
194
198
|
return this.#environment.includeNodeModules;
|
|
195
199
|
}
|
|
196
200
|
|
|
@@ -214,11 +218,11 @@ export default class Environment implements IEnvironment {
|
|
|
214
218
|
return this.#environment.shouldScopeHoist;
|
|
215
219
|
}
|
|
216
220
|
|
|
217
|
-
get sourceMap():
|
|
221
|
+
get sourceMap(): TargetSourceMapOptions | null | undefined {
|
|
218
222
|
return this.#environment.sourceMap;
|
|
219
223
|
}
|
|
220
224
|
|
|
221
|
-
get loc():
|
|
225
|
+
get loc(): SourceLocation | null | undefined {
|
|
222
226
|
return fromInternalSourceLocation(
|
|
223
227
|
this.#options.projectRoot,
|
|
224
228
|
this.#environment.loc,
|
|
@@ -229,7 +233,10 @@ export default class Environment implements IEnvironment {
|
|
|
229
233
|
return this.#environment.unstableSingleFileOutput;
|
|
230
234
|
}
|
|
231
235
|
|
|
232
|
-
|
|
236
|
+
get customEnv(): EnvMap | null | undefined {
|
|
237
|
+
return this.#environment.customEnv;
|
|
238
|
+
}
|
|
239
|
+
|
|
233
240
|
[inspect](): string {
|
|
234
241
|
return `Env(${this.#environment.context})`;
|
|
235
242
|
}
|
|
@@ -258,9 +265,13 @@ export default class Environment implements IEnvironment {
|
|
|
258
265
|
return this.#environment.context === 'worklet';
|
|
259
266
|
}
|
|
260
267
|
|
|
268
|
+
isTesseract(): boolean {
|
|
269
|
+
return this.#environment.context === 'tesseract';
|
|
270
|
+
}
|
|
271
|
+
|
|
261
272
|
matchesEngines(
|
|
262
273
|
minVersions: VersionMap,
|
|
263
|
-
defaultValue
|
|
274
|
+
defaultValue: boolean = false,
|
|
264
275
|
): boolean {
|
|
265
276
|
// Determine if the environment matches some minimum version requirements.
|
|
266
277
|
// For browsers, we run a browserslist query with and without the minimum
|
|
@@ -306,7 +317,7 @@ export default class Environment implements IEnvironment {
|
|
|
306
317
|
}
|
|
307
318
|
|
|
308
319
|
function getExcludedBrowsers(minVersions: VersionMap) {
|
|
309
|
-
let browsers = [];
|
|
320
|
+
let browsers: Array<string> = [];
|
|
310
321
|
for (let browser of ALL_BROWSERS) {
|
|
311
322
|
let version = minVersions[browser];
|
|
312
323
|
if (version) {
|