@atlaspack/core 2.16.2-canary.37 → 2.16.2-canary.371
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 +941 -0
- package/dist/AssetGraph.js +591 -0
- package/dist/Atlaspack.js +666 -0
- package/dist/AtlaspackConfig.js +324 -0
- package/dist/AtlaspackConfig.schema.js +117 -0
- package/dist/BundleGraph.js +1740 -0
- package/dist/CommittedAsset.js +142 -0
- package/dist/Dependency.js +125 -0
- package/dist/Environment.js +132 -0
- package/dist/EnvironmentManager.js +108 -0
- package/dist/IdentifierRegistry.js +38 -0
- package/dist/InternalConfig.js +37 -0
- package/dist/PackagerRunner.js +545 -0
- package/dist/ReporterRunner.js +151 -0
- package/dist/RequestTracker.js +1360 -0
- package/dist/SymbolPropagation.js +620 -0
- package/dist/TargetDescriptor.schema.js +143 -0
- package/dist/Transformation.js +514 -0
- package/dist/UncommittedAsset.js +315 -0
- package/dist/Validation.js +196 -0
- package/dist/applyRuntimes.js +383 -0
- package/dist/assetUtils.js +169 -0
- package/dist/atlaspack-v3/AtlaspackV3.js +74 -0
- package/dist/atlaspack-v3/NapiWorkerPool.js +81 -0
- package/dist/atlaspack-v3/fs.js +52 -0
- package/dist/atlaspack-v3/index.js +25 -0
- package/dist/atlaspack-v3/jsCallable.js +16 -0
- package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
- package/dist/atlaspack-v3/worker/compat/bitflags.js +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 +25 -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-logger.js +26 -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 +381 -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 +439 -0
- package/dist/requests/AssetGraphRequestRust.js +273 -0
- package/dist/requests/AssetRequest.js +130 -0
- package/dist/requests/AtlaspackBuildRequest.js +92 -0
- package/dist/requests/AtlaspackConfigRequest.js +493 -0
- package/dist/requests/BundleGraphRequest.js +447 -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 +72 -0
- package/dist/requests/PathRequest.js +349 -0
- package/dist/requests/TargetRequest.js +1311 -0
- package/dist/requests/ValidationRequest.js +49 -0
- package/dist/requests/WriteBundleRequest.js +254 -0
- package/dist/requests/WriteBundlesRequest.js +184 -0
- package/dist/requests/asset-graph-diff.js +128 -0
- package/dist/requests/asset-graph-dot.js +131 -0
- package/dist/resolveOptions.js +269 -0
- package/dist/rustWorkerThreadDylibHack.js +19 -0
- package/dist/serializerCore.browser.js +43 -0
- package/dist/summarizeRequest.js +39 -0
- package/dist/types.js +31 -0
- package/dist/utils.js +172 -0
- package/dist/worker.js +123 -0
- package/lib/AssetGraph.js +111 -14
- package/lib/Atlaspack.js +94 -41
- package/lib/AtlaspackConfig.js +15 -3
- package/lib/AtlaspackConfig.schema.js +16 -5
- package/lib/BundleGraph.js +197 -32
- package/lib/CommittedAsset.js +7 -1
- package/lib/Dependency.js +8 -2
- package/lib/Environment.js +15 -8
- package/lib/EnvironmentManager.js +143 -0
- package/lib/IdentifierRegistry.js +1 -3
- package/lib/InternalConfig.js +3 -2
- package/lib/PackagerRunner.js +90 -27
- package/lib/ReporterRunner.js +6 -9
- package/lib/RequestTracker.js +266 -156
- package/lib/SymbolPropagation.js +42 -18
- package/lib/TargetDescriptor.schema.js +7 -1
- package/lib/Transformation.js +66 -15
- package/lib/UncommittedAsset.js +33 -12
- package/lib/Validation.js +18 -2
- package/lib/applyRuntimes.js +96 -4
- package/lib/assetUtils.js +15 -5
- package/lib/atlaspack-v3/AtlaspackV3.js +52 -14
- package/lib/atlaspack-v3/NapiWorkerPool.js +28 -1
- package/lib/atlaspack-v3/fs.js +3 -1
- package/lib/atlaspack-v3/index.js +28 -1
- package/lib/atlaspack-v3/jsCallable.js +0 -2
- package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
- package/lib/atlaspack-v3/worker/compat/bitflags.js +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/mutable-asset.js +15 -10
- package/lib/atlaspack-v3/worker/compat/plugin-config.js +13 -34
- package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -0
- package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
- package/lib/atlaspack-v3/worker/compat/target.js +2 -0
- package/lib/atlaspack-v3/worker/index.js +3 -0
- package/lib/atlaspack-v3/worker/side-effect-detector.js +215 -0
- package/lib/atlaspack-v3/worker/worker.js +199 -71
- package/lib/constants.js +0 -1
- package/lib/dumpGraphToGraphViz.js +71 -16
- package/lib/index.js +45 -1
- package/lib/loadDotEnv.js +4 -1
- package/lib/projectPath.js +5 -0
- package/lib/public/Asset.js +21 -11
- package/lib/public/Bundle.js +15 -16
- package/lib/public/BundleGraph.js +25 -22
- package/lib/public/BundleGroup.js +4 -5
- package/lib/public/Config.js +118 -17
- package/lib/public/Dependency.js +8 -6
- package/lib/public/Environment.js +12 -7
- package/lib/public/MutableBundleGraph.js +54 -12
- package/lib/public/PluginOptions.js +2 -2
- package/lib/public/Symbols.js +11 -11
- package/lib/public/Target.js +7 -6
- package/lib/registerCoreWithSerializer.js +5 -3
- package/lib/requests/AssetGraphRequest.js +74 -27
- package/lib/requests/AssetGraphRequestRust.js +140 -64
- package/lib/requests/AssetRequest.js +23 -6
- package/lib/requests/AtlaspackBuildRequest.js +43 -4
- package/lib/requests/AtlaspackConfigRequest.js +27 -16
- package/lib/requests/BundleGraphRequest.js +41 -24
- package/lib/requests/ConfigRequest.js +53 -4
- package/lib/requests/DevDepRequest.js +31 -5
- package/lib/requests/EntryRequest.js +2 -0
- package/lib/requests/PackageRequest.js +16 -2
- package/lib/requests/PathRequest.js +24 -3
- package/lib/requests/TargetRequest.js +122 -57
- package/lib/requests/ValidationRequest.js +5 -1
- package/lib/requests/WriteBundleRequest.js +39 -11
- package/lib/requests/WriteBundlesRequest.js +51 -4
- package/lib/requests/asset-graph-diff.js +12 -7
- package/lib/requests/asset-graph-dot.js +1 -7
- package/lib/resolveOptions.js +38 -11
- package/lib/rustWorkerThreadDylibHack.js +0 -1
- package/lib/types/AssetGraph.d.ts +80 -0
- package/lib/types/Atlaspack.d.ts +52 -0
- package/lib/types/AtlaspackConfig.d.ts +65 -0
- package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
- package/lib/types/BundleGraph.d.ts +184 -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 +34 -0
- package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
- package/lib/types/atlaspack-v3/fs.d.ts +12 -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 -1
- package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +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 +80 -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/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 +28 -0
- package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
- package/lib/types/requests/asset-graph-diff.d.ts +1 -0
- package/lib/types/requests/asset-graph-dot.d.ts +9 -0
- package/lib/types/resolveOptions.d.ts +3 -0
- package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
- package/lib/types/serializerCore.browser.d.ts +3 -0
- package/lib/types/summarizeRequest.d.ts +10 -0
- package/lib/types/types.d.ts +495 -0
- package/lib/types/utils.d.ts +23 -0
- package/lib/types/worker.d.ts +44 -0
- package/lib/types.js +8 -1
- package/lib/utils.js +17 -2
- package/lib/worker.js +30 -14
- package/package.json +25 -35
- package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
- package/src/{Atlaspack.js → Atlaspack.ts} +134 -67
- package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
- package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
- package/src/{BundleGraph.js → BundleGraph.ts} +383 -140
- 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} +179 -87
- package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
- package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
- package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
- package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
- package/src/{Transformation.js → Transformation.ts} +110 -65
- package/src/{UncommittedAsset.js → UncommittedAsset.ts} +60 -39
- package/src/{Validation.js → Validation.ts} +32 -17
- package/src/{applyRuntimes.js → applyRuntimes.ts} +133 -26
- package/src/{assetUtils.js → assetUtils.ts} +49 -36
- package/src/atlaspack-v3/AtlaspackV3.ts +143 -0
- package/src/atlaspack-v3/NapiWorkerPool.ts +91 -0
- package/src/atlaspack-v3/{fs.js → fs.ts} +3 -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 +9 -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-logger.js → plugin-logger.ts} +0 -2
- 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 +531 -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} +129 -80
- package/src/requests/AssetGraphRequestRust.ts +364 -0
- package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
- package/src/requests/AtlaspackBuildRequest.ts +163 -0
- package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
- package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +97 -79
- 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} +34 -22
- package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
- package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
- package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
- package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
- package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
- package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
- package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
- package/src/{resolveOptions.js → resolveOptions.ts} +59 -25
- 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 +650 -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} +37 -8
- package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
- package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
- package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +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} +314 -59
- package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
- package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
- package/test/fixtures/config-with-reporters/.parcelrc +7 -0
- package/test/fixtures/custom-targets/package.json +6 -0
- package/test/public/Config.test.ts +104 -0
- package/test/requests/AssetGraphRequestRust.test.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/{test-utils.js → test-utils.ts} +4 -11
- 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/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/worker.js +0 -362
- package/src/index.js +0 -13
- package/src/requests/AssetGraphRequestRust.js +0 -263
- package/src/requests/AtlaspackBuildRequest.js +0 -111
- 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/applyRuntimes.js
CHANGED
|
@@ -69,6 +69,14 @@ function _utils() {
|
|
|
69
69
|
};
|
|
70
70
|
return data;
|
|
71
71
|
}
|
|
72
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
73
|
+
function _featureFlags() {
|
|
74
|
+
const data = require("@atlaspack/feature-flags");
|
|
75
|
+
_featureFlags = function () {
|
|
76
|
+
return data;
|
|
77
|
+
};
|
|
78
|
+
return data;
|
|
79
|
+
}
|
|
72
80
|
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); }
|
|
73
81
|
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; }
|
|
74
82
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -123,8 +131,10 @@ async function applyRuntimes({
|
|
|
123
131
|
* order), so that children will always be available when parents try to reference
|
|
124
132
|
* them.
|
|
125
133
|
*/
|
|
134
|
+
// @ts-expect-error TS2304
|
|
126
135
|
let bundles = [];
|
|
127
136
|
bundleGraph.traverseBundles({
|
|
137
|
+
// @ts-expect-error TS2304
|
|
128
138
|
exit(bundle) {
|
|
129
139
|
bundles.push(bundle);
|
|
130
140
|
}
|
|
@@ -158,16 +168,20 @@ async function applyRuntimes({
|
|
|
158
168
|
filePath,
|
|
159
169
|
isEntry,
|
|
160
170
|
env,
|
|
161
|
-
|
|
171
|
+
runtimeAssetRequiringExecutionOnLoad,
|
|
172
|
+
priority,
|
|
173
|
+
symbolData
|
|
162
174
|
} of runtimeAssets) {
|
|
163
175
|
let sourceName = _path().default.join(_path().default.dirname(filePath), `runtime-${(0, _rust().hashString)(code)}.${bundle.type}`);
|
|
164
176
|
let assetGroup = {
|
|
165
177
|
code,
|
|
178
|
+
runtimeAssetRequiringExecutionOnLoad,
|
|
166
179
|
filePath: (0, _projectPath.toProjectPath)(options.projectRoot, sourceName),
|
|
167
|
-
env: (0, _Environment.mergeEnvironments)(options.projectRoot, bundle.env, env),
|
|
180
|
+
env: (0, _Environment.mergeEnvironments)(options.projectRoot, (0, _EnvironmentManager.fromEnvironmentId)(bundle.env), env),
|
|
168
181
|
// Runtime assets should be considered source, as they should be
|
|
169
182
|
// e.g. compiled to run in the target environment
|
|
170
|
-
isSource: true
|
|
183
|
+
isSource: true,
|
|
184
|
+
symbolData
|
|
171
185
|
};
|
|
172
186
|
let connectionBundle = bundle;
|
|
173
187
|
|
|
@@ -195,6 +209,8 @@ async function applyRuntimes({
|
|
|
195
209
|
// been named as this point.
|
|
196
210
|
nameRuntimeBundle(connectionBundle, bundle);
|
|
197
211
|
}
|
|
212
|
+
|
|
213
|
+
// @ts-expect-error TS2345
|
|
198
214
|
connectionMap.get(connectionBundle).push({
|
|
199
215
|
bundle: connectionBundle,
|
|
200
216
|
assetGroup,
|
|
@@ -233,6 +249,7 @@ async function applyRuntimes({
|
|
|
233
249
|
*/
|
|
234
250
|
let connections = [];
|
|
235
251
|
bundleGraph.traverseBundles({
|
|
252
|
+
// @ts-expect-error TS2304
|
|
236
253
|
enter(bundle) {
|
|
237
254
|
connections.push(...connectionMap.get(bundle));
|
|
238
255
|
}
|
|
@@ -254,6 +271,10 @@ async function applyRuntimes({
|
|
|
254
271
|
assetGraph: runtimesAssetGraph,
|
|
255
272
|
changedAssets
|
|
256
273
|
} = await reconcileNewRuntimes(api, connections, optionsRef);
|
|
274
|
+
if ((0, _featureFlags().getFeatureFlag)('skipRuntimeSymbolProp')) {
|
|
275
|
+
// Apply pre-computed symbol data from runtime assets to skip symbol propagation
|
|
276
|
+
applyRuntimeSymbolData(runtimesAssetGraph, connections);
|
|
277
|
+
}
|
|
257
278
|
|
|
258
279
|
// Convert the runtime AssetGraph into a BundleGraph, this includes assigning
|
|
259
280
|
// the assets their public ids
|
|
@@ -340,12 +361,83 @@ async function applyRuntimes({
|
|
|
340
361
|
}
|
|
341
362
|
return changedAssets;
|
|
342
363
|
}
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Apply pre-computed symbol data from runtime assets to the asset graph
|
|
367
|
+
* to avoid running symbol propagation on runtime code we control.
|
|
368
|
+
*/
|
|
369
|
+
function applyRuntimeSymbolData(assetGraph, connections) {
|
|
370
|
+
for (let {
|
|
371
|
+
assetGroup
|
|
372
|
+
} of connections) {
|
|
373
|
+
let assetGroupNode = (0, _AssetGraph.nodeFromAssetGroup)(assetGroup);
|
|
374
|
+
let assetGroupAssetNodeIds = assetGraph.getNodeIdsConnectedFrom(assetGraph.getNodeIdByContentKey(assetGroupNode.id));
|
|
375
|
+
if (assetGroupAssetNodeIds.length !== 1) {
|
|
376
|
+
continue;
|
|
377
|
+
}
|
|
378
|
+
let runtimeAssetNodeId = assetGroupAssetNodeIds[0];
|
|
379
|
+
let runtimeAssetNode = assetGraph.getNode(runtimeAssetNodeId);
|
|
380
|
+
if (!runtimeAssetNode || runtimeAssetNode.type !== 'asset') {
|
|
381
|
+
continue;
|
|
382
|
+
}
|
|
383
|
+
let symbolData = assetGroup.symbolData;
|
|
384
|
+
if (!symbolData) {
|
|
385
|
+
// We completely skip symbol propagation for runtime assets, so symbolData
|
|
386
|
+
// is required
|
|
387
|
+
throw new Error('Runtime asset is missing symbol data');
|
|
388
|
+
}
|
|
389
|
+
if (symbolData.symbols) {
|
|
390
|
+
// Convert from SymbolData format to internal Asset.symbols format
|
|
391
|
+
let internalSymbols = new Map();
|
|
392
|
+
for (let [symbol, data] of symbolData.symbols) {
|
|
393
|
+
internalSymbols.set(symbol, {
|
|
394
|
+
local: data.local,
|
|
395
|
+
loc: data.loc || null,
|
|
396
|
+
meta: data.meta
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
runtimeAssetNode.value.symbols = internalSymbols;
|
|
400
|
+
}
|
|
401
|
+
if (symbolData.dependencies && symbolData.dependencies.length > 0) {
|
|
402
|
+
let outgoingDeps = assetGraph.getNodeIdsConnectedFrom(runtimeAssetNodeId).map(id => assetGraph.getNode(id)).filter(node => (node === null || node === void 0 ? void 0 : node.type) === 'dependency').map(node => node);
|
|
403
|
+
for (let depSymbolData of symbolData.dependencies) {
|
|
404
|
+
let matchingDep = outgoingDeps.find(depNode => depNode.value.specifier === depSymbolData.specifier);
|
|
405
|
+
if (matchingDep) {
|
|
406
|
+
if (depSymbolData.symbols) {
|
|
407
|
+
let internalDepSymbols = new Map();
|
|
408
|
+
for (let [symbol, data] of depSymbolData.symbols) {
|
|
409
|
+
internalDepSymbols.set(symbol, {
|
|
410
|
+
local: data.local,
|
|
411
|
+
loc: data.loc || null,
|
|
412
|
+
isWeak: data.isWeak,
|
|
413
|
+
meta: data.meta
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
matchingDep.value.symbols = internalDepSymbols;
|
|
417
|
+
}
|
|
418
|
+
if (depSymbolData.usedSymbols) {
|
|
419
|
+
matchingDep.usedSymbolsDown = new Set(depSymbolData.usedSymbols);
|
|
420
|
+
// For runtime assets, usedSymbolsUp will be the same as usedSymbolsDown
|
|
421
|
+
// since we know exactly what we're using
|
|
422
|
+
let usedSymbolsUp = new Map();
|
|
423
|
+
for (let symbol of depSymbolData.usedSymbols) {
|
|
424
|
+
// Mark as resolved to external (null) since runtime deps are typically external
|
|
425
|
+
usedSymbolsUp.set(symbol, null);
|
|
426
|
+
}
|
|
427
|
+
matchingDep.usedSymbolsUp = usedSymbolsUp;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
}
|
|
343
434
|
function reconcileNewRuntimes(api, connections, optionsRef) {
|
|
344
435
|
let assetGroups = connections.map(t => t.assetGroup);
|
|
345
436
|
let request = (0, _AssetGraphRequest.default)({
|
|
346
437
|
name: 'Runtimes',
|
|
347
438
|
assetGroups,
|
|
348
|
-
optionsRef
|
|
439
|
+
optionsRef,
|
|
440
|
+
skipSymbolProp: (0, _featureFlags().getFeatureFlag)('skipRuntimeSymbolProp')
|
|
349
441
|
});
|
|
350
442
|
|
|
351
443
|
// rebuild the graph
|
package/lib/assetUtils.js
CHANGED
|
@@ -36,8 +36,6 @@ function _nullthrows() {
|
|
|
36
36
|
};
|
|
37
37
|
return data;
|
|
38
38
|
}
|
|
39
|
-
var _CommittedAsset = _interopRequireDefault(require("./CommittedAsset"));
|
|
40
|
-
var _UncommittedAsset = _interopRequireDefault(require("./UncommittedAsset"));
|
|
41
39
|
var _loadAtlaspackPlugin = _interopRequireDefault(require("./loadAtlaspackPlugin"));
|
|
42
40
|
var _Asset = require("./public/Asset");
|
|
43
41
|
var _PluginOptions = _interopRequireDefault(require("./public/PluginOptions"));
|
|
@@ -66,10 +64,18 @@ function _profiler() {
|
|
|
66
64
|
return data;
|
|
67
65
|
}
|
|
68
66
|
var _IdentifierRegistry = require("./IdentifierRegistry");
|
|
67
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
68
|
+
function _sourceMap() {
|
|
69
|
+
const data = _interopRequireDefault(require("@atlaspack/source-map"));
|
|
70
|
+
_sourceMap = function () {
|
|
71
|
+
return data;
|
|
72
|
+
};
|
|
73
|
+
return data;
|
|
74
|
+
}
|
|
69
75
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
70
76
|
function createAssetIdFromOptions(options) {
|
|
71
77
|
const data = {
|
|
72
|
-
environmentId: options.env
|
|
78
|
+
environmentId: (0, _EnvironmentManager.toEnvironmentId)(options.env),
|
|
73
79
|
filePath: options.filePath,
|
|
74
80
|
code: options.code,
|
|
75
81
|
pipeline: options.pipeline,
|
|
@@ -151,7 +157,7 @@ async function _generateFromAST(asset) {
|
|
|
151
157
|
category: 'asset-generate'
|
|
152
158
|
})
|
|
153
159
|
});
|
|
154
|
-
let mapBuffer =
|
|
160
|
+
let mapBuffer = _sourceMap().default.safeToBuffer(map);
|
|
155
161
|
// Store the results in the cache so we can avoid generating again next time
|
|
156
162
|
await Promise.all([asset.options.cache.setStream((0, _nullthrows().default)(asset.value.contentKey), (0, _utils().blobToStream)(content)), mapBuffer != null && asset.options.cache.setBlob((0, _nullthrows().default)(asset.value.mapKey), mapBuffer)]);
|
|
157
163
|
return {
|
|
@@ -168,6 +174,7 @@ function getInvalidationId(invalidation) {
|
|
|
168
174
|
case 'option':
|
|
169
175
|
return 'option:' + invalidation.key;
|
|
170
176
|
default:
|
|
177
|
+
// @ts-expect-error TS2339
|
|
171
178
|
throw new Error('Unknown invalidation type: ' + invalidation.type);
|
|
172
179
|
}
|
|
173
180
|
}
|
|
@@ -195,9 +202,12 @@ async function getInvalidationHash(invalidations, options) {
|
|
|
195
202
|
hashes += invalidation.key + ':' + (options.env[invalidation.key] || '');
|
|
196
203
|
break;
|
|
197
204
|
case 'option':
|
|
198
|
-
hashes +=
|
|
205
|
+
hashes +=
|
|
206
|
+
// @ts-expect-error TS7053
|
|
207
|
+
invalidation.key + ':' + (0, _utils2.hashFromOption)(options[invalidation.key]);
|
|
199
208
|
break;
|
|
200
209
|
default:
|
|
210
|
+
// @ts-expect-error TS2339
|
|
201
211
|
throw new Error('Unknown invalidation type: ' + invalidation.type);
|
|
202
212
|
}
|
|
203
213
|
}
|
|
@@ -19,23 +19,43 @@ function _diagnostic() {
|
|
|
19
19
|
};
|
|
20
20
|
return data;
|
|
21
21
|
}
|
|
22
|
+
function _assert() {
|
|
23
|
+
const data = _interopRequireDefault(require("assert"));
|
|
24
|
+
_assert = function () {
|
|
25
|
+
return data;
|
|
26
|
+
};
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
22
29
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
30
|
class AtlaspackV3 {
|
|
24
|
-
constructor(atlaspack_napi) {
|
|
31
|
+
constructor(atlaspack_napi, napiWorkerPool, isDefaultNapiWorkerPool) {
|
|
25
32
|
this._atlaspack_napi = atlaspack_napi;
|
|
33
|
+
this._napiWorkerPool = napiWorkerPool;
|
|
34
|
+
this._isDefaultNapiWorkerPool = isDefaultNapiWorkerPool;
|
|
26
35
|
}
|
|
27
36
|
static async create({
|
|
28
37
|
fs,
|
|
29
38
|
packageManager,
|
|
30
39
|
threads,
|
|
31
40
|
lmdb,
|
|
32
|
-
napiWorkerPool
|
|
41
|
+
napiWorkerPool,
|
|
33
42
|
...options
|
|
34
43
|
}) {
|
|
44
|
+
// @ts-expect-error TS2339
|
|
35
45
|
options.logLevel = options.logLevel || 'error';
|
|
46
|
+
// @ts-expect-error TS2339
|
|
36
47
|
options.defaultTargetOptions = options.defaultTargetOptions || {};
|
|
37
|
-
//
|
|
38
|
-
options.defaultTargetOptions.engines =
|
|
48
|
+
// @ts-expect-error TS2339
|
|
49
|
+
options.defaultTargetOptions.engines =
|
|
50
|
+
// @ts-expect-error TS2339
|
|
51
|
+
options.defaultTargetOptions.engines || {};
|
|
52
|
+
let isDefaultNapiWorkerPool = false;
|
|
53
|
+
if (!napiWorkerPool) {
|
|
54
|
+
napiWorkerPool = new _NapiWorkerPool.NapiWorkerPool();
|
|
55
|
+
isDefaultNapiWorkerPool = true;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// @ts-expect-error TS2488
|
|
39
59
|
const [internal, error] = await (0, _rust().atlaspackNapiCreate)({
|
|
40
60
|
fs,
|
|
41
61
|
packageManager,
|
|
@@ -48,19 +68,37 @@ class AtlaspackV3 {
|
|
|
48
68
|
diagnostic: error
|
|
49
69
|
});
|
|
50
70
|
}
|
|
51
|
-
return new AtlaspackV3(internal);
|
|
71
|
+
return new AtlaspackV3(internal, napiWorkerPool, isDefaultNapiWorkerPool);
|
|
52
72
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
73
|
+
end() {
|
|
74
|
+
// If the worker pool was provided to us, don't shut it down, it's up to the provider.
|
|
75
|
+
if (this._isDefaultNapiWorkerPool) {
|
|
76
|
+
this._napiWorkerPool.shutdown();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
buildAssetGraph() {
|
|
80
|
+
return (0, _rust().atlaspackNapiBuildAssetGraph)(this._atlaspack_napi);
|
|
81
|
+
}
|
|
82
|
+
loadBundleGraph({
|
|
83
|
+
nodes,
|
|
84
|
+
edges
|
|
85
|
+
}) {
|
|
86
|
+
(0, _assert().default)(nodes.length > 0, 'Bundle graph must have at least one node');
|
|
87
|
+
return (0, _rust().atlaspackNapiLoadBundleGraph)(this._atlaspack_napi, nodes, edges);
|
|
88
|
+
}
|
|
89
|
+
package() {
|
|
90
|
+
return (0, _rust().atlaspackNapiPackage)(this._atlaspack_napi);
|
|
91
|
+
}
|
|
92
|
+
async respondToFsEvents(events) {
|
|
93
|
+
// @ts-expect-error TS2488
|
|
94
|
+
let [needsRebuild, error] = await (0, _rust().atlaspackNapiRespondToFsEvents)(this._atlaspack_napi, events);
|
|
95
|
+
if (error) {
|
|
96
|
+
throw new Error(error);
|
|
59
97
|
}
|
|
60
|
-
return
|
|
98
|
+
return needsRebuild;
|
|
61
99
|
}
|
|
62
|
-
|
|
63
|
-
return (0, _rust().
|
|
100
|
+
async completeCacheSession() {
|
|
101
|
+
return await (0, _rust().atlaspackNapiCompleteSession)(this._atlaspack_napi);
|
|
64
102
|
}
|
|
65
103
|
}
|
|
66
104
|
exports.AtlaspackV3 = AtlaspackV3;
|
|
@@ -33,6 +33,8 @@ function _rust() {
|
|
|
33
33
|
return data;
|
|
34
34
|
}
|
|
35
35
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
36
|
+
// @ts-expect-error TS2724
|
|
37
|
+
|
|
36
38
|
const WORKER_PATH = _path().default.join(__dirname, 'worker', 'index.js');
|
|
37
39
|
const ATLASPACK_NAPI_WORKERS = _process().default.env.ATLASPACK_NAPI_WORKERS && parseInt(_process().default.env.ATLASPACK_NAPI_WORKERS, 10);
|
|
38
40
|
class NapiWorkerPool {
|
|
@@ -44,7 +46,11 @@ class NapiWorkerPool {
|
|
|
44
46
|
} = {
|
|
45
47
|
workerCount: undefined
|
|
46
48
|
}) {
|
|
47
|
-
|
|
49
|
+
// @ts-expect-error TS2322
|
|
50
|
+
this.#workerCount = workerCount ?? ATLASPACK_NAPI_WORKERS ??
|
|
51
|
+
// Default to a maximum of 4 workers as performance worsens beyond that
|
|
52
|
+
// point in most cases
|
|
53
|
+
Math.min((0, _rust().getAvailableThreads)(), 4);
|
|
48
54
|
if (!this.#workerCount) {
|
|
49
55
|
// TODO use main thread if workerCount is 0
|
|
50
56
|
}
|
|
@@ -56,6 +62,27 @@ class NapiWorkerPool {
|
|
|
56
62
|
this.#napiWorkers.push(new Promise(res => worker.once('message', res)));
|
|
57
63
|
}
|
|
58
64
|
}
|
|
65
|
+
clearAllWorkerState() {
|
|
66
|
+
return Promise.all(this.#workers.map(worker => new Promise(res => {
|
|
67
|
+
worker.postMessage('clearState');
|
|
68
|
+
|
|
69
|
+
// Set up a message handler that only resolves on 'stateCleared'
|
|
70
|
+
// and ignores all other messages (like the initial napiWorker Transferable)
|
|
71
|
+
const messageHandler = message => {
|
|
72
|
+
if (message === 'stateCleared') {
|
|
73
|
+
worker.removeListener('message', messageHandler);
|
|
74
|
+
res();
|
|
75
|
+
} else {
|
|
76
|
+
// Log unexpected messages for debugging
|
|
77
|
+
// eslint-disable-next-line no-console
|
|
78
|
+
console.warn(`[NapiWorkerPool] Received unexpected message during clearAllWorkerState: ${JSON.stringify(message)} (type: ${typeof message})`);
|
|
79
|
+
// Keep listening for 'stateCleared' - don't remove the listener
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
worker.on('message', messageHandler);
|
|
84
|
+
})));
|
|
85
|
+
}
|
|
59
86
|
workerCount() {
|
|
60
87
|
return this.#workerCount;
|
|
61
88
|
}
|
package/lib/atlaspack-v3/fs.js
CHANGED
|
@@ -5,6 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.FileSystemV3 = void 0;
|
|
7
7
|
var _jsCallable = require("./jsCallable");
|
|
8
|
+
// @ts-expect-error TS2305
|
|
9
|
+
|
|
10
|
+
// @ts-expect-error TS2420
|
|
8
11
|
class FileSystemV3 {
|
|
9
12
|
#fs;
|
|
10
13
|
constructor(fs) {
|
|
@@ -29,7 +32,6 @@ class FileSystemV3 {
|
|
|
29
32
|
};
|
|
30
33
|
readFile = (0, _jsCallable.jsCallable)((path, encoding) => {
|
|
31
34
|
if (!encoding) {
|
|
32
|
-
// $FlowFixMe
|
|
33
35
|
return [...this.#fs.readFileSync(path)];
|
|
34
36
|
} else {
|
|
35
37
|
return this.#fs.readFileSync(path, encoding);
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
FileSystemV3: true,
|
|
8
|
+
AtlaspackV3: true,
|
|
9
|
+
NapiWorkerPool: true
|
|
10
|
+
};
|
|
6
11
|
Object.defineProperty(exports, "AtlaspackV3", {
|
|
7
12
|
enumerable: true,
|
|
8
13
|
get: function () {
|
|
@@ -23,4 +28,26 @@ Object.defineProperty(exports, "NapiWorkerPool", {
|
|
|
23
28
|
});
|
|
24
29
|
var _fs = require("./fs");
|
|
25
30
|
var _AtlaspackV = require("./AtlaspackV3");
|
|
26
|
-
|
|
31
|
+
Object.keys(_AtlaspackV).forEach(function (key) {
|
|
32
|
+
if (key === "default" || key === "__esModule") return;
|
|
33
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
34
|
+
if (key in exports && exports[key] === _AtlaspackV[key]) return;
|
|
35
|
+
Object.defineProperty(exports, key, {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () {
|
|
38
|
+
return _AtlaspackV[key];
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
var _NapiWorkerPool = require("./NapiWorkerPool");
|
|
43
|
+
Object.keys(_NapiWorkerPool).forEach(function (key) {
|
|
44
|
+
if (key === "default" || key === "__esModule") return;
|
|
45
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
46
|
+
if (key in exports && exports[key] === _NapiWorkerPool[key]) return;
|
|
47
|
+
Object.defineProperty(exports, key, {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function () {
|
|
50
|
+
return _NapiWorkerPool[key];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
@@ -7,10 +7,8 @@ exports.jsCallable = jsCallable;
|
|
|
7
7
|
function jsCallable(fn) {
|
|
8
8
|
return async (...args) => {
|
|
9
9
|
try {
|
|
10
|
-
// $FlowFixMe "await" is needed to log the error from
|
|
11
10
|
// Promises and is safe to use on non-promises
|
|
12
11
|
return await fn(...args);
|
|
13
|
-
// $FlowFixMe
|
|
14
12
|
} catch (error) {
|
|
15
13
|
// eslint-disable-next-line no-console
|
|
16
14
|
console.error(error);
|
|
@@ -54,7 +54,7 @@ class MutableDependencySymbols {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
/*:: @@iterator(): Iterator<[Symbol, DependencyAssetSymbol]> { return ({}: any); } */
|
|
57
|
-
//
|
|
57
|
+
// @ts-expect-error TS2416
|
|
58
58
|
[Symbol.iterator]() {
|
|
59
59
|
return this.#symbols.values();
|
|
60
60
|
}
|
|
@@ -102,7 +102,7 @@ class AssetSymbols {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
/*:: @@iterator(): Iterator<[Symbol, AssetSymbol]> { return ({}: any); } */
|
|
105
|
-
//
|
|
105
|
+
// @ts-expect-error TS2416
|
|
106
106
|
[Symbol.iterator]() {
|
|
107
107
|
return this.#symbols.values();
|
|
108
108
|
}
|
|
@@ -122,10 +122,12 @@ class MutableAssetSymbols {
|
|
|
122
122
|
loc,
|
|
123
123
|
local,
|
|
124
124
|
isEsmExport,
|
|
125
|
-
selfReferenced
|
|
125
|
+
selfReferenced,
|
|
126
|
+
isStaticBindingSafe
|
|
126
127
|
} of inner || []) {
|
|
127
128
|
this.set(exported, local, loc, {
|
|
128
129
|
isEsm: isEsmExport,
|
|
130
|
+
isStaticBindingSafe,
|
|
129
131
|
selfReferenced
|
|
130
132
|
});
|
|
131
133
|
}
|
|
@@ -152,6 +154,7 @@ class MutableAssetSymbols {
|
|
|
152
154
|
}
|
|
153
155
|
} : undefined,
|
|
154
156
|
isEsmExport: Boolean(meta === null || meta === void 0 ? void 0 : meta.isEsm),
|
|
157
|
+
isStaticBindingSafe: Boolean(meta === null || meta === void 0 ? void 0 : meta.isStaticBindingSafe),
|
|
155
158
|
isWeak: false,
|
|
156
159
|
selfReferenced: Boolean(meta === null || meta === void 0 ? void 0 : meta.selfReferenced)
|
|
157
160
|
});
|
|
@@ -189,7 +192,7 @@ class MutableAssetSymbols {
|
|
|
189
192
|
}
|
|
190
193
|
|
|
191
194
|
/*:: @@iterator(): Iterator<[Symbol, AssetSymbol]> { return ({}: any); } */
|
|
192
|
-
//
|
|
195
|
+
// @ts-expect-error TS2416
|
|
193
196
|
[Symbol.iterator]() {
|
|
194
197
|
return this.#symbols.values();
|
|
195
198
|
}
|
|
@@ -6,18 +6,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.specifierTypeMap = exports.packageConditionsMap = exports.dependencyPriorityMap = exports.bundleBehaviorMap = exports.BitFlags = void 0;
|
|
7
7
|
/// BitFlags is used to map number/string types from napi types
|
|
8
8
|
class BitFlags {
|
|
9
|
+
// @ts-expect-error TS2344
|
|
9
10
|
#kv;
|
|
10
11
|
#vk;
|
|
12
|
+
|
|
13
|
+
// @ts-expect-error TS2344
|
|
11
14
|
constructor(source) {
|
|
12
15
|
this.#kv = source;
|
|
13
|
-
this.#vk = Object.fromEntries(
|
|
14
|
-
// $FlowFixMe
|
|
15
|
-
Object.entries(source).map(a => a.reverse()));
|
|
16
|
+
this.#vk = Object.fromEntries(Object.entries(source).map(a => a.reverse()));
|
|
16
17
|
}
|
|
17
18
|
into(key) {
|
|
18
19
|
const found = this.#kv[key];
|
|
19
20
|
if (found === undefined) {
|
|
20
|
-
// $FlowFixMe
|
|
21
21
|
throw new Error(`Invalid BundleBehavior(${key})`);
|
|
22
22
|
}
|
|
23
23
|
return found;
|
|
@@ -28,13 +28,9 @@ class BitFlags {
|
|
|
28
28
|
}
|
|
29
29
|
return this.into(key);
|
|
30
30
|
}
|
|
31
|
-
intoArray(keys) {
|
|
32
|
-
return keys.map(key => this.into(key));
|
|
33
|
-
}
|
|
34
31
|
from(key) {
|
|
35
32
|
const found = this.#vk[key];
|
|
36
33
|
if (found === undefined) {
|
|
37
|
-
// $FlowFixMe
|
|
38
34
|
throw new Error(`Invalid BundleBehavior(${key})`);
|
|
39
35
|
}
|
|
40
36
|
return found;
|
|
@@ -45,14 +41,21 @@ class BitFlags {
|
|
|
45
41
|
}
|
|
46
42
|
return this.from(key);
|
|
47
43
|
}
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
toArray(keys) {
|
|
45
|
+
let values = [];
|
|
46
|
+
for (let [key, value] of Object.entries(this.#kv)) {
|
|
47
|
+
if ((keys & value) !== 0) {
|
|
48
|
+
values.push(key);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return values;
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
exports.BitFlags = BitFlags;
|
|
53
55
|
const bundleBehaviorMap = exports.bundleBehaviorMap = new BitFlags({
|
|
54
56
|
inline: 0,
|
|
55
|
-
isolated: 1
|
|
57
|
+
isolated: 1,
|
|
58
|
+
inlineIsolated: 2
|
|
56
59
|
});
|
|
57
60
|
const dependencyPriorityMap = exports.dependencyPriorityMap = new BitFlags({
|
|
58
61
|
sync: 0,
|
|
@@ -60,21 +63,24 @@ const dependencyPriorityMap = exports.dependencyPriorityMap = new BitFlags({
|
|
|
60
63
|
lazy: 2,
|
|
61
64
|
conditional: 3
|
|
62
65
|
});
|
|
66
|
+
|
|
67
|
+
// Note: The bitflags must match the bitflags in the Rust code.
|
|
68
|
+
// crates/atlaspack_core/src/types/package_json.rs
|
|
63
69
|
const packageConditionsMap = exports.packageConditionsMap = new BitFlags({
|
|
64
|
-
import: 0,
|
|
65
|
-
require: 1,
|
|
66
|
-
module: 2,
|
|
67
|
-
node: 3,
|
|
68
|
-
browser: 4,
|
|
69
|
-
worker: 5,
|
|
70
|
-
worklet: 6,
|
|
71
|
-
electron: 7,
|
|
72
|
-
development: 8,
|
|
73
|
-
production: 9,
|
|
74
|
-
types: 10,
|
|
75
|
-
default: 11,
|
|
76
|
-
style: 12,
|
|
77
|
-
sass: 13
|
|
70
|
+
import: 1 << 0,
|
|
71
|
+
require: 1 << 1,
|
|
72
|
+
module: 1 << 2,
|
|
73
|
+
node: 1 << 3,
|
|
74
|
+
browser: 1 << 4,
|
|
75
|
+
worker: 1 << 5,
|
|
76
|
+
worklet: 1 << 6,
|
|
77
|
+
electron: 1 << 7,
|
|
78
|
+
development: 1 << 8,
|
|
79
|
+
production: 1 << 9,
|
|
80
|
+
types: 1 << 10,
|
|
81
|
+
default: 1 << 11,
|
|
82
|
+
style: 1 << 12,
|
|
83
|
+
sass: 1 << 13
|
|
78
84
|
});
|
|
79
85
|
const specifierTypeMap = exports.specifierTypeMap = new BitFlags({
|
|
80
86
|
esm: 0,
|
|
@@ -7,6 +7,8 @@ exports.Dependency = void 0;
|
|
|
7
7
|
var _target = require("./target");
|
|
8
8
|
var _assetSymbols = require("./asset-symbols");
|
|
9
9
|
var _bitflags = require("./bitflags");
|
|
10
|
+
// @ts-expect-error TS2305
|
|
11
|
+
|
|
10
12
|
class Dependency {
|
|
11
13
|
get id() {
|
|
12
14
|
throw new Error('Dependency.id');
|
|
@@ -24,6 +26,7 @@ class Dependency {
|
|
|
24
26
|
this.bundleBehavior = _bitflags.bundleBehaviorMap.from(inner.bundleBehavior);
|
|
25
27
|
}
|
|
26
28
|
this.bundleBehavior = undefined;
|
|
29
|
+
// @ts-expect-error TS2322
|
|
27
30
|
this.symbols = new _assetSymbols.MutableDependencySymbols(inner.symbols || []);
|
|
28
31
|
this.specifier = inner.specifier;
|
|
29
32
|
this.specifierType = _bitflags.specifierTypeMap.from(inner.specifierType);
|
|
@@ -32,7 +35,7 @@ class Dependency {
|
|
|
32
35
|
this.isOptional = inner.isOptional;
|
|
33
36
|
this.isEntry = inner.isEntry;
|
|
34
37
|
this.loc = inner.loc;
|
|
35
|
-
this.packageConditions = _bitflags.packageConditionsMap.
|
|
38
|
+
this.packageConditions = _bitflags.packageConditionsMap.toArray(inner.packageConditions || []);
|
|
36
39
|
this.sourceAssetId = inner.sourceAssetId;
|
|
37
40
|
this.sourcePath = inner.sourcePath;
|
|
38
41
|
this.sourceAssetType = inner.sourceAssetType;
|
|
@@ -4,17 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Environment = void 0;
|
|
7
|
+
// @ts-expect-error TS2724
|
|
8
|
+
|
|
7
9
|
class Environment {
|
|
8
10
|
constructor(inner) {
|
|
9
11
|
// TODO
|
|
10
12
|
this.id = '';
|
|
11
13
|
this.includeNodeModules = inner.includeNodeModules;
|
|
12
|
-
// $FlowFixMe
|
|
13
14
|
this.context = inner.context;
|
|
14
15
|
this.engines = inner.engines;
|
|
15
|
-
// $FlowFixMe
|
|
16
16
|
this.outputFormat = inner.outputFormat;
|
|
17
|
-
// $FlowFixMe
|
|
18
17
|
this.sourceType = inner.sourceType;
|
|
19
18
|
this.isLibrary = inner.isLibrary;
|
|
20
19
|
this.shouldOptimize = inner.shouldOptimize;
|
|
@@ -22,9 +21,10 @@ class Environment {
|
|
|
22
21
|
this.sourceMap = inner.sourceMap;
|
|
23
22
|
this.loc = inner.loc;
|
|
24
23
|
this.unstableSingleFileOutput = false;
|
|
24
|
+
this.customEnv = inner.customEnv;
|
|
25
25
|
}
|
|
26
26
|
isBrowser() {
|
|
27
|
-
return this.context === 'browser' || this.isWorker() || this.isWorklet() || this.context === 'electron-renderer';
|
|
27
|
+
return this.context === 'browser' || this.isWorker() || this.isTesseract() || this.isWorklet() || this.context === 'electron-renderer';
|
|
28
28
|
}
|
|
29
29
|
isNode() {
|
|
30
30
|
return this.context === 'node' || this.isElectron();
|
|
@@ -38,19 +38,22 @@ class Environment {
|
|
|
38
38
|
isWorklet() {
|
|
39
39
|
return this.context === 'worklet';
|
|
40
40
|
}
|
|
41
|
+
isTesseract() {
|
|
42
|
+
return this.context === 'tesseract';
|
|
43
|
+
}
|
|
41
44
|
isIsolated() {
|
|
42
|
-
return this.isWorker() || this.isWorklet();
|
|
45
|
+
return this.isWorker() || this.isTesseract() || this.isWorklet();
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
// TODO
|
|
46
49
|
// eslint-disable-next-line no-unused-vars
|
|
47
|
-
matchesEngines() {
|
|
50
|
+
matchesEngines(minVersions, defaultValue) {
|
|
48
51
|
return true;
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
// TODO
|
|
52
55
|
// eslint-disable-next-line no-unused-vars
|
|
53
|
-
supports() {
|
|
56
|
+
supports(feature, defaultValue) {
|
|
54
57
|
return true;
|
|
55
58
|
}
|
|
56
59
|
}
|