@atlaspack/core 2.16.2-canary.48 → 2.16.2-canary.481
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1324 -0
- package/dist/AssetGraph.js +523 -0
- package/dist/Atlaspack.js +701 -0
- package/dist/AtlaspackConfig.js +324 -0
- package/dist/AtlaspackConfig.schema.js +117 -0
- package/dist/BundleGraph.js +1906 -0
- package/dist/CommittedAsset.js +142 -0
- package/dist/Dependency.js +125 -0
- package/dist/Environment.js +132 -0
- package/dist/EnvironmentManager.js +108 -0
- package/dist/IdentifierRegistry.js +38 -0
- package/dist/InternalConfig.js +37 -0
- package/dist/PackagerRunner.js +470 -0
- package/dist/ReporterRunner.js +151 -0
- package/dist/RequestTracker.js +1297 -0
- package/dist/SymbolPropagation.js +624 -0
- package/dist/TargetDescriptor.schema.js +146 -0
- package/dist/Transformation.js +514 -0
- package/dist/UncommittedAsset.js +310 -0
- package/dist/Validation.js +196 -0
- package/dist/applyRuntimes.js +384 -0
- package/dist/assetUtils.js +169 -0
- package/dist/atlaspack-v3/AtlaspackV3.js +83 -0
- package/dist/atlaspack-v3/NapiWorkerPool.js +114 -0
- package/dist/atlaspack-v3/fs.js +53 -0
- package/dist/atlaspack-v3/index.js +25 -0
- package/dist/atlaspack-v3/jsCallable.js +16 -0
- package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
- package/dist/atlaspack-v3/worker/compat/bitflags.js +98 -0
- package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
- package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
- package/dist/atlaspack-v3/worker/compat/index.js +24 -0
- package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
- package/dist/atlaspack-v3/worker/compat/plugin-config.js +64 -0
- package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
- package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
- package/dist/atlaspack-v3/worker/compat/target.js +14 -0
- package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
- package/dist/atlaspack-v3/worker/worker.js +398 -0
- package/dist/constants.js +17 -0
- package/dist/dumpGraphToGraphViz.js +281 -0
- package/dist/index.js +62 -0
- package/dist/loadAtlaspackPlugin.js +128 -0
- package/dist/loadDotEnv.js +41 -0
- package/dist/projectPath.js +83 -0
- package/dist/public/Asset.js +279 -0
- package/dist/public/Bundle.js +224 -0
- package/dist/public/BundleGraph.js +371 -0
- package/dist/public/BundleGroup.js +53 -0
- package/dist/public/Config.js +286 -0
- package/dist/public/Dependency.js +138 -0
- package/dist/public/Environment.js +278 -0
- package/dist/public/MutableBundleGraph.js +277 -0
- package/dist/public/PluginOptions.js +80 -0
- package/dist/public/Symbols.js +248 -0
- package/dist/public/Target.js +69 -0
- package/dist/registerCoreWithSerializer.js +38 -0
- package/dist/requests/AssetGraphRequest.js +430 -0
- package/dist/requests/AssetGraphRequestRust.js +471 -0
- package/dist/requests/AssetRequest.js +130 -0
- package/dist/requests/AtlaspackBuildRequest.js +98 -0
- package/dist/requests/AtlaspackConfigRequest.js +493 -0
- package/dist/requests/BundleGraphRequest.js +381 -0
- package/dist/requests/BundleGraphRequestRust.js +324 -0
- package/dist/requests/BundleGraphRequestUtils.js +262 -0
- package/dist/requests/ConfigRequest.js +246 -0
- package/dist/requests/DevDepRequest.js +204 -0
- package/dist/requests/EntryRequest.js +314 -0
- package/dist/requests/PackageRequest.js +89 -0
- package/dist/requests/PathRequest.js +349 -0
- package/dist/requests/TargetRequest.js +1316 -0
- package/dist/requests/ValidationRequest.js +49 -0
- package/dist/requests/WriteBundleRequest.js +522 -0
- package/dist/requests/WriteBundlesRequest.js +190 -0
- package/dist/requests/asset-graph-diff.js +128 -0
- package/dist/requests/asset-graph-dot.js +131 -0
- package/dist/resolveOptions.js +267 -0
- package/dist/rustWorkerThreadDylibHack.js +19 -0
- package/dist/serializerCore.browser.js +43 -0
- package/dist/summarizeRequest.js +39 -0
- package/dist/types.js +31 -0
- package/dist/utils.js +172 -0
- package/dist/worker.js +123 -0
- package/lib/AssetGraph.js +53 -15
- package/lib/Atlaspack.js +140 -56
- package/lib/AtlaspackConfig.js +17 -6
- package/lib/AtlaspackConfig.schema.js +16 -5
- package/lib/BundleGraph.js +390 -43
- package/lib/CommittedAsset.js +8 -2
- package/lib/Dependency.js +9 -3
- package/lib/Environment.js +16 -10
- package/lib/EnvironmentManager.js +143 -0
- package/lib/IdentifierRegistry.js +2 -4
- package/lib/InternalConfig.js +3 -2
- package/lib/PackagerRunner.js +46 -82
- package/lib/ReporterRunner.js +8 -12
- package/lib/RequestTracker.js +191 -152
- package/lib/SymbolPropagation.js +52 -29
- package/lib/TargetDescriptor.schema.js +10 -1
- package/lib/Transformation.js +68 -19
- package/lib/UncommittedAsset.js +17 -24
- package/lib/Validation.js +20 -5
- package/lib/applyRuntimes.js +98 -7
- package/lib/assetUtils.js +16 -6
- package/lib/atlaspack-v3/AtlaspackV3.js +58 -15
- package/lib/atlaspack-v3/NapiWorkerPool.js +63 -2
- package/lib/atlaspack-v3/fs.js +4 -1
- package/lib/atlaspack-v3/index.js +28 -1
- package/lib/atlaspack-v3/jsCallable.js +0 -2
- package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
- package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
- package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
- package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
- package/lib/atlaspack-v3/worker/compat/index.js +0 -11
- package/lib/atlaspack-v3/worker/compat/mutable-asset.js +16 -11
- package/lib/atlaspack-v3/worker/compat/plugin-config.js +14 -35
- package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -2
- package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
- package/lib/atlaspack-v3/worker/compat/target.js +2 -0
- package/lib/atlaspack-v3/worker/index.js +3 -0
- package/lib/atlaspack-v3/worker/side-effect-detector.js +214 -0
- package/lib/atlaspack-v3/worker/worker.js +231 -79
- package/lib/constants.js +0 -1
- package/lib/dumpGraphToGraphViz.js +72 -17
- package/lib/index.js +46 -3
- package/lib/loadAtlaspackPlugin.js +2 -3
- package/lib/loadDotEnv.js +5 -2
- package/lib/projectPath.js +6 -1
- package/lib/public/Asset.js +22 -12
- package/lib/public/Bundle.js +16 -18
- package/lib/public/BundleGraph.js +27 -25
- package/lib/public/BundleGroup.js +5 -6
- package/lib/public/Config.js +118 -18
- package/lib/public/Dependency.js +9 -7
- package/lib/public/Environment.js +13 -8
- package/lib/public/MutableBundleGraph.js +56 -15
- package/lib/public/PluginOptions.js +2 -2
- package/lib/public/Symbols.js +12 -12
- package/lib/public/Target.js +8 -7
- package/lib/registerCoreWithSerializer.js +7 -4
- package/lib/requests/AssetGraphRequest.js +61 -40
- package/lib/requests/AssetGraphRequestRust.js +314 -82
- package/lib/requests/AssetRequest.js +24 -7
- package/lib/requests/AtlaspackBuildRequest.js +53 -7
- package/lib/requests/AtlaspackConfigRequest.js +29 -19
- package/lib/requests/BundleGraphRequest.js +61 -130
- package/lib/requests/BundleGraphRequestRust.js +381 -0
- package/lib/requests/BundleGraphRequestUtils.js +280 -0
- package/lib/requests/ConfigRequest.js +55 -7
- package/lib/requests/DevDepRequest.js +32 -6
- package/lib/requests/EntryRequest.js +4 -3
- package/lib/requests/PackageRequest.js +56 -12
- package/lib/requests/PathRequest.js +26 -6
- package/lib/requests/TargetRequest.js +129 -60
- package/lib/requests/ValidationRequest.js +6 -2
- package/lib/requests/WriteBundleRequest.js +329 -20
- package/lib/requests/WriteBundlesRequest.js +64 -10
- package/lib/requests/asset-graph-diff.js +13 -8
- package/lib/requests/asset-graph-dot.js +2 -8
- package/lib/resolveOptions.js +37 -14
- package/lib/rustWorkerThreadDylibHack.js +0 -1
- package/lib/serializerCore.browser.js +1 -2
- package/lib/summarizeRequest.js +1 -1
- package/lib/types/AssetGraph.d.ts +55 -0
- package/lib/types/Atlaspack.d.ts +52 -0
- package/lib/types/AtlaspackConfig.d.ts +65 -0
- package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
- package/lib/types/BundleGraph.d.ts +232 -0
- package/lib/types/CommittedAsset.d.ts +23 -0
- package/lib/types/Dependency.d.ts +44 -0
- package/lib/types/Environment.d.ts +11 -0
- package/lib/types/EnvironmentManager.d.ts +37 -0
- package/lib/types/IdentifierRegistry.d.ts +6 -0
- package/lib/types/InternalConfig.d.ts +23 -0
- package/lib/types/PackagerRunner.d.ts +85 -0
- package/lib/types/ReporterRunner.d.ts +25 -0
- package/lib/types/RequestTracker.d.ts +385 -0
- package/lib/types/SymbolPropagation.d.ts +11 -0
- package/lib/types/TargetDescriptor.schema.d.ts +5 -0
- package/lib/types/Transformation.d.ts +72 -0
- package/lib/types/UncommittedAsset.d.ts +61 -0
- package/lib/types/Validation.d.ts +37 -0
- package/lib/types/applyRuntimes.d.ts +25 -0
- package/lib/types/assetUtils.d.ts +42 -0
- package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +35 -0
- package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
- package/lib/types/atlaspack-v3/fs.d.ts +13 -0
- package/lib/types/atlaspack-v3/index.d.ts +6 -0
- package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
- package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
- package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
- package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
- package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
- package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -2
- package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
- package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
- package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
- package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
- package/lib/types/atlaspack-v3/worker/worker.d.ts +81 -0
- package/lib/types/constants.d.ts +13 -0
- package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
- package/lib/types/index.d.ts +8 -0
- package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
- package/lib/types/loadDotEnv.d.ts +3 -0
- package/lib/types/projectPath.d.ts +19 -0
- package/lib/types/public/Asset.d.ts +74 -0
- package/lib/types/public/Bundle.d.ts +45 -0
- package/lib/types/public/BundleGraph.d.ts +72 -0
- package/lib/types/public/BundleGroup.d.ts +12 -0
- package/lib/types/public/Config.d.ts +75 -0
- package/lib/types/public/Dependency.d.ts +32 -0
- package/lib/types/public/Environment.d.ts +34 -0
- package/lib/types/public/MutableBundleGraph.d.ts +26 -0
- package/lib/types/public/PluginOptions.d.ts +25 -0
- package/lib/types/public/Symbols.d.ts +81 -0
- package/lib/types/public/Target.d.ts +16 -0
- package/lib/types/registerCoreWithSerializer.d.ts +2 -0
- package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
- package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
- package/lib/types/requests/AssetRequest.d.ts +16 -0
- package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
- package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
- package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
- package/lib/types/requests/BundleGraphRequestRust.d.ts +34 -0
- package/lib/types/requests/BundleGraphRequestUtils.d.ts +38 -0
- package/lib/types/requests/ConfigRequest.d.ts +67 -0
- package/lib/types/requests/DevDepRequest.d.ts +30 -0
- package/lib/types/requests/EntryRequest.d.ts +36 -0
- package/lib/types/requests/PackageRequest.d.ts +27 -0
- package/lib/types/requests/PathRequest.d.ts +48 -0
- package/lib/types/requests/TargetRequest.d.ts +48 -0
- package/lib/types/requests/ValidationRequest.d.ts +20 -0
- package/lib/types/requests/WriteBundleRequest.d.ts +80 -0
- package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
- package/lib/types/requests/asset-graph-diff.d.ts +1 -0
- package/lib/types/requests/asset-graph-dot.d.ts +9 -0
- package/lib/types/resolveOptions.d.ts +3 -0
- package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
- package/lib/types/serializerCore.browser.d.ts +3 -0
- package/lib/types/summarizeRequest.d.ts +10 -0
- package/lib/types/types.d.ts +496 -0
- package/lib/types/utils.d.ts +23 -0
- package/lib/types/worker.d.ts +44 -0
- package/lib/types.js +8 -1
- package/lib/utils.js +18 -3
- package/lib/worker.js +32 -15
- package/package.json +26 -36
- package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
- package/src/{Atlaspack.js → Atlaspack.ts} +181 -72
- package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
- package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
- package/src/{BundleGraph.js → BundleGraph.ts} +575 -145
- package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
- package/src/{Dependency.js → Dependency.ts} +59 -42
- package/src/{Environment.js → Environment.ts} +24 -15
- package/src/EnvironmentManager.ts +154 -0
- package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
- package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
- package/src/{PackagerRunner.js → PackagerRunner.ts} +114 -159
- package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
- package/src/{RequestTracker.js → RequestTracker.ts} +444 -355
- package/src/{SymbolPropagation.js → SymbolPropagation.ts} +178 -61
- package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +10 -1
- package/src/{Transformation.js → Transformation.ts} +110 -65
- package/src/{UncommittedAsset.js → UncommittedAsset.ts} +45 -49
- package/src/{Validation.js → Validation.ts} +32 -17
- package/src/{applyRuntimes.js → applyRuntimes.ts} +135 -26
- package/src/{assetUtils.js → assetUtils.ts} +49 -36
- package/src/atlaspack-v3/AtlaspackV3.ts +183 -0
- package/src/atlaspack-v3/NapiWorkerPool.ts +129 -0
- package/src/atlaspack-v3/{fs.js → fs.ts} +8 -4
- package/src/atlaspack-v3/{index.js → index.ts} +3 -4
- package/src/atlaspack-v3/jsCallable.ts +14 -0
- package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
- package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
- package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
- package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
- package/src/atlaspack-v3/worker/compat/index.ts +8 -0
- package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
- package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
- package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
- package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
- package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
- package/src/atlaspack-v3/worker/index.js +2 -1
- package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
- package/src/atlaspack-v3/worker/worker.ts +548 -0
- package/src/{constants.js → constants.ts} +0 -3
- package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
- package/src/index.ts +18 -0
- package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
- package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
- package/src/{projectPath.js → projectPath.ts} +20 -9
- package/src/public/{Asset.js → Asset.ts} +41 -28
- package/src/public/{Bundle.js → Bundle.ts} +28 -29
- package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
- package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
- package/src/public/{Config.js → Config.ts} +171 -33
- package/src/public/{Dependency.js → Dependency.ts} +20 -17
- package/src/public/{Environment.js → Environment.ts} +28 -17
- package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
- package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
- package/src/public/{Symbols.js → Symbols.ts} +75 -36
- package/src/public/{Target.js → Target.ts} +10 -8
- package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
- package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +117 -90
- package/src/requests/AssetGraphRequestRust.ts +557 -0
- package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
- package/src/requests/AtlaspackBuildRequest.ts +168 -0
- package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
- package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +119 -199
- package/src/requests/BundleGraphRequestRust.ts +470 -0
- package/src/requests/BundleGraphRequestUtils.ts +323 -0
- package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
- package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
- package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
- package/src/requests/{PackageRequest.js → PackageRequest.ts} +52 -25
- package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
- package/src/requests/{TargetRequest.js → TargetRequest.ts} +265 -179
- package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
- package/src/requests/WriteBundleRequest.ts +734 -0
- package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +134 -50
- package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
- package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
- package/src/{resolveOptions.js → resolveOptions.ts} +57 -27
- package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
- package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
- package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
- package/src/types.ts +651 -0
- package/src/{utils.js → utils.ts} +52 -21
- package/src/{worker.js → worker.ts} +50 -42
- package/test/{AssetGraph.test.js → AssetGraph.test.ts} +5 -8
- package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
- package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
- package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
- package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
- package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
- package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
- package/test/Environment.test.ts +153 -0
- package/test/EnvironmentManager.test.ts +188 -0
- package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
- package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
- package/test/PackagerRunner.test.ts +0 -0
- package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
- package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
- package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
- package/test/PublicEnvironment.test.ts +49 -0
- package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
- package/test/{RequestTracker.test.js → RequestTracker.test.ts} +136 -58
- package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
- package/test/{TargetRequest.test.js → TargetRequest.test.ts} +91 -92
- package/test/fixtures/config-with-reporters/.parcelrc +7 -0
- package/test/fixtures/custom-targets/package.json +6 -0
- package/test/public/Config.test.ts +104 -0
- package/test/requests/AssetGraphRequestRust.test.ts +443 -0
- package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
- package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
- package/test/requests/WriteBundleRequest.test.ts +602 -0
- package/test/{test-utils.js → test-utils.ts} +3 -4
- package/test/{utils.test.js → utils.test.ts} +1 -3
- package/tsconfig.json +60 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/index.d.ts +0 -30
- package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
- package/src/atlaspack-v3/AtlaspackV3.js +0 -87
- package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
- package/src/atlaspack-v3/jsCallable.js +0 -18
- package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
- package/src/atlaspack-v3/worker/compat/plugin-logger.js +0 -47
- package/src/atlaspack-v3/worker/worker.js +0 -369
- package/src/index.js +0 -13
- package/src/requests/AssetGraphRequestRust.js +0 -263
- package/src/requests/AtlaspackBuildRequest.js +0 -111
- package/src/requests/WriteBundleRequest.js +0 -369
- package/src/types.js +0 -600
- package/test/Environment.test.js +0 -119
- package/test/PackagerRunner.test.js +0 -27
- package/test/PublicEnvironment.test.js +0 -27
- package/test/requests/AssetGraphRequestRust.test.js +0 -411
|
@@ -1,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,7 +184,6 @@ 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
|
|
|
@@ -174,20 +196,26 @@ export default class Atlaspack {
|
|
|
174
196
|
|
|
175
197
|
rustAtlaspack = await AtlaspackV3.create({
|
|
176
198
|
...options,
|
|
199
|
+
// @ts-expect-error TS2353
|
|
177
200
|
corePath: path.join(__dirname, '..'),
|
|
178
201
|
threads,
|
|
179
202
|
entries: Array.isArray(entries)
|
|
180
203
|
? entries
|
|
181
204
|
: entries == null
|
|
182
|
-
|
|
183
|
-
|
|
205
|
+
? undefined
|
|
206
|
+
: [entries],
|
|
184
207
|
env: resolvedOptions.env,
|
|
185
208
|
fs: inputFS && new FileSystemV3(inputFS),
|
|
186
|
-
// $FlowFixMe ProjectPath is a string
|
|
187
209
|
defaultTargetOptions: resolvedOptions.defaultTargetOptions,
|
|
210
|
+
serveOptions: resolvedOptions.serveOptions,
|
|
188
211
|
lmdb,
|
|
212
|
+
featureFlags: resolvedOptions.featureFlags,
|
|
213
|
+
});
|
|
214
|
+
this.#disposable.add(() => {
|
|
215
|
+
rustAtlaspack.end();
|
|
189
216
|
});
|
|
190
217
|
}
|
|
218
|
+
// @ts-expect-error TS2454
|
|
191
219
|
this.rustAtlaspack = rustAtlaspack;
|
|
192
220
|
|
|
193
221
|
let {config} = await loadAtlaspackConfig(resolvedOptions);
|
|
@@ -238,6 +266,7 @@ export default class Atlaspack {
|
|
|
238
266
|
this.#requestTracker = await RequestTracker.init({
|
|
239
267
|
farm: this.#farm,
|
|
240
268
|
options: resolvedOptions,
|
|
269
|
+
// @ts-expect-error TS2454
|
|
241
270
|
rustAtlaspack,
|
|
242
271
|
});
|
|
243
272
|
|
|
@@ -279,7 +308,7 @@ export default class Atlaspack {
|
|
|
279
308
|
|
|
280
309
|
try {
|
|
281
310
|
await this.#requestTracker.writeToCache(abortController.signal);
|
|
282
|
-
} catch (err) {
|
|
311
|
+
} catch (err: any) {
|
|
283
312
|
if (!abortController.signal.aborted) {
|
|
284
313
|
// We expect abort errors if we interrupt the cache write
|
|
285
314
|
throw err;
|
|
@@ -290,7 +319,7 @@ export default class Atlaspack {
|
|
|
290
319
|
}
|
|
291
320
|
}
|
|
292
321
|
|
|
293
|
-
async _startNextBuild(): Promise
|
|
322
|
+
async _startNextBuild(): Promise<BuildEvent | null | undefined> {
|
|
294
323
|
this.#watchAbortController = new AbortController();
|
|
295
324
|
await this.clearBuildCaches();
|
|
296
325
|
|
|
@@ -304,7 +333,7 @@ export default class Atlaspack {
|
|
|
304
333
|
});
|
|
305
334
|
|
|
306
335
|
return buildEvent;
|
|
307
|
-
} catch (err) {
|
|
336
|
+
} catch (err: any) {
|
|
308
337
|
// Ignore BuildAbortErrors and only emit critical errors.
|
|
309
338
|
if (!(err instanceof BuildAbortError)) {
|
|
310
339
|
throw err;
|
|
@@ -316,12 +345,13 @@ export default class Atlaspack {
|
|
|
316
345
|
}
|
|
317
346
|
|
|
318
347
|
async watch(
|
|
319
|
-
cb?: (err
|
|
348
|
+
cb?: (err?: Error | null | undefined, buildEvent?: BuildEvent) => unknown,
|
|
320
349
|
): Promise<AsyncSubscription> {
|
|
321
350
|
if (!this.#initialized) {
|
|
322
351
|
await this._init();
|
|
323
352
|
}
|
|
324
353
|
|
|
354
|
+
// @ts-expect-error TS7034
|
|
325
355
|
let watchEventsDisposable;
|
|
326
356
|
if (cb) {
|
|
327
357
|
watchEventsDisposable = this.#watchEvents.addListener(
|
|
@@ -341,8 +371,10 @@ export default class Atlaspack {
|
|
|
341
371
|
|
|
342
372
|
this.#watcherCount++;
|
|
343
373
|
|
|
374
|
+
// @ts-expect-error TS7034
|
|
344
375
|
let unsubscribePromise;
|
|
345
376
|
const unsubscribe = async () => {
|
|
377
|
+
// @ts-expect-error TS7005
|
|
346
378
|
if (watchEventsDisposable) {
|
|
347
379
|
watchEventsDisposable.dispose();
|
|
348
380
|
}
|
|
@@ -360,10 +392,12 @@ export default class Atlaspack {
|
|
|
360
392
|
|
|
361
393
|
return {
|
|
362
394
|
unsubscribe() {
|
|
395
|
+
// @ts-expect-error TS7005
|
|
363
396
|
if (unsubscribePromise == null) {
|
|
364
397
|
unsubscribePromise = unsubscribe();
|
|
365
398
|
}
|
|
366
399
|
|
|
400
|
+
// @ts-expect-error TS7005
|
|
367
401
|
return unsubscribePromise;
|
|
368
402
|
},
|
|
369
403
|
};
|
|
@@ -372,20 +406,28 @@ export default class Atlaspack {
|
|
|
372
406
|
async _build({
|
|
373
407
|
signal,
|
|
374
408
|
startTime = Date.now(),
|
|
375
|
-
}: {
|
|
376
|
-
signal?: AbortSignal
|
|
377
|
-
startTime?: number
|
|
378
|
-
|
|
409
|
+
}: {
|
|
410
|
+
signal?: AbortSignal;
|
|
411
|
+
startTime?: number;
|
|
412
|
+
} = {
|
|
379
413
|
/*::...null*/
|
|
380
414
|
}): Promise<BuildEvent> {
|
|
381
|
-
this.#requestTracker.setSignal(signal);
|
|
382
415
|
let options = nullthrows(this.#resolvedOptions);
|
|
383
416
|
try {
|
|
384
417
|
if (options.shouldProfile) {
|
|
385
418
|
await this.startProfiling();
|
|
386
419
|
}
|
|
420
|
+
if (options.nativeProfiler) {
|
|
421
|
+
const nativeProfiler = new NativeProfiler();
|
|
422
|
+
await nativeProfiler.startProfiling(options.nativeProfiler);
|
|
423
|
+
}
|
|
387
424
|
if (options.shouldTrace) {
|
|
388
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
|
+
});
|
|
389
431
|
}
|
|
390
432
|
await this.#reporterRunner.report({
|
|
391
433
|
type: 'buildStart',
|
|
@@ -393,19 +435,64 @@ export default class Atlaspack {
|
|
|
393
435
|
|
|
394
436
|
this.#requestTracker.graph.invalidateOnBuildNodes();
|
|
395
437
|
|
|
396
|
-
let
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
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
|
+
);
|
|
451
|
+
|
|
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
|
+
});
|
|
401
482
|
|
|
402
|
-
|
|
403
|
-
|
|
483
|
+
({
|
|
484
|
+
bundleGraph,
|
|
485
|
+
bundleInfo,
|
|
486
|
+
changedAssets,
|
|
487
|
+
assetRequests,
|
|
488
|
+
scopeHoistingStats,
|
|
489
|
+
} = await this.#requestTracker.runRequest(request, {force: true}));
|
|
490
|
+
}
|
|
404
491
|
|
|
405
492
|
this.#requestedAssetIds.clear();
|
|
406
493
|
|
|
407
494
|
await dumpGraphToGraphViz(
|
|
408
|
-
//
|
|
495
|
+
// @ts-expect-error TS2345
|
|
409
496
|
this.#requestTracker.graph,
|
|
410
497
|
'RequestGraph',
|
|
411
498
|
requestGraphEdgeTypes,
|
|
@@ -414,14 +501,20 @@ export default class Atlaspack {
|
|
|
414
501
|
let event = {
|
|
415
502
|
type: 'buildSuccess',
|
|
416
503
|
changedAssets: new Map(
|
|
417
|
-
Array.from(changedAssets).map(([id, asset]) => [
|
|
504
|
+
Array.from(changedAssets).map(([id, asset]: [any, any]) => [
|
|
418
505
|
id,
|
|
419
506
|
assetFromValue(asset, options),
|
|
420
507
|
]),
|
|
421
508
|
),
|
|
422
509
|
bundleGraph: new BundleGraph<IPackagedBundle>(
|
|
423
510
|
bundleGraph,
|
|
424
|
-
(
|
|
511
|
+
(
|
|
512
|
+
// @ts-expect-error TS2304
|
|
513
|
+
bundle: Bundle,
|
|
514
|
+
// @ts-expect-error TS2314
|
|
515
|
+
bundleGraph: BundleGraph,
|
|
516
|
+
options: AtlaspackOptions,
|
|
517
|
+
) =>
|
|
425
518
|
PackagedBundle.getWithInfo(
|
|
426
519
|
bundle,
|
|
427
520
|
bundleGraph,
|
|
@@ -431,6 +524,7 @@ export default class Atlaspack {
|
|
|
431
524
|
options,
|
|
432
525
|
),
|
|
433
526
|
buildTime: Date.now() - startTime,
|
|
527
|
+
// @ts-expect-error TS7006
|
|
434
528
|
requestBundle: async (bundle) => {
|
|
435
529
|
let bundleNode = bundleGraph._graph.getNodeByContentKey(bundle.id);
|
|
436
530
|
invariant(bundleNode?.type === 'bundle', 'Bundle does not exist');
|
|
@@ -444,6 +538,7 @@ export default class Atlaspack {
|
|
|
444
538
|
buildTime: 0,
|
|
445
539
|
requestBundle: event.requestBundle,
|
|
446
540
|
unstable_requestStats: {},
|
|
541
|
+
scopeHoistingStats: event.scopeHoistingStats,
|
|
447
542
|
};
|
|
448
543
|
}
|
|
449
544
|
|
|
@@ -461,17 +556,23 @@ export default class Atlaspack {
|
|
|
461
556
|
|
|
462
557
|
let results = await this.#watchQueue.run();
|
|
463
558
|
let result = results.filter(Boolean).pop();
|
|
559
|
+
// @ts-expect-error TS18049
|
|
464
560
|
if (result.type === 'buildFailure') {
|
|
561
|
+
// @ts-expect-error TS18049
|
|
465
562
|
throw new BuildError(result.diagnostics);
|
|
466
563
|
}
|
|
467
564
|
|
|
468
565
|
return result;
|
|
469
566
|
},
|
|
470
567
|
unstable_requestStats: this.#requestTracker.flushStats(),
|
|
568
|
+
nativeCacheStats: await this.rustAtlaspack?.completeCacheSession(),
|
|
569
|
+
scopeHoistingStats,
|
|
471
570
|
};
|
|
472
571
|
|
|
572
|
+
// @ts-expect-error TS2345
|
|
473
573
|
await this.#reporterRunner.report(event);
|
|
474
574
|
await this.#requestTracker.runRequest(
|
|
575
|
+
// @ts-expect-error TS2345
|
|
475
576
|
createValidationRequest({optionsRef: this.#optionsRef, assetRequests}),
|
|
476
577
|
{force: assetRequests.length > 0},
|
|
477
578
|
);
|
|
@@ -480,8 +581,9 @@ export default class Atlaspack {
|
|
|
480
581
|
throw this.#reporterRunner.errors;
|
|
481
582
|
}
|
|
482
583
|
|
|
584
|
+
// @ts-expect-error TS2322
|
|
483
585
|
return event;
|
|
484
|
-
} catch (e) {
|
|
586
|
+
} catch (e: any) {
|
|
485
587
|
if (e instanceof BuildAbortError) {
|
|
486
588
|
throw e;
|
|
487
589
|
}
|
|
@@ -491,9 +593,12 @@ export default class Atlaspack {
|
|
|
491
593
|
type: 'buildFailure',
|
|
492
594
|
diagnostics: Array.isArray(diagnostic) ? diagnostic : [diagnostic],
|
|
493
595
|
unstable_requestStats: this.#requestTracker.flushStats(),
|
|
596
|
+
nativeCacheStats: await this.rustAtlaspack?.completeCacheSession(),
|
|
494
597
|
};
|
|
495
598
|
|
|
599
|
+
// @ts-expect-error TS2345
|
|
496
600
|
await this.#reporterRunner.report(event);
|
|
601
|
+
// @ts-expect-error TS2322
|
|
497
602
|
return event;
|
|
498
603
|
} finally {
|
|
499
604
|
if (this.isProfiling) {
|
|
@@ -529,14 +634,15 @@ export default class Atlaspack {
|
|
|
529
634
|
});
|
|
530
635
|
|
|
531
636
|
let nativeInvalid = false;
|
|
532
|
-
if (this.rustAtlaspack) {
|
|
637
|
+
if (getFeatureFlag('atlaspackV3') && this.rustAtlaspack) {
|
|
533
638
|
nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
|
|
534
639
|
}
|
|
535
640
|
|
|
536
|
-
let isInvalid =
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
641
|
+
let {didInvalidate: isInvalid} =
|
|
642
|
+
await this.#requestTracker.respondToFSEvents(
|
|
643
|
+
events,
|
|
644
|
+
Number.POSITIVE_INFINITY,
|
|
645
|
+
);
|
|
540
646
|
|
|
541
647
|
if (
|
|
542
648
|
(nativeInvalid || isInvalid) &&
|
|
@@ -620,13 +726,15 @@ export default class Atlaspack {
|
|
|
620
726
|
lazyIncludes: [],
|
|
621
727
|
lazyExcludes: [],
|
|
622
728
|
requestedAssetIds: this.#requestedAssetIds,
|
|
623
|
-
};
|
|
729
|
+
} as const;
|
|
624
730
|
|
|
625
731
|
const start = Date.now();
|
|
626
732
|
const result = await this.#requestTracker.runRequest(
|
|
627
|
-
this.rustAtlaspack != null
|
|
628
|
-
?
|
|
629
|
-
|
|
733
|
+
getFeatureFlag('atlaspackV3') && this.rustAtlaspack != null
|
|
734
|
+
? // @ts-expect-error TS2345
|
|
735
|
+
createAssetGraphRequestRust(this.rustAtlaspack)(input)
|
|
736
|
+
: // @ts-expect-error TS2345
|
|
737
|
+
createAssetGraphRequestJS(input),
|
|
630
738
|
{force: true},
|
|
631
739
|
);
|
|
632
740
|
|
|
@@ -694,7 +802,7 @@ export default class Atlaspack {
|
|
|
694
802
|
|
|
695
803
|
async unstable_resolve(
|
|
696
804
|
request: AtlaspackResolveOptions,
|
|
697
|
-
): Promise
|
|
805
|
+
): Promise<AtlaspackResolveResult | null | undefined> {
|
|
698
806
|
if (!this.#initialized) {
|
|
699
807
|
await this._init();
|
|
700
808
|
}
|
|
@@ -733,6 +841,7 @@ export default class Atlaspack {
|
|
|
733
841
|
}
|
|
734
842
|
|
|
735
843
|
return {
|
|
844
|
+
// @ts-expect-error TS2322
|
|
736
845
|
filePath: fromProjectPath(projectRoot, res.filePath),
|
|
737
846
|
code: res.code,
|
|
738
847
|
query: res.query,
|
|
@@ -749,7 +858,7 @@ export class BuildError extends ThrowableDiagnostic {
|
|
|
749
858
|
}
|
|
750
859
|
|
|
751
860
|
export function createWorkerFarm(
|
|
752
|
-
options:
|
|
861
|
+
options: Partial<FarmOptions> = {},
|
|
753
862
|
): WorkerFarm {
|
|
754
863
|
return new WorkerFarm({
|
|
755
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
|
},
|