@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,13 +1,8 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import assert from 'assert';
|
|
4
2
|
import BundleGraph from '../src/BundleGraph';
|
|
5
3
|
import {DEFAULT_ENV, DEFAULT_TARGETS} from './test-utils';
|
|
6
4
|
import AssetGraph, {nodeFromAssetGroup} from '../src/AssetGraph';
|
|
7
|
-
import {
|
|
8
|
-
createAsset as _createAsset,
|
|
9
|
-
type AssetOptions,
|
|
10
|
-
} from '../src/assetUtils';
|
|
5
|
+
import {createAsset as _createAsset, AssetOptions} from '../src/assetUtils';
|
|
11
6
|
import {createDependency as _createDependency} from '../src/Dependency';
|
|
12
7
|
import {toProjectPath} from '../src/projectPath';
|
|
13
8
|
|
|
@@ -15,7 +10,7 @@ function createAsset(opts: AssetOptions) {
|
|
|
15
10
|
return _createAsset('/', opts);
|
|
16
11
|
}
|
|
17
12
|
|
|
18
|
-
function createDependency(opts) {
|
|
13
|
+
function createDependency(opts: any) {
|
|
19
14
|
return _createDependency('/', opts);
|
|
20
15
|
}
|
|
21
16
|
|
|
@@ -29,7 +24,7 @@ describe('BundleGraph', () => {
|
|
|
29
24
|
false,
|
|
30
25
|
);
|
|
31
26
|
assert.deepEqual(
|
|
32
|
-
getAssets(bundleGraph).map((a) => bundleGraph.getAssetPublicId(a)),
|
|
27
|
+
getAssets(bundleGraph).map((a: any) => bundleGraph.getAssetPublicId(a)),
|
|
33
28
|
['296TI', '4DGUq'],
|
|
34
29
|
);
|
|
35
30
|
});
|
|
@@ -40,15 +35,15 @@ describe('BundleGraph', () => {
|
|
|
40
35
|
false,
|
|
41
36
|
);
|
|
42
37
|
assert.deepEqual(
|
|
43
|
-
getAssets(bundleGraph).map((a) => bundleGraph.getAssetPublicId(a)),
|
|
38
|
+
getAssets(bundleGraph).map((a: any) => bundleGraph.getAssetPublicId(a)),
|
|
44
39
|
['296TI', '296TII'],
|
|
45
40
|
);
|
|
46
41
|
});
|
|
47
42
|
});
|
|
48
43
|
|
|
49
|
-
function getAssets(bundleGraph) {
|
|
50
|
-
let assets = [];
|
|
51
|
-
bundleGraph.traverse((node) => {
|
|
44
|
+
function getAssets(bundleGraph: any) {
|
|
45
|
+
let assets: Array<any> = [];
|
|
46
|
+
bundleGraph.traverse((node: any) => {
|
|
52
47
|
if (node.type === 'asset') {
|
|
53
48
|
assets.push(node.value);
|
|
54
49
|
}
|
|
@@ -56,7 +51,7 @@ function getAssets(bundleGraph) {
|
|
|
56
51
|
return assets;
|
|
57
52
|
}
|
|
58
53
|
|
|
59
|
-
const stats = {size: 0, time: 0};
|
|
54
|
+
const stats = {size: 0, time: 0} as const;
|
|
60
55
|
function createMockAssetGraph(ids: [string, string]) {
|
|
61
56
|
let graph = new AssetGraph();
|
|
62
57
|
graph.setRootConnections({entries: [toProjectPath('/', '/index')]});
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow
|
|
2
1
|
import expect from 'expect';
|
|
3
2
|
import {createDependencyId} from '../src/Dependency';
|
|
4
3
|
import {createEnvironment} from '../src/Environment';
|
|
@@ -27,7 +26,7 @@ describe('Dependency', () => {
|
|
|
27
26
|
specifierType: 'esm',
|
|
28
27
|
target: {
|
|
29
28
|
name: 'test-1234',
|
|
30
|
-
distDir:
|
|
29
|
+
distDir: 'dist-dir' as ProjectPath,
|
|
31
30
|
env: createEnvironment(),
|
|
32
31
|
publicUrl: 'public-url',
|
|
33
32
|
source: '1234',
|
|
@@ -39,7 +38,7 @@ describe('Dependency', () => {
|
|
|
39
38
|
specifierType: 'esm',
|
|
40
39
|
target: {
|
|
41
40
|
name: 'test-1234',
|
|
42
|
-
distDir:
|
|
41
|
+
distDir: 'dist-dir' as ProjectPath,
|
|
43
42
|
env: createEnvironment(),
|
|
44
43
|
publicUrl: 'public-url',
|
|
45
44
|
source: '5678', // <- this is different
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
1
|
import assert from 'assert';
|
|
3
2
|
import path from 'path';
|
|
4
3
|
import {md} from '@atlaspack/diagnostic';
|
|
@@ -12,7 +11,7 @@ const DEFAULT_OPTIONS = {
|
|
|
12
11
|
..._DEFAULT_OPTIONS.defaultTargetOptions,
|
|
13
12
|
sourceMaps: true,
|
|
14
13
|
},
|
|
15
|
-
};
|
|
14
|
+
} as const;
|
|
16
15
|
|
|
17
16
|
const INVALID_SOURCE_MISSING_FIXTURE_PATH = path.join(
|
|
18
17
|
__dirname,
|
|
@@ -44,7 +43,6 @@ describe('EntryResolver', function () {
|
|
|
44
43
|
|
|
45
44
|
it('rejects missing source in package.json', async function () {
|
|
46
45
|
this.timeout(10000);
|
|
47
|
-
// $FlowFixMe assert.rejects is Node 10+
|
|
48
46
|
await assert.rejects(
|
|
49
47
|
() => entryResolver.resolveEntry(INVALID_SOURCE_MISSING_FIXTURE_PATH),
|
|
50
48
|
{
|
|
@@ -84,7 +82,6 @@ describe('EntryResolver', function () {
|
|
|
84
82
|
});
|
|
85
83
|
it('rejects non-file source in package.json', async function () {
|
|
86
84
|
this.timeout(10000);
|
|
87
|
-
// $FlowFixMe assert.rejects is Node 10+
|
|
88
85
|
await assert.rejects(
|
|
89
86
|
() => entryResolver.resolveEntry(INVALID_SOURCE_NOT_FILE_FIXTURE_PATH),
|
|
90
87
|
{
|
|
@@ -123,7 +120,6 @@ describe('EntryResolver', function () {
|
|
|
123
120
|
});
|
|
124
121
|
it('rejects missing target source in package.json', async function () {
|
|
125
122
|
this.timeout(10000);
|
|
126
|
-
// $FlowFixMe assert.rejects is Node 10+
|
|
127
123
|
await assert.rejects(
|
|
128
124
|
() =>
|
|
129
125
|
entryResolver.resolveEntry(INVALID_TARGET_SOURCE_MISSING_FIXTURE_PATH),
|
|
@@ -167,7 +163,6 @@ describe('EntryResolver', function () {
|
|
|
167
163
|
});
|
|
168
164
|
it('rejects non-file target source in package.json', async function () {
|
|
169
165
|
this.timeout(10000);
|
|
170
|
-
// $FlowFixMe assert.rejects is Node 10+
|
|
171
166
|
await assert.rejects(
|
|
172
167
|
() =>
|
|
173
168
|
entryResolver.resolveEntry(INVALID_TARGET_SOURCE_NOT_FILE_FIXTURE_PATH),
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import expect from 'expect';
|
|
3
|
+
import {createEnvironment} from '../src/Environment';
|
|
4
|
+
import {initializeMonitoring} from '@atlaspack/rust';
|
|
5
|
+
import {fromEnvironmentId} from '../src/EnvironmentManager';
|
|
6
|
+
|
|
7
|
+
describe('Environment', () => {
|
|
8
|
+
it('assigns a default environment with nothing passed', () => {
|
|
9
|
+
assert.deepEqual(fromEnvironmentId(createEnvironment()), {
|
|
10
|
+
id: 'd821e85f6b50315e',
|
|
11
|
+
context: 'browser',
|
|
12
|
+
customEnv: undefined,
|
|
13
|
+
engines: {
|
|
14
|
+
browsers: ['> 0.25%'],
|
|
15
|
+
},
|
|
16
|
+
includeNodeModules: true,
|
|
17
|
+
outputFormat: 'global',
|
|
18
|
+
isLibrary: false,
|
|
19
|
+
shouldOptimize: false,
|
|
20
|
+
shouldScopeHoist: false,
|
|
21
|
+
sourceMap: undefined,
|
|
22
|
+
loc: undefined,
|
|
23
|
+
sourceType: 'module',
|
|
24
|
+
unstableSingleFileOutput: false,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('assigns a node context if a node engine is given', () => {
|
|
29
|
+
assert.deepEqual(
|
|
30
|
+
fromEnvironmentId(createEnvironment({engines: {node: '>= 10.0.0'}})),
|
|
31
|
+
{
|
|
32
|
+
id: '2320af923a717577',
|
|
33
|
+
context: 'node',
|
|
34
|
+
customEnv: undefined,
|
|
35
|
+
engines: {
|
|
36
|
+
node: '>= 10.0.0',
|
|
37
|
+
},
|
|
38
|
+
includeNodeModules: false,
|
|
39
|
+
outputFormat: 'commonjs',
|
|
40
|
+
isLibrary: false,
|
|
41
|
+
shouldOptimize: false,
|
|
42
|
+
shouldScopeHoist: false,
|
|
43
|
+
sourceMap: undefined,
|
|
44
|
+
loc: undefined,
|
|
45
|
+
sourceType: 'module',
|
|
46
|
+
unstableSingleFileOutput: false,
|
|
47
|
+
},
|
|
48
|
+
);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('assigns a browser context if browser engines are given', () => {
|
|
52
|
+
assert.deepEqual(
|
|
53
|
+
fromEnvironmentId(
|
|
54
|
+
createEnvironment({engines: {browsers: ['last 1 version']}}),
|
|
55
|
+
),
|
|
56
|
+
{
|
|
57
|
+
id: '75603271034eff15',
|
|
58
|
+
context: 'browser',
|
|
59
|
+
customEnv: undefined,
|
|
60
|
+
engines: {
|
|
61
|
+
browsers: ['last 1 version'],
|
|
62
|
+
},
|
|
63
|
+
includeNodeModules: true,
|
|
64
|
+
outputFormat: 'global',
|
|
65
|
+
isLibrary: false,
|
|
66
|
+
shouldOptimize: false,
|
|
67
|
+
shouldScopeHoist: false,
|
|
68
|
+
sourceMap: undefined,
|
|
69
|
+
loc: undefined,
|
|
70
|
+
sourceType: 'module',
|
|
71
|
+
unstableSingleFileOutput: false,
|
|
72
|
+
},
|
|
73
|
+
);
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it('assigns default engines for node', () => {
|
|
77
|
+
assert.deepEqual(fromEnvironmentId(createEnvironment({context: 'node'})), {
|
|
78
|
+
id: 'e45cc12216f7857d',
|
|
79
|
+
context: 'node',
|
|
80
|
+
customEnv: undefined,
|
|
81
|
+
engines: {
|
|
82
|
+
node: '>= 8.0.0',
|
|
83
|
+
},
|
|
84
|
+
includeNodeModules: false,
|
|
85
|
+
outputFormat: 'commonjs',
|
|
86
|
+
isLibrary: false,
|
|
87
|
+
shouldOptimize: false,
|
|
88
|
+
shouldScopeHoist: false,
|
|
89
|
+
sourceMap: undefined,
|
|
90
|
+
loc: undefined,
|
|
91
|
+
sourceType: 'module',
|
|
92
|
+
unstableSingleFileOutput: false,
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it('assigns default engines for browsers', () => {
|
|
97
|
+
assert.deepEqual(
|
|
98
|
+
fromEnvironmentId(createEnvironment({context: 'browser'})),
|
|
99
|
+
{
|
|
100
|
+
id: 'd821e85f6b50315e',
|
|
101
|
+
context: 'browser',
|
|
102
|
+
customEnv: undefined,
|
|
103
|
+
engines: {
|
|
104
|
+
browsers: ['> 0.25%'],
|
|
105
|
+
},
|
|
106
|
+
includeNodeModules: true,
|
|
107
|
+
outputFormat: 'global',
|
|
108
|
+
isLibrary: false,
|
|
109
|
+
shouldOptimize: false,
|
|
110
|
+
shouldScopeHoist: false,
|
|
111
|
+
sourceMap: undefined,
|
|
112
|
+
loc: undefined,
|
|
113
|
+
sourceType: 'module',
|
|
114
|
+
unstableSingleFileOutput: false,
|
|
115
|
+
},
|
|
116
|
+
);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it('assigns default engines for tesseract (same as web-worker)', () => {
|
|
120
|
+
assert.deepEqual(
|
|
121
|
+
fromEnvironmentId(createEnvironment({context: 'tesseract'})),
|
|
122
|
+
{
|
|
123
|
+
id: '9917be65326c5de9',
|
|
124
|
+
context: 'tesseract',
|
|
125
|
+
customEnv: undefined,
|
|
126
|
+
engines: {
|
|
127
|
+
browsers: ['> 0.25%'],
|
|
128
|
+
},
|
|
129
|
+
includeNodeModules: true,
|
|
130
|
+
outputFormat: 'global',
|
|
131
|
+
isLibrary: false,
|
|
132
|
+
shouldOptimize: false,
|
|
133
|
+
shouldScopeHoist: false,
|
|
134
|
+
sourceMap: undefined,
|
|
135
|
+
loc: undefined,
|
|
136
|
+
sourceType: 'module',
|
|
137
|
+
unstableSingleFileOutput: false,
|
|
138
|
+
},
|
|
139
|
+
);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
describe('createEnvironment', function () {
|
|
144
|
+
it('returns a stable hash', () => {
|
|
145
|
+
try {
|
|
146
|
+
initializeMonitoring();
|
|
147
|
+
} catch (_err: any) {
|
|
148
|
+
/* ignore */
|
|
149
|
+
}
|
|
150
|
+
const environment = createEnvironment({});
|
|
151
|
+
expect(fromEnvironmentId(environment).id).toEqual('d821e85f6b50315e');
|
|
152
|
+
});
|
|
153
|
+
});
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import nullthrows from 'nullthrows';
|
|
3
|
+
import sinon from 'sinon';
|
|
4
|
+
import {ATLASPACK_VERSION} from '../src/constants';
|
|
5
|
+
import {DEFAULT_FEATURE_FLAGS, setFeatureFlags} from '@atlaspack/feature-flags';
|
|
6
|
+
import {setAllEnvironments, getAllEnvironments} from '@atlaspack/rust';
|
|
7
|
+
import {
|
|
8
|
+
loadEnvironmentsFromCache,
|
|
9
|
+
writeEnvironmentsToCache,
|
|
10
|
+
} from '../src/EnvironmentManager';
|
|
11
|
+
import {DEFAULT_OPTIONS} from './test-utils';
|
|
12
|
+
import {LMDBLiteCache} from '@atlaspack/cache';
|
|
13
|
+
import {getEnvironmentHash} from '../src/Environment';
|
|
14
|
+
|
|
15
|
+
const options = {
|
|
16
|
+
...DEFAULT_OPTIONS,
|
|
17
|
+
cache: new LMDBLiteCache(DEFAULT_OPTIONS.cacheDir),
|
|
18
|
+
} as const;
|
|
19
|
+
|
|
20
|
+
describe('EnvironmentManager', () => {
|
|
21
|
+
const envWithId = (env: any) => {
|
|
22
|
+
return {
|
|
23
|
+
...env,
|
|
24
|
+
id: getEnvironmentHash(env),
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const env1 = envWithId({
|
|
29
|
+
context: 'browser',
|
|
30
|
+
engines: {browsers: ['> 0.25%']},
|
|
31
|
+
includeNodeModules: true,
|
|
32
|
+
outputFormat: 'global',
|
|
33
|
+
isLibrary: false,
|
|
34
|
+
shouldOptimize: false,
|
|
35
|
+
shouldScopeHoist: false,
|
|
36
|
+
loc: undefined,
|
|
37
|
+
sourceMap: undefined,
|
|
38
|
+
sourceType: 'module',
|
|
39
|
+
unstableSingleFileOutput: false,
|
|
40
|
+
} as const);
|
|
41
|
+
const env2 = envWithId({
|
|
42
|
+
context: 'node',
|
|
43
|
+
engines: {
|
|
44
|
+
browsers: [],
|
|
45
|
+
node: '>= 8',
|
|
46
|
+
},
|
|
47
|
+
includeNodeModules: false,
|
|
48
|
+
outputFormat: 'commonjs',
|
|
49
|
+
isLibrary: true,
|
|
50
|
+
shouldOptimize: true,
|
|
51
|
+
shouldScopeHoist: true,
|
|
52
|
+
loc: null,
|
|
53
|
+
sourceMap: null,
|
|
54
|
+
sourceType: 'module',
|
|
55
|
+
unstableSingleFileOutput: false,
|
|
56
|
+
} as const);
|
|
57
|
+
|
|
58
|
+
beforeEach(async () => {
|
|
59
|
+
await options.cache.ensure();
|
|
60
|
+
|
|
61
|
+
for (const key of options.cache.keys()) {
|
|
62
|
+
await options.cache.getNativeRef().delete(key);
|
|
63
|
+
}
|
|
64
|
+
setAllEnvironments([]);
|
|
65
|
+
|
|
66
|
+
setFeatureFlags({
|
|
67
|
+
...DEFAULT_FEATURE_FLAGS,
|
|
68
|
+
environmentDeduplication: true,
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('should store environments by ID in the cache', async () => {
|
|
73
|
+
setAllEnvironments([env1]);
|
|
74
|
+
await writeEnvironmentsToCache(options.cache);
|
|
75
|
+
|
|
76
|
+
const cachedEnv1 = await options.cache.get(
|
|
77
|
+
`Environment/${ATLASPACK_VERSION}/${env1.id}`,
|
|
78
|
+
);
|
|
79
|
+
assert.deepEqual(cachedEnv1, env1, 'Environment 1 should be cached');
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it('should list all environment IDs in the environment manager', async () => {
|
|
83
|
+
const environmentIds = [env1.id, env2.id];
|
|
84
|
+
setAllEnvironments([env1, env2]);
|
|
85
|
+
await writeEnvironmentsToCache(options.cache);
|
|
86
|
+
|
|
87
|
+
const cachedEnvIds: string[] | null | undefined = await options.cache.get(
|
|
88
|
+
`EnvironmentManager/${ATLASPACK_VERSION}`,
|
|
89
|
+
);
|
|
90
|
+
const cachedIdsArray = nullthrows(cachedEnvIds);
|
|
91
|
+
assert.equal(
|
|
92
|
+
cachedIdsArray.length,
|
|
93
|
+
environmentIds.length,
|
|
94
|
+
'Should have same number of IDs',
|
|
95
|
+
);
|
|
96
|
+
assert(
|
|
97
|
+
environmentIds.every((id: any) => cachedIdsArray.includes(id)),
|
|
98
|
+
'All environment IDs should be present in cache',
|
|
99
|
+
);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('should write all environments to cache using writeEnvironmentsToCache', async () => {
|
|
103
|
+
setAllEnvironments([env1, env2]);
|
|
104
|
+
await writeEnvironmentsToCache(options.cache);
|
|
105
|
+
|
|
106
|
+
// Verify each environment was stored individually
|
|
107
|
+
const cachedEnv1 = await options.cache.get(
|
|
108
|
+
`Environment/${ATLASPACK_VERSION}/${env1.id}`,
|
|
109
|
+
);
|
|
110
|
+
const cachedEnv2 = await options.cache.get(
|
|
111
|
+
`Environment/${ATLASPACK_VERSION}/${env2.id}`,
|
|
112
|
+
);
|
|
113
|
+
assert.deepEqual(cachedEnv1, env1);
|
|
114
|
+
assert.deepEqual(cachedEnv2, env2);
|
|
115
|
+
|
|
116
|
+
// Verify environment IDs were stored in manager
|
|
117
|
+
const cachedEnvIds: string[] | null | undefined = await options.cache.get(
|
|
118
|
+
`EnvironmentManager/${ATLASPACK_VERSION}`,
|
|
119
|
+
);
|
|
120
|
+
const cachedIdsArray = nullthrows(cachedEnvIds);
|
|
121
|
+
assert(
|
|
122
|
+
cachedIdsArray.length === 2 &&
|
|
123
|
+
[env1.id, env2.id].every((id: any) => cachedIdsArray.includes(id)),
|
|
124
|
+
'Environment IDs should be stored in manager',
|
|
125
|
+
);
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
it('should load environments from cache on loadRequestGraph on a subsequent build', async () => {
|
|
129
|
+
// Simulate cache written on a first build
|
|
130
|
+
setAllEnvironments([env1, env2]);
|
|
131
|
+
await writeEnvironmentsToCache(options.cache);
|
|
132
|
+
|
|
133
|
+
await loadEnvironmentsFromCache(options.cache);
|
|
134
|
+
|
|
135
|
+
const loadedEnvironments = getAllEnvironments();
|
|
136
|
+
assert.equal(
|
|
137
|
+
loadedEnvironments.length,
|
|
138
|
+
2,
|
|
139
|
+
'Should load 2 environments from cache',
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
const env1Loaded = loadedEnvironments.find((e: any) => e.id === env1.id);
|
|
143
|
+
const env2Loaded = loadedEnvironments.find((e: any) => e.id === env2.id);
|
|
144
|
+
|
|
145
|
+
assert.deepEqual(env1Loaded, env1);
|
|
146
|
+
assert.deepEqual(env2Loaded, env2);
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
it('should handle empty cache gracefully without calling setAllEnvironments', async () => {
|
|
150
|
+
const setAllEnvironmentsSpy = sinon.spy(setAllEnvironments);
|
|
151
|
+
|
|
152
|
+
await assert.doesNotReject(
|
|
153
|
+
loadEnvironmentsFromCache(options.cache),
|
|
154
|
+
'loadEnvironmentsFromCache should not throw when cache is empty',
|
|
155
|
+
);
|
|
156
|
+
|
|
157
|
+
assert.equal(
|
|
158
|
+
setAllEnvironmentsSpy.callCount,
|
|
159
|
+
0,
|
|
160
|
+
'setAllEnvironments should not be called when loading from empty cache',
|
|
161
|
+
);
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
it('should not load environments from a different version', async () => {
|
|
165
|
+
const setAllEnvironmentsSpy = sinon.spy(setAllEnvironments);
|
|
166
|
+
const differentVersion = '2.17.2'; // A different version than ATLASPACK_VERSION
|
|
167
|
+
|
|
168
|
+
// Store an environment with a different version
|
|
169
|
+
await options.cache.set(`Environment/${differentVersion}/${env1.id}`, env1);
|
|
170
|
+
await options.cache.set(`EnvironmentManager/${differentVersion}`, [
|
|
171
|
+
env1.id,
|
|
172
|
+
]);
|
|
173
|
+
|
|
174
|
+
await loadEnvironmentsFromCache(options.cache);
|
|
175
|
+
|
|
176
|
+
assert.equal(
|
|
177
|
+
setAllEnvironmentsSpy.callCount,
|
|
178
|
+
0,
|
|
179
|
+
'setAllEnvironments should not be called when loading from different version',
|
|
180
|
+
);
|
|
181
|
+
const loadedEnvironments = getAllEnvironments();
|
|
182
|
+
assert.equal(
|
|
183
|
+
loadedEnvironments.length,
|
|
184
|
+
0,
|
|
185
|
+
'Should not load any environments from different version',
|
|
186
|
+
);
|
|
187
|
+
});
|
|
188
|
+
});
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import assert from 'assert';
|
|
4
2
|
import fs from 'fs';
|
|
5
3
|
import sinon from 'sinon';
|
|
6
4
|
import {IdentifierRegistry} from '../src/IdentifierRegistry';
|
|
7
5
|
|
|
8
6
|
describe('IdentifierRegistry', () => {
|
|
9
|
-
let mkdirSyncStub;
|
|
10
|
-
let fsStub;
|
|
7
|
+
let mkdirSyncStub: any;
|
|
8
|
+
let fsStub: any;
|
|
11
9
|
|
|
12
10
|
beforeEach(() => {
|
|
13
11
|
mkdirSyncStub = sinon.stub(fs, 'mkdirSync');
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import assert from 'assert';
|
|
4
2
|
import UncommittedAsset from '../src/UncommittedAsset';
|
|
5
|
-
import {
|
|
6
|
-
createAsset as _createAsset,
|
|
7
|
-
type AssetOptions,
|
|
8
|
-
} from '../src/assetUtils';
|
|
3
|
+
import {createAsset as _createAsset, AssetOptions} from '../src/assetUtils';
|
|
9
4
|
import {createEnvironment} from '../src/Environment';
|
|
10
5
|
import {DEFAULT_OPTIONS} from './test-utils';
|
|
11
6
|
import {toProjectPath} from '../src/projectPath';
|
|
@@ -14,7 +9,7 @@ function createAsset(opts: AssetOptions) {
|
|
|
14
9
|
return _createAsset('/', opts);
|
|
15
10
|
}
|
|
16
11
|
|
|
17
|
-
const stats = {time: 0, size: 0};
|
|
12
|
+
const stats = {time: 0, size: 0} as const;
|
|
18
13
|
|
|
19
14
|
describe('InternalAsset', () => {
|
|
20
15
|
it('only includes connected files once per filePath', () => {
|
|
File without changes
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import assert from 'assert';
|
|
4
2
|
import {Asset, MutableAsset} from '../src/public/Asset';
|
|
5
3
|
import UncommittedAsset from '../src/UncommittedAsset';
|
|
6
|
-
import {
|
|
7
|
-
createAsset as _createAsset,
|
|
8
|
-
type AssetOptions,
|
|
9
|
-
} from '../src/assetUtils';
|
|
4
|
+
import {createAsset as _createAsset, AssetOptions} from '../src/assetUtils';
|
|
10
5
|
import {createEnvironment} from '../src/Environment';
|
|
11
6
|
import {DEFAULT_OPTIONS} from './test-utils';
|
|
12
7
|
import {toProjectPath} from '../src/projectPath';
|
|
@@ -16,7 +11,7 @@ function createAsset(opts: AssetOptions) {
|
|
|
16
11
|
}
|
|
17
12
|
|
|
18
13
|
describe('Public Asset', () => {
|
|
19
|
-
let internalAsset;
|
|
14
|
+
let internalAsset: any;
|
|
20
15
|
beforeEach(() => {
|
|
21
16
|
internalAsset = new UncommittedAsset({
|
|
22
17
|
options: DEFAULT_OPTIONS,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
1
|
import type {Bundle as InternalBundle} from '../src/types';
|
|
3
2
|
|
|
4
3
|
import assert from 'assert';
|
|
@@ -12,7 +11,7 @@ import {toProjectPath} from '../src/projectPath';
|
|
|
12
11
|
|
|
13
12
|
describe('Public Bundle', () => {
|
|
14
13
|
let internalBundle: InternalBundle;
|
|
15
|
-
let bundleGraph;
|
|
14
|
+
let bundleGraph: any;
|
|
16
15
|
beforeEach(() => {
|
|
17
16
|
let env = createEnvironment({});
|
|
18
17
|
internalBundle = {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import {createEnvironment} from '../src/Environment';
|
|
3
|
+
import {fromEnvironmentId} from '../src/EnvironmentManager';
|
|
4
|
+
import PublicEnvironment from '../src/public/Environment';
|
|
5
|
+
import {DEFAULT_OPTIONS} from './test-utils';
|
|
6
|
+
|
|
7
|
+
describe('Public Environment', () => {
|
|
8
|
+
it('has correct support data for ChromeAndroid', () => {
|
|
9
|
+
let env = new PublicEnvironment(
|
|
10
|
+
fromEnvironmentId(
|
|
11
|
+
createEnvironment({
|
|
12
|
+
context: 'browser',
|
|
13
|
+
engines: {
|
|
14
|
+
browsers: ['last 1 Chrome version', 'last 1 ChromeAndroid version'],
|
|
15
|
+
},
|
|
16
|
+
outputFormat: 'esmodule',
|
|
17
|
+
}),
|
|
18
|
+
),
|
|
19
|
+
DEFAULT_OPTIONS,
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
assert(env.supports('esmodules'));
|
|
23
|
+
assert(env.supports('dynamic-import'));
|
|
24
|
+
assert(env.supports('worker-module'));
|
|
25
|
+
assert(env.supports('import-meta-url'));
|
|
26
|
+
assert(env.supports('arrow-functions'));
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('correctly identifies tesseract context', () => {
|
|
30
|
+
let env = new PublicEnvironment(
|
|
31
|
+
fromEnvironmentId(
|
|
32
|
+
createEnvironment({
|
|
33
|
+
context: 'tesseract',
|
|
34
|
+
engines: {
|
|
35
|
+
browsers: ['last 1 Chrome version'],
|
|
36
|
+
},
|
|
37
|
+
}),
|
|
38
|
+
),
|
|
39
|
+
DEFAULT_OPTIONS,
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
assert(env.isTesseract());
|
|
43
|
+
assert(env.isBrowser());
|
|
44
|
+
assert(env.isIsolated());
|
|
45
|
+
assert(!env.isNode());
|
|
46
|
+
assert(!env.isElectron());
|
|
47
|
+
assert(!env.isWorklet());
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @flow strict-local
|
|
2
|
-
|
|
3
1
|
import type {Dependency} from '@atlaspack/types';
|
|
4
2
|
|
|
5
3
|
import assert from 'assert';
|
|
@@ -8,10 +6,7 @@ import InternalBundleGraph from '../src/BundleGraph';
|
|
|
8
6
|
import MutableBundleGraph from '../src/public/MutableBundleGraph';
|
|
9
7
|
import {DEFAULT_ENV, DEFAULT_TARGETS, DEFAULT_OPTIONS} from './test-utils';
|
|
10
8
|
import AssetGraph, {nodeFromAssetGroup} from '../src/AssetGraph';
|
|
11
|
-
import {
|
|
12
|
-
createAsset as _createAsset,
|
|
13
|
-
type AssetOptions,
|
|
14
|
-
} from '../src/assetUtils';
|
|
9
|
+
import {createAsset as _createAsset, AssetOptions} from '../src/assetUtils';
|
|
15
10
|
import {createDependency as _createDependency} from '../src/Dependency';
|
|
16
11
|
import nullthrows from 'nullthrows';
|
|
17
12
|
import {toProjectPath} from '../src/projectPath';
|
|
@@ -20,7 +15,7 @@ function createAsset(opts: AssetOptions) {
|
|
|
20
15
|
return _createAsset('/', opts);
|
|
21
16
|
}
|
|
22
17
|
|
|
23
|
-
function createDependency(opts) {
|
|
18
|
+
function createDependency(opts: any) {
|
|
24
19
|
return _createDependency('/', opts);
|
|
25
20
|
}
|
|
26
21
|
|
|
@@ -38,7 +33,7 @@ describe('PublicMutableBundleGraph', () => {
|
|
|
38
33
|
DEFAULT_OPTIONS,
|
|
39
34
|
);
|
|
40
35
|
|
|
41
|
-
mutableBundleGraph.traverse((node) => {
|
|
36
|
+
mutableBundleGraph.traverse((node: any) => {
|
|
42
37
|
if (
|
|
43
38
|
node.type === 'dependency' &&
|
|
44
39
|
mutableBundleGraph.getResolvedAsset(node.value)
|
|
@@ -59,7 +54,7 @@ describe('PublicMutableBundleGraph', () => {
|
|
|
59
54
|
});
|
|
60
55
|
|
|
61
56
|
assert.deepEqual(
|
|
62
|
-
internalBundleGraph.getBundles().map((b) => b.publicId),
|
|
57
|
+
internalBundleGraph.getBundles().map((b: any) => b.publicId),
|
|
63
58
|
['8LVYC', 'd7Pd5'],
|
|
64
59
|
);
|
|
65
60
|
});
|
|
@@ -75,7 +70,7 @@ describe('PublicMutableBundleGraph', () => {
|
|
|
75
70
|
);
|
|
76
71
|
|
|
77
72
|
let dependency: Dependency;
|
|
78
|
-
mutableBundleGraph.traverse((node, _, actions) => {
|
|
73
|
+
mutableBundleGraph.traverse((node: any, _: any, actions: any) => {
|
|
79
74
|
if (node.type === 'dependency') {
|
|
80
75
|
dependency = node.value;
|
|
81
76
|
actions.stop();
|
|
@@ -96,7 +91,7 @@ describe('PublicMutableBundleGraph', () => {
|
|
|
96
91
|
});
|
|
97
92
|
});
|
|
98
93
|
|
|
99
|
-
const stats = {size: 0, time: 0};
|
|
94
|
+
const stats = {size: 0, time: 0} as const;
|
|
100
95
|
function createMockAssetGraph() {
|
|
101
96
|
let graph = new AssetGraph();
|
|
102
97
|
graph.setRootConnections({
|