@atlaspack/core 2.16.2-canary.5 → 2.16.2-canary.500
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 +1452 -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 +160 -57
- 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 +38 -40
- package/lib/ReporterRunner.js +8 -12
- package/lib/RequestTracker.js +336 -168
- package/lib/SymbolPropagation.js +52 -29
- package/lib/TargetDescriptor.schema.js +10 -1
- package/lib/Transformation.js +68 -19
- package/lib/UncommittedAsset.js +23 -13
- 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 +239 -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 +25 -7
- package/lib/public/BundleGroup.js +5 -6
- package/lib/public/Config.js +118 -18
- package/lib/public/Dependency.js +9 -7
- package/lib/public/Environment.js +13 -8
- package/lib/public/MutableBundleGraph.js +56 -15
- package/lib/public/PluginOptions.js +2 -2
- package/lib/public/Symbols.js +12 -12
- package/lib/public/Target.js +8 -7
- package/lib/registerCoreWithSerializer.js +7 -4
- package/lib/requests/AssetGraphRequest.js +60 -27
- 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 +67 -124
- 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 +336 -18
- 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 +35 -10
- 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 -33
- package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
- package/src/{Atlaspack.js → Atlaspack.ts} +203 -73
- 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} +109 -103
- package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
- package/src/{RequestTracker.js → RequestTracker.ts} +672 -347
- 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} +50 -39
- package/src/{Validation.js → Validation.ts} +32 -17
- package/src/{applyRuntimes.js → applyRuntimes.ts} +135 -26
- package/src/{assetUtils.js → assetUtils.ts} +49 -36
- package/src/atlaspack-v3/AtlaspackV3.ts +183 -0
- package/src/atlaspack-v3/NapiWorkerPool.ts +129 -0
- package/src/atlaspack-v3/{fs.js → fs.ts} +8 -4
- package/src/atlaspack-v3/{index.js → index.ts} +3 -4
- package/src/atlaspack-v3/jsCallable.ts +14 -0
- package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
- package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
- package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
- package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
- package/src/atlaspack-v3/worker/compat/index.ts +8 -0
- package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
- package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
- package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
- package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
- package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
- package/src/atlaspack-v3/worker/index.js +2 -1
- package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
- package/src/atlaspack-v3/worker/worker.ts +548 -0
- package/src/{constants.js → constants.ts} +0 -3
- package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
- package/src/index.ts +18 -0
- package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
- package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
- package/src/{projectPath.js → projectPath.ts} +20 -9
- package/src/public/{Asset.js → Asset.ts} +41 -28
- package/src/public/{Bundle.js → Bundle.ts} +28 -29
- package/src/public/{BundleGraph.js → BundleGraph.ts} +102 -50
- 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} +114 -77
- 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} +117 -187
- 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} +55 -23
- 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} +149 -59
- 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} +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/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 -362
- 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 -362
- 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
|
Asset,
|
|
4
3
|
AsyncSubscription,
|
|
@@ -44,64 +43,84 @@ import createPathRequest from './requests/PathRequest';
|
|
|
44
43
|
import {createEnvironment} from './Environment';
|
|
45
44
|
import {createDependency} from './Dependency';
|
|
46
45
|
import {Disposable} from '@atlaspack/events';
|
|
47
|
-
import {init as initSourcemaps} from '@
|
|
46
|
+
import {init as initSourcemaps} from '@atlaspack/source-map';
|
|
48
47
|
import {LMDBLiteCache} from '@atlaspack/cache';
|
|
49
48
|
import {
|
|
49
|
+
// @ts-expect-error TS2305
|
|
50
50
|
init as initRust,
|
|
51
51
|
initializeMonitoring,
|
|
52
52
|
closeMonitoring,
|
|
53
|
-
|
|
53
|
+
Lmdb,
|
|
54
54
|
} from '@atlaspack/rust';
|
|
55
55
|
import {
|
|
56
56
|
fromProjectPath,
|
|
57
57
|
toProjectPath,
|
|
58
58
|
fromProjectPathRelative,
|
|
59
59
|
} from './projectPath';
|
|
60
|
-
import {tracer} from '@atlaspack/profiler';
|
|
61
|
-
import {
|
|
60
|
+
import {tracer, NativeProfiler} from '@atlaspack/profiler';
|
|
61
|
+
import {
|
|
62
|
+
setFeatureFlags,
|
|
63
|
+
DEFAULT_FEATURE_FLAGS,
|
|
64
|
+
getFeatureFlag,
|
|
65
|
+
} from '@atlaspack/feature-flags';
|
|
62
66
|
import {AtlaspackV3, FileSystemV3} from './atlaspack-v3';
|
|
63
67
|
import createAssetGraphRequestJS from './requests/AssetGraphRequest';
|
|
64
68
|
import {createAssetGraphRequestRust} from './requests/AssetGraphRequestRust';
|
|
65
69
|
import type {AssetGraphRequestResult} from './requests/AssetGraphRequest';
|
|
70
|
+
import {getBundleGraph} from './requests/BundleGraphRequestRust';
|
|
66
71
|
import {loadRustWorkerThreadDylibHack} from './rustWorkerThreadDylibHack';
|
|
67
72
|
|
|
68
73
|
registerCoreWithSerializer();
|
|
69
74
|
|
|
70
75
|
export const INTERNAL_TRANSFORM: symbol = Symbol('internal_transform');
|
|
71
76
|
export const INTERNAL_RESOLVE: symbol = Symbol('internal_resolve');
|
|
72
|
-
export
|
|
77
|
+
export let WORKER_PATH: string = path.join(__dirname, 'worker.js');
|
|
78
|
+
if (__filename.endsWith('.ts')) {
|
|
79
|
+
WORKER_PATH = path.join(__dirname, 'worker.ts');
|
|
80
|
+
}
|
|
73
81
|
|
|
74
82
|
export default class Atlaspack {
|
|
75
|
-
|
|
76
|
-
#
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
|
|
80
|
-
#
|
|
81
|
-
#
|
|
82
|
-
|
|
83
|
-
#
|
|
84
|
-
#
|
|
85
|
-
|
|
83
|
+
// @ts-expect-error TS2564
|
|
84
|
+
#requestTracker: RequestTracker;
|
|
85
|
+
// @ts-expect-error TS2564
|
|
86
|
+
#config: AtlaspackConfig;
|
|
87
|
+
// @ts-expect-error TS2564
|
|
88
|
+
#farm: WorkerFarm;
|
|
89
|
+
#initialized: boolean = false;
|
|
90
|
+
// @ts-expect-error TS2564
|
|
91
|
+
#disposable: Disposable;
|
|
92
|
+
#initialOptions: InitialAtlaspackOptions;
|
|
93
|
+
// @ts-expect-error TS2564
|
|
94
|
+
#reporterRunner: ReporterRunner;
|
|
95
|
+
#resolvedOptions: AtlaspackOptions | null | undefined = null;
|
|
96
|
+
// @ts-expect-error TS2564
|
|
97
|
+
#optionsRef: SharedReference;
|
|
98
|
+
// @ts-expect-error TS2564
|
|
99
|
+
#watchAbortController: AbortController;
|
|
100
|
+
#watchQueue: PromiseQueue<BuildEvent | null | undefined> = new PromiseQueue<
|
|
101
|
+
BuildEvent | null | undefined
|
|
102
|
+
>({
|
|
86
103
|
maxConcurrent: 1,
|
|
87
104
|
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
#
|
|
100
|
-
#
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
+
// @ts-expect-error TS2564
|
|
106
|
+
#watchEvents: ValueEmitter<
|
|
107
|
+
| {
|
|
108
|
+
readonly error: Error;
|
|
109
|
+
readonly buildEvent?: undefined;
|
|
110
|
+
}
|
|
111
|
+
| {
|
|
112
|
+
readonly buildEvent: BuildEvent;
|
|
113
|
+
readonly error?: undefined;
|
|
114
|
+
}
|
|
115
|
+
>;
|
|
116
|
+
#watcherSubscription: AsyncSubscription | null | undefined;
|
|
117
|
+
#watcherCount: number = 0;
|
|
118
|
+
#requestedAssetIds: Set<string> = new Set();
|
|
119
|
+
|
|
120
|
+
rustAtlaspack: AtlaspackV3 | null | undefined;
|
|
121
|
+
|
|
122
|
+
// @ts-expect-error TS2564
|
|
123
|
+
isProfiling: boolean;
|
|
105
124
|
|
|
106
125
|
constructor(options: InitialAtlaspackOptions) {
|
|
107
126
|
this.#initialOptions = options;
|
|
@@ -115,7 +134,7 @@ export default class Atlaspack {
|
|
|
115
134
|
const featureFlags = {
|
|
116
135
|
...DEFAULT_FEATURE_FLAGS,
|
|
117
136
|
...this.#initialOptions.featureFlags,
|
|
118
|
-
};
|
|
137
|
+
} as const;
|
|
119
138
|
setFeatureFlags(featureFlags);
|
|
120
139
|
|
|
121
140
|
loadRustWorkerThreadDylibHack();
|
|
@@ -138,7 +157,7 @@ export default class Atlaspack {
|
|
|
138
157
|
process.off('exit', onExit);
|
|
139
158
|
onExit();
|
|
140
159
|
});
|
|
141
|
-
} catch (e) {
|
|
160
|
+
} catch (e: any) {
|
|
142
161
|
// Fallthrough
|
|
143
162
|
// eslint-disable-next-line no-console
|
|
144
163
|
console.warn(e);
|
|
@@ -151,7 +170,11 @@ export default class Atlaspack {
|
|
|
151
170
|
this.#resolvedOptions = resolvedOptions;
|
|
152
171
|
|
|
153
172
|
let rustAtlaspack: AtlaspackV3;
|
|
154
|
-
if (
|
|
173
|
+
if (
|
|
174
|
+
resolvedOptions.featureFlags.atlaspackV3 ||
|
|
175
|
+
resolvedOptions.featureFlags.fullNative ||
|
|
176
|
+
resolvedOptions.featureFlags.nativePackager
|
|
177
|
+
) {
|
|
155
178
|
// eslint-disable-next-line no-unused-vars
|
|
156
179
|
let {entries, inputFS, outputFS, ...options} = this.#initialOptions;
|
|
157
180
|
|
|
@@ -161,26 +184,38 @@ export default class Atlaspack {
|
|
|
161
184
|
|
|
162
185
|
const lmdb: Lmdb = resolvedOptions.cache.getNativeRef();
|
|
163
186
|
|
|
164
|
-
// $FlowFixMe
|
|
165
187
|
const version = require('../package.json').version;
|
|
166
188
|
await lmdb.put('current_session_version', Buffer.from(version));
|
|
167
189
|
|
|
190
|
+
let threads = undefined;
|
|
191
|
+
if (process.env.ATLASPACK_NATIVE_THREADS !== undefined) {
|
|
192
|
+
threads = parseInt(process.env.ATLASPACK_NATIVE_THREADS, 10);
|
|
193
|
+
} else if (process.env.NODE_ENV === 'test') {
|
|
194
|
+
threads = 2;
|
|
195
|
+
}
|
|
196
|
+
|
|
168
197
|
rustAtlaspack = await AtlaspackV3.create({
|
|
169
198
|
...options,
|
|
199
|
+
// @ts-expect-error TS2353
|
|
170
200
|
corePath: path.join(__dirname, '..'),
|
|
171
|
-
threads
|
|
201
|
+
threads,
|
|
172
202
|
entries: Array.isArray(entries)
|
|
173
203
|
? entries
|
|
174
204
|
: entries == null
|
|
175
|
-
|
|
176
|
-
|
|
205
|
+
? undefined
|
|
206
|
+
: [entries],
|
|
177
207
|
env: resolvedOptions.env,
|
|
178
208
|
fs: inputFS && new FileSystemV3(inputFS),
|
|
179
|
-
// $FlowFixMe ProjectPath is a string
|
|
180
209
|
defaultTargetOptions: resolvedOptions.defaultTargetOptions,
|
|
210
|
+
serveOptions: resolvedOptions.serveOptions,
|
|
181
211
|
lmdb,
|
|
212
|
+
featureFlags: resolvedOptions.featureFlags,
|
|
213
|
+
});
|
|
214
|
+
this.#disposable.add(() => {
|
|
215
|
+
rustAtlaspack.end();
|
|
182
216
|
});
|
|
183
217
|
}
|
|
218
|
+
// @ts-expect-error TS2454
|
|
184
219
|
this.rustAtlaspack = rustAtlaspack;
|
|
185
220
|
|
|
186
221
|
let {config} = await loadAtlaspackConfig(resolvedOptions);
|
|
@@ -231,6 +266,7 @@ export default class Atlaspack {
|
|
|
231
266
|
this.#requestTracker = await RequestTracker.init({
|
|
232
267
|
farm: this.#farm,
|
|
233
268
|
options: resolvedOptions,
|
|
269
|
+
// @ts-expect-error TS2454
|
|
234
270
|
rustAtlaspack,
|
|
235
271
|
});
|
|
236
272
|
|
|
@@ -272,7 +308,7 @@ export default class Atlaspack {
|
|
|
272
308
|
|
|
273
309
|
try {
|
|
274
310
|
await this.#requestTracker.writeToCache(abortController.signal);
|
|
275
|
-
} catch (err) {
|
|
311
|
+
} catch (err: any) {
|
|
276
312
|
if (!abortController.signal.aborted) {
|
|
277
313
|
// We expect abort errors if we interrupt the cache write
|
|
278
314
|
throw err;
|
|
@@ -283,7 +319,7 @@ export default class Atlaspack {
|
|
|
283
319
|
}
|
|
284
320
|
}
|
|
285
321
|
|
|
286
|
-
async _startNextBuild(): Promise
|
|
322
|
+
async _startNextBuild(): Promise<BuildEvent | null | undefined> {
|
|
287
323
|
this.#watchAbortController = new AbortController();
|
|
288
324
|
await this.clearBuildCaches();
|
|
289
325
|
|
|
@@ -297,7 +333,7 @@ export default class Atlaspack {
|
|
|
297
333
|
});
|
|
298
334
|
|
|
299
335
|
return buildEvent;
|
|
300
|
-
} catch (err) {
|
|
336
|
+
} catch (err: any) {
|
|
301
337
|
// Ignore BuildAbortErrors and only emit critical errors.
|
|
302
338
|
if (!(err instanceof BuildAbortError)) {
|
|
303
339
|
throw err;
|
|
@@ -309,12 +345,13 @@ export default class Atlaspack {
|
|
|
309
345
|
}
|
|
310
346
|
|
|
311
347
|
async watch(
|
|
312
|
-
cb?: (err
|
|
348
|
+
cb?: (err?: Error | null | undefined, buildEvent?: BuildEvent) => unknown,
|
|
313
349
|
): Promise<AsyncSubscription> {
|
|
314
350
|
if (!this.#initialized) {
|
|
315
351
|
await this._init();
|
|
316
352
|
}
|
|
317
353
|
|
|
354
|
+
// @ts-expect-error TS7034
|
|
318
355
|
let watchEventsDisposable;
|
|
319
356
|
if (cb) {
|
|
320
357
|
watchEventsDisposable = this.#watchEvents.addListener(
|
|
@@ -334,8 +371,10 @@ export default class Atlaspack {
|
|
|
334
371
|
|
|
335
372
|
this.#watcherCount++;
|
|
336
373
|
|
|
374
|
+
// @ts-expect-error TS7034
|
|
337
375
|
let unsubscribePromise;
|
|
338
376
|
const unsubscribe = async () => {
|
|
377
|
+
// @ts-expect-error TS7005
|
|
339
378
|
if (watchEventsDisposable) {
|
|
340
379
|
watchEventsDisposable.dispose();
|
|
341
380
|
}
|
|
@@ -353,10 +392,12 @@ export default class Atlaspack {
|
|
|
353
392
|
|
|
354
393
|
return {
|
|
355
394
|
unsubscribe() {
|
|
395
|
+
// @ts-expect-error TS7005
|
|
356
396
|
if (unsubscribePromise == null) {
|
|
357
397
|
unsubscribePromise = unsubscribe();
|
|
358
398
|
}
|
|
359
399
|
|
|
400
|
+
// @ts-expect-error TS7005
|
|
360
401
|
return unsubscribePromise;
|
|
361
402
|
},
|
|
362
403
|
};
|
|
@@ -365,20 +406,28 @@ export default class Atlaspack {
|
|
|
365
406
|
async _build({
|
|
366
407
|
signal,
|
|
367
408
|
startTime = Date.now(),
|
|
368
|
-
}: {
|
|
369
|
-
signal?: AbortSignal
|
|
370
|
-
startTime?: number
|
|
371
|
-
|
|
409
|
+
}: {
|
|
410
|
+
signal?: AbortSignal;
|
|
411
|
+
startTime?: number;
|
|
412
|
+
} = {
|
|
372
413
|
/*::...null*/
|
|
373
414
|
}): Promise<BuildEvent> {
|
|
374
|
-
this.#requestTracker.setSignal(signal);
|
|
375
415
|
let options = nullthrows(this.#resolvedOptions);
|
|
376
416
|
try {
|
|
377
417
|
if (options.shouldProfile) {
|
|
378
418
|
await this.startProfiling();
|
|
379
419
|
}
|
|
420
|
+
if (options.nativeProfiler) {
|
|
421
|
+
const nativeProfiler = new NativeProfiler();
|
|
422
|
+
await nativeProfiler.startProfiling(options.nativeProfiler);
|
|
423
|
+
}
|
|
380
424
|
if (options.shouldTrace) {
|
|
381
425
|
tracer.enable();
|
|
426
|
+
// We need to ensure the tracer is disabled when Atlaspack is disposed as it is a module level object.
|
|
427
|
+
// While rare (except for tests), if another instance is created later it should not have tracing enabled.
|
|
428
|
+
this.#disposable.add(() => {
|
|
429
|
+
tracer.disable();
|
|
430
|
+
});
|
|
382
431
|
}
|
|
383
432
|
await this.#reporterRunner.report({
|
|
384
433
|
type: 'buildStart',
|
|
@@ -386,19 +435,64 @@ export default class Atlaspack {
|
|
|
386
435
|
|
|
387
436
|
this.#requestTracker.graph.invalidateOnBuildNodes();
|
|
388
437
|
|
|
389
|
-
let
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
438
|
+
let bundleGraph: any;
|
|
439
|
+
let bundleInfo: Map<any, any>;
|
|
440
|
+
let changedAssets: Map<any, any>;
|
|
441
|
+
let assetRequests: Array<any>;
|
|
442
|
+
let scopeHoistingStats: any;
|
|
443
|
+
|
|
444
|
+
if (getFeatureFlag('fullNative') && this.rustAtlaspack) {
|
|
445
|
+
let [result, error] = await this.rustAtlaspack.build(
|
|
446
|
+
(eventJson: string) => {
|
|
447
|
+
let event = JSON.parse(eventJson);
|
|
448
|
+
this.#reporterRunner.report(event);
|
|
449
|
+
},
|
|
450
|
+
);
|
|
394
451
|
|
|
395
|
-
|
|
396
|
-
|
|
452
|
+
if (error) {
|
|
453
|
+
throw new ThrowableDiagnostic({diagnostic: error});
|
|
454
|
+
}
|
|
455
|
+
({bundleGraph, changedAssets} = getBundleGraph(result));
|
|
456
|
+
bundleInfo = new Map(
|
|
457
|
+
(result.bundleInfo ?? []).map(
|
|
458
|
+
(info: {
|
|
459
|
+
bundleId: string;
|
|
460
|
+
filePath: string;
|
|
461
|
+
type: string;
|
|
462
|
+
size: number;
|
|
463
|
+
time: number;
|
|
464
|
+
}) => [
|
|
465
|
+
info.bundleId,
|
|
466
|
+
{
|
|
467
|
+
filePath: toProjectPath(options.projectRoot, info.filePath),
|
|
468
|
+
bundleId: info.bundleId,
|
|
469
|
+
type: info.type,
|
|
470
|
+
stats: {size: info.size, time: info.time},
|
|
471
|
+
},
|
|
472
|
+
],
|
|
473
|
+
),
|
|
474
|
+
);
|
|
475
|
+
assetRequests = result.assetRequests ?? [];
|
|
476
|
+
} else {
|
|
477
|
+
let request = createAtlaspackBuildRequest({
|
|
478
|
+
optionsRef: this.#optionsRef,
|
|
479
|
+
requestedAssetIds: this.#requestedAssetIds,
|
|
480
|
+
signal,
|
|
481
|
+
});
|
|
482
|
+
|
|
483
|
+
({
|
|
484
|
+
bundleGraph,
|
|
485
|
+
bundleInfo,
|
|
486
|
+
changedAssets,
|
|
487
|
+
assetRequests,
|
|
488
|
+
scopeHoistingStats,
|
|
489
|
+
} = await this.#requestTracker.runRequest(request, {force: true}));
|
|
490
|
+
}
|
|
397
491
|
|
|
398
492
|
this.#requestedAssetIds.clear();
|
|
399
493
|
|
|
400
494
|
await dumpGraphToGraphViz(
|
|
401
|
-
//
|
|
495
|
+
// @ts-expect-error TS2345
|
|
402
496
|
this.#requestTracker.graph,
|
|
403
497
|
'RequestGraph',
|
|
404
498
|
requestGraphEdgeTypes,
|
|
@@ -407,14 +501,20 @@ export default class Atlaspack {
|
|
|
407
501
|
let event = {
|
|
408
502
|
type: 'buildSuccess',
|
|
409
503
|
changedAssets: new Map(
|
|
410
|
-
Array.from(changedAssets).map(([id, asset]) => [
|
|
504
|
+
Array.from(changedAssets).map(([id, asset]: [any, any]) => [
|
|
411
505
|
id,
|
|
412
506
|
assetFromValue(asset, options),
|
|
413
507
|
]),
|
|
414
508
|
),
|
|
415
509
|
bundleGraph: new BundleGraph<IPackagedBundle>(
|
|
416
510
|
bundleGraph,
|
|
417
|
-
(
|
|
511
|
+
(
|
|
512
|
+
// @ts-expect-error TS2304
|
|
513
|
+
bundle: Bundle,
|
|
514
|
+
// @ts-expect-error TS2314
|
|
515
|
+
bundleGraph: BundleGraph,
|
|
516
|
+
options: AtlaspackOptions,
|
|
517
|
+
) =>
|
|
418
518
|
PackagedBundle.getWithInfo(
|
|
419
519
|
bundle,
|
|
420
520
|
bundleGraph,
|
|
@@ -424,6 +524,7 @@ export default class Atlaspack {
|
|
|
424
524
|
options,
|
|
425
525
|
),
|
|
426
526
|
buildTime: Date.now() - startTime,
|
|
527
|
+
// @ts-expect-error TS7006
|
|
427
528
|
requestBundle: async (bundle) => {
|
|
428
529
|
let bundleNode = bundleGraph._graph.getNodeByContentKey(bundle.id);
|
|
429
530
|
invariant(bundleNode?.type === 'bundle', 'Bundle does not exist');
|
|
@@ -437,6 +538,7 @@ export default class Atlaspack {
|
|
|
437
538
|
buildTime: 0,
|
|
438
539
|
requestBundle: event.requestBundle,
|
|
439
540
|
unstable_requestStats: {},
|
|
541
|
+
scopeHoistingStats: event.scopeHoistingStats,
|
|
440
542
|
};
|
|
441
543
|
}
|
|
442
544
|
|
|
@@ -454,17 +556,23 @@ export default class Atlaspack {
|
|
|
454
556
|
|
|
455
557
|
let results = await this.#watchQueue.run();
|
|
456
558
|
let result = results.filter(Boolean).pop();
|
|
559
|
+
// @ts-expect-error TS18049
|
|
457
560
|
if (result.type === 'buildFailure') {
|
|
561
|
+
// @ts-expect-error TS18049
|
|
458
562
|
throw new BuildError(result.diagnostics);
|
|
459
563
|
}
|
|
460
564
|
|
|
461
565
|
return result;
|
|
462
566
|
},
|
|
463
567
|
unstable_requestStats: this.#requestTracker.flushStats(),
|
|
568
|
+
nativeCacheStats: await this.rustAtlaspack?.completeCacheSession(),
|
|
569
|
+
scopeHoistingStats,
|
|
464
570
|
};
|
|
465
571
|
|
|
572
|
+
// @ts-expect-error TS2345
|
|
466
573
|
await this.#reporterRunner.report(event);
|
|
467
574
|
await this.#requestTracker.runRequest(
|
|
575
|
+
// @ts-expect-error TS2345
|
|
468
576
|
createValidationRequest({optionsRef: this.#optionsRef, assetRequests}),
|
|
469
577
|
{force: assetRequests.length > 0},
|
|
470
578
|
);
|
|
@@ -473,8 +581,9 @@ export default class Atlaspack {
|
|
|
473
581
|
throw this.#reporterRunner.errors;
|
|
474
582
|
}
|
|
475
583
|
|
|
584
|
+
// @ts-expect-error TS2322
|
|
476
585
|
return event;
|
|
477
|
-
} catch (e) {
|
|
586
|
+
} catch (e: any) {
|
|
478
587
|
if (e instanceof BuildAbortError) {
|
|
479
588
|
throw e;
|
|
480
589
|
}
|
|
@@ -484,9 +593,12 @@ export default class Atlaspack {
|
|
|
484
593
|
type: 'buildFailure',
|
|
485
594
|
diagnostics: Array.isArray(diagnostic) ? diagnostic : [diagnostic],
|
|
486
595
|
unstable_requestStats: this.#requestTracker.flushStats(),
|
|
596
|
+
nativeCacheStats: await this.rustAtlaspack?.completeCacheSession(),
|
|
487
597
|
};
|
|
488
598
|
|
|
599
|
+
// @ts-expect-error TS2345
|
|
489
600
|
await this.#reporterRunner.report(event);
|
|
601
|
+
// @ts-expect-error TS2322
|
|
490
602
|
return event;
|
|
491
603
|
} finally {
|
|
492
604
|
if (this.isProfiling) {
|
|
@@ -522,14 +634,15 @@ export default class Atlaspack {
|
|
|
522
634
|
});
|
|
523
635
|
|
|
524
636
|
let nativeInvalid = false;
|
|
525
|
-
if (this.rustAtlaspack) {
|
|
637
|
+
if (getFeatureFlag('atlaspackV3') && this.rustAtlaspack) {
|
|
526
638
|
nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
|
|
527
639
|
}
|
|
528
640
|
|
|
529
|
-
let isInvalid =
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
641
|
+
let {didInvalidate: isInvalid} =
|
|
642
|
+
await this.#requestTracker.respondToFSEvents(
|
|
643
|
+
events,
|
|
644
|
+
Number.POSITIVE_INFINITY,
|
|
645
|
+
);
|
|
533
646
|
|
|
534
647
|
if (
|
|
535
648
|
(nativeInvalid || isInvalid) &&
|
|
@@ -613,13 +726,15 @@ export default class Atlaspack {
|
|
|
613
726
|
lazyIncludes: [],
|
|
614
727
|
lazyExcludes: [],
|
|
615
728
|
requestedAssetIds: this.#requestedAssetIds,
|
|
616
|
-
};
|
|
729
|
+
} as const;
|
|
617
730
|
|
|
618
731
|
const start = Date.now();
|
|
619
732
|
const result = await this.#requestTracker.runRequest(
|
|
620
|
-
this.rustAtlaspack != null
|
|
621
|
-
?
|
|
622
|
-
|
|
733
|
+
getFeatureFlag('atlaspackV3') && this.rustAtlaspack != null
|
|
734
|
+
? // @ts-expect-error TS2345
|
|
735
|
+
createAssetGraphRequestRust(this.rustAtlaspack)(input)
|
|
736
|
+
: // @ts-expect-error TS2345
|
|
737
|
+
createAssetGraphRequestJS(input),
|
|
623
738
|
{force: true},
|
|
624
739
|
);
|
|
625
740
|
|
|
@@ -639,6 +754,20 @@ export default class Atlaspack {
|
|
|
639
754
|
return result;
|
|
640
755
|
}
|
|
641
756
|
|
|
757
|
+
/**
|
|
758
|
+
* Copy the cache to a new directory and compact it.
|
|
759
|
+
*/
|
|
760
|
+
async unstable_compactCache(): Promise<void> {
|
|
761
|
+
await this._init();
|
|
762
|
+
|
|
763
|
+
const cache = nullthrows(this.#resolvedOptions).cache;
|
|
764
|
+
if (cache instanceof LMDBLiteCache) {
|
|
765
|
+
await cache.compact('parcel-cache-compacted');
|
|
766
|
+
} else {
|
|
767
|
+
throw new Error('Cache is not an LMDBLiteCache');
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
|
|
642
771
|
async unstable_transform(
|
|
643
772
|
options: AtlaspackTransformOptions,
|
|
644
773
|
): Promise<Array<Asset>> {
|
|
@@ -673,7 +802,7 @@ export default class Atlaspack {
|
|
|
673
802
|
|
|
674
803
|
async unstable_resolve(
|
|
675
804
|
request: AtlaspackResolveOptions,
|
|
676
|
-
): Promise
|
|
805
|
+
): Promise<AtlaspackResolveResult | null | undefined> {
|
|
677
806
|
if (!this.#initialized) {
|
|
678
807
|
await this._init();
|
|
679
808
|
}
|
|
@@ -712,6 +841,7 @@ export default class Atlaspack {
|
|
|
712
841
|
}
|
|
713
842
|
|
|
714
843
|
return {
|
|
844
|
+
// @ts-expect-error TS2322
|
|
715
845
|
filePath: fromProjectPath(projectRoot, res.filePath),
|
|
716
846
|
code: res.code,
|
|
717
847
|
query: res.query,
|
|
@@ -728,7 +858,7 @@ export class BuildError extends ThrowableDiagnostic {
|
|
|
728
858
|
}
|
|
729
859
|
|
|
730
860
|
export function createWorkerFarm(
|
|
731
|
-
options:
|
|
861
|
+
options: Partial<FarmOptions> = {},
|
|
732
862
|
): WorkerFarm {
|
|
733
863
|
return new WorkerFarm({
|
|
734
864
|
...options,
|
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
1
|
import type {PackageName} from '@atlaspack/types';
|
|
3
2
|
import type {SchemaEntity} from '@atlaspack/utils';
|
|
4
3
|
|
|
5
4
|
// Parcel validates plugin package names due to:
|
|
6
|
-
//
|
|
7
5
|
// * https://github.com/parcel-bundler/parcel/issues/3397#issuecomment-521353931
|
|
8
|
-
//
|
|
9
6
|
// Ultimately:
|
|
10
|
-
//
|
|
11
7
|
// * We do not care about package names
|
|
12
8
|
// * Validation makes interop between parcel/atlaspack confusing.
|
|
13
|
-
//
|
|
14
9
|
export function validatePackageName(
|
|
15
10
|
// eslint-disable-next-line no-unused-vars
|
|
16
|
-
pkg:
|
|
11
|
+
pkg: PackageName | null | undefined,
|
|
17
12
|
// eslint-disable-next-line no-unused-vars
|
|
18
13
|
pluginType: string,
|
|
19
14
|
// eslint-disable-next-line no-unused-vars
|
|
@@ -27,7 +22,7 @@ const validatePluginName = (pluginType: string, key: string) => {
|
|
|
27
22
|
|
|
28
23
|
try {
|
|
29
24
|
validatePackageName(val, pluginType, key);
|
|
30
|
-
} catch (e) {
|
|
25
|
+
} catch (e: any) {
|
|
31
26
|
return e.message;
|
|
32
27
|
}
|
|
33
28
|
};
|
|
@@ -39,7 +34,7 @@ const validateExtends = (val: string): void => {
|
|
|
39
34
|
|
|
40
35
|
try {
|
|
41
36
|
validatePackageName(val, 'config', 'extends');
|
|
42
|
-
} catch (e) {
|
|
37
|
+
} catch (e: any) {
|
|
43
38
|
return e.message;
|
|
44
39
|
}
|
|
45
40
|
};
|
|
@@ -96,20 +91,31 @@ export default {
|
|
|
96
91
|
},
|
|
97
92
|
bundler: {
|
|
98
93
|
type: 'string',
|
|
99
|
-
__validate:
|
|
94
|
+
__validate: validatePluginName('bundler', 'bundler') as (
|
|
95
|
+
arg1: string,
|
|
96
|
+
) => void,
|
|
100
97
|
},
|
|
101
|
-
resolvers:
|
|
102
|
-
transformers:
|
|
98
|
+
resolvers: pipelineSchema('resolver', 'resolvers') as SchemaEntity,
|
|
99
|
+
transformers: mapPipelineSchema(
|
|
103
100
|
'transformer',
|
|
104
101
|
'transformers',
|
|
105
|
-
)
|
|
106
|
-
validators:
|
|
107
|
-
namers:
|
|
108
|
-
packagers:
|
|
109
|
-
optimizers:
|
|
110
|
-
compressors:
|
|
111
|
-
reporters:
|
|
112
|
-
runtimes:
|
|
102
|
+
) as SchemaEntity,
|
|
103
|
+
validators: mapPipelineSchema('validator', 'validators') as SchemaEntity,
|
|
104
|
+
namers: pipelineSchema('namer', 'namers') as SchemaEntity,
|
|
105
|
+
packagers: mapStringSchema('packager', 'packagers') as SchemaEntity,
|
|
106
|
+
optimizers: mapPipelineSchema('optimizer', 'optimizers') as SchemaEntity,
|
|
107
|
+
compressors: mapPipelineSchema('compressor', 'compressors') as SchemaEntity,
|
|
108
|
+
reporters: pipelineSchema('reporter', 'reporters') as SchemaEntity,
|
|
109
|
+
runtimes: pipelineSchema('runtime', 'runtimes') as SchemaEntity,
|
|
110
|
+
// This isn't currently supported in V2, however we need to allow it to
|
|
111
|
+
// parse as even V3 builds need the AtlaspackConfigRequest
|
|
112
|
+
unstable_alias: {
|
|
113
|
+
type: 'object',
|
|
114
|
+
properties: {},
|
|
115
|
+
additionalProperties: {
|
|
116
|
+
type: 'string',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
113
119
|
filePath: {
|
|
114
120
|
type: 'string',
|
|
115
121
|
},
|