@atlaspack/core 2.16.2-canary.37 → 2.16.2-canary.371

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.
Files changed (367) hide show
  1. package/CHANGELOG.md +941 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +666 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1740 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +545 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1360 -0
  16. package/dist/SymbolPropagation.js +620 -0
  17. package/dist/TargetDescriptor.schema.js +143 -0
  18. package/dist/Transformation.js +514 -0
  19. package/dist/UncommittedAsset.js +315 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +383 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +74 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +81 -0
  25. package/dist/atlaspack-v3/fs.js +52 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +98 -0
  30. package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
  31. package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
  32. package/dist/atlaspack-v3/worker/compat/index.js +25 -0
  33. package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
  34. package/dist/atlaspack-v3/worker/compat/plugin-config.js +64 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
  37. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  38. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  39. package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
  40. package/dist/atlaspack-v3/worker/worker.js +381 -0
  41. package/dist/constants.js +17 -0
  42. package/dist/dumpGraphToGraphViz.js +281 -0
  43. package/dist/index.js +62 -0
  44. package/dist/loadAtlaspackPlugin.js +128 -0
  45. package/dist/loadDotEnv.js +41 -0
  46. package/dist/projectPath.js +83 -0
  47. package/dist/public/Asset.js +279 -0
  48. package/dist/public/Bundle.js +224 -0
  49. package/dist/public/BundleGraph.js +371 -0
  50. package/dist/public/BundleGroup.js +53 -0
  51. package/dist/public/Config.js +286 -0
  52. package/dist/public/Dependency.js +138 -0
  53. package/dist/public/Environment.js +278 -0
  54. package/dist/public/MutableBundleGraph.js +277 -0
  55. package/dist/public/PluginOptions.js +80 -0
  56. package/dist/public/Symbols.js +248 -0
  57. package/dist/public/Target.js +69 -0
  58. package/dist/registerCoreWithSerializer.js +38 -0
  59. package/dist/requests/AssetGraphRequest.js +439 -0
  60. package/dist/requests/AssetGraphRequestRust.js +273 -0
  61. package/dist/requests/AssetRequest.js +130 -0
  62. package/dist/requests/AtlaspackBuildRequest.js +92 -0
  63. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  64. package/dist/requests/BundleGraphRequest.js +447 -0
  65. package/dist/requests/ConfigRequest.js +246 -0
  66. package/dist/requests/DevDepRequest.js +204 -0
  67. package/dist/requests/EntryRequest.js +314 -0
  68. package/dist/requests/PackageRequest.js +72 -0
  69. package/dist/requests/PathRequest.js +349 -0
  70. package/dist/requests/TargetRequest.js +1311 -0
  71. package/dist/requests/ValidationRequest.js +49 -0
  72. package/dist/requests/WriteBundleRequest.js +254 -0
  73. package/dist/requests/WriteBundlesRequest.js +184 -0
  74. package/dist/requests/asset-graph-diff.js +128 -0
  75. package/dist/requests/asset-graph-dot.js +131 -0
  76. package/dist/resolveOptions.js +269 -0
  77. package/dist/rustWorkerThreadDylibHack.js +19 -0
  78. package/dist/serializerCore.browser.js +43 -0
  79. package/dist/summarizeRequest.js +39 -0
  80. package/dist/types.js +31 -0
  81. package/dist/utils.js +172 -0
  82. package/dist/worker.js +123 -0
  83. package/lib/AssetGraph.js +111 -14
  84. package/lib/Atlaspack.js +94 -41
  85. package/lib/AtlaspackConfig.js +15 -3
  86. package/lib/AtlaspackConfig.schema.js +16 -5
  87. package/lib/BundleGraph.js +197 -32
  88. package/lib/CommittedAsset.js +7 -1
  89. package/lib/Dependency.js +8 -2
  90. package/lib/Environment.js +15 -8
  91. package/lib/EnvironmentManager.js +143 -0
  92. package/lib/IdentifierRegistry.js +1 -3
  93. package/lib/InternalConfig.js +3 -2
  94. package/lib/PackagerRunner.js +90 -27
  95. package/lib/ReporterRunner.js +6 -9
  96. package/lib/RequestTracker.js +266 -156
  97. package/lib/SymbolPropagation.js +42 -18
  98. package/lib/TargetDescriptor.schema.js +7 -1
  99. package/lib/Transformation.js +66 -15
  100. package/lib/UncommittedAsset.js +33 -12
  101. package/lib/Validation.js +18 -2
  102. package/lib/applyRuntimes.js +96 -4
  103. package/lib/assetUtils.js +15 -5
  104. package/lib/atlaspack-v3/AtlaspackV3.js +52 -14
  105. package/lib/atlaspack-v3/NapiWorkerPool.js +28 -1
  106. package/lib/atlaspack-v3/fs.js +3 -1
  107. package/lib/atlaspack-v3/index.js +28 -1
  108. package/lib/atlaspack-v3/jsCallable.js +0 -2
  109. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  110. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  111. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  112. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  113. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +15 -10
  114. package/lib/atlaspack-v3/worker/compat/plugin-config.js +13 -34
  115. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -0
  116. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  117. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  118. package/lib/atlaspack-v3/worker/index.js +3 -0
  119. package/lib/atlaspack-v3/worker/side-effect-detector.js +215 -0
  120. package/lib/atlaspack-v3/worker/worker.js +199 -71
  121. package/lib/constants.js +0 -1
  122. package/lib/dumpGraphToGraphViz.js +71 -16
  123. package/lib/index.js +45 -1
  124. package/lib/loadDotEnv.js +4 -1
  125. package/lib/projectPath.js +5 -0
  126. package/lib/public/Asset.js +21 -11
  127. package/lib/public/Bundle.js +15 -16
  128. package/lib/public/BundleGraph.js +25 -22
  129. package/lib/public/BundleGroup.js +4 -5
  130. package/lib/public/Config.js +118 -17
  131. package/lib/public/Dependency.js +8 -6
  132. package/lib/public/Environment.js +12 -7
  133. package/lib/public/MutableBundleGraph.js +54 -12
  134. package/lib/public/PluginOptions.js +2 -2
  135. package/lib/public/Symbols.js +11 -11
  136. package/lib/public/Target.js +7 -6
  137. package/lib/registerCoreWithSerializer.js +5 -3
  138. package/lib/requests/AssetGraphRequest.js +74 -27
  139. package/lib/requests/AssetGraphRequestRust.js +140 -64
  140. package/lib/requests/AssetRequest.js +23 -6
  141. package/lib/requests/AtlaspackBuildRequest.js +43 -4
  142. package/lib/requests/AtlaspackConfigRequest.js +27 -16
  143. package/lib/requests/BundleGraphRequest.js +41 -24
  144. package/lib/requests/ConfigRequest.js +53 -4
  145. package/lib/requests/DevDepRequest.js +31 -5
  146. package/lib/requests/EntryRequest.js +2 -0
  147. package/lib/requests/PackageRequest.js +16 -2
  148. package/lib/requests/PathRequest.js +24 -3
  149. package/lib/requests/TargetRequest.js +122 -57
  150. package/lib/requests/ValidationRequest.js +5 -1
  151. package/lib/requests/WriteBundleRequest.js +39 -11
  152. package/lib/requests/WriteBundlesRequest.js +51 -4
  153. package/lib/requests/asset-graph-diff.js +12 -7
  154. package/lib/requests/asset-graph-dot.js +1 -7
  155. package/lib/resolveOptions.js +38 -11
  156. package/lib/rustWorkerThreadDylibHack.js +0 -1
  157. package/lib/types/AssetGraph.d.ts +80 -0
  158. package/lib/types/Atlaspack.d.ts +52 -0
  159. package/lib/types/AtlaspackConfig.d.ts +65 -0
  160. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  161. package/lib/types/BundleGraph.d.ts +184 -0
  162. package/lib/types/CommittedAsset.d.ts +23 -0
  163. package/lib/types/Dependency.d.ts +44 -0
  164. package/lib/types/Environment.d.ts +11 -0
  165. package/lib/types/EnvironmentManager.d.ts +37 -0
  166. package/lib/types/IdentifierRegistry.d.ts +6 -0
  167. package/lib/types/InternalConfig.d.ts +23 -0
  168. package/lib/types/PackagerRunner.d.ts +85 -0
  169. package/lib/types/ReporterRunner.d.ts +25 -0
  170. package/lib/types/RequestTracker.d.ts +385 -0
  171. package/lib/types/SymbolPropagation.d.ts +11 -0
  172. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  173. package/lib/types/Transformation.d.ts +72 -0
  174. package/lib/types/UncommittedAsset.d.ts +61 -0
  175. package/lib/types/Validation.d.ts +37 -0
  176. package/lib/types/applyRuntimes.d.ts +25 -0
  177. package/lib/types/assetUtils.d.ts +42 -0
  178. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +34 -0
  179. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  180. package/lib/types/atlaspack-v3/fs.d.ts +12 -0
  181. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  182. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  183. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  184. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  185. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  186. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  187. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
  188. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  189. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  190. package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
  191. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  192. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  193. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  194. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  195. package/lib/types/atlaspack-v3/worker/worker.d.ts +80 -0
  196. package/lib/types/constants.d.ts +13 -0
  197. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  198. package/lib/types/index.d.ts +8 -0
  199. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  200. package/lib/types/loadDotEnv.d.ts +3 -0
  201. package/lib/types/projectPath.d.ts +19 -0
  202. package/lib/types/public/Asset.d.ts +74 -0
  203. package/lib/types/public/Bundle.d.ts +45 -0
  204. package/lib/types/public/BundleGraph.d.ts +72 -0
  205. package/lib/types/public/BundleGroup.d.ts +12 -0
  206. package/lib/types/public/Config.d.ts +75 -0
  207. package/lib/types/public/Dependency.d.ts +32 -0
  208. package/lib/types/public/Environment.d.ts +34 -0
  209. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  210. package/lib/types/public/PluginOptions.d.ts +25 -0
  211. package/lib/types/public/Symbols.d.ts +81 -0
  212. package/lib/types/public/Target.d.ts +16 -0
  213. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  214. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  215. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  216. package/lib/types/requests/AssetRequest.d.ts +16 -0
  217. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  218. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  219. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  220. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  221. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  222. package/lib/types/requests/EntryRequest.d.ts +36 -0
  223. package/lib/types/requests/PackageRequest.d.ts +27 -0
  224. package/lib/types/requests/PathRequest.d.ts +48 -0
  225. package/lib/types/requests/TargetRequest.d.ts +48 -0
  226. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  227. package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
  228. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  229. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  230. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  231. package/lib/types/resolveOptions.d.ts +3 -0
  232. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  233. package/lib/types/serializerCore.browser.d.ts +3 -0
  234. package/lib/types/summarizeRequest.d.ts +10 -0
  235. package/lib/types/types.d.ts +495 -0
  236. package/lib/types/utils.d.ts +23 -0
  237. package/lib/types/worker.d.ts +44 -0
  238. package/lib/types.js +8 -1
  239. package/lib/utils.js +17 -2
  240. package/lib/worker.js +30 -14
  241. package/package.json +25 -35
  242. package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
  243. package/src/{Atlaspack.js → Atlaspack.ts} +134 -67
  244. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  245. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  246. package/src/{BundleGraph.js → BundleGraph.ts} +383 -140
  247. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  248. package/src/{Dependency.js → Dependency.ts} +59 -42
  249. package/src/{Environment.js → Environment.ts} +24 -15
  250. package/src/EnvironmentManager.ts +154 -0
  251. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  252. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  253. package/src/{PackagerRunner.js → PackagerRunner.ts} +179 -87
  254. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  255. package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
  256. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
  257. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  258. package/src/{Transformation.js → Transformation.ts} +110 -65
  259. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +60 -39
  260. package/src/{Validation.js → Validation.ts} +32 -17
  261. package/src/{applyRuntimes.js → applyRuntimes.ts} +133 -26
  262. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  263. package/src/atlaspack-v3/AtlaspackV3.ts +143 -0
  264. package/src/atlaspack-v3/NapiWorkerPool.ts +91 -0
  265. package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
  266. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  267. package/src/atlaspack-v3/jsCallable.ts +14 -0
  268. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  269. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  270. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  271. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  272. package/src/atlaspack-v3/worker/compat/index.ts +9 -0
  273. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  274. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  275. package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
  276. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  277. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  278. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  279. package/src/atlaspack-v3/worker/index.js +2 -1
  280. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  281. package/src/atlaspack-v3/worker/worker.ts +531 -0
  282. package/src/{constants.js → constants.ts} +0 -3
  283. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  284. package/src/index.ts +18 -0
  285. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  286. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  287. package/src/{projectPath.js → projectPath.ts} +20 -9
  288. package/src/public/{Asset.js → Asset.ts} +41 -28
  289. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  290. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  291. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  292. package/src/public/{Config.js → Config.ts} +171 -33
  293. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  294. package/src/public/{Environment.js → Environment.ts} +28 -17
  295. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  296. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  297. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  298. package/src/public/{Target.js → Target.ts} +10 -8
  299. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  300. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +129 -80
  301. package/src/requests/AssetGraphRequestRust.ts +364 -0
  302. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  303. package/src/requests/AtlaspackBuildRequest.ts +163 -0
  304. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  305. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +97 -79
  306. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  307. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  308. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  309. package/src/requests/{PackageRequest.js → PackageRequest.ts} +34 -22
  310. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  311. package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
  312. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  313. package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
  314. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
  315. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  316. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  317. package/src/{resolveOptions.js → resolveOptions.ts} +59 -25
  318. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  319. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  320. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  321. package/src/types.ts +650 -0
  322. package/src/{utils.js → utils.ts} +52 -21
  323. package/src/{worker.js → worker.ts} +50 -42
  324. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
  325. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  326. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  327. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  328. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  329. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  330. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  331. package/test/Environment.test.ts +153 -0
  332. package/test/EnvironmentManager.test.ts +188 -0
  333. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  334. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  335. package/test/PackagerRunner.test.ts +0 -0
  336. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  337. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  338. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  339. package/test/PublicEnvironment.test.ts +49 -0
  340. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  341. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
  342. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  343. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
  344. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  345. package/test/fixtures/custom-targets/package.json +6 -0
  346. package/test/public/Config.test.ts +104 -0
  347. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  348. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  349. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  350. package/test/{test-utils.js → test-utils.ts} +4 -11
  351. package/test/{utils.test.js → utils.test.ts} +1 -3
  352. package/tsconfig.json +60 -0
  353. package/tsconfig.tsbuildinfo +1 -0
  354. package/index.d.ts +0 -30
  355. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  356. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  357. package/src/atlaspack-v3/jsCallable.js +0 -18
  358. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  359. package/src/atlaspack-v3/worker/worker.js +0 -362
  360. package/src/index.js +0 -13
  361. package/src/requests/AssetGraphRequestRust.js +0 -263
  362. package/src/requests/AtlaspackBuildRequest.js +0 -111
  363. package/src/types.js +0 -600
  364. package/test/Environment.test.js +0 -119
  365. package/test/PackagerRunner.test.js +0 -27
  366. package/test/PublicEnvironment.test.js +0 -27
  367. package/test/requests/AssetGraphRequestRust.test.js +0 -411
package/src/types.ts ADDED
@@ -0,0 +1,650 @@
1
+ import type {ContentKey} from '@atlaspack/graph';
2
+ import type {
3
+ ASTGenerator,
4
+ BuildMode,
5
+ Engines,
6
+ EnvironmentContext,
7
+ EnvMap,
8
+ FilePath,
9
+ Glob,
10
+ LogLevel,
11
+ Meta,
12
+ DependencySpecifier,
13
+ PackageName,
14
+ ReporterEvent,
15
+ SemverRange,
16
+ ServerOptions,
17
+ SourceType,
18
+ Stats,
19
+ TargetSourceMapOptions,
20
+ ConfigResult,
21
+ OutputFormat,
22
+ TargetDescriptor,
23
+ HMROptions,
24
+ DetailedReportOptions,
25
+ Symbol,
26
+ SymbolData,
27
+ } from '@atlaspack/types';
28
+ import type {SharedReference} from '@atlaspack/workers';
29
+ import type {FileSystem} from '@atlaspack/fs';
30
+ import type {Cache} from '@atlaspack/cache';
31
+ import type {PackageManager} from '@atlaspack/package-manager';
32
+ import type {ProjectPath} from './projectPath';
33
+ import type {Event} from '@parcel/watcher';
34
+ import type {FeatureFlags} from '@atlaspack/feature-flags';
35
+ import type {BackendType} from '@parcel/watcher';
36
+ import type {EnvironmentRef} from './EnvironmentManager';
37
+
38
+ // flow-to-ts helpers
39
+ export type SetComplement<A, B extends A> = A extends B ? never : A;
40
+ export type Diff<T extends U, U extends object> = Pick<
41
+ T,
42
+ SetComplement<keyof T, keyof U>
43
+ >;
44
+ // /flow-to-ts helpers
45
+
46
+ export type AtlaspackPluginNode = {
47
+ packageName: PackageName;
48
+ resolveFrom: ProjectPath;
49
+ keyPath?: string;
50
+ };
51
+ export type ParcelPluginNode = AtlaspackPluginNode;
52
+
53
+ export type PureAtlaspackConfigPipeline = ReadonlyArray<AtlaspackPluginNode>;
54
+ export type ExtendableAtlaspackConfigPipeline = ReadonlyArray<
55
+ AtlaspackPluginNode | '...'
56
+ >;
57
+
58
+ export type ProcessedAtlaspackConfig = {
59
+ resolvers?: PureAtlaspackConfigPipeline;
60
+ transformers?: Partial<Record<Glob, ExtendableAtlaspackConfigPipeline>>;
61
+ bundler: ParcelPluginNode | null | undefined;
62
+ namers?: PureAtlaspackConfigPipeline;
63
+ runtimes?: PureAtlaspackConfigPipeline;
64
+ packagers?: Partial<Record<Glob, ParcelPluginNode>>;
65
+ optimizers?: Partial<Record<Glob, ExtendableAtlaspackConfigPipeline>>;
66
+ compressors?: Partial<Record<Glob, ExtendableAtlaspackConfigPipeline>>;
67
+ reporters?: PureAtlaspackConfigPipeline;
68
+ validators?: Partial<Record<Glob, ExtendableAtlaspackConfigPipeline>>;
69
+ filePath: ProjectPath;
70
+ resolveFrom?: ProjectPath;
71
+ };
72
+
73
+ export type Environment = {
74
+ id: string;
75
+ context: EnvironmentContext;
76
+ engines: Engines;
77
+ includeNodeModules:
78
+ | boolean
79
+ | Array<PackageName>
80
+ | Partial<Record<PackageName, boolean>>;
81
+ outputFormat: OutputFormat;
82
+ sourceType: SourceType;
83
+ isLibrary: boolean;
84
+ shouldOptimize: boolean;
85
+ shouldScopeHoist: boolean;
86
+ sourceMap: TargetSourceMapOptions | null | undefined;
87
+ loc: InternalSourceLocation | null | undefined;
88
+ unstableSingleFileOutput: boolean;
89
+ customEnv: EnvMap | null | undefined;
90
+ };
91
+
92
+ export type InternalSourceLocation = {
93
+ readonly filePath: ProjectPath;
94
+ /** inclusive */
95
+ readonly start: {
96
+ readonly line: number;
97
+ readonly column: number;
98
+ };
99
+ /** exclusive */
100
+ readonly end: {
101
+ readonly line: number;
102
+ readonly column: number;
103
+ };
104
+ };
105
+
106
+ export type Target = {
107
+ distEntry?: FilePath | null | undefined;
108
+ distDir: ProjectPath;
109
+ env: EnvironmentRef;
110
+ name: string;
111
+ publicUrl: string;
112
+ loc?: InternalSourceLocation | null | undefined;
113
+ pipeline?: string;
114
+ source?: FilePath | Array<FilePath>;
115
+ };
116
+
117
+ export const SpecifierType = {
118
+ esm: 0,
119
+ commonjs: 1,
120
+ url: 2,
121
+ custom: 3,
122
+ } as const;
123
+
124
+ export const Priority = {
125
+ sync: 0,
126
+ parallel: 1,
127
+ lazy: 2,
128
+ conditional: 3,
129
+ } as const;
130
+
131
+ // Must match package_json.rs in node-resolver-rs.
132
+ export const ExportsCondition = {
133
+ import: 1 << 0,
134
+ require: 1 << 1,
135
+ module: 1 << 2,
136
+ style: 1 << 12,
137
+ sass: 1 << 13,
138
+ less: 1 << 14,
139
+ } as const;
140
+
141
+ export type Dependency = {
142
+ id: string;
143
+ specifier: DependencySpecifier;
144
+ specifierType: (typeof SpecifierType)[keyof typeof SpecifierType];
145
+ priority: (typeof Priority)[keyof typeof Priority];
146
+ needsStableName: boolean;
147
+ bundleBehavior:
148
+ | (typeof BundleBehavior)[keyof typeof BundleBehavior]
149
+ | null
150
+ | undefined;
151
+ isEntry: boolean;
152
+ isOptional: boolean;
153
+ loc: InternalSourceLocation | null | undefined;
154
+ env: EnvironmentRef;
155
+ packageConditions?: number;
156
+ customPackageConditions?: Array<string>;
157
+ meta: Meta;
158
+ resolverMeta?: Meta | null | undefined;
159
+ resolverPriority?: (typeof Priority)[keyof typeof Priority];
160
+ target: Target | null | undefined;
161
+ sourceAssetId: string | null | undefined;
162
+ sourcePath: ProjectPath | null | undefined;
163
+ sourceAssetType?: string | null | undefined;
164
+ resolveFrom: ProjectPath | null | undefined;
165
+ range: SemverRange | null | undefined;
166
+ symbols:
167
+ | Map<
168
+ Symbol,
169
+ {
170
+ local: Symbol;
171
+ loc: InternalSourceLocation | null | undefined;
172
+ isWeak: boolean;
173
+ meta?: Meta | null | undefined;
174
+ }
175
+ >
176
+ | null
177
+ | undefined;
178
+ pipeline?: string | null | undefined;
179
+ };
180
+
181
+ export const BundleBehavior = {
182
+ inline: 0,
183
+ isolated: 1,
184
+ inlineIsolated: 2,
185
+ } as const;
186
+
187
+ // @ts-expect-error TS2322
188
+ export const BundleBehaviorNames: Array<keyof typeof BundleBehavior> =
189
+ Object.keys(BundleBehavior);
190
+
191
+ export type Asset = {
192
+ id: ContentKey;
193
+ committed: boolean;
194
+ filePath: ProjectPath;
195
+ query: string | null | undefined;
196
+ type: string;
197
+ dependencies: Map<string, Dependency>;
198
+ bundleBehavior:
199
+ | (typeof BundleBehavior)[keyof typeof BundleBehavior]
200
+ | null
201
+ | undefined;
202
+ isBundleSplittable: boolean;
203
+ isSource: boolean;
204
+ env: EnvironmentRef;
205
+ meta: Meta;
206
+ stats: Stats;
207
+ contentKey: string | null | undefined;
208
+ mapKey: string | null | undefined;
209
+ outputHash: string | null | undefined;
210
+ pipeline: string | null | undefined;
211
+ astKey: string | null | undefined;
212
+ astGenerator: ASTGenerator | null | undefined;
213
+ symbols:
214
+ | Map<
215
+ Symbol,
216
+ {
217
+ local: Symbol;
218
+ loc: InternalSourceLocation | null | undefined;
219
+ meta?: Meta | null | undefined;
220
+ }
221
+ >
222
+ | null
223
+ | undefined;
224
+ sideEffects: boolean;
225
+ uniqueKey: string | null | undefined;
226
+ configPath?: ProjectPath;
227
+ plugin: PackageName | null | undefined;
228
+ configKeyPath?: string;
229
+ isLargeBlob?: boolean;
230
+ };
231
+
232
+ export type InternalGlob = ProjectPath;
233
+
234
+ export type InternalFile = {
235
+ readonly filePath: ProjectPath;
236
+ readonly hash?: string;
237
+ };
238
+
239
+ export type FileInvalidation = {
240
+ type: 'file';
241
+ filePath: ProjectPath;
242
+ };
243
+
244
+ export type EnvInvalidation = {
245
+ type: 'env';
246
+ key: string;
247
+ };
248
+
249
+ export type OptionInvalidation = {
250
+ type: 'option';
251
+ key: string;
252
+ };
253
+
254
+ export type RequestInvalidation =
255
+ | FileInvalidation
256
+ | EnvInvalidation
257
+ | OptionInvalidation;
258
+
259
+ export type InternalFileInvalidation = {
260
+ filePath: ProjectPath;
261
+ };
262
+
263
+ export type InternalGlobInvalidation = {
264
+ glob: InternalGlob;
265
+ };
266
+
267
+ export type InternalFileAboveInvalidation = {
268
+ fileName: string;
269
+ aboveFilePath: ProjectPath;
270
+ };
271
+
272
+ export type InternalFileCreateInvalidation =
273
+ | InternalFileInvalidation
274
+ | InternalGlobInvalidation
275
+ | InternalFileAboveInvalidation;
276
+
277
+ export type Invalidations = {
278
+ invalidateOnFileChange: Set<ProjectPath>;
279
+ invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
280
+ invalidateOnEnvChange: Set<string>;
281
+ invalidateOnOptionChange: Set<string>;
282
+ invalidateOnStartup: boolean;
283
+ invalidateOnBuild: boolean;
284
+ };
285
+
286
+ export type DevDepRequestRef = {
287
+ type: 'ref';
288
+ specifier: DependencySpecifier;
289
+ resolveFrom: ProjectPath;
290
+ hash: string;
291
+ };
292
+
293
+ export type DevDepRequest = {
294
+ specifier: DependencySpecifier;
295
+ resolveFrom: ProjectPath;
296
+ hash: string;
297
+ invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
298
+ invalidateOnFileChange: Set<ProjectPath>;
299
+ invalidateOnStartup: boolean;
300
+ additionalInvalidations?: Array<{
301
+ specifier: DependencySpecifier;
302
+ resolveFrom: ProjectPath;
303
+ range?: SemverRange | null | undefined;
304
+ }>;
305
+ };
306
+
307
+ declare type GlobPattern = string;
308
+
309
+ export type AtlaspackOptions = {
310
+ entries: Array<ProjectPath>;
311
+ config?: DependencySpecifier;
312
+ defaultConfig?: DependencySpecifier;
313
+ env: EnvMap;
314
+ parcelVersion: string;
315
+ targets:
316
+ | Array<string>
317
+ | {
318
+ readonly [key: string]: TargetDescriptor;
319
+ }
320
+ | null
321
+ | undefined;
322
+ shouldDisableCache: boolean;
323
+ cacheDir: FilePath;
324
+ watchDir: FilePath;
325
+ watchIgnore?: Array<FilePath | GlobPattern>;
326
+ watchBackend?: BackendType;
327
+ mode: BuildMode;
328
+ hmrOptions: HMROptions | null | undefined;
329
+ shouldContentHash: boolean;
330
+ serveOptions: ServerOptions | false;
331
+ shouldBuildLazily: boolean;
332
+ lazyIncludes: RegExp[];
333
+ lazyExcludes: RegExp[];
334
+ shouldBundleIncrementally: boolean;
335
+ shouldAutoInstall: boolean;
336
+ logLevel: LogLevel;
337
+ projectRoot: FilePath;
338
+ shouldProfile: boolean;
339
+ nativeProfiler: 'instruments' | 'samply' | undefined;
340
+ shouldTrace: boolean;
341
+ shouldPatchConsole: boolean;
342
+ detailedReport?: DetailedReportOptions | null | undefined;
343
+ unstableFileInvalidations?: Array<Event>;
344
+ inputFS: FileSystem;
345
+ outputFS: FileSystem;
346
+ cache: Cache;
347
+ packageManager: PackageManager;
348
+ additionalReporters: Array<{
349
+ packageName: DependencySpecifier;
350
+ resolveFrom: ProjectPath;
351
+ }>;
352
+ instanceId: string;
353
+ readonly defaultTargetOptions: {
354
+ readonly shouldOptimize: boolean;
355
+ readonly shouldScopeHoist?: boolean;
356
+ readonly sourceMaps: boolean;
357
+ readonly publicUrl: string;
358
+ readonly distDir?: ProjectPath;
359
+ readonly engines?: Engines;
360
+ readonly outputFormat?: OutputFormat;
361
+ readonly isLibrary?: boolean;
362
+ };
363
+ readonly featureFlags: FeatureFlags;
364
+ };
365
+ export type ParcelOptions = AtlaspackOptions;
366
+
367
+ export type AssetNode = {
368
+ id: ContentKey;
369
+ readonly type: 'asset';
370
+ value: Asset;
371
+ usedSymbols: Set<Symbol>;
372
+ hasDeferred?: boolean;
373
+ usedSymbolsDownDirty: boolean;
374
+ usedSymbolsUpDirty: boolean;
375
+ requested?: boolean;
376
+ };
377
+
378
+ export type DependencyNode = {
379
+ id: ContentKey;
380
+ type: 'dependency';
381
+ value: Dependency;
382
+ complete?: boolean;
383
+ correspondingRequest?: string;
384
+ deferred: boolean;
385
+ /** dependency was deferred (= no used symbols (in immediate parents) & side-effect free) */
386
+ hasDeferred?: boolean;
387
+ usedSymbolsDown: Set<Symbol>;
388
+ /**
389
+ * a requested symbol -> either
390
+ * - if ambiguous (e.g. dependency to asset group with both CSS modules and JS asset): undefined
391
+ * - if external: null
392
+ * - the asset it resolved to, and the potentially renamed export name
393
+ */
394
+ usedSymbolsUp: Map<
395
+ Symbol,
396
+ | {
397
+ asset: ContentKey;
398
+ symbol: Symbol | null | undefined;
399
+ }
400
+ | undefined
401
+ | null
402
+ >;
403
+ /*
404
+ * For the "down" pass, the resolutionAsset needs to be updated.
405
+ * This is set when the AssetGraphBuilder adds/removes/updates nodes.
406
+ */
407
+ usedSymbolsDownDirty: boolean;
408
+ /**
409
+ * In the down pass, `usedSymbolsDown` changed. This needs to be propagated to the resolutionAsset
410
+ * in the up pass.
411
+ */
412
+ usedSymbolsUpDirtyDown: boolean;
413
+ /**
414
+ * In the up pass, `usedSymbolsUp` changed. This needs to be propagated to the sourceAsset in the
415
+ * up pass.
416
+ */
417
+ usedSymbolsUpDirtyUp: boolean;
418
+ /** dependency was excluded (= no used symbols (globally) & side-effect free) */
419
+ excluded: boolean;
420
+ };
421
+
422
+ export type RootNode = {
423
+ id: ContentKey;
424
+ readonly type: 'root';
425
+ value: string | null;
426
+ };
427
+
428
+ export type AssetRequestInput = {
429
+ name?: string; // AssetGraph name, needed so that different graphs can isolated requests since the results are not stored;
430
+ filePath: ProjectPath;
431
+ env: EnvironmentRef;
432
+ isSource?: boolean;
433
+ canDefer?: boolean;
434
+ sideEffects?: boolean;
435
+ runtimeAssetRequiringExecutionOnLoad?: boolean;
436
+ code?: string;
437
+ pipeline?: string | null | undefined;
438
+ optionsRef: SharedReference;
439
+ isURL?: boolean;
440
+ query?: string | null | undefined;
441
+ isSingleChangeRebuild?: boolean;
442
+ symbolData?: SymbolData;
443
+ };
444
+
445
+ export type AssetRequestResult = Array<Asset>;
446
+
447
+ // Asset group nodes are essentially used as placeholders for the results of an asset request
448
+ export type AssetGroup = Partial<
449
+ Diff<
450
+ AssetRequestInput,
451
+ {
452
+ optionsRef: SharedReference;
453
+ }
454
+ >
455
+ >;
456
+ export type AssetGroupNode = {
457
+ id: ContentKey;
458
+ readonly type: 'asset_group';
459
+ value: AssetGroup;
460
+ correspondingRequest?: string;
461
+ /** this node was deferred (= no used symbols (in immediate parents) & side-effect free) */
462
+ deferred?: boolean;
463
+ hasDeferred?: boolean;
464
+ usedSymbolsDownDirty: boolean;
465
+ };
466
+
467
+ export type TransformationRequest = AssetGroup & {
468
+ invalidateReason: number;
469
+ devDeps: Map<PackageName, string>;
470
+ invalidDevDeps: Array<{
471
+ specifier: DependencySpecifier;
472
+ resolveFrom: ProjectPath;
473
+ }>;
474
+ };
475
+
476
+ export type DepPathRequestNode = {
477
+ id: ContentKey;
478
+ readonly type: 'dep_path_request';
479
+ value: Dependency;
480
+ };
481
+
482
+ export type AssetRequestNode = {
483
+ id: ContentKey;
484
+ readonly type: 'asset_request';
485
+ value: AssetRequestInput;
486
+ };
487
+
488
+ export type EntrySpecifierNode = {
489
+ id: ContentKey;
490
+ readonly type: 'entry_specifier';
491
+ value: ProjectPath;
492
+ correspondingRequest?: string;
493
+ };
494
+
495
+ export type Entry = {
496
+ filePath: ProjectPath;
497
+ packagePath: ProjectPath;
498
+ target?: string;
499
+ loc?: InternalSourceLocation | null | undefined;
500
+ };
501
+
502
+ export type EntryFileNode = {
503
+ id: ContentKey;
504
+ readonly type: 'entry_file';
505
+ value: Entry;
506
+ correspondingRequest?: string;
507
+ };
508
+
509
+ export type AssetGraphNode =
510
+ | AssetGroupNode
511
+ | AssetNode
512
+ | DependencyNode
513
+ | EntrySpecifierNode
514
+ | EntryFileNode
515
+ | RootNode;
516
+
517
+ export type BundleGraphNode =
518
+ | AssetNode
519
+ | DependencyNode
520
+ | EntrySpecifierNode
521
+ | EntryFileNode
522
+ | RootNode
523
+ | BundleGroupNode
524
+ | BundleNode;
525
+
526
+ export type InternalDevDepOptions = {
527
+ specifier: DependencySpecifier;
528
+ resolveFrom: ProjectPath;
529
+ range?: SemverRange | null | undefined;
530
+ additionalInvalidations?: Array<{
531
+ specifier: DependencySpecifier;
532
+ resolveFrom: ProjectPath;
533
+ range?: SemverRange | null | undefined;
534
+ }>;
535
+ };
536
+
537
+ export type Config = {
538
+ id: string;
539
+ isSource: boolean;
540
+ searchPath: ProjectPath;
541
+ env: EnvironmentRef;
542
+ cacheKey: string | null | undefined;
543
+ result: ConfigResult;
544
+ invalidateOnFileChange: Set<ProjectPath>;
545
+ invalidateOnConfigKeyChange: Array<{
546
+ filePath: ProjectPath;
547
+ configKey: string[];
548
+ }>;
549
+ invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
550
+ invalidateOnEnvChange: Set<string>;
551
+ invalidateOnOptionChange: Set<string>;
552
+ devDeps: Array<InternalDevDepOptions>;
553
+ invalidateOnStartup: boolean;
554
+ invalidateOnBuild: boolean;
555
+ };
556
+
557
+ export type EntryRequest = {
558
+ specifier: DependencySpecifier;
559
+ result?: ProjectPath;
560
+ };
561
+
562
+ export type EntryRequestNode = {
563
+ id: ContentKey;
564
+ readonly type: 'entry_request';
565
+ value: string;
566
+ };
567
+
568
+ export type TargetRequestNode = {
569
+ id: ContentKey;
570
+ readonly type: 'target_request';
571
+ value: ProjectPath;
572
+ };
573
+
574
+ export type CacheEntry = {
575
+ filePath: ProjectPath;
576
+ env: Environment;
577
+ hash: string;
578
+ assets: Array<Asset>;
579
+ // Initial assets, pre-post processing
580
+ initialAssets: Array<Asset> | null | undefined;
581
+ };
582
+
583
+ export type Bundle = {
584
+ id: ContentKey;
585
+ publicId: string | null | undefined;
586
+ hashReference: string;
587
+ type: string;
588
+ env: EnvironmentRef;
589
+ entryAssetIds: Array<ContentKey>;
590
+ mainEntryId: ContentKey | null | undefined;
591
+ needsStableName: boolean | null | undefined;
592
+ bundleBehavior:
593
+ | (typeof BundleBehavior)[keyof typeof BundleBehavior]
594
+ | null
595
+ | undefined;
596
+ isSplittable: boolean | null | undefined;
597
+ isPlaceholder?: boolean;
598
+ target: Target;
599
+ name: string | null | undefined;
600
+ displayName: string | null | undefined;
601
+ pipeline: string | null | undefined;
602
+ manualSharedBundle?: string | null | undefined;
603
+ conditions?: Map<string, string>;
604
+ };
605
+
606
+ export type BundleNode = {
607
+ id: ContentKey;
608
+ readonly type: 'bundle';
609
+ value: Bundle;
610
+ };
611
+
612
+ export type BundleGroup = {
613
+ target: Target;
614
+ entryAssetId: string;
615
+ };
616
+
617
+ export type BundleGroupNode = {
618
+ id: ContentKey;
619
+ readonly type: 'bundle_group';
620
+ value: BundleGroup;
621
+ };
622
+
623
+ export type PackagedBundleInfo = {
624
+ filePath: ProjectPath;
625
+ bundleId: ContentKey;
626
+ type: string;
627
+ stats: Stats;
628
+ };
629
+
630
+ export type TransformationOpts = {
631
+ request: AssetGroup;
632
+ optionsRef: SharedReference;
633
+ configCachePath: string;
634
+ };
635
+
636
+ export type ValidationOpts = {
637
+ requests: AssetGroup[];
638
+ optionsRef: SharedReference;
639
+ configCachePath: string;
640
+ };
641
+
642
+ export type ReportFn = (event: ReporterEvent) => undefined | Promise<undefined>;
643
+
644
+ export type Condition = {
645
+ publicId: string;
646
+ assets: Set<Asset>;
647
+ key: string;
648
+ ifTrueDependency: Dependency;
649
+ ifFalseDependency: Dependency;
650
+ };