@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
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow
|
|
2
1
|
import type {
|
|
3
2
|
Async,
|
|
4
3
|
Config as IConfig,
|
|
@@ -7,6 +6,7 @@ import type {
|
|
|
7
6
|
PluginTracer as IPluginTracer,
|
|
8
7
|
NamedBundle as INamedBundle,
|
|
9
8
|
BundleGraph as IBundleGraph,
|
|
9
|
+
TransformerSetup,
|
|
10
10
|
} from '@atlaspack/types';
|
|
11
11
|
import {readConfig, hashObject} from '@atlaspack/utils';
|
|
12
12
|
import type {
|
|
@@ -30,52 +30,56 @@ import {PluginTracer} from '@atlaspack/profiler';
|
|
|
30
30
|
import {requestTypes} from '../RequestTracker';
|
|
31
31
|
import {fromProjectPath, fromProjectPathRelative} from '../projectPath';
|
|
32
32
|
|
|
33
|
+
type Setup<T> = (arg1: {
|
|
34
|
+
config: IConfig;
|
|
35
|
+
options: IPluginOptions;
|
|
36
|
+
logger: IPluginLogger;
|
|
37
|
+
tracer: IPluginTracer;
|
|
38
|
+
}) => Async<TransformerSetup<T>>;
|
|
39
|
+
|
|
33
40
|
export type PluginWithLoadConfig = {
|
|
34
|
-
loadConfig?: ({
|
|
35
|
-
config: IConfig
|
|
36
|
-
options: IPluginOptions
|
|
37
|
-
logger: IPluginLogger
|
|
38
|
-
tracer: IPluginTracer
|
|
39
|
-
|
|
40
|
-
...
|
|
41
|
+
loadConfig?: (arg1: {
|
|
42
|
+
config: IConfig;
|
|
43
|
+
options: IPluginOptions;
|
|
44
|
+
logger: IPluginLogger;
|
|
45
|
+
tracer: IPluginTracer;
|
|
46
|
+
}) => Async<unknown>;
|
|
41
47
|
};
|
|
42
48
|
|
|
43
49
|
export type PluginWithBundleConfig = {
|
|
44
|
-
loadConfig?: ({
|
|
45
|
-
config: IConfig
|
|
46
|
-
options: IPluginOptions
|
|
47
|
-
logger: IPluginLogger
|
|
48
|
-
tracer: IPluginTracer
|
|
49
|
-
|
|
50
|
-
loadBundleConfig?: ({
|
|
51
|
-
bundle: INamedBundle
|
|
52
|
-
bundleGraph: IBundleGraph<INamedBundle
|
|
53
|
-
config: IConfig
|
|
54
|
-
options: IPluginOptions
|
|
55
|
-
logger: IPluginLogger
|
|
56
|
-
tracer: IPluginTracer
|
|
57
|
-
|
|
58
|
-
...
|
|
50
|
+
loadConfig?: (arg1: {
|
|
51
|
+
config: IConfig;
|
|
52
|
+
options: IPluginOptions;
|
|
53
|
+
logger: IPluginLogger;
|
|
54
|
+
tracer: IPluginTracer;
|
|
55
|
+
}) => Async<unknown>;
|
|
56
|
+
loadBundleConfig?: (arg1: {
|
|
57
|
+
bundle: INamedBundle;
|
|
58
|
+
bundleGraph: IBundleGraph<INamedBundle>;
|
|
59
|
+
config: IConfig;
|
|
60
|
+
options: IPluginOptions;
|
|
61
|
+
logger: IPluginLogger;
|
|
62
|
+
tracer: IPluginTracer;
|
|
63
|
+
}) => Async<unknown>;
|
|
59
64
|
};
|
|
60
65
|
|
|
61
66
|
export type ConfigRequest = {
|
|
62
|
-
id: string
|
|
63
|
-
invalidateOnFileChange: Set<ProjectPath
|
|
64
|
-
invalidateOnConfigKeyChange: Array<{
|
|
65
|
-
filePath: ProjectPath
|
|
66
|
-
configKey: string
|
|
67
|
-
|
|
68
|
-
invalidateOnFileCreate: Array<InternalFileCreateInvalidation
|
|
69
|
-
invalidateOnEnvChange: Set<string
|
|
70
|
-
invalidateOnOptionChange: Set<string
|
|
71
|
-
invalidateOnStartup: boolean
|
|
72
|
-
invalidateOnBuild: boolean
|
|
73
|
-
...
|
|
67
|
+
id: string;
|
|
68
|
+
invalidateOnFileChange: Set<ProjectPath>;
|
|
69
|
+
invalidateOnConfigKeyChange: Array<{
|
|
70
|
+
filePath: ProjectPath;
|
|
71
|
+
configKey: string[];
|
|
72
|
+
}>;
|
|
73
|
+
invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
|
|
74
|
+
invalidateOnEnvChange: Set<string>;
|
|
75
|
+
invalidateOnOptionChange: Set<string>;
|
|
76
|
+
invalidateOnStartup: boolean;
|
|
77
|
+
invalidateOnBuild: boolean;
|
|
74
78
|
};
|
|
75
79
|
|
|
76
|
-
export type ConfigRequestResult =
|
|
80
|
+
export type ConfigRequestResult = undefined;
|
|
77
81
|
|
|
78
|
-
export async function loadPluginConfig<T
|
|
82
|
+
export async function loadPluginConfig<T extends PluginWithLoadConfig>(
|
|
79
83
|
loadedPlugin: LoadedPlugin<T>,
|
|
80
84
|
config: Config,
|
|
81
85
|
options: AtlaspackOptions,
|
|
@@ -99,7 +103,7 @@ export async function loadPluginConfig<T: PluginWithLoadConfig>(
|
|
|
99
103
|
category: 'loadConfig',
|
|
100
104
|
}),
|
|
101
105
|
});
|
|
102
|
-
} catch (e) {
|
|
106
|
+
} catch (e: any) {
|
|
103
107
|
throw new ThrowableDiagnostic({
|
|
104
108
|
diagnostic: errorToDiagnostic(e, {
|
|
105
109
|
origin: loadedPlugin.name,
|
|
@@ -108,41 +112,97 @@ export async function loadPluginConfig<T: PluginWithLoadConfig>(
|
|
|
108
112
|
}
|
|
109
113
|
}
|
|
110
114
|
|
|
115
|
+
export async function loadPluginSetup<T>(
|
|
116
|
+
pluginName: string,
|
|
117
|
+
setup: Setup<T>,
|
|
118
|
+
config: Config,
|
|
119
|
+
options: AtlaspackOptions,
|
|
120
|
+
): Promise<void> {
|
|
121
|
+
try {
|
|
122
|
+
let result = await setup({
|
|
123
|
+
config: new PublicConfig(config, options),
|
|
124
|
+
options: new PluginOptions(
|
|
125
|
+
optionsProxy(options, (option) => {
|
|
126
|
+
config.invalidateOnOptionChange.add(option);
|
|
127
|
+
}),
|
|
128
|
+
),
|
|
129
|
+
logger: new PluginLogger({origin: pluginName}),
|
|
130
|
+
tracer: new PluginTracer({
|
|
131
|
+
origin: pluginName,
|
|
132
|
+
category: 'setup',
|
|
133
|
+
}),
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
config.result = result.config;
|
|
137
|
+
} catch (e: any) {
|
|
138
|
+
throw new ThrowableDiagnostic({
|
|
139
|
+
diagnostic: errorToDiagnostic(e, {
|
|
140
|
+
origin: pluginName,
|
|
141
|
+
}),
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Return value at a given key path within an object.
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* const obj = { a: { b: { c: 'd' } } };
|
|
151
|
+
* getValueAtPath(obj, ['a', 'b', 'c']); // 'd'
|
|
152
|
+
* getValueAtPath(obj, ['a', 'b', 'd']); // undefined
|
|
153
|
+
* getValueAtPath(obj, ['a', 'b']); // { c: 'd' }
|
|
154
|
+
* getValueAtPath(obj, ['a', 'b', 'c', 'd']); // undefined
|
|
155
|
+
*/
|
|
156
|
+
export function getValueAtPath(obj: any, key: string[]): any {
|
|
157
|
+
let current = obj;
|
|
158
|
+
for (let part of key) {
|
|
159
|
+
if (current == null) {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
current = current[part];
|
|
163
|
+
}
|
|
164
|
+
return current;
|
|
165
|
+
}
|
|
166
|
+
|
|
111
167
|
const configKeyCache = createBuildCache();
|
|
112
168
|
|
|
113
169
|
export async function getConfigKeyContentHash(
|
|
114
170
|
filePath: ProjectPath,
|
|
115
|
-
configKey: string,
|
|
171
|
+
configKey: string[],
|
|
116
172
|
options: AtlaspackOptions,
|
|
117
|
-
): Async<string
|
|
118
|
-
let cacheKey = `${fromProjectPathRelative(filePath)}:${
|
|
173
|
+
): Promise<Async<string>> {
|
|
174
|
+
let cacheKey = `${fromProjectPathRelative(filePath)}:${JSON.stringify(
|
|
175
|
+
configKey,
|
|
176
|
+
)}`;
|
|
119
177
|
let cachedValue = configKeyCache.get(cacheKey);
|
|
120
178
|
|
|
121
179
|
if (cachedValue) {
|
|
180
|
+
// @ts-expect-error TS2322
|
|
122
181
|
return cachedValue;
|
|
123
182
|
}
|
|
124
183
|
|
|
125
|
-
|
|
184
|
+
const conf = await readConfig(
|
|
126
185
|
options.inputFS,
|
|
127
186
|
fromProjectPath(options.projectRoot, filePath),
|
|
128
187
|
);
|
|
129
188
|
|
|
130
|
-
|
|
189
|
+
const value = getValueAtPath(conf?.config, configKey);
|
|
190
|
+
if (conf == null || value == null) {
|
|
131
191
|
// This can occur when a config key has been removed entirely during `respondToFSEvents`
|
|
132
192
|
return '';
|
|
133
193
|
}
|
|
134
194
|
|
|
135
|
-
|
|
136
|
-
typeof
|
|
137
|
-
? hashObject(
|
|
138
|
-
: hashString(JSON.stringify(
|
|
195
|
+
const contentHash =
|
|
196
|
+
typeof value === 'object'
|
|
197
|
+
? hashObject(value)
|
|
198
|
+
: hashString(JSON.stringify(value));
|
|
139
199
|
|
|
140
200
|
configKeyCache.set(cacheKey, contentHash);
|
|
141
201
|
|
|
142
202
|
return contentHash;
|
|
143
203
|
}
|
|
144
204
|
|
|
145
|
-
export async function runConfigRequest<TResult
|
|
205
|
+
export async function runConfigRequest<TResult extends RequestResult>(
|
|
146
206
|
api: RunAPI<TResult>,
|
|
147
207
|
configRequest: ConfigRequest,
|
|
148
208
|
) {
|
|
@@ -169,7 +229,7 @@ export async function runConfigRequest<TResult: RequestResult>(
|
|
|
169
229
|
return;
|
|
170
230
|
}
|
|
171
231
|
|
|
172
|
-
await api.runRequest<null,
|
|
232
|
+
await api.runRequest<null, undefined>({
|
|
173
233
|
id: 'config_request:' + configRequest.id,
|
|
174
234
|
type: requestTypes.config_request,
|
|
175
235
|
run: async ({api, options}) => {
|
|
@@ -240,7 +300,7 @@ export async function getConfigHash(
|
|
|
240
300
|
} else if (config.result != null) {
|
|
241
301
|
try {
|
|
242
302
|
hash.writeBuffer(serializeRaw(config.result));
|
|
243
|
-
} catch (err) {
|
|
303
|
+
} catch (err: any) {
|
|
244
304
|
throw new ThrowableDiagnostic({
|
|
245
305
|
diagnostic: {
|
|
246
306
|
message:
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow
|
|
2
1
|
import type {
|
|
3
2
|
DependencySpecifier,
|
|
4
3
|
SemverRange,
|
|
@@ -57,7 +56,7 @@ export async function createDevDependency(
|
|
|
57
56
|
// Ensure that the package manager has an entry for this resolution.
|
|
58
57
|
try {
|
|
59
58
|
await options.packageManager.resolve(specifier, resolveFromAbsolute);
|
|
60
|
-
} catch (err) {
|
|
59
|
+
} catch (err: any) {
|
|
61
60
|
// ignore
|
|
62
61
|
}
|
|
63
62
|
|
|
@@ -103,49 +102,68 @@ export async function createDevDependency(
|
|
|
103
102
|
return devDepRequest;
|
|
104
103
|
}
|
|
105
104
|
|
|
106
|
-
export type DevDepSpecifier = {
|
|
107
|
-
specifier: DependencySpecifier
|
|
108
|
-
resolveFrom: ProjectPath
|
|
109
|
-
|
|
105
|
+
export type DevDepSpecifier = {
|
|
106
|
+
specifier: DependencySpecifier;
|
|
107
|
+
resolveFrom: ProjectPath;
|
|
108
|
+
};
|
|
110
109
|
|
|
111
|
-
type DevDepRequests = {
|
|
112
|
-
devDeps: Map<string, string
|
|
113
|
-
invalidDevDeps: Array<DevDepSpecifier
|
|
114
|
-
|
|
110
|
+
type DevDepRequests = {
|
|
111
|
+
devDeps: Map<string, string>;
|
|
112
|
+
invalidDevDeps: Array<DevDepSpecifier>;
|
|
113
|
+
};
|
|
115
114
|
|
|
116
|
-
export async function getDevDepRequests<TResult
|
|
115
|
+
export async function getDevDepRequests<TResult extends RequestResult>(
|
|
117
116
|
api: RunAPI<TResult>,
|
|
118
117
|
): Promise<DevDepRequests> {
|
|
119
|
-
|
|
120
|
-
await Promise.all(
|
|
118
|
+
async function getPreviousDevDepRequests() {
|
|
119
|
+
const allDevDepRequests = await Promise.all(
|
|
121
120
|
api
|
|
122
121
|
.getSubRequests()
|
|
123
122
|
.filter((req) => req.requestType === requestTypes.dev_dep_request)
|
|
124
|
-
.map(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
123
|
+
.map(
|
|
124
|
+
async (
|
|
125
|
+
req,
|
|
126
|
+
): Promise<[string, DevDepRequestResult | null | undefined]> => [
|
|
127
|
+
req.id,
|
|
128
|
+
await api.getRequestResult<DevDepRequestResult>(req.id),
|
|
129
|
+
],
|
|
130
|
+
),
|
|
131
|
+
);
|
|
132
|
+
const nonNullDevDepRequests: Array<Array<string | DevDepRequestResult>> =
|
|
133
|
+
[];
|
|
134
|
+
for (const [id, result] of allDevDepRequests) {
|
|
135
|
+
if (result != null) {
|
|
136
|
+
nonNullDevDepRequests.push([id, result]);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// @ts-expect-error TS2769
|
|
141
|
+
return new Map(nonNullDevDepRequests);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const previousDevDepRequests = await getPreviousDevDepRequests();
|
|
130
145
|
|
|
131
146
|
return {
|
|
132
147
|
devDeps: new Map(
|
|
133
148
|
[...previousDevDepRequests.entries()]
|
|
134
|
-
|
|
135
|
-
.
|
|
149
|
+
// @ts-expect-error TS2769
|
|
150
|
+
.filter(([id]: [any]) => api.canSkipSubrequest(id))
|
|
151
|
+
.map(([, req]: [any, any]) => [
|
|
136
152
|
`${req.specifier}:${fromProjectPathRelative(req.resolveFrom)}`,
|
|
137
153
|
req.hash,
|
|
138
154
|
]),
|
|
139
155
|
),
|
|
140
156
|
invalidDevDeps: await Promise.all(
|
|
141
157
|
[...previousDevDepRequests.entries()]
|
|
142
|
-
|
|
143
|
-
.
|
|
158
|
+
// @ts-expect-error TS2769
|
|
159
|
+
.filter(([id]: [any]) => !api.canSkipSubrequest(id))
|
|
160
|
+
.flatMap(([, req]: [any, any]) => {
|
|
144
161
|
return [
|
|
145
162
|
{
|
|
146
163
|
specifier: req.specifier,
|
|
147
164
|
resolveFrom: req.resolveFrom,
|
|
148
165
|
},
|
|
166
|
+
// @ts-expect-error TS7006
|
|
149
167
|
...(req.additionalInvalidations ?? []).map((i) => ({
|
|
150
168
|
specifier: i.specifier,
|
|
151
169
|
resolveFrom: i.resolveFrom,
|
|
@@ -178,22 +196,25 @@ export function invalidateDevDeps(
|
|
|
178
196
|
}
|
|
179
197
|
}
|
|
180
198
|
|
|
181
|
-
export type DevDepRequestResult = {
|
|
182
|
-
specifier: DependencySpecifier
|
|
183
|
-
resolveFrom: ProjectPath
|
|
184
|
-
hash: string
|
|
185
|
-
additionalInvalidations:
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
199
|
+
export type DevDepRequestResult = {
|
|
200
|
+
specifier: DependencySpecifier;
|
|
201
|
+
resolveFrom: ProjectPath;
|
|
202
|
+
hash: string;
|
|
203
|
+
additionalInvalidations:
|
|
204
|
+
| undefined
|
|
205
|
+
| Array<{
|
|
206
|
+
range?: SemverRange | null | undefined;
|
|
207
|
+
resolveFrom: ProjectPath;
|
|
208
|
+
specifier: DependencySpecifier;
|
|
209
|
+
}>;
|
|
210
|
+
};
|
|
191
211
|
|
|
192
212
|
const devDepRequests: Map<string, DevDepRequest> = createBuildCache();
|
|
193
213
|
export function resolveDevDepRequestRef(
|
|
194
214
|
devDepRequestRef: DevDepRequest | DevDepRequestRef,
|
|
195
215
|
): DevDepRequest {
|
|
196
216
|
const devDepRequest =
|
|
217
|
+
// @ts-expect-error TS2339
|
|
197
218
|
devDepRequestRef.type === 'ref'
|
|
198
219
|
? devDepRequests.get(devDepRequestRef.hash)
|
|
199
220
|
: devDepRequestRef;
|
|
@@ -213,24 +234,28 @@ This is a bug in Atlaspack.`,
|
|
|
213
234
|
);
|
|
214
235
|
}
|
|
215
236
|
|
|
237
|
+
// @ts-expect-error TS2339
|
|
216
238
|
if (devDepRequestRef.type !== 'ref') {
|
|
239
|
+
// @ts-expect-error TS2345
|
|
217
240
|
devDepRequests.set(devDepRequest.hash, devDepRequest);
|
|
218
241
|
}
|
|
219
242
|
|
|
243
|
+
// @ts-expect-error TS2322
|
|
220
244
|
return devDepRequest;
|
|
221
245
|
}
|
|
222
246
|
|
|
223
|
-
export async function runDevDepRequest<TResult
|
|
247
|
+
export async function runDevDepRequest<TResult extends RequestResult>(
|
|
224
248
|
api: RunAPI<TResult>,
|
|
225
249
|
devDepRequestRef: DevDepRequest | DevDepRequestRef,
|
|
226
250
|
) {
|
|
227
|
-
await api.runRequest<null, DevDepRequestResult |
|
|
251
|
+
await api.runRequest<null, DevDepRequestResult | undefined>({
|
|
228
252
|
id:
|
|
229
253
|
'dev_dep_request:' +
|
|
230
254
|
devDepRequestRef.specifier +
|
|
231
255
|
':' +
|
|
232
256
|
devDepRequestRef.hash,
|
|
233
257
|
type: requestTypes.dev_dep_request,
|
|
258
|
+
// @ts-expect-error TS2322
|
|
234
259
|
run: ({api}) => {
|
|
235
260
|
const devDepRequest = resolveDevDepRequestRef(devDepRequestRef);
|
|
236
261
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {Async, FilePath, PackageJSON, Glob} from '@atlaspack/types';
|
|
4
2
|
import type {StaticRunOpts} from '../RequestTracker';
|
|
5
3
|
import type {Entry, InternalFile, AtlaspackOptions} from '../types';
|
|
@@ -17,32 +15,31 @@ import ThrowableDiagnostic, {
|
|
|
17
15
|
getJSONSourceLocation,
|
|
18
16
|
} from '@atlaspack/diagnostic';
|
|
19
17
|
import path from 'path';
|
|
20
|
-
import {parse,
|
|
18
|
+
import {parse, Mapping} from '@mischnic/json-sourcemap';
|
|
21
19
|
import {requestTypes} from '../RequestTracker';
|
|
22
20
|
import {
|
|
23
|
-
|
|
21
|
+
ProjectPath,
|
|
24
22
|
fromProjectPath,
|
|
25
23
|
fromProjectPathRelative,
|
|
26
24
|
toProjectPath,
|
|
27
25
|
} from '../projectPath';
|
|
28
26
|
|
|
29
|
-
type RunOpts<TResult> = {
|
|
30
|
-
input: ProjectPath
|
|
31
|
-
|
|
32
|
-
|};
|
|
27
|
+
type RunOpts<TResult> = {
|
|
28
|
+
input: ProjectPath;
|
|
29
|
+
} & StaticRunOpts<TResult>;
|
|
33
30
|
|
|
34
|
-
export type EntryRequest = {
|
|
35
|
-
id: string
|
|
36
|
-
|
|
37
|
-
run: (RunOpts<EntryRequestResult>) => Async<EntryRequestResult
|
|
38
|
-
input: ProjectPath
|
|
39
|
-
|
|
31
|
+
export type EntryRequest = {
|
|
32
|
+
id: string;
|
|
33
|
+
readonly type: typeof requestTypes.entry_request;
|
|
34
|
+
run: (arg1: RunOpts<EntryRequestResult>) => Async<EntryRequestResult>;
|
|
35
|
+
input: ProjectPath;
|
|
36
|
+
};
|
|
40
37
|
|
|
41
|
-
export type EntryRequestResult = {
|
|
42
|
-
entries: Array<Entry
|
|
43
|
-
files: Array<InternalFile
|
|
44
|
-
globs: Array<Glob
|
|
45
|
-
|
|
38
|
+
export type EntryRequestResult = {
|
|
39
|
+
entries: Array<Entry>;
|
|
40
|
+
files: Array<InternalFile>;
|
|
41
|
+
globs: Array<Glob>;
|
|
42
|
+
};
|
|
46
43
|
|
|
47
44
|
const type = 'entry_request';
|
|
48
45
|
|
|
@@ -55,6 +52,7 @@ export default function createEntryRequest(input: ProjectPath): EntryRequest {
|
|
|
55
52
|
};
|
|
56
53
|
}
|
|
57
54
|
|
|
55
|
+
// @ts-expect-error TS7031
|
|
58
56
|
async function run({input, api, options}): Promise<EntryRequestResult> {
|
|
59
57
|
let entryResolver = new EntryResolver(options);
|
|
60
58
|
let filePath = fromProjectPath(options.projectRoot, input);
|
|
@@ -97,7 +95,7 @@ async function assertFile(
|
|
|
97
95
|
let stat;
|
|
98
96
|
try {
|
|
99
97
|
stat = await fs.stat(source);
|
|
100
|
-
} catch (err) {
|
|
98
|
+
} catch (err: any) {
|
|
101
99
|
let contents = await fs.readFile(pkgFilePath, 'utf8');
|
|
102
100
|
let alternatives = await findAlternativeFiles(
|
|
103
101
|
fs,
|
|
@@ -161,7 +159,7 @@ export class EntryResolver {
|
|
|
161
159
|
let stat;
|
|
162
160
|
try {
|
|
163
161
|
stat = await this.options.inputFS.stat(entry);
|
|
164
|
-
} catch (err) {
|
|
162
|
+
} catch (err: any) {
|
|
165
163
|
if (!isGlob(entry)) {
|
|
166
164
|
throw new ThrowableDiagnostic({
|
|
167
165
|
diagnostic: {
|
|
@@ -191,13 +189,13 @@ export class EntryResolver {
|
|
|
191
189
|
|
|
192
190
|
if (pkg) {
|
|
193
191
|
let {filePath} = pkg;
|
|
194
|
-
let entries = [];
|
|
192
|
+
let entries: Array<Entry> = [];
|
|
195
193
|
let files = [
|
|
196
194
|
{
|
|
197
195
|
filePath: toProjectPath(this.options.projectRoot, filePath),
|
|
198
196
|
},
|
|
199
197
|
];
|
|
200
|
-
let globs = [];
|
|
198
|
+
let globs: Array<Glob> = [];
|
|
201
199
|
|
|
202
200
|
let targetsWithSources = 0;
|
|
203
201
|
if (pkg.targets) {
|
|
@@ -348,23 +346,30 @@ export class EntryResolver {
|
|
|
348
346
|
});
|
|
349
347
|
}
|
|
350
348
|
|
|
351
|
-
async readPackage(entry: FilePath): Promise
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
349
|
+
async readPackage(entry: FilePath): Promise<
|
|
350
|
+
| (PackageJSON & {
|
|
351
|
+
filePath: FilePath;
|
|
352
|
+
map: {
|
|
353
|
+
data: unknown;
|
|
354
|
+
pointers: {
|
|
355
|
+
[key: string]: Mapping;
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
})
|
|
359
|
+
| null
|
|
360
|
+
| undefined
|
|
361
|
+
> {
|
|
357
362
|
let content, pkg;
|
|
358
363
|
let pkgFile = path.join(entry, 'package.json');
|
|
359
364
|
try {
|
|
360
365
|
content = await this.options.inputFS.readFile(pkgFile, 'utf8');
|
|
361
|
-
} catch (err) {
|
|
366
|
+
} catch (err: any) {
|
|
362
367
|
return null;
|
|
363
368
|
}
|
|
364
369
|
|
|
365
370
|
try {
|
|
366
371
|
pkg = JSON.parse(content);
|
|
367
|
-
} catch (err) {
|
|
372
|
+
} catch (err: any) {
|
|
368
373
|
// TODO: code frame?
|
|
369
374
|
throw new ThrowableDiagnostic({
|
|
370
375
|
diagnostic: {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {ContentKey} from '@atlaspack/graph';
|
|
4
2
|
import type {Async} from '@atlaspack/types';
|
|
5
3
|
import type {SharedReference} from '@atlaspack/workers';
|
|
@@ -15,28 +13,29 @@ import nullthrows from 'nullthrows';
|
|
|
15
13
|
import {runConfigRequest} from './ConfigRequest';
|
|
16
14
|
import {getDevDepRequests, runDevDepRequest} from './DevDepRequest';
|
|
17
15
|
import createAtlaspackConfigRequest from './AtlaspackConfigRequest';
|
|
16
|
+
import {fromEnvironmentId} from '../EnvironmentManager';
|
|
17
|
+
import {getFeatureFlag} from '@atlaspack/feature-flags';
|
|
18
18
|
|
|
19
|
-
type PackageRequestInput = {
|
|
20
|
-
bundleGraph: BundleGraph
|
|
21
|
-
bundle: Bundle
|
|
22
|
-
bundleGraphReference: SharedReference
|
|
23
|
-
optionsRef: SharedReference
|
|
24
|
-
useMainThread?: boolean
|
|
25
|
-
|
|
19
|
+
type PackageRequestInput = {
|
|
20
|
+
bundleGraph: BundleGraph;
|
|
21
|
+
bundle: Bundle;
|
|
22
|
+
bundleGraphReference: SharedReference;
|
|
23
|
+
optionsRef: SharedReference;
|
|
24
|
+
useMainThread?: boolean;
|
|
25
|
+
};
|
|
26
26
|
|
|
27
27
|
export type PackageRequestResult = BundleInfo;
|
|
28
28
|
|
|
29
|
-
type RunInput<TResult> = {
|
|
30
|
-
input: PackageRequestInput
|
|
31
|
-
|
|
32
|
-
|};
|
|
29
|
+
type RunInput<TResult> = {
|
|
30
|
+
input: PackageRequestInput;
|
|
31
|
+
} & StaticRunOpts<TResult>;
|
|
33
32
|
|
|
34
|
-
export type PackageRequest = {
|
|
35
|
-
id: ContentKey
|
|
36
|
-
|
|
37
|
-
run: (RunInput<BundleInfo>) => Async<BundleInfo
|
|
38
|
-
input: PackageRequestInput
|
|
39
|
-
|
|
33
|
+
export type PackageRequest = {
|
|
34
|
+
id: ContentKey;
|
|
35
|
+
readonly type: typeof requestTypes.package_request;
|
|
36
|
+
run: (arg1: RunInput<BundleInfo>) => Async<BundleInfo>;
|
|
37
|
+
input: PackageRequestInput;
|
|
38
|
+
};
|
|
40
39
|
|
|
41
40
|
export function createPackageRequest(
|
|
42
41
|
input: PackageRequestInput,
|
|
@@ -49,8 +48,9 @@ export function createPackageRequest(
|
|
|
49
48
|
};
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
async function run({input, api, farm}) {
|
|
51
|
+
async function run({input, api, farm, rustAtlaspack}: RunInput<BundleInfo>) {
|
|
53
52
|
let {bundleGraphReference, optionsRef, bundle, useMainThread} = input;
|
|
53
|
+
|
|
54
54
|
let runPackage = farm.createHandle('runPackage', useMainThread);
|
|
55
55
|
|
|
56
56
|
let start = Date.now();
|
|
@@ -61,6 +61,17 @@ async function run({input, api, farm}) {
|
|
|
61
61
|
),
|
|
62
62
|
);
|
|
63
63
|
|
|
64
|
+
if (
|
|
65
|
+
getFeatureFlag('nativePackager') &&
|
|
66
|
+
getFeatureFlag('nativePackagerSSRDev') &&
|
|
67
|
+
rustAtlaspack &&
|
|
68
|
+
fromEnvironmentId(bundle.env).context === 'tesseract' &&
|
|
69
|
+
bundle.type === 'js'
|
|
70
|
+
) {
|
|
71
|
+
// Once this actually does something, the code below will be in an `else` block (i.e. we'll only run one or the other)
|
|
72
|
+
await rustAtlaspack.package();
|
|
73
|
+
}
|
|
74
|
+
|
|
64
75
|
let {devDepRequests, configRequests, bundleInfo, invalidations} =
|
|
65
76
|
(await runPackage({
|
|
66
77
|
bundle,
|
|
@@ -70,7 +81,7 @@ async function run({input, api, farm}) {
|
|
|
70
81
|
previousDevDeps: devDeps,
|
|
71
82
|
invalidDevDeps,
|
|
72
83
|
previousInvalidations: api.getInvalidations(),
|
|
73
|
-
})
|
|
84
|
+
})) as RunPackagerRunnerResult;
|
|
74
85
|
|
|
75
86
|
for (let devDepRequest of devDepRequests) {
|
|
76
87
|
await runDevDepRequest(api, devDepRequest);
|
|
@@ -93,11 +104,12 @@ async function run({input, api, farm}) {
|
|
|
93
104
|
api.invalidateOnOptionChange(invalidation.key);
|
|
94
105
|
break;
|
|
95
106
|
default:
|
|
107
|
+
// @ts-expect-error TS2339
|
|
96
108
|
throw new Error(`Unknown invalidation type: ${invalidation.type}`);
|
|
97
109
|
}
|
|
98
110
|
}
|
|
99
111
|
|
|
100
|
-
//
|
|
112
|
+
// @ts-expect-error TS2540
|
|
101
113
|
bundleInfo.time = Date.now() - start;
|
|
102
114
|
|
|
103
115
|
api.storeResult(bundleInfo);
|