@atlaspack/core 2.16.2-canary.27 → 2.16.2-canary.270
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 +665 -0
- package/dist/AssetGraph.js +591 -0
- package/dist/Atlaspack.js +658 -0
- package/dist/AtlaspackConfig.js +324 -0
- package/dist/AtlaspackConfig.schema.js +108 -0
- package/dist/BundleGraph.js +1635 -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 +490 -0
- package/dist/UncommittedAsset.js +315 -0
- package/dist/Validation.js +196 -0
- package/dist/applyRuntimes.js +305 -0
- package/dist/assetUtils.js +168 -0
- package/dist/atlaspack-v3/AtlaspackV3.js +70 -0
- package/dist/atlaspack-v3/NapiWorkerPool.js +57 -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 +94 -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 +76 -0
- package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
- package/dist/atlaspack-v3/worker/compat/plugin-options.js +122 -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/worker.js +297 -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 +359 -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 +429 -0
- package/dist/requests/AssetGraphRequestRust.js +262 -0
- package/dist/requests/AssetRequest.js +130 -0
- package/dist/requests/AtlaspackBuildRequest.js +65 -0
- package/dist/requests/AtlaspackConfigRequest.js +493 -0
- package/dist/requests/BundleGraphRequest.js +445 -0
- package/dist/requests/ConfigRequest.js +222 -0
- package/dist/requests/DevDepRequest.js +204 -0
- package/dist/requests/EntryRequest.js +314 -0
- package/dist/requests/PackageRequest.js +62 -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 +268 -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 +81 -37
- package/lib/AtlaspackConfig.js +15 -3
- package/lib/AtlaspackConfig.schema.js +7 -5
- package/lib/BundleGraph.js +90 -32
- package/lib/CommittedAsset.js +6 -0
- 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 +26 -10
- package/lib/UncommittedAsset.js +30 -9
- package/lib/Validation.js +18 -2
- package/lib/applyRuntimes.js +9 -1
- package/lib/assetUtils.js +7 -4
- package/lib/atlaspack-v3/AtlaspackV3.js +32 -7
- package/lib/atlaspack-v3/NapiWorkerPool.js +3 -0
- 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 +7 -6
- package/lib/atlaspack-v3/worker/compat/dependency.js +3 -0
- package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
- package/lib/atlaspack-v3/worker/compat/mutable-asset.js +14 -9
- package/lib/atlaspack-v3/worker/compat/plugin-config.js +8 -10
- package/lib/atlaspack-v3/worker/compat/plugin-options.js +1 -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/worker.js +43 -7
- 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 +10 -4
- 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 +42 -5
- package/lib/requests/AssetGraphRequestRust.js +126 -62
- package/lib/requests/AssetRequest.js +23 -6
- package/lib/requests/AtlaspackBuildRequest.js +10 -4
- package/lib/requests/AtlaspackConfigRequest.js +27 -16
- package/lib/requests/BundleGraphRequest.js +34 -19
- package/lib/requests/ConfigRequest.js +28 -4
- package/lib/requests/DevDepRequest.js +31 -5
- package/lib/requests/EntryRequest.js +2 -0
- package/lib/requests/PackageRequest.js +2 -1
- 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 +36 -10
- 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 +46 -0
- package/lib/types/BundleGraph.d.ts +182 -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 +24 -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 +26 -0
- package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +12 -0
- package/lib/types/atlaspack-v3/fs.d.ts +12 -0
- package/lib/types/atlaspack-v3/index.d.ts +5 -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 +15 -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 +37 -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 +22 -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/worker.d.ts +60 -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 +70 -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 +74 -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 +59 -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 +493 -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 +29 -13
- package/package.json +24 -34
- package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
- package/src/{Atlaspack.js → Atlaspack.ts} +114 -61
- package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +16 -19
- package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
- package/src/{BundleGraph.js → BundleGraph.ts} +231 -140
- package/src/{CommittedAsset.js → CommittedAsset.ts} +14 -12
- 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} +178 -86
- 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} +71 -62
- package/src/{UncommittedAsset.js → UncommittedAsset.ts} +57 -36
- package/src/{Validation.js → Validation.ts} +32 -17
- package/src/{applyRuntimes.js → applyRuntimes.ts} +35 -26
- package/src/{assetUtils.js → assetUtils.ts} +47 -35
- package/src/atlaspack-v3/AtlaspackV3.ts +122 -0
- package/src/atlaspack-v3/{NapiWorkerPool.js → NapiWorkerPool.ts} +10 -5
- package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
- package/src/atlaspack-v3/{index.js → index.ts} +2 -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.js → bitflags.ts} +9 -10
- package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +12 -12
- 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} +20 -19
- package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +27 -26
- 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} +4 -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/{worker.js → worker.ts} +102 -66
- 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} +40 -27
- package/src/public/{Bundle.js → Bundle.ts} +28 -29
- package/src/public/{BundleGraph.js → BundleGraph.ts} +81 -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} +84 -49
- package/src/requests/AssetGraphRequestRust.ts +352 -0
- package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
- package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +46 -32
- package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
- package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +71 -58
- package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +71 -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} +20 -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} +56 -24
- 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 +647 -0
- package/src/{utils.js → utils.ts} +52 -21
- package/src/{worker.js → worker.ts} +49 -41
- 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} +75 -15
- 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.js → AssetGraphRequestRust.test.ts} +164 -134
- 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 +57 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/index.d.ts +0 -30
- package/src/atlaspack-v3/AtlaspackV3.js +0 -87
- package/src/atlaspack-v3/jsCallable.js +0 -18
- package/src/index.js +0 -13
- package/src/requests/AssetGraphRequestRust.js +0 -263
- 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
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {ContentKey} from '@atlaspack/graph';
|
|
4
2
|
import type {Dependency, NamedBundle as INamedBundle} from '@atlaspack/types';
|
|
5
3
|
import type {SharedReference} from '@atlaspack/workers';
|
|
@@ -34,13 +32,14 @@ import {createDevDependency, runDevDepRequest} from './requests/DevDepRequest';
|
|
|
34
32
|
import {toProjectPath, fromProjectPathRelative} from './projectPath';
|
|
35
33
|
import {tracer, PluginTracer} from '@atlaspack/profiler';
|
|
36
34
|
import {DefaultMap} from '@atlaspack/utils';
|
|
35
|
+
import {fromEnvironmentId} from './EnvironmentManager';
|
|
37
36
|
|
|
38
|
-
type RuntimeConnection = {
|
|
39
|
-
bundle: InternalBundle
|
|
40
|
-
assetGroup: AssetGroup
|
|
41
|
-
dependency:
|
|
42
|
-
isEntry:
|
|
43
|
-
|
|
37
|
+
type RuntimeConnection = {
|
|
38
|
+
bundle: InternalBundle;
|
|
39
|
+
assetGroup: AssetGroup;
|
|
40
|
+
dependency: Dependency | null | undefined;
|
|
41
|
+
isEntry: boolean | null | undefined;
|
|
42
|
+
};
|
|
44
43
|
|
|
45
44
|
function nameRuntimeBundle(
|
|
46
45
|
bundle: InternalBundle,
|
|
@@ -70,7 +69,7 @@ function nameRuntimeBundle(
|
|
|
70
69
|
* Introduction of manifest bundles: https://github.com/parcel-bundler/parcel/pull/8837
|
|
71
70
|
* Introduction of reverse topology: https://github.com/parcel-bundler/parcel/pull/8981
|
|
72
71
|
*/
|
|
73
|
-
export default async function applyRuntimes<TResult
|
|
72
|
+
export default async function applyRuntimes<TResult extends RequestResult>({
|
|
74
73
|
bundleGraph,
|
|
75
74
|
config,
|
|
76
75
|
options,
|
|
@@ -80,17 +79,17 @@ export default async function applyRuntimes<TResult: RequestResult>({
|
|
|
80
79
|
previousDevDeps,
|
|
81
80
|
devDepRequests,
|
|
82
81
|
configs,
|
|
83
|
-
}: {
|
|
84
|
-
bundleGraph: InternalBundleGraph
|
|
85
|
-
config: AtlaspackConfig
|
|
86
|
-
options: AtlaspackOptions
|
|
87
|
-
optionsRef: SharedReference
|
|
88
|
-
pluginOptions: PluginOptions
|
|
89
|
-
api: RunAPI<TResult
|
|
90
|
-
previousDevDeps: Map<string, string
|
|
91
|
-
devDepRequests: Map<string, DevDepRequest | DevDepRequestRef
|
|
92
|
-
configs: Map<string, Config
|
|
93
|
-
|
|
82
|
+
}: {
|
|
83
|
+
bundleGraph: InternalBundleGraph;
|
|
84
|
+
config: AtlaspackConfig;
|
|
85
|
+
options: AtlaspackOptions;
|
|
86
|
+
optionsRef: SharedReference;
|
|
87
|
+
pluginOptions: PluginOptions;
|
|
88
|
+
api: RunAPI<TResult>;
|
|
89
|
+
previousDevDeps: Map<string, string>;
|
|
90
|
+
devDepRequests: Map<string, DevDepRequest | DevDepRequestRef>;
|
|
91
|
+
configs: Map<string, Config>;
|
|
92
|
+
}): Promise<Map<string, Asset>> {
|
|
94
93
|
let runtimes = await config.getRuntimes();
|
|
95
94
|
|
|
96
95
|
/**
|
|
@@ -106,9 +105,11 @@ export default async function applyRuntimes<TResult: RequestResult>({
|
|
|
106
105
|
* order), so that children will always be available when parents try to reference
|
|
107
106
|
* them.
|
|
108
107
|
*/
|
|
109
|
-
|
|
108
|
+
// @ts-expect-error TS2304
|
|
109
|
+
let bundles: Array<Bundle> = [];
|
|
110
110
|
bundleGraph.traverseBundles({
|
|
111
|
-
|
|
111
|
+
// @ts-expect-error TS2304
|
|
112
|
+
exit(bundle: Bundle) {
|
|
112
113
|
bundles.push(bundle);
|
|
113
114
|
},
|
|
114
115
|
});
|
|
@@ -149,6 +150,7 @@ export default async function applyRuntimes<TResult: RequestResult>({
|
|
|
149
150
|
filePath,
|
|
150
151
|
isEntry,
|
|
151
152
|
env,
|
|
153
|
+
runtimeAssetRequiringExecutionOnLoad,
|
|
152
154
|
priority,
|
|
153
155
|
} of runtimeAssets) {
|
|
154
156
|
let sourceName = path.join(
|
|
@@ -158,8 +160,13 @@ export default async function applyRuntimes<TResult: RequestResult>({
|
|
|
158
160
|
|
|
159
161
|
let assetGroup = {
|
|
160
162
|
code,
|
|
163
|
+
runtimeAssetRequiringExecutionOnLoad,
|
|
161
164
|
filePath: toProjectPath(options.projectRoot, sourceName),
|
|
162
|
-
env: mergeEnvironments(
|
|
165
|
+
env: mergeEnvironments(
|
|
166
|
+
options.projectRoot,
|
|
167
|
+
fromEnvironmentId(bundle.env),
|
|
168
|
+
env,
|
|
169
|
+
),
|
|
163
170
|
// Runtime assets should be considered source, as they should be
|
|
164
171
|
// e.g. compiled to run in the target environment
|
|
165
172
|
isSource: true,
|
|
@@ -200,6 +207,7 @@ export default async function applyRuntimes<TResult: RequestResult>({
|
|
|
200
207
|
nameRuntimeBundle(connectionBundle, bundle);
|
|
201
208
|
}
|
|
202
209
|
|
|
210
|
+
// @ts-expect-error TS2345
|
|
203
211
|
connectionMap.get(connectionBundle).push({
|
|
204
212
|
bundle: connectionBundle,
|
|
205
213
|
assetGroup,
|
|
@@ -208,7 +216,7 @@ export default async function applyRuntimes<TResult: RequestResult>({
|
|
|
208
216
|
});
|
|
209
217
|
}
|
|
210
218
|
}
|
|
211
|
-
} catch (e) {
|
|
219
|
+
} catch (e: any) {
|
|
212
220
|
throw new ThrowableDiagnostic({
|
|
213
221
|
diagnostic: errorToDiagnostic(e, {
|
|
214
222
|
origin: runtime.name,
|
|
@@ -238,7 +246,8 @@ export default async function applyRuntimes<TResult: RequestResult>({
|
|
|
238
246
|
*/
|
|
239
247
|
let connections: Array<RuntimeConnection> = [];
|
|
240
248
|
bundleGraph.traverseBundles({
|
|
241
|
-
|
|
249
|
+
// @ts-expect-error TS2304
|
|
250
|
+
enter(bundle: Bundle) {
|
|
242
251
|
connections.push(...connectionMap.get(bundle));
|
|
243
252
|
},
|
|
244
253
|
});
|
|
@@ -389,7 +398,7 @@ export default async function applyRuntimes<TResult: RequestResult>({
|
|
|
389
398
|
return changedAssets;
|
|
390
399
|
}
|
|
391
400
|
|
|
392
|
-
function reconcileNewRuntimes<TResult
|
|
401
|
+
function reconcileNewRuntimes<TResult extends RequestResult>(
|
|
393
402
|
api: RunAPI<TResult>,
|
|
394
403
|
connections: Array<RuntimeConnection>,
|
|
395
404
|
optionsRef: SharedReference,
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {
|
|
4
2
|
ASTGenerator,
|
|
5
3
|
BundleBehavior,
|
|
@@ -16,7 +14,6 @@ import type {
|
|
|
16
14
|
Asset,
|
|
17
15
|
RequestInvalidation,
|
|
18
16
|
Dependency,
|
|
19
|
-
Environment,
|
|
20
17
|
AtlaspackOptions,
|
|
21
18
|
} from './types';
|
|
22
19
|
|
|
@@ -32,7 +29,7 @@ import PluginOptions from './public/PluginOptions';
|
|
|
32
29
|
import {blobToStream, hashFile} from '@atlaspack/utils';
|
|
33
30
|
import {hashFromOption, toInternalSourceLocation} from './utils';
|
|
34
31
|
import {
|
|
35
|
-
|
|
32
|
+
ProjectPath,
|
|
36
33
|
fromProjectPath,
|
|
37
34
|
fromProjectPathRelative,
|
|
38
35
|
} from './projectPath';
|
|
@@ -40,45 +37,57 @@ import {hashString, createAssetId as createAssetIdRust} from '@atlaspack/rust';
|
|
|
40
37
|
import {BundleBehavior as BundleBehaviorMap} from './types';
|
|
41
38
|
import {PluginTracer} from '@atlaspack/profiler';
|
|
42
39
|
import {identifierRegistry} from './IdentifierRegistry';
|
|
40
|
+
import type {EnvironmentRef} from './EnvironmentManager';
|
|
41
|
+
import {toEnvironmentId} from './EnvironmentManager';
|
|
43
42
|
|
|
44
|
-
export type AssetOptions = {
|
|
45
|
-
id?: string
|
|
46
|
-
committed?: boolean
|
|
47
|
-
code: string |
|
|
48
|
-
filePath: ProjectPath
|
|
49
|
-
query?:
|
|
50
|
-
type: string
|
|
51
|
-
contentKey?:
|
|
52
|
-
mapKey?:
|
|
53
|
-
astKey?:
|
|
54
|
-
astGenerator?:
|
|
55
|
-
dependencies?: Map<string, Dependency
|
|
56
|
-
bundleBehavior?:
|
|
57
|
-
isBundleSplittable?:
|
|
58
|
-
isSource: boolean
|
|
59
|
-
env:
|
|
60
|
-
meta?: Meta
|
|
61
|
-
outputHash?:
|
|
62
|
-
pipeline?:
|
|
63
|
-
stats: Stats
|
|
64
|
-
symbols?:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
|
43
|
+
export type AssetOptions = {
|
|
44
|
+
id?: string;
|
|
45
|
+
committed?: boolean;
|
|
46
|
+
code: string | undefined | null;
|
|
47
|
+
filePath: ProjectPath;
|
|
48
|
+
query?: string | null | undefined;
|
|
49
|
+
type: string;
|
|
50
|
+
contentKey?: string | null | undefined;
|
|
51
|
+
mapKey?: string | null | undefined;
|
|
52
|
+
astKey?: string | null | undefined;
|
|
53
|
+
astGenerator?: ASTGenerator | null | undefined;
|
|
54
|
+
dependencies?: Map<string, Dependency>;
|
|
55
|
+
bundleBehavior?: BundleBehavior | null | undefined;
|
|
56
|
+
isBundleSplittable?: boolean | null | undefined;
|
|
57
|
+
isSource: boolean;
|
|
58
|
+
env: EnvironmentRef;
|
|
59
|
+
meta?: Meta;
|
|
60
|
+
outputHash?: string | null | undefined;
|
|
61
|
+
pipeline?: string | null | undefined;
|
|
62
|
+
stats: Stats;
|
|
63
|
+
symbols?:
|
|
64
|
+
| Map<
|
|
65
|
+
symbol,
|
|
66
|
+
{
|
|
67
|
+
local: symbol;
|
|
68
|
+
loc: SourceLocation | null | undefined;
|
|
69
|
+
meta?: Meta | null | undefined;
|
|
70
|
+
}
|
|
71
|
+
>
|
|
72
|
+
| null
|
|
73
|
+
| undefined;
|
|
74
|
+
sideEffects?: boolean;
|
|
75
|
+
uniqueKey?: string | null | undefined;
|
|
76
|
+
plugin?: PackageName;
|
|
77
|
+
configPath?: ProjectPath;
|
|
78
|
+
configKeyPath?: string;
|
|
79
|
+
};
|
|
71
80
|
|
|
72
81
|
export function createAssetIdFromOptions(options: AssetOptions): string {
|
|
73
82
|
const data = {
|
|
74
|
-
environmentId: options.env
|
|
83
|
+
environmentId: toEnvironmentId(options.env),
|
|
75
84
|
filePath: options.filePath,
|
|
76
85
|
code: options.code,
|
|
77
86
|
pipeline: options.pipeline,
|
|
78
87
|
query: options.query,
|
|
79
88
|
uniqueKey: options.uniqueKey,
|
|
80
89
|
fileType: options.type,
|
|
81
|
-
};
|
|
90
|
+
} as const;
|
|
82
91
|
const id = createAssetIdRust(data);
|
|
83
92
|
identifierRegistry.addIdentifier('asset', id, data);
|
|
84
93
|
return id;
|
|
@@ -112,7 +121,7 @@ export function createAsset(
|
|
|
112
121
|
symbols:
|
|
113
122
|
options.symbols &&
|
|
114
123
|
new Map(
|
|
115
|
-
[...options.symbols].map(([k, v]) => [
|
|
124
|
+
[...options.symbols].map(([k, v]: [any, any]) => [
|
|
116
125
|
k,
|
|
117
126
|
{
|
|
118
127
|
local: v.local,
|
|
@@ -149,7 +158,7 @@ async function _generateFromAST(asset: CommittedAsset | UncommittedAsset) {
|
|
|
149
158
|
}
|
|
150
159
|
|
|
151
160
|
let pluginName = nullthrows(asset.value.plugin);
|
|
152
|
-
let {plugin} = await loadPlugin<Transformer<
|
|
161
|
+
let {plugin} = await loadPlugin<Transformer<unknown>>(
|
|
153
162
|
pluginName,
|
|
154
163
|
fromProjectPath(
|
|
155
164
|
asset.options.projectRoot,
|
|
@@ -200,6 +209,7 @@ export function getInvalidationId(invalidation: RequestInvalidation): string {
|
|
|
200
209
|
case 'option':
|
|
201
210
|
return 'option:' + invalidation.key;
|
|
202
211
|
default:
|
|
212
|
+
// @ts-expect-error TS2339
|
|
203
213
|
throw new Error('Unknown invalidation type: ' + invalidation.type);
|
|
204
214
|
}
|
|
205
215
|
}
|
|
@@ -240,9 +250,11 @@ export async function getInvalidationHash(
|
|
|
240
250
|
break;
|
|
241
251
|
case 'option':
|
|
242
252
|
hashes +=
|
|
253
|
+
// @ts-expect-error TS7053
|
|
243
254
|
invalidation.key + ':' + hashFromOption(options[invalidation.key]);
|
|
244
255
|
break;
|
|
245
256
|
default:
|
|
257
|
+
// @ts-expect-error TS2339
|
|
246
258
|
throw new Error('Unknown invalidation type: ' + invalidation.type);
|
|
247
259
|
}
|
|
248
260
|
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import {
|
|
2
|
+
atlaspackNapiCreate,
|
|
3
|
+
atlaspackNapiBuildAssetGraph,
|
|
4
|
+
atlaspackNapiRespondToFsEvents,
|
|
5
|
+
AtlaspackNapi,
|
|
6
|
+
Lmdb,
|
|
7
|
+
AtlaspackNapiOptions,
|
|
8
|
+
} from '@atlaspack/rust';
|
|
9
|
+
import {NapiWorkerPool} from './NapiWorkerPool';
|
|
10
|
+
import ThrowableDiagnostic from '@atlaspack/diagnostic';
|
|
11
|
+
import type {Event} from '@parcel/watcher';
|
|
12
|
+
import type {NapiWorkerPool as INapiWorkerPool} from '@atlaspack/types';
|
|
13
|
+
|
|
14
|
+
export type AtlaspackV3Options = {
|
|
15
|
+
fs?: AtlaspackNapiOptions['fs'];
|
|
16
|
+
packageManager?: AtlaspackNapiOptions['packageManager'];
|
|
17
|
+
threads?: number;
|
|
18
|
+
/**
|
|
19
|
+
* A reference to LMDB lite's rust object
|
|
20
|
+
*/
|
|
21
|
+
lmdb: Lmdb;
|
|
22
|
+
featureFlags?: {
|
|
23
|
+
[key: string]: string | boolean;
|
|
24
|
+
};
|
|
25
|
+
napiWorkerPool?: INapiWorkerPool;
|
|
26
|
+
} & AtlaspackNapiOptions['options'];
|
|
27
|
+
|
|
28
|
+
export class AtlaspackV3 {
|
|
29
|
+
_atlaspack_napi: AtlaspackNapi;
|
|
30
|
+
_napiWorkerPool: INapiWorkerPool;
|
|
31
|
+
_isDefaultNapiWorkerPool: boolean;
|
|
32
|
+
|
|
33
|
+
constructor(
|
|
34
|
+
atlaspack_napi: AtlaspackNapi,
|
|
35
|
+
napiWorkerPool: INapiWorkerPool,
|
|
36
|
+
isDefaultNapiWorkerPool: boolean,
|
|
37
|
+
) {
|
|
38
|
+
this._atlaspack_napi = atlaspack_napi;
|
|
39
|
+
this._napiWorkerPool = napiWorkerPool;
|
|
40
|
+
this._isDefaultNapiWorkerPool = isDefaultNapiWorkerPool;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static async create({
|
|
44
|
+
fs,
|
|
45
|
+
packageManager,
|
|
46
|
+
threads,
|
|
47
|
+
lmdb,
|
|
48
|
+
napiWorkerPool,
|
|
49
|
+
...options
|
|
50
|
+
}: AtlaspackV3Options): Promise<AtlaspackV3> {
|
|
51
|
+
// @ts-expect-error TS2339
|
|
52
|
+
options.logLevel = options.logLevel || 'error';
|
|
53
|
+
// @ts-expect-error TS2339
|
|
54
|
+
options.defaultTargetOptions = options.defaultTargetOptions || {};
|
|
55
|
+
// @ts-expect-error TS2339
|
|
56
|
+
options.defaultTargetOptions.engines =
|
|
57
|
+
// @ts-expect-error TS2339
|
|
58
|
+
options.defaultTargetOptions.engines || {};
|
|
59
|
+
|
|
60
|
+
let isDefaultNapiWorkerPool = false;
|
|
61
|
+
if (!napiWorkerPool) {
|
|
62
|
+
napiWorkerPool = new NapiWorkerPool();
|
|
63
|
+
isDefaultNapiWorkerPool = true;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// @ts-expect-error TS2488
|
|
67
|
+
const [internal, error] = await atlaspackNapiCreate(
|
|
68
|
+
{
|
|
69
|
+
fs,
|
|
70
|
+
packageManager,
|
|
71
|
+
threads,
|
|
72
|
+
options,
|
|
73
|
+
napiWorkerPool,
|
|
74
|
+
},
|
|
75
|
+
lmdb,
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
if (error !== null) {
|
|
79
|
+
throw new ThrowableDiagnostic({
|
|
80
|
+
diagnostic: error,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return new AtlaspackV3(internal, napiWorkerPool, isDefaultNapiWorkerPool);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
end(): void {
|
|
88
|
+
// If the worker pool was provided to us, don't shut it down, it's up to the provider.
|
|
89
|
+
if (this._isDefaultNapiWorkerPool) {
|
|
90
|
+
this._napiWorkerPool.shutdown();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
async buildAssetGraph(): Promise<any> {
|
|
95
|
+
// @ts-expect-error TS2488
|
|
96
|
+
let [graph, error] = await atlaspackNapiBuildAssetGraph(
|
|
97
|
+
this._atlaspack_napi,
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
if (error !== null) {
|
|
101
|
+
throw new ThrowableDiagnostic({
|
|
102
|
+
diagnostic: error,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return graph;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
async respondToFsEvents(events: Array<Event>): Promise<boolean> {
|
|
110
|
+
// @ts-expect-error TS2488
|
|
111
|
+
let [needsRebuild, error] = await atlaspackNapiRespondToFsEvents(
|
|
112
|
+
this._atlaspack_napi,
|
|
113
|
+
events,
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
if (error) {
|
|
117
|
+
throw new Error(error);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return needsRebuild;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// @flow
|
|
2
1
|
import type {NapiWorkerPool as INapiWorkerPool} from '@atlaspack/types';
|
|
3
2
|
import {Worker} from 'worker_threads';
|
|
4
3
|
import path from 'path';
|
|
5
4
|
import process from 'process';
|
|
5
|
+
// @ts-expect-error TS2724
|
|
6
6
|
import type {Transferable} from '@atlaspack/rust';
|
|
7
7
|
import {getAvailableThreads} from '@atlaspack/rust';
|
|
8
8
|
|
|
@@ -11,9 +11,9 @@ const ATLASPACK_NAPI_WORKERS =
|
|
|
11
11
|
process.env.ATLASPACK_NAPI_WORKERS &&
|
|
12
12
|
parseInt(process.env.ATLASPACK_NAPI_WORKERS, 10);
|
|
13
13
|
|
|
14
|
-
export type NapiWorkerPoolOptions = {
|
|
15
|
-
workerCount?: number
|
|
16
|
-
|
|
14
|
+
export type NapiWorkerPoolOptions = {
|
|
15
|
+
workerCount?: number;
|
|
16
|
+
};
|
|
17
17
|
|
|
18
18
|
export class NapiWorkerPool implements INapiWorkerPool {
|
|
19
19
|
#workers: Worker[];
|
|
@@ -21,6 +21,7 @@ export class NapiWorkerPool implements INapiWorkerPool {
|
|
|
21
21
|
#workerCount: number;
|
|
22
22
|
|
|
23
23
|
constructor({workerCount}: NapiWorkerPoolOptions = {workerCount: undefined}) {
|
|
24
|
+
// @ts-expect-error TS2322
|
|
24
25
|
this.#workerCount =
|
|
25
26
|
workerCount ?? ATLASPACK_NAPI_WORKERS ?? getAvailableThreads();
|
|
26
27
|
if (!this.#workerCount) {
|
|
@@ -33,7 +34,11 @@ export class NapiWorkerPool implements INapiWorkerPool {
|
|
|
33
34
|
for (let i = 0; i < this.#workerCount; i++) {
|
|
34
35
|
let worker = new Worker(WORKER_PATH);
|
|
35
36
|
this.#workers.push(worker);
|
|
36
|
-
this.#napiWorkers.push(
|
|
37
|
+
this.#napiWorkers.push(
|
|
38
|
+
new Promise((res: (result: Promise<never>) => void) =>
|
|
39
|
+
worker.once('message', res),
|
|
40
|
+
),
|
|
41
|
+
);
|
|
37
42
|
}
|
|
38
43
|
}
|
|
39
44
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
// @
|
|
2
|
-
|
|
1
|
+
// @ts-expect-error TS2305
|
|
3
2
|
import type {FileSystem, JsCallable} from '@atlaspack/rust';
|
|
4
3
|
import type {
|
|
5
4
|
Encoding,
|
|
@@ -9,6 +8,7 @@ import type {
|
|
|
9
8
|
|
|
10
9
|
import {jsCallable} from './jsCallable';
|
|
11
10
|
|
|
11
|
+
// @ts-expect-error TS2420
|
|
12
12
|
export class FileSystemV3 implements FileSystem {
|
|
13
13
|
#fs: IFileSystem;
|
|
14
14
|
|
|
@@ -20,7 +20,7 @@ export class FileSystemV3 implements FileSystem {
|
|
|
20
20
|
(path: FilePath) => this.#fs.realpathSync(path),
|
|
21
21
|
);
|
|
22
22
|
|
|
23
|
-
createDirectory: JsCallable<[FilePath], Promise<
|
|
23
|
+
createDirectory: JsCallable<[FilePath], Promise<undefined>> = jsCallable(
|
|
24
24
|
(path: FilePath) => this.#fs.mkdirp(path),
|
|
25
25
|
);
|
|
26
26
|
|
|
@@ -45,7 +45,6 @@ export class FileSystemV3 implements FileSystem {
|
|
|
45
45
|
readFile: JsCallable<[FilePath, Encoding], string> = jsCallable(
|
|
46
46
|
(path: string, encoding?: Encoding) => {
|
|
47
47
|
if (!encoding) {
|
|
48
|
-
// $FlowFixMe
|
|
49
48
|
return [...this.#fs.readFileSync(path)];
|
|
50
49
|
} else {
|
|
51
50
|
return this.#fs.readFileSync(path, encoding);
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
1
|
export {FileSystemV3} from './fs';
|
|
4
2
|
export {AtlaspackV3} from './AtlaspackV3';
|
|
5
3
|
export {NapiWorkerPool} from './NapiWorkerPool';
|
|
6
|
-
export
|
|
7
|
-
export
|
|
4
|
+
export * from './AtlaspackV3';
|
|
5
|
+
export * from './NapiWorkerPool';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function jsCallable<Args extends ReadonlyArray<unknown>, Return>(
|
|
2
|
+
fn: (...rest: Args) => Return | Promise<Return>,
|
|
3
|
+
): (...rest: Args) => Promise<Return> {
|
|
4
|
+
return async (...args: Args): Promise<Return> => {
|
|
5
|
+
try {
|
|
6
|
+
// Promises and is safe to use on non-promises
|
|
7
|
+
return await fn(...args);
|
|
8
|
+
} catch (error: any) {
|
|
9
|
+
// eslint-disable-next-line no-console
|
|
10
|
+
console.error(error);
|
|
11
|
+
throw error;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
1
|
import type {Symbol as NapiSymbol} from '@atlaspack/rust';
|
|
4
2
|
import type {
|
|
5
3
|
AssetSymbols as IAssetSymbols,
|
|
@@ -18,7 +16,7 @@ export class MutableDependencySymbols implements IMutableDependencySymbols {
|
|
|
18
16
|
return this.#symbols.size === 0;
|
|
19
17
|
}
|
|
20
18
|
|
|
21
|
-
constructor(inner:
|
|
19
|
+
constructor(inner: NapiSymbol[] | null | undefined | null) {
|
|
22
20
|
this.#symbols = new Map();
|
|
23
21
|
this.#locals = new Set();
|
|
24
22
|
for (const {exported, local, loc, isWeak} of inner || []) {
|
|
@@ -30,7 +28,7 @@ export class MutableDependencySymbols implements IMutableDependencySymbols {
|
|
|
30
28
|
throw new Error('MutableDependencySymbols.ensure()');
|
|
31
29
|
}
|
|
32
30
|
|
|
33
|
-
get(exportSymbol: Symbol):
|
|
31
|
+
get(exportSymbol: Symbol): DependencyAssetSymbol | null | undefined {
|
|
34
32
|
return this.#symbols.get(exportSymbol);
|
|
35
33
|
}
|
|
36
34
|
|
|
@@ -49,8 +47,8 @@ export class MutableDependencySymbols implements IMutableDependencySymbols {
|
|
|
49
47
|
set(
|
|
50
48
|
exportSymbol: Symbol,
|
|
51
49
|
local: Symbol,
|
|
52
|
-
loc
|
|
53
|
-
isWeak
|
|
50
|
+
loc?: SourceLocation | null,
|
|
51
|
+
isWeak?: boolean | null,
|
|
54
52
|
): void {
|
|
55
53
|
this.#locals.add(local);
|
|
56
54
|
this.#symbols.set(exportSymbol, {
|
|
@@ -69,7 +67,7 @@ export class MutableDependencySymbols implements IMutableDependencySymbols {
|
|
|
69
67
|
}
|
|
70
68
|
|
|
71
69
|
/*:: @@iterator(): Iterator<[Symbol, DependencyAssetSymbol]> { return ({}: any); } */
|
|
72
|
-
//
|
|
70
|
+
// @ts-expect-error TS2416
|
|
73
71
|
[Symbol.iterator]() {
|
|
74
72
|
return this.#symbols.values();
|
|
75
73
|
}
|
|
@@ -83,7 +81,7 @@ export class AssetSymbols implements IAssetSymbols {
|
|
|
83
81
|
return this.#symbols.size === 0;
|
|
84
82
|
}
|
|
85
83
|
|
|
86
|
-
constructor(inner:
|
|
84
|
+
constructor(inner: NapiSymbol[] | null | undefined | null) {
|
|
87
85
|
this.#symbols = new Map();
|
|
88
86
|
this.#locals = new Set();
|
|
89
87
|
for (const {exported, local, loc} of inner || []) {
|
|
@@ -91,7 +89,11 @@ export class AssetSymbols implements IAssetSymbols {
|
|
|
91
89
|
}
|
|
92
90
|
}
|
|
93
91
|
|
|
94
|
-
#set(
|
|
92
|
+
#set(
|
|
93
|
+
exportSymbol: Symbol,
|
|
94
|
+
local: Symbol,
|
|
95
|
+
loc?: SourceLocation | null,
|
|
96
|
+
): undefined {
|
|
95
97
|
this.#locals.add(local);
|
|
96
98
|
this.#symbols.set(exportSymbol, {
|
|
97
99
|
local,
|
|
@@ -100,7 +102,7 @@ export class AssetSymbols implements IAssetSymbols {
|
|
|
100
102
|
});
|
|
101
103
|
}
|
|
102
104
|
|
|
103
|
-
get(exportSymbol: Symbol):
|
|
105
|
+
get(exportSymbol: Symbol): AssetSymbol | null | undefined {
|
|
104
106
|
return this.#symbols.get(exportSymbol);
|
|
105
107
|
}
|
|
106
108
|
|
|
@@ -121,7 +123,7 @@ export class AssetSymbols implements IAssetSymbols {
|
|
|
121
123
|
}
|
|
122
124
|
|
|
123
125
|
/*:: @@iterator(): Iterator<[Symbol, AssetSymbol]> { return ({}: any); } */
|
|
124
|
-
//
|
|
126
|
+
// @ts-expect-error TS2416
|
|
125
127
|
[Symbol.iterator]() {
|
|
126
128
|
return this.#symbols.values();
|
|
127
129
|
}
|
|
@@ -135,13 +137,20 @@ export class MutableAssetSymbols implements IMutableAssetSymbols {
|
|
|
135
137
|
return this.#symbols.size === 0;
|
|
136
138
|
}
|
|
137
139
|
|
|
138
|
-
constructor(inner:
|
|
140
|
+
constructor(inner: NapiSymbol[] | null | undefined | null) {
|
|
139
141
|
this.#symbols = new Map();
|
|
140
142
|
this.#locals = new Set();
|
|
141
|
-
for (const {
|
|
142
|
-
|
|
143
|
+
for (const {
|
|
144
|
+
exported,
|
|
145
|
+
loc,
|
|
146
|
+
local,
|
|
147
|
+
isEsmExport,
|
|
148
|
+
selfReferenced,
|
|
149
|
+
isStaticBindingSafe,
|
|
150
|
+
} of inner || []) {
|
|
143
151
|
this.set(exported, local, loc, {
|
|
144
152
|
isEsm: isEsmExport,
|
|
153
|
+
isStaticBindingSafe,
|
|
145
154
|
selfReferenced,
|
|
146
155
|
});
|
|
147
156
|
}
|
|
@@ -167,6 +176,7 @@ export class MutableAssetSymbols implements IMutableAssetSymbols {
|
|
|
167
176
|
}
|
|
168
177
|
: undefined,
|
|
169
178
|
isEsmExport: Boolean(meta?.isEsm),
|
|
179
|
+
isStaticBindingSafe: Boolean(meta?.isStaticBindingSafe),
|
|
170
180
|
isWeak: false,
|
|
171
181
|
selfReferenced: Boolean(meta?.selfReferenced),
|
|
172
182
|
});
|
|
@@ -181,8 +191,8 @@ export class MutableAssetSymbols implements IMutableAssetSymbols {
|
|
|
181
191
|
set(
|
|
182
192
|
exportSymbol: Symbol,
|
|
183
193
|
local: Symbol,
|
|
184
|
-
loc
|
|
185
|
-
meta
|
|
194
|
+
loc?: SourceLocation | null,
|
|
195
|
+
meta?: Meta | null,
|
|
186
196
|
): void {
|
|
187
197
|
this.#locals.add(local);
|
|
188
198
|
this.#symbols.set(exportSymbol, {
|
|
@@ -192,7 +202,7 @@ export class MutableAssetSymbols implements IMutableAssetSymbols {
|
|
|
192
202
|
});
|
|
193
203
|
}
|
|
194
204
|
|
|
195
|
-
get(exportSymbol: Symbol):
|
|
205
|
+
get(exportSymbol: Symbol): AssetSymbol | null | undefined {
|
|
196
206
|
return this.#symbols.get(exportSymbol);
|
|
197
207
|
}
|
|
198
208
|
|
|
@@ -216,21 +226,21 @@ export class MutableAssetSymbols implements IMutableAssetSymbols {
|
|
|
216
226
|
}
|
|
217
227
|
|
|
218
228
|
/*:: @@iterator(): Iterator<[Symbol, AssetSymbol]> { return ({}: any); } */
|
|
219
|
-
//
|
|
229
|
+
// @ts-expect-error TS2416
|
|
220
230
|
[Symbol.iterator]() {
|
|
221
231
|
return this.#symbols.values();
|
|
222
232
|
}
|
|
223
233
|
}
|
|
224
234
|
|
|
225
|
-
export type AssetSymbol = {
|
|
226
|
-
local: Symbol
|
|
227
|
-
loc:
|
|
228
|
-
meta?:
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
export type DependencyAssetSymbol = {
|
|
232
|
-
local: Symbol
|
|
233
|
-
loc:
|
|
234
|
-
meta?:
|
|
235
|
-
isWeak: boolean
|
|
236
|
-
|
|
235
|
+
export type AssetSymbol = {
|
|
236
|
+
local: Symbol;
|
|
237
|
+
loc: SourceLocation | null | undefined;
|
|
238
|
+
meta?: Meta | null | undefined;
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
export type DependencyAssetSymbol = {
|
|
242
|
+
local: Symbol;
|
|
243
|
+
loc: SourceLocation | null | undefined;
|
|
244
|
+
meta?: Meta | null | undefined;
|
|
245
|
+
isWeak: boolean;
|
|
246
|
+
};
|