@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,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {
|
|
4
2
|
FilePath,
|
|
5
3
|
FileCreateInvalidation,
|
|
@@ -20,6 +18,14 @@ import baseX from 'base-x';
|
|
|
20
18
|
import {hashObject} from '@atlaspack/utils';
|
|
21
19
|
import {fromProjectPath, toProjectPath} from './projectPath';
|
|
22
20
|
|
|
21
|
+
// flow-to-ts helpers
|
|
22
|
+
export type SetComplement<A, B extends A> = A extends B ? never : A;
|
|
23
|
+
export type Diff<T extends U, U extends object> = Pick<
|
|
24
|
+
T,
|
|
25
|
+
SetComplement<keyof T, keyof U>
|
|
26
|
+
>;
|
|
27
|
+
// /flow-to-ts helpers
|
|
28
|
+
|
|
23
29
|
const base62 = baseX(
|
|
24
30
|
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
|
|
25
31
|
);
|
|
@@ -28,7 +34,7 @@ export function getBundleGroupId(bundleGroup: BundleGroup): string {
|
|
|
28
34
|
return 'bundle_group:' + bundleGroup.target.name + bundleGroup.entryAssetId;
|
|
29
35
|
}
|
|
30
36
|
|
|
31
|
-
export function assertSignalNotAborted(signal
|
|
37
|
+
export function assertSignalNotAborted(signal?: AbortSignal | null): void {
|
|
32
38
|
if (signal && signal.aborted) {
|
|
33
39
|
throw new BuildAbortError();
|
|
34
40
|
}
|
|
@@ -40,7 +46,7 @@ export class BuildAbortError extends Error {
|
|
|
40
46
|
|
|
41
47
|
export function getPublicId(
|
|
42
48
|
id: string,
|
|
43
|
-
alreadyExists: (string) => boolean,
|
|
49
|
+
alreadyExists: (arg1: string) => boolean,
|
|
44
50
|
): string {
|
|
45
51
|
let encoded = base62.encode(Buffer.from(id, 'hex'));
|
|
46
52
|
for (let end = 5; end <= encoded.length; end++) {
|
|
@@ -74,7 +80,7 @@ const ignoreOptions = new Set([
|
|
|
74
80
|
|
|
75
81
|
export function optionsProxy(
|
|
76
82
|
options: AtlaspackOptions,
|
|
77
|
-
invalidateOnOptionChange: (string) => void,
|
|
83
|
+
invalidateOnOptionChange: (arg1: string) => void,
|
|
78
84
|
addDevDependency?: (devDep: InternalDevDepOptions) => void,
|
|
79
85
|
): AtlaspackOptions {
|
|
80
86
|
let packageManager = addDevDependency
|
|
@@ -85,7 +91,7 @@ export function optionsProxy(
|
|
|
85
91
|
)
|
|
86
92
|
: options.packageManager;
|
|
87
93
|
return new Proxy(options, {
|
|
88
|
-
get(target, prop) {
|
|
94
|
+
get(target: AtlaspackOptions, prop: string) {
|
|
89
95
|
if (prop === 'packageManager') {
|
|
90
96
|
return packageManager;
|
|
91
97
|
}
|
|
@@ -94,6 +100,7 @@ export function optionsProxy(
|
|
|
94
100
|
invalidateOnOptionChange(prop);
|
|
95
101
|
}
|
|
96
102
|
|
|
103
|
+
// @ts-expect-error TS7053
|
|
97
104
|
return target[prop];
|
|
98
105
|
},
|
|
99
106
|
});
|
|
@@ -104,7 +111,7 @@ function proxyPackageManager(
|
|
|
104
111
|
packageManager: PackageManager,
|
|
105
112
|
addDevDependency: (devDep: InternalDevDepOptions) => void,
|
|
106
113
|
): PackageManager {
|
|
107
|
-
let require = (id: string, from: string, opts) => {
|
|
114
|
+
let require = (id: string, from: string, opts: any) => {
|
|
108
115
|
addDevDependency({
|
|
109
116
|
specifier: id,
|
|
110
117
|
resolveFrom: toProjectPath(projectRoot, from),
|
|
@@ -114,19 +121,20 @@ function proxyPackageManager(
|
|
|
114
121
|
};
|
|
115
122
|
|
|
116
123
|
return new Proxy(packageManager, {
|
|
117
|
-
get(target, prop) {
|
|
124
|
+
get(target: PackageManager, prop: string) {
|
|
118
125
|
if (prop === 'require') {
|
|
119
126
|
return require;
|
|
120
127
|
}
|
|
121
128
|
|
|
122
|
-
//
|
|
129
|
+
// @ts-expect-error TS7053
|
|
123
130
|
return target[prop];
|
|
124
131
|
},
|
|
125
132
|
});
|
|
126
133
|
}
|
|
127
134
|
|
|
128
|
-
export function hashFromOption(value:
|
|
135
|
+
export function hashFromOption(value: unknown): string {
|
|
129
136
|
if (typeof value === 'object' && value != null) {
|
|
137
|
+
// @ts-expect-error TS2345
|
|
130
138
|
return hashObject(value);
|
|
131
139
|
}
|
|
132
140
|
|
|
@@ -137,18 +145,25 @@ export function invalidateOnFileCreateToInternal(
|
|
|
137
145
|
projectRoot: FilePath,
|
|
138
146
|
invalidation: FileCreateInvalidation,
|
|
139
147
|
): InternalFileCreateInvalidation {
|
|
148
|
+
// @ts-expect-error TS2339
|
|
140
149
|
if (invalidation.glob != null) {
|
|
150
|
+
// @ts-expect-error TS2339
|
|
141
151
|
return {glob: toProjectPath(projectRoot, invalidation.glob)};
|
|
152
|
+
// @ts-expect-error TS2339
|
|
142
153
|
} else if (invalidation.filePath != null) {
|
|
143
154
|
return {
|
|
155
|
+
// @ts-expect-error TS2339
|
|
144
156
|
filePath: toProjectPath(projectRoot, invalidation.filePath),
|
|
145
157
|
};
|
|
146
158
|
} else {
|
|
147
159
|
invariant(
|
|
160
|
+
// @ts-expect-error TS2339
|
|
148
161
|
invalidation.aboveFilePath != null && invalidation.fileName != null,
|
|
149
162
|
);
|
|
150
163
|
return {
|
|
164
|
+
// @ts-expect-error TS2339
|
|
151
165
|
fileName: invalidation.fileName,
|
|
166
|
+
// @ts-expect-error TS2339
|
|
152
167
|
aboveFilePath: toProjectPath(projectRoot, invalidation.aboveFilePath),
|
|
153
168
|
};
|
|
154
169
|
}
|
|
@@ -167,8 +182,8 @@ export function createInvalidations(): Invalidations {
|
|
|
167
182
|
|
|
168
183
|
export function fromInternalSourceLocation(
|
|
169
184
|
projectRoot: FilePath,
|
|
170
|
-
loc
|
|
171
|
-
):
|
|
185
|
+
loc?: InternalSourceLocation | null,
|
|
186
|
+
): SourceLocation | null | undefined {
|
|
172
187
|
if (!loc) return loc;
|
|
173
188
|
|
|
174
189
|
return {
|
|
@@ -180,8 +195,8 @@ export function fromInternalSourceLocation(
|
|
|
180
195
|
|
|
181
196
|
export function toInternalSourceLocation(
|
|
182
197
|
projectRoot: FilePath,
|
|
183
|
-
loc
|
|
184
|
-
):
|
|
198
|
+
loc?: SourceLocation | null,
|
|
199
|
+
): InternalSourceLocation | null | undefined {
|
|
185
200
|
if (!loc) return loc;
|
|
186
201
|
|
|
187
202
|
return {
|
|
@@ -190,17 +205,33 @@ export function toInternalSourceLocation(
|
|
|
190
205
|
end: loc.end,
|
|
191
206
|
};
|
|
192
207
|
}
|
|
193
|
-
export function toInternalSymbols<
|
|
208
|
+
export function toInternalSymbols<
|
|
209
|
+
T extends {
|
|
210
|
+
loc: SourceLocation | null | undefined;
|
|
211
|
+
},
|
|
212
|
+
>(
|
|
194
213
|
projectRoot: FilePath,
|
|
195
|
-
symbols
|
|
196
|
-
):
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
214
|
+
symbols?: Map<symbol, T> | null,
|
|
215
|
+
):
|
|
216
|
+
| Map<
|
|
217
|
+
symbol,
|
|
218
|
+
{
|
|
219
|
+
loc: InternalSourceLocation | null | undefined;
|
|
220
|
+
} & Partial<
|
|
221
|
+
Diff<
|
|
222
|
+
T,
|
|
223
|
+
{
|
|
224
|
+
loc: SourceLocation | null | undefined;
|
|
225
|
+
}
|
|
226
|
+
>
|
|
227
|
+
>
|
|
228
|
+
>
|
|
229
|
+
| null
|
|
230
|
+
| undefined {
|
|
200
231
|
if (!symbols) return symbols;
|
|
201
232
|
|
|
202
233
|
return new Map(
|
|
203
|
-
[...symbols].map(([k, {loc, ...v}]) => [
|
|
234
|
+
[...symbols].map(([k, {loc, ...v}]: [any, any]) => [
|
|
204
235
|
k,
|
|
205
236
|
{
|
|
206
237
|
...v,
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {
|
|
4
2
|
Bundle,
|
|
5
3
|
AtlaspackOptions,
|
|
@@ -14,16 +12,17 @@ import invariant from 'assert';
|
|
|
14
12
|
import nullthrows from 'nullthrows';
|
|
15
13
|
import BundleGraph from './BundleGraph';
|
|
16
14
|
import Transformation, {
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
TransformationOpts,
|
|
16
|
+
TransformationResult,
|
|
19
17
|
} from './Transformation';
|
|
20
18
|
import {reportWorker, report} from './ReporterRunner';
|
|
21
|
-
import PackagerRunner, {
|
|
22
|
-
import Validation, {
|
|
19
|
+
import PackagerRunner, {RunPackagerRunnerResult} from './PackagerRunner';
|
|
20
|
+
import Validation, {ValidationOpts} from './Validation';
|
|
23
21
|
import {AtlaspackConfig} from './AtlaspackConfig';
|
|
24
22
|
import {registerCoreWithSerializer} from './registerCoreWithSerializer';
|
|
25
23
|
import {clearBuildCaches} from '@atlaspack/build-cache';
|
|
26
|
-
import {init as initSourcemaps} from '@
|
|
24
|
+
import {init as initSourcemaps} from '@atlaspack/source-map';
|
|
25
|
+
// @ts-expect-error TS2305
|
|
27
26
|
import {init as initRust} from '@atlaspack/rust';
|
|
28
27
|
import WorkerFarm from '@atlaspack/workers';
|
|
29
28
|
import {setFeatureFlags} from '@atlaspack/feature-flags';
|
|
@@ -32,43 +31,48 @@ import '@atlaspack/cache'; // register with serializer
|
|
|
32
31
|
import '@atlaspack/package-manager';
|
|
33
32
|
import '@atlaspack/fs';
|
|
34
33
|
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
34
|
+
// flow-to-ts helpers
|
|
35
|
+
export type SetComplement<A, B extends A> = A extends B ? never : A;
|
|
36
|
+
export type Diff<T extends U, U extends object> = Pick<
|
|
37
|
+
T,
|
|
38
|
+
SetComplement<keyof T, keyof U>
|
|
39
|
+
>;
|
|
40
|
+
// /flow-to-ts helpers
|
|
43
41
|
|
|
44
42
|
registerCoreWithSerializer();
|
|
45
43
|
|
|
46
44
|
// Remove the workerApi type from the TransformationOpts and ValidationOpts types:
|
|
47
45
|
// https://github.com/facebook/flow/issues/2835
|
|
48
|
-
type WorkerTransformationOpts =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
optionsRef: SharedReference
|
|
56
|
-
configCachePath: string
|
|
57
|
-
|
|
46
|
+
type WorkerTransformationOpts = Diff<
|
|
47
|
+
TransformationOpts,
|
|
48
|
+
{
|
|
49
|
+
workerApi: unknown;
|
|
50
|
+
options: AtlaspackOptions;
|
|
51
|
+
}
|
|
52
|
+
> & {
|
|
53
|
+
optionsRef: SharedReference;
|
|
54
|
+
configCachePath: string;
|
|
55
|
+
};
|
|
56
|
+
type WorkerValidationOpts = Diff<
|
|
57
|
+
// @ts-expect-error TS2344
|
|
58
|
+
ValidationOpts,
|
|
59
|
+
{
|
|
60
|
+
workerApi: unknown;
|
|
61
|
+
options: AtlaspackOptions;
|
|
62
|
+
}
|
|
63
|
+
> & {
|
|
64
|
+
optionsRef: SharedReference;
|
|
65
|
+
configCachePath: string;
|
|
66
|
+
};
|
|
58
67
|
|
|
59
68
|
// TODO: this should eventually be replaced by an in memory cache layer
|
|
60
69
|
let atlaspackConfigCache = new Map();
|
|
61
70
|
|
|
62
|
-
function loadOptions(ref, workerApi) {
|
|
63
|
-
return nullthrows(
|
|
64
|
-
((workerApi.getSharedReference(
|
|
65
|
-
ref,
|
|
66
|
-
// $FlowFixMe
|
|
67
|
-
): any): AtlaspackOptions),
|
|
68
|
-
);
|
|
71
|
+
function loadOptions(ref: SharedReference, workerApi: WorkerApi) {
|
|
72
|
+
return nullthrows(workerApi.getSharedReference(ref) as AtlaspackOptions);
|
|
69
73
|
}
|
|
70
74
|
|
|
71
|
-
async function loadConfig(cachePath, options) {
|
|
75
|
+
async function loadConfig(cachePath: string, options: AtlaspackOptions) {
|
|
72
76
|
let config = atlaspackConfigCache.get(cachePath);
|
|
73
77
|
if (config && config.options === options) {
|
|
74
78
|
return config;
|
|
@@ -101,6 +105,7 @@ export async function runTransform(
|
|
|
101
105
|
return new Transformation({
|
|
102
106
|
workerApi,
|
|
103
107
|
options,
|
|
108
|
+
// @ts-expect-error TS2783
|
|
104
109
|
config,
|
|
105
110
|
...rest,
|
|
106
111
|
}).run();
|
|
@@ -116,8 +121,10 @@ export async function runValidate(
|
|
|
116
121
|
|
|
117
122
|
return new Validation({
|
|
118
123
|
workerApi,
|
|
124
|
+
// @ts-expect-error TS2783
|
|
119
125
|
report: reportWorker.bind(null, workerApi),
|
|
120
126
|
options,
|
|
127
|
+
// @ts-expect-error TS2783
|
|
121
128
|
config,
|
|
122
129
|
...rest,
|
|
123
130
|
}).run();
|
|
@@ -133,15 +140,15 @@ export async function runPackage(
|
|
|
133
140
|
previousDevDeps,
|
|
134
141
|
invalidDevDeps,
|
|
135
142
|
previousInvalidations,
|
|
136
|
-
}: {
|
|
137
|
-
bundle: Bundle
|
|
138
|
-
bundleGraphReference: SharedReference
|
|
139
|
-
configCachePath: string
|
|
140
|
-
optionsRef: SharedReference
|
|
141
|
-
previousDevDeps: Map<string, string
|
|
142
|
-
invalidDevDeps: Array<DevDepSpecifier
|
|
143
|
-
previousInvalidations: Array<RequestInvalidation
|
|
144
|
-
|
|
143
|
+
}: {
|
|
144
|
+
bundle: Bundle;
|
|
145
|
+
bundleGraphReference: SharedReference;
|
|
146
|
+
configCachePath: string;
|
|
147
|
+
optionsRef: SharedReference;
|
|
148
|
+
previousDevDeps: Map<string, string>;
|
|
149
|
+
invalidDevDeps: Array<DevDepSpecifier>;
|
|
150
|
+
previousInvalidations: Array<RequestInvalidation>;
|
|
151
|
+
},
|
|
145
152
|
): Promise<RunPackagerRunnerResult> {
|
|
146
153
|
let bundleGraph = workerApi.getSharedReference(bundleGraphReference);
|
|
147
154
|
invariant(bundleGraph instanceof BundleGraph);
|
|
@@ -151,6 +158,7 @@ export async function runPackage(
|
|
|
151
158
|
let runner = new PackagerRunner({
|
|
152
159
|
config: atlaspackConfig,
|
|
153
160
|
options,
|
|
161
|
+
// @ts-expect-error TS2322
|
|
154
162
|
report: WorkerFarm.isWorker() ? reportWorker.bind(null, workerApi) : report,
|
|
155
163
|
previousDevDeps,
|
|
156
164
|
previousInvalidations,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
1
|
import assert from 'assert';
|
|
3
2
|
import invariant from 'assert';
|
|
4
3
|
import nullthrows from 'nullthrows';
|
|
4
|
+
import {serialize, deserialize} from '@atlaspack/build-cache';
|
|
5
5
|
import AssetGraph, {
|
|
6
6
|
nodeFromAssetGroup,
|
|
7
7
|
nodeFromDep,
|
|
@@ -9,24 +9,21 @@ import AssetGraph, {
|
|
|
9
9
|
nodeFromAsset,
|
|
10
10
|
} from '../src/AssetGraph';
|
|
11
11
|
import {createDependency as _createDependency} from '../src/Dependency';
|
|
12
|
-
import {
|
|
13
|
-
createAsset as _createAsset,
|
|
14
|
-
type AssetOptions,
|
|
15
|
-
} from '../src/assetUtils';
|
|
12
|
+
import {createAsset as _createAsset, AssetOptions} from '../src/assetUtils';
|
|
16
13
|
import {DEFAULT_ENV, DEFAULT_TARGETS} from './test-utils';
|
|
17
14
|
import {toProjectPath as _toProjectPath} from '../src/projectPath';
|
|
18
15
|
|
|
19
|
-
const stats = {size: 0, time: 0};
|
|
16
|
+
const stats = {size: 0, time: 0} as const;
|
|
20
17
|
|
|
21
18
|
function createAsset(opts: AssetOptions) {
|
|
22
19
|
return _createAsset('/', opts);
|
|
23
20
|
}
|
|
24
21
|
|
|
25
|
-
function createDependency(opts) {
|
|
22
|
+
function createDependency(opts: any) {
|
|
26
23
|
return _createDependency('/', opts);
|
|
27
24
|
}
|
|
28
25
|
|
|
29
|
-
function toProjectPath(p) {
|
|
26
|
+
function toProjectPath(p: any) {
|
|
30
27
|
return _toProjectPath('/', p);
|
|
31
28
|
}
|
|
32
29
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {InitialAtlaspackOptions} from '@atlaspack/types';
|
|
4
2
|
import WorkerFarm from '@atlaspack/workers';
|
|
3
|
+
import {FILE_CONFIG_NO_REPORTERS} from '@atlaspack/test-utils';
|
|
5
4
|
// flowlint-next-line untyped-import:off
|
|
6
5
|
import sinon from 'sinon';
|
|
7
6
|
import assert from 'assert';
|
|
@@ -11,7 +10,7 @@ import Atlaspack, {createWorkerFarm} from '../src/Atlaspack';
|
|
|
11
10
|
describe('Atlaspack', function () {
|
|
12
11
|
this.timeout(75000);
|
|
13
12
|
|
|
14
|
-
let workerFarm;
|
|
13
|
+
let workerFarm: any;
|
|
15
14
|
before(() => {
|
|
16
15
|
workerFarm = createWorkerFarm();
|
|
17
16
|
});
|
|
@@ -22,7 +21,6 @@ describe('Atlaspack', function () {
|
|
|
22
21
|
workerFarm.ending = true;
|
|
23
22
|
let atlaspack = createAtlaspack({workerFarm});
|
|
24
23
|
|
|
25
|
-
// $FlowFixMe
|
|
26
24
|
await assert.rejects(() => atlaspack.run(), {
|
|
27
25
|
name: 'Error',
|
|
28
26
|
message: 'Supplied WorkerFarm is ending',
|
|
@@ -32,7 +30,7 @@ describe('Atlaspack', function () {
|
|
|
32
30
|
});
|
|
33
31
|
|
|
34
32
|
describe('atlaspack.end()', () => {
|
|
35
|
-
let endSpy;
|
|
33
|
+
let endSpy: any;
|
|
36
34
|
beforeEach(() => {
|
|
37
35
|
endSpy = sinon.spy(WorkerFarm.prototype, 'end');
|
|
38
36
|
});
|
|
@@ -78,7 +76,7 @@ describe('Atlaspack', function () {
|
|
|
78
76
|
describe('AtlaspackAPI', function () {
|
|
79
77
|
this.timeout(75000);
|
|
80
78
|
|
|
81
|
-
let workerFarm;
|
|
79
|
+
let workerFarm: any;
|
|
82
80
|
beforeEach(() => {
|
|
83
81
|
workerFarm = createWorkerFarm();
|
|
84
82
|
});
|
|
@@ -132,10 +130,7 @@ function createAtlaspack(opts?: InitialAtlaspackOptions) {
|
|
|
132
130
|
return new Atlaspack({
|
|
133
131
|
entries: [path.join(__dirname, 'fixtures/atlaspack/index.js')],
|
|
134
132
|
logLevel: 'info',
|
|
135
|
-
defaultConfig:
|
|
136
|
-
path.dirname(require.resolve('@atlaspack/test-utils')),
|
|
137
|
-
'.parcelrc-no-reporters',
|
|
138
|
-
),
|
|
133
|
+
defaultConfig: FILE_CONFIG_NO_REPORTERS,
|
|
139
134
|
shouldDisableCache: true,
|
|
140
135
|
...opts,
|
|
141
136
|
});
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import assert from 'assert';
|
|
4
2
|
import path from 'path';
|
|
5
3
|
|
|
@@ -138,7 +136,6 @@ describe('AtlaspackConfig', () => {
|
|
|
138
136
|
);
|
|
139
137
|
let atlaspackConfig = new AtlaspackConfig(config, DEFAULT_OPTIONS);
|
|
140
138
|
|
|
141
|
-
// $FlowFixMe
|
|
142
139
|
await assert.rejects(() => atlaspackConfig.getTransformers('test.js'), {
|
|
143
140
|
name: 'Error',
|
|
144
141
|
diagnostics: [
|
|
@@ -173,7 +170,6 @@ describe('AtlaspackConfig', () => {
|
|
|
173
170
|
);
|
|
174
171
|
let code = await DEFAULT_OPTIONS.inputFS.readFile(configFilePath, 'utf8');
|
|
175
172
|
|
|
176
|
-
// $FlowFixMe
|
|
177
173
|
await assert.rejects(
|
|
178
174
|
() => parseAndProcessConfig(configFilePath, code, DEFAULT_OPTIONS),
|
|
179
175
|
{
|
|
@@ -263,7 +259,6 @@ describe('AtlaspackConfig', () => {
|
|
|
263
259
|
'index.json',
|
|
264
260
|
);
|
|
265
261
|
|
|
266
|
-
// $FlowFixMe
|
|
267
262
|
await assert.rejects(() => atlaspackConfig.getTransformers('test.js'), {
|
|
268
263
|
name: 'Error',
|
|
269
264
|
diagnostics: [
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow
|
|
2
1
|
import assert from 'assert';
|
|
3
2
|
import path from 'path';
|
|
4
3
|
|
|
@@ -24,7 +23,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
24
23
|
it('should require pipeline to be an array', () => {
|
|
25
24
|
assert.throws(() => {
|
|
26
25
|
validateConfigFile(
|
|
27
|
-
// $FlowExpectedError[incompatible-call]
|
|
28
26
|
{
|
|
29
27
|
filePath: '.parcelrc',
|
|
30
28
|
resolvers: '123',
|
|
@@ -39,7 +37,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
39
37
|
validateConfigFile(
|
|
40
38
|
{
|
|
41
39
|
filePath: '.parcelrc',
|
|
42
|
-
// $FlowExpectedError[incompatible-call]
|
|
43
40
|
resolvers: [1, '123', 5],
|
|
44
41
|
},
|
|
45
42
|
'.parcelrc',
|
|
@@ -72,7 +69,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
72
69
|
validateConfigFile(
|
|
73
70
|
{
|
|
74
71
|
filePath: '.parcelrc',
|
|
75
|
-
// $FlowExpectedError[incompatible-call]
|
|
76
72
|
transformers: ['parcel-transformer-test', '...'],
|
|
77
73
|
},
|
|
78
74
|
'.parcelrc',
|
|
@@ -83,7 +79,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
83
79
|
it('should require extends to be a string or array of strings', () => {
|
|
84
80
|
assert.throws(() => {
|
|
85
81
|
validateConfigFile(
|
|
86
|
-
// $FlowExpectedError[incompatible-call]
|
|
87
82
|
{
|
|
88
83
|
filePath: '.parcelrc',
|
|
89
84
|
extends: 2,
|
|
@@ -96,7 +91,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
96
91
|
validateConfigFile(
|
|
97
92
|
{
|
|
98
93
|
filePath: '.parcelrc',
|
|
99
|
-
// $FlowExpectedError[incompatible-call]
|
|
100
94
|
extends: [2, 7],
|
|
101
95
|
},
|
|
102
96
|
'.parcelrc',
|
|
@@ -126,9 +120,9 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
126
120
|
assert.throws(
|
|
127
121
|
() => {
|
|
128
122
|
validateConfigFile(
|
|
129
|
-
// $FlowExpectedError
|
|
130
123
|
{
|
|
131
124
|
extends: '@atlaspack/config-default',
|
|
125
|
+
|
|
132
126
|
'@atlaspack/transformer-js': {
|
|
133
127
|
inlineEnvironment: false,
|
|
134
128
|
},
|
|
@@ -136,10 +130,10 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
136
130
|
'.parcelrc',
|
|
137
131
|
);
|
|
138
132
|
},
|
|
139
|
-
(e) => {
|
|
133
|
+
(e: any) => {
|
|
140
134
|
assert.strictEqual(
|
|
141
135
|
e.diagnostics[0].codeFrames[0].codeHighlights[0].message,
|
|
142
|
-
`Possible values: "$schema", "bundler", "resolvers", "transformers", "validators", "namers", "packagers", "optimizers", "compressors", "reporters", "runtimes", "filePath", "resolveFrom"`,
|
|
136
|
+
`Possible values: "$schema", "bundler", "resolvers", "transformers", "validators", "namers", "packagers", "optimizers", "compressors", "reporters", "runtimes", "unstable\\_alias", "filePath", "resolveFrom"`,
|
|
143
137
|
);
|
|
144
138
|
return true;
|
|
145
139
|
},
|
|
@@ -396,7 +390,7 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
396
390
|
});
|
|
397
391
|
|
|
398
392
|
it('should call a merger function if provided', () => {
|
|
399
|
-
let merger = (a, b) => [a, b];
|
|
393
|
+
let merger = (a: any, b: any) => [a, b];
|
|
400
394
|
assert.deepEqual(
|
|
401
395
|
mergeMaps({'*.js': 'base-js'}, {'*.js': 'ext-js'}, merger),
|
|
402
396
|
{'*.js': ['base-js', 'ext-js']},
|
|
@@ -512,7 +506,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
512
506
|
validators: {},
|
|
513
507
|
};
|
|
514
508
|
|
|
515
|
-
// $FlowFixMe
|
|
516
509
|
assert.deepEqual(mergeConfigs(base, ext), merged);
|
|
517
510
|
});
|
|
518
511
|
});
|
|
@@ -608,7 +601,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
608
601
|
column: 14,
|
|
609
602
|
};
|
|
610
603
|
|
|
611
|
-
// $FlowFixMe[prop-missing]
|
|
612
604
|
await assert.rejects(
|
|
613
605
|
() => parseAndProcessConfig(configFilePath, code, DEFAULT_OPTIONS),
|
|
614
606
|
{
|
|
@@ -646,7 +638,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
646
638
|
);
|
|
647
639
|
let code = await DEFAULT_OPTIONS.inputFS.readFile(configFilePath, 'utf8');
|
|
648
640
|
|
|
649
|
-
// $FlowFixMe[prop-missing]
|
|
650
641
|
await assert.rejects(
|
|
651
642
|
() => parseAndProcessConfig(configFilePath, code, DEFAULT_OPTIONS),
|
|
652
643
|
{
|
|
@@ -685,7 +676,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
685
676
|
);
|
|
686
677
|
let code = await DEFAULT_OPTIONS.inputFS.readFile(configFilePath, 'utf8');
|
|
687
678
|
|
|
688
|
-
// $FlowFixMe[prop-missing]
|
|
689
679
|
await assert.rejects(
|
|
690
680
|
() => parseAndProcessConfig(configFilePath, code, DEFAULT_OPTIONS),
|
|
691
681
|
{
|
|
@@ -724,7 +714,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
724
714
|
);
|
|
725
715
|
let code = await DEFAULT_OPTIONS.inputFS.readFile(configFilePath, 'utf8');
|
|
726
716
|
|
|
727
|
-
// $FlowFixMe[prop-missing]
|
|
728
717
|
await assert.rejects(
|
|
729
718
|
() => parseAndProcessConfig(configFilePath, code, DEFAULT_OPTIONS),
|
|
730
719
|
{
|
|
@@ -763,7 +752,6 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
763
752
|
);
|
|
764
753
|
let code = await DEFAULT_OPTIONS.inputFS.readFile(configFilePath, 'utf8');
|
|
765
754
|
|
|
766
|
-
// $FlowFixMe[prop-missing]
|
|
767
755
|
await assert.rejects(
|
|
768
756
|
() => parseAndProcessConfig(configFilePath, code, DEFAULT_OPTIONS),
|
|
769
757
|
{
|
|
@@ -813,6 +801,78 @@ describe('AtlaspackConfigRequest', () => {
|
|
|
813
801
|
});
|
|
814
802
|
});
|
|
815
803
|
|
|
804
|
+
describe('additionalReporters', () => {
|
|
805
|
+
it('should deduplicate reporters by packageName', async () => {
|
|
806
|
+
const configPath = path.join(
|
|
807
|
+
__dirname,
|
|
808
|
+
'fixtures',
|
|
809
|
+
'config-with-reporters',
|
|
810
|
+
'.parcelrc',
|
|
811
|
+
);
|
|
812
|
+
|
|
813
|
+
const options = {
|
|
814
|
+
...DEFAULT_OPTIONS,
|
|
815
|
+
projectRoot: path.join(__dirname, 'fixtures', 'config-with-reporters'),
|
|
816
|
+
config: configPath,
|
|
817
|
+
additionalReporters: [
|
|
818
|
+
{
|
|
819
|
+
packageName: '@atlaspack/reporter-cli',
|
|
820
|
+
resolveFrom: '/custom/path',
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
packageName: '@atlaspack/reporter-dev-server',
|
|
824
|
+
resolveFrom: '/another/path',
|
|
825
|
+
},
|
|
826
|
+
],
|
|
827
|
+
};
|
|
828
|
+
|
|
829
|
+
const result = await resolveAtlaspackConfig(options);
|
|
830
|
+
assert(result !== null && result !== undefined);
|
|
831
|
+
|
|
832
|
+
const {config} = result;
|
|
833
|
+
|
|
834
|
+
// With feature flag enabled, should have 3 reporters (with deduplication)
|
|
835
|
+
assert(
|
|
836
|
+
config.reporters && config.reporters.length === 3,
|
|
837
|
+
'Should have exactly 3 reporters with deduplication',
|
|
838
|
+
);
|
|
839
|
+
|
|
840
|
+
const cliReporter = config.reporters?.find(
|
|
841
|
+
(r) => r.packageName === '@atlaspack/reporter-cli',
|
|
842
|
+
);
|
|
843
|
+
const bundleAnalyzerReporter = config.reporters?.find(
|
|
844
|
+
(r) => r.packageName === '@atlaspack/reporter-bundle-analyzer',
|
|
845
|
+
);
|
|
846
|
+
const devServerReporter = config.reporters?.find(
|
|
847
|
+
(r) => r.packageName === '@atlaspack/reporter-dev-server',
|
|
848
|
+
);
|
|
849
|
+
|
|
850
|
+
assert(cliReporter, 'CLI reporter should exist');
|
|
851
|
+
assert.equal(
|
|
852
|
+
cliReporter.resolveFrom,
|
|
853
|
+
'/custom/path',
|
|
854
|
+
'CLI reporter should use additional reporter resolveFrom',
|
|
855
|
+
);
|
|
856
|
+
|
|
857
|
+
assert(
|
|
858
|
+
bundleAnalyzerReporter,
|
|
859
|
+
'Bundle analyzer reporter should exist from original config',
|
|
860
|
+
);
|
|
861
|
+
|
|
862
|
+
assert(devServerReporter, 'Dev server reporter should exist');
|
|
863
|
+
assert.equal(devServerReporter.resolveFrom, '/another/path');
|
|
864
|
+
|
|
865
|
+
const cliReporters = config.reporters?.filter(
|
|
866
|
+
(r) => r.packageName === '@atlaspack/reporter-cli',
|
|
867
|
+
);
|
|
868
|
+
assert.equal(
|
|
869
|
+
cliReporters?.length,
|
|
870
|
+
1,
|
|
871
|
+
'Should have exactly one CLI reporter after deduplication',
|
|
872
|
+
);
|
|
873
|
+
});
|
|
874
|
+
});
|
|
875
|
+
|
|
816
876
|
describe('resolve', () => {
|
|
817
877
|
it('should return null if there is no .parcelrc file found', async () => {
|
|
818
878
|
let resolved = await resolveAtlaspackConfig(DEFAULT_OPTIONS);
|