@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.
Files changed (380) hide show
  1. package/CHANGELOG.md +1324 -0
  2. package/dist/AssetGraph.js +523 -0
  3. package/dist/Atlaspack.js +701 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1906 -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 +470 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1297 -0
  16. package/dist/SymbolPropagation.js +624 -0
  17. package/dist/TargetDescriptor.schema.js +146 -0
  18. package/dist/Transformation.js +514 -0
  19. package/dist/UncommittedAsset.js +310 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +384 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +83 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +114 -0
  25. package/dist/atlaspack-v3/fs.js +53 -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 +24 -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-options.js +137 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  37. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  38. package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
  39. package/dist/atlaspack-v3/worker/worker.js +398 -0
  40. package/dist/constants.js +17 -0
  41. package/dist/dumpGraphToGraphViz.js +281 -0
  42. package/dist/index.js +62 -0
  43. package/dist/loadAtlaspackPlugin.js +128 -0
  44. package/dist/loadDotEnv.js +41 -0
  45. package/dist/projectPath.js +83 -0
  46. package/dist/public/Asset.js +279 -0
  47. package/dist/public/Bundle.js +224 -0
  48. package/dist/public/BundleGraph.js +371 -0
  49. package/dist/public/BundleGroup.js +53 -0
  50. package/dist/public/Config.js +286 -0
  51. package/dist/public/Dependency.js +138 -0
  52. package/dist/public/Environment.js +278 -0
  53. package/dist/public/MutableBundleGraph.js +277 -0
  54. package/dist/public/PluginOptions.js +80 -0
  55. package/dist/public/Symbols.js +248 -0
  56. package/dist/public/Target.js +69 -0
  57. package/dist/registerCoreWithSerializer.js +38 -0
  58. package/dist/requests/AssetGraphRequest.js +430 -0
  59. package/dist/requests/AssetGraphRequestRust.js +471 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +98 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  63. package/dist/requests/BundleGraphRequest.js +381 -0
  64. package/dist/requests/BundleGraphRequestRust.js +324 -0
  65. package/dist/requests/BundleGraphRequestUtils.js +262 -0
  66. package/dist/requests/ConfigRequest.js +246 -0
  67. package/dist/requests/DevDepRequest.js +204 -0
  68. package/dist/requests/EntryRequest.js +314 -0
  69. package/dist/requests/PackageRequest.js +89 -0
  70. package/dist/requests/PathRequest.js +349 -0
  71. package/dist/requests/TargetRequest.js +1316 -0
  72. package/dist/requests/ValidationRequest.js +49 -0
  73. package/dist/requests/WriteBundleRequest.js +522 -0
  74. package/dist/requests/WriteBundlesRequest.js +190 -0
  75. package/dist/requests/asset-graph-diff.js +128 -0
  76. package/dist/requests/asset-graph-dot.js +131 -0
  77. package/dist/resolveOptions.js +267 -0
  78. package/dist/rustWorkerThreadDylibHack.js +19 -0
  79. package/dist/serializerCore.browser.js +43 -0
  80. package/dist/summarizeRequest.js +39 -0
  81. package/dist/types.js +31 -0
  82. package/dist/utils.js +172 -0
  83. package/dist/worker.js +123 -0
  84. package/lib/AssetGraph.js +53 -15
  85. package/lib/Atlaspack.js +140 -56
  86. package/lib/AtlaspackConfig.js +17 -6
  87. package/lib/AtlaspackConfig.schema.js +16 -5
  88. package/lib/BundleGraph.js +390 -43
  89. package/lib/CommittedAsset.js +8 -2
  90. package/lib/Dependency.js +9 -3
  91. package/lib/Environment.js +16 -10
  92. package/lib/EnvironmentManager.js +143 -0
  93. package/lib/IdentifierRegistry.js +2 -4
  94. package/lib/InternalConfig.js +3 -2
  95. package/lib/PackagerRunner.js +46 -82
  96. package/lib/ReporterRunner.js +8 -12
  97. package/lib/RequestTracker.js +191 -152
  98. package/lib/SymbolPropagation.js +52 -29
  99. package/lib/TargetDescriptor.schema.js +10 -1
  100. package/lib/Transformation.js +68 -19
  101. package/lib/UncommittedAsset.js +17 -24
  102. package/lib/Validation.js +20 -5
  103. package/lib/applyRuntimes.js +98 -7
  104. package/lib/assetUtils.js +16 -6
  105. package/lib/atlaspack-v3/AtlaspackV3.js +58 -15
  106. package/lib/atlaspack-v3/NapiWorkerPool.js +63 -2
  107. package/lib/atlaspack-v3/fs.js +4 -1
  108. package/lib/atlaspack-v3/index.js +28 -1
  109. package/lib/atlaspack-v3/jsCallable.js +0 -2
  110. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  111. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  112. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  113. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  114. package/lib/atlaspack-v3/worker/compat/index.js +0 -11
  115. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +16 -11
  116. package/lib/atlaspack-v3/worker/compat/plugin-config.js +14 -35
  117. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -2
  118. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  119. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  120. package/lib/atlaspack-v3/worker/index.js +3 -0
  121. package/lib/atlaspack-v3/worker/side-effect-detector.js +214 -0
  122. package/lib/atlaspack-v3/worker/worker.js +231 -79
  123. package/lib/constants.js +0 -1
  124. package/lib/dumpGraphToGraphViz.js +72 -17
  125. package/lib/index.js +46 -3
  126. package/lib/loadAtlaspackPlugin.js +2 -3
  127. package/lib/loadDotEnv.js +5 -2
  128. package/lib/projectPath.js +6 -1
  129. package/lib/public/Asset.js +22 -12
  130. package/lib/public/Bundle.js +16 -18
  131. package/lib/public/BundleGraph.js +27 -25
  132. package/lib/public/BundleGroup.js +5 -6
  133. package/lib/public/Config.js +118 -18
  134. package/lib/public/Dependency.js +9 -7
  135. package/lib/public/Environment.js +13 -8
  136. package/lib/public/MutableBundleGraph.js +56 -15
  137. package/lib/public/PluginOptions.js +2 -2
  138. package/lib/public/Symbols.js +12 -12
  139. package/lib/public/Target.js +8 -7
  140. package/lib/registerCoreWithSerializer.js +7 -4
  141. package/lib/requests/AssetGraphRequest.js +61 -40
  142. package/lib/requests/AssetGraphRequestRust.js +314 -82
  143. package/lib/requests/AssetRequest.js +24 -7
  144. package/lib/requests/AtlaspackBuildRequest.js +53 -7
  145. package/lib/requests/AtlaspackConfigRequest.js +29 -19
  146. package/lib/requests/BundleGraphRequest.js +61 -130
  147. package/lib/requests/BundleGraphRequestRust.js +381 -0
  148. package/lib/requests/BundleGraphRequestUtils.js +280 -0
  149. package/lib/requests/ConfigRequest.js +55 -7
  150. package/lib/requests/DevDepRequest.js +32 -6
  151. package/lib/requests/EntryRequest.js +4 -3
  152. package/lib/requests/PackageRequest.js +56 -12
  153. package/lib/requests/PathRequest.js +26 -6
  154. package/lib/requests/TargetRequest.js +129 -60
  155. package/lib/requests/ValidationRequest.js +6 -2
  156. package/lib/requests/WriteBundleRequest.js +329 -20
  157. package/lib/requests/WriteBundlesRequest.js +64 -10
  158. package/lib/requests/asset-graph-diff.js +13 -8
  159. package/lib/requests/asset-graph-dot.js +2 -8
  160. package/lib/resolveOptions.js +37 -14
  161. package/lib/rustWorkerThreadDylibHack.js +0 -1
  162. package/lib/serializerCore.browser.js +1 -2
  163. package/lib/summarizeRequest.js +1 -1
  164. package/lib/types/AssetGraph.d.ts +55 -0
  165. package/lib/types/Atlaspack.d.ts +52 -0
  166. package/lib/types/AtlaspackConfig.d.ts +65 -0
  167. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  168. package/lib/types/BundleGraph.d.ts +232 -0
  169. package/lib/types/CommittedAsset.d.ts +23 -0
  170. package/lib/types/Dependency.d.ts +44 -0
  171. package/lib/types/Environment.d.ts +11 -0
  172. package/lib/types/EnvironmentManager.d.ts +37 -0
  173. package/lib/types/IdentifierRegistry.d.ts +6 -0
  174. package/lib/types/InternalConfig.d.ts +23 -0
  175. package/lib/types/PackagerRunner.d.ts +85 -0
  176. package/lib/types/ReporterRunner.d.ts +25 -0
  177. package/lib/types/RequestTracker.d.ts +385 -0
  178. package/lib/types/SymbolPropagation.d.ts +11 -0
  179. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  180. package/lib/types/Transformation.d.ts +72 -0
  181. package/lib/types/UncommittedAsset.d.ts +61 -0
  182. package/lib/types/Validation.d.ts +37 -0
  183. package/lib/types/applyRuntimes.d.ts +25 -0
  184. package/lib/types/assetUtils.d.ts +42 -0
  185. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +35 -0
  186. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  187. package/lib/types/atlaspack-v3/fs.d.ts +13 -0
  188. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  189. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  190. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  191. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  192. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  193. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  194. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -2
  195. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  196. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  197. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  198. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  199. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  200. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  201. package/lib/types/atlaspack-v3/worker/worker.d.ts +81 -0
  202. package/lib/types/constants.d.ts +13 -0
  203. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  204. package/lib/types/index.d.ts +8 -0
  205. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  206. package/lib/types/loadDotEnv.d.ts +3 -0
  207. package/lib/types/projectPath.d.ts +19 -0
  208. package/lib/types/public/Asset.d.ts +74 -0
  209. package/lib/types/public/Bundle.d.ts +45 -0
  210. package/lib/types/public/BundleGraph.d.ts +72 -0
  211. package/lib/types/public/BundleGroup.d.ts +12 -0
  212. package/lib/types/public/Config.d.ts +75 -0
  213. package/lib/types/public/Dependency.d.ts +32 -0
  214. package/lib/types/public/Environment.d.ts +34 -0
  215. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  216. package/lib/types/public/PluginOptions.d.ts +25 -0
  217. package/lib/types/public/Symbols.d.ts +81 -0
  218. package/lib/types/public/Target.d.ts +16 -0
  219. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  220. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  221. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  222. package/lib/types/requests/AssetRequest.d.ts +16 -0
  223. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  224. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  225. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  226. package/lib/types/requests/BundleGraphRequestRust.d.ts +34 -0
  227. package/lib/types/requests/BundleGraphRequestUtils.d.ts +38 -0
  228. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  229. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  230. package/lib/types/requests/EntryRequest.d.ts +36 -0
  231. package/lib/types/requests/PackageRequest.d.ts +27 -0
  232. package/lib/types/requests/PathRequest.d.ts +48 -0
  233. package/lib/types/requests/TargetRequest.d.ts +48 -0
  234. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  235. package/lib/types/requests/WriteBundleRequest.d.ts +80 -0
  236. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  237. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  238. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  239. package/lib/types/resolveOptions.d.ts +3 -0
  240. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  241. package/lib/types/serializerCore.browser.d.ts +3 -0
  242. package/lib/types/summarizeRequest.d.ts +10 -0
  243. package/lib/types/types.d.ts +496 -0
  244. package/lib/types/utils.d.ts +23 -0
  245. package/lib/types/worker.d.ts +44 -0
  246. package/lib/types.js +8 -1
  247. package/lib/utils.js +18 -3
  248. package/lib/worker.js +32 -15
  249. package/package.json +26 -36
  250. package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
  251. package/src/{Atlaspack.js → Atlaspack.ts} +181 -72
  252. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  253. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  254. package/src/{BundleGraph.js → BundleGraph.ts} +575 -145
  255. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  256. package/src/{Dependency.js → Dependency.ts} +59 -42
  257. package/src/{Environment.js → Environment.ts} +24 -15
  258. package/src/EnvironmentManager.ts +154 -0
  259. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  260. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  261. package/src/{PackagerRunner.js → PackagerRunner.ts} +114 -159
  262. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  263. package/src/{RequestTracker.js → RequestTracker.ts} +444 -355
  264. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +178 -61
  265. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +10 -1
  266. package/src/{Transformation.js → Transformation.ts} +110 -65
  267. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +45 -49
  268. package/src/{Validation.js → Validation.ts} +32 -17
  269. package/src/{applyRuntimes.js → applyRuntimes.ts} +135 -26
  270. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  271. package/src/atlaspack-v3/AtlaspackV3.ts +183 -0
  272. package/src/atlaspack-v3/NapiWorkerPool.ts +129 -0
  273. package/src/atlaspack-v3/{fs.js → fs.ts} +8 -4
  274. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  275. package/src/atlaspack-v3/jsCallable.ts +14 -0
  276. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  277. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  278. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  279. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  280. package/src/atlaspack-v3/worker/compat/index.ts +8 -0
  281. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  282. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  283. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  284. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  285. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  286. package/src/atlaspack-v3/worker/index.js +2 -1
  287. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  288. package/src/atlaspack-v3/worker/worker.ts +548 -0
  289. package/src/{constants.js → constants.ts} +0 -3
  290. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  291. package/src/index.ts +18 -0
  292. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  293. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  294. package/src/{projectPath.js → projectPath.ts} +20 -9
  295. package/src/public/{Asset.js → Asset.ts} +41 -28
  296. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  297. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  298. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  299. package/src/public/{Config.js → Config.ts} +171 -33
  300. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  301. package/src/public/{Environment.js → Environment.ts} +28 -17
  302. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  303. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  304. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  305. package/src/public/{Target.js → Target.ts} +10 -8
  306. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  307. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +117 -90
  308. package/src/requests/AssetGraphRequestRust.ts +557 -0
  309. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  310. package/src/requests/AtlaspackBuildRequest.ts +168 -0
  311. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  312. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +119 -199
  313. package/src/requests/BundleGraphRequestRust.ts +470 -0
  314. package/src/requests/BundleGraphRequestUtils.ts +323 -0
  315. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  316. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  317. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  318. package/src/requests/{PackageRequest.js → PackageRequest.ts} +52 -25
  319. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  320. package/src/requests/{TargetRequest.js → TargetRequest.ts} +265 -179
  321. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  322. package/src/requests/WriteBundleRequest.ts +734 -0
  323. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +134 -50
  324. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  325. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  326. package/src/{resolveOptions.js → resolveOptions.ts} +57 -27
  327. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  328. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  329. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  330. package/src/types.ts +651 -0
  331. package/src/{utils.js → utils.ts} +52 -21
  332. package/src/{worker.js → worker.ts} +50 -42
  333. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +5 -8
  334. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  335. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  336. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  337. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  338. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  339. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  340. package/test/Environment.test.ts +153 -0
  341. package/test/EnvironmentManager.test.ts +188 -0
  342. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  343. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  344. package/test/PackagerRunner.test.ts +0 -0
  345. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  346. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  347. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  348. package/test/PublicEnvironment.test.ts +49 -0
  349. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  350. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +136 -58
  351. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  352. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +91 -92
  353. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  354. package/test/fixtures/custom-targets/package.json +6 -0
  355. package/test/public/Config.test.ts +104 -0
  356. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  357. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  358. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  359. package/test/requests/WriteBundleRequest.test.ts +602 -0
  360. package/test/{test-utils.js → test-utils.ts} +3 -4
  361. package/test/{utils.test.js → utils.test.ts} +1 -3
  362. package/tsconfig.json +60 -0
  363. package/tsconfig.tsbuildinfo +1 -0
  364. package/index.d.ts +0 -30
  365. package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
  366. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  367. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  368. package/src/atlaspack-v3/jsCallable.js +0 -18
  369. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  370. package/src/atlaspack-v3/worker/compat/plugin-logger.js +0 -47
  371. package/src/atlaspack-v3/worker/worker.js +0 -369
  372. package/src/index.js +0 -13
  373. package/src/requests/AssetGraphRequestRust.js +0 -263
  374. package/src/requests/AtlaspackBuildRequest.js +0 -111
  375. package/src/requests/WriteBundleRequest.js +0 -369
  376. package/src/types.js +0 -600
  377. package/test/Environment.test.js +0 -119
  378. package/test/PackagerRunner.test.js +0 -27
  379. package/test/PublicEnvironment.test.js +0 -27
  380. package/test/requests/AssetGraphRequestRust.test.js +0 -411
@@ -0,0 +1,323 @@
1
+ /**
2
+ * Shared utilities for BundleGraphRequest and BundleGraphRequestRust.
3
+ *
4
+ * This module contains common functionality used by both the JS and native
5
+ * bundling paths, such as bundle validation, naming, and configuration loading.
6
+ */
7
+ import type {Async, Bundle as IBundle, Namer} from '@atlaspack/types';
8
+ import type {SharedReference} from '@atlaspack/workers';
9
+ import type {AtlaspackConfig, LoadedPlugin} from '../AtlaspackConfig';
10
+ import type {RunAPI} from '../RequestTracker';
11
+ import type {
12
+ Bundle as InternalBundle,
13
+ Config,
14
+ DevDepRequest,
15
+ AtlaspackOptions,
16
+ DevDepRequestRef,
17
+ } from '../types';
18
+
19
+ import assert from 'assert';
20
+ import fs from 'fs';
21
+ import nullthrows from 'nullthrows';
22
+ import path from 'path';
23
+ import {PluginLogger} from '@atlaspack/logger';
24
+ import ThrowableDiagnostic, {errorToDiagnostic} from '@atlaspack/diagnostic';
25
+ import {unique, setSymmetricDifference} from '@atlaspack/utils';
26
+ import InternalBundleGraph, {bundleGraphEdgeTypes} from '../BundleGraph';
27
+ import BundleGraph from '../public/BundleGraph';
28
+ import {Bundle, NamedBundle} from '../public/Bundle';
29
+ import PluginOptions from '../public/PluginOptions';
30
+ import {createConfig} from '../InternalConfig';
31
+ import {
32
+ createDevDependency,
33
+ runDevDepRequest as runDevDepRequestInternal,
34
+ } from './DevDepRequest';
35
+ import {
36
+ loadPluginConfig,
37
+ runConfigRequest,
38
+ PluginWithLoadConfig,
39
+ } from './ConfigRequest';
40
+ import {
41
+ joinProjectPath,
42
+ fromProjectPathRelative,
43
+ toProjectPathUnsafe,
44
+ } from '../projectPath';
45
+ import {tracer, PluginTracer} from '@atlaspack/profiler';
46
+ import type {BundleGraphResult} from './BundleGraphRequest';
47
+
48
+ /**
49
+ * Validates that all bundles have unique names.
50
+ * Throws an assertion error if duplicate bundle names are found.
51
+ */
52
+ export function validateBundles(bundleGraph: InternalBundleGraph): void {
53
+ const bundles = bundleGraph.getBundles();
54
+
55
+ const bundleNames = bundles.map((b) =>
56
+ joinProjectPath(b.target.distDir, nullthrows(b.name)),
57
+ );
58
+ assert.deepEqual(
59
+ bundleNames,
60
+ unique(bundleNames),
61
+ 'Bundles must have unique name. Conflicting names: ' +
62
+ [
63
+ ...setSymmetricDifference(
64
+ new Set(bundleNames),
65
+ new Set(unique(bundleNames)),
66
+ ),
67
+ ].join(),
68
+ );
69
+ }
70
+
71
+ /**
72
+ * Dump a canonical JSON snapshot of the bundle graph for parity comparison.
73
+ * Gated by ATLASPACK_DUMP_BUNDLE_GRAPH environment variable which specifies the output directory.
74
+ * The snapshot captures bundle identity, type, contained assets, and bundle group structure
75
+ * in a deterministic, sorted format suitable for diffing.
76
+ */
77
+ export function dumpBundleGraphSnapshot(
78
+ bundleGraph: InternalBundleGraph,
79
+ variant: 'js' | 'rust',
80
+ ): void {
81
+ let outDir = process.env.ATLASPACK_DUMP_BUNDLE_GRAPH;
82
+ if (!outDir) return;
83
+
84
+ let filename =
85
+ variant === 'js' ? 'bundle-graph-js.json' : 'bundle-graph-rust.json';
86
+ let outPath = path.join(outDir, filename);
87
+
88
+ fs.mkdirSync(outDir, {recursive: true});
89
+
90
+ let bundles = bundleGraph.getBundles();
91
+ let bundlesSnapshot = bundles
92
+ .map((bundle) => {
93
+ let bundleNodeId = bundleGraph._graph.getNodeIdByContentKey(bundle.id);
94
+ let containedAssetNodeIds = bundleGraph._graph.getNodeIdsConnectedFrom(
95
+ bundleNodeId,
96
+ bundleGraphEdgeTypes.contains,
97
+ );
98
+ let containedAssets = containedAssetNodeIds
99
+ .map((nodeId) => bundleGraph._graph.getNode(nodeId))
100
+ .flatMap((node) => {
101
+ if (node?.type !== 'asset') return [];
102
+ return [
103
+ {
104
+ id: node.value.id,
105
+ filePath: fromProjectPathRelative(node.value.filePath),
106
+ },
107
+ ];
108
+ })
109
+ .sort((a, b) => a.filePath.localeCompare(b.filePath));
110
+
111
+ // Resolve mainEntry and entry asset file paths
112
+ let mainEntryPath: string | null = null;
113
+ let entryAssetPaths: string[] = [];
114
+ if (bundle.mainEntryId) {
115
+ let mainEntryNodeId = bundleGraph._graph.getNodeIdByContentKey(
116
+ bundle.mainEntryId,
117
+ );
118
+ let mainEntryNode = bundleGraph._graph.getNode(mainEntryNodeId);
119
+ if (mainEntryNode?.type === 'asset') {
120
+ mainEntryPath = fromProjectPathRelative(mainEntryNode.value.filePath);
121
+ }
122
+ }
123
+ for (let entryId of bundle.entryAssetIds) {
124
+ let entryNodeId = bundleGraph._graph.getNodeIdByContentKey(entryId);
125
+ let entryNode = bundleGraph._graph.getNode(entryNodeId);
126
+ if (entryNode?.type === 'asset') {
127
+ entryAssetPaths.push(
128
+ fromProjectPathRelative(entryNode.value.filePath),
129
+ );
130
+ }
131
+ }
132
+ entryAssetPaths.sort();
133
+
134
+ return {
135
+ id: bundle.id,
136
+ type: bundle.type,
137
+ bundleBehavior: bundle.bundleBehavior ?? null,
138
+ needsStableName: bundle.needsStableName,
139
+ isSplittable: bundle.isSplittable,
140
+ isPlaceholder: bundle.isPlaceholder,
141
+ mainEntryPath,
142
+ entryAssetPaths,
143
+ assets: containedAssets.map((a) => a.filePath),
144
+ };
145
+ })
146
+ .sort((a, b) => {
147
+ // Sort by mainEntryPath first, then by sorted assets as tiebreaker
148
+ let aKey = a.mainEntryPath || a.assets.join(',');
149
+ let bKey = b.mainEntryPath || b.assets.join(',');
150
+ return aKey.localeCompare(bKey);
151
+ });
152
+
153
+ let bundleGroupsSnapshot = bundleGraph._graph.nodes
154
+ .flatMap((node) => {
155
+ if (node?.type !== 'bundle_group') return [];
156
+
157
+ let bundleGroup = node.value;
158
+
159
+ // Resolve entry asset file path
160
+ let entryAssetPath: string | null = null;
161
+ try {
162
+ let entryNodeId = bundleGraph._graph.getNodeIdByContentKey(
163
+ bundleGroup.entryAssetId,
164
+ );
165
+ let entryNode = bundleGraph._graph.getNode(entryNodeId);
166
+ if (entryNode?.type === 'asset') {
167
+ entryAssetPath = fromProjectPathRelative(entryNode.value.filePath);
168
+ }
169
+ } catch {
170
+ // Content key not found
171
+ }
172
+
173
+ let bundlesInGroup = bundleGraph.getBundlesInBundleGroup(bundleGroup);
174
+ let bundlePaths = bundlesInGroup
175
+ .map((b) => {
176
+ // Use mainEntry file path if available, otherwise bundle id as fallback
177
+ if (b.mainEntryId) {
178
+ try {
179
+ let nodeId = bundleGraph._graph.getNodeIdByContentKey(
180
+ b.mainEntryId,
181
+ );
182
+ let node = bundleGraph._graph.getNode(nodeId);
183
+ if (node?.type === 'asset') {
184
+ return fromProjectPathRelative(node.value.filePath);
185
+ }
186
+ } catch {
187
+ // fallback
188
+ }
189
+ }
190
+ return `[bundle:${b.id}]`;
191
+ })
192
+ .sort();
193
+
194
+ return [
195
+ {
196
+ entryAssetPath:
197
+ entryAssetPath ?? `[unknown:${bundleGroup.entryAssetId}]`,
198
+ bundlePaths,
199
+ },
200
+ ];
201
+ })
202
+ .sort((a, b) => a.entryAssetPath.localeCompare(b.entryAssetPath));
203
+
204
+ let totalAssets = bundleGraph._graph.nodes.filter(
205
+ (node) => node?.type === 'asset',
206
+ ).length;
207
+
208
+ let snapshot = {
209
+ version: 1,
210
+ variant,
211
+ stats: {
212
+ totalBundles: bundlesSnapshot.length,
213
+ totalBundleGroups: bundleGroupsSnapshot.length,
214
+ totalAssets,
215
+ },
216
+ bundles: bundlesSnapshot,
217
+ bundleGroups: bundleGroupsSnapshot,
218
+ };
219
+
220
+ fs.writeFileSync(outPath, JSON.stringify(snapshot, null, 2), 'utf8');
221
+ // eslint-disable-next-line no-console
222
+ console.log(`[BundleGraphSnapshot] Wrote ${variant} snapshot to ${outPath}`);
223
+ }
224
+
225
+ /**
226
+ * Names a bundle by running through the configured namers until one returns a name.
227
+ */
228
+ export async function nameBundle(
229
+ namers: Array<LoadedPlugin<Namer<unknown>>>,
230
+ internalBundle: InternalBundle,
231
+ internalBundleGraph: InternalBundleGraph,
232
+ options: AtlaspackOptions,
233
+ pluginOptions: PluginOptions,
234
+ configs: Map<string, Config>,
235
+ ): Promise<void> {
236
+ const bundle = Bundle.get(internalBundle, internalBundleGraph, options);
237
+ const bundleGraph = new BundleGraph<IBundle>(
238
+ internalBundleGraph,
239
+ NamedBundle.get.bind(NamedBundle),
240
+ options,
241
+ );
242
+
243
+ for (const namer of namers) {
244
+ let measurement;
245
+ try {
246
+ measurement = tracer.createMeasurement(namer.name, 'namer', bundle.id);
247
+ const name = await namer.plugin.name({
248
+ bundle,
249
+ bundleGraph,
250
+ config: configs.get(namer.name)?.result,
251
+ options: pluginOptions,
252
+ logger: new PluginLogger({origin: namer.name}),
253
+ tracer: new PluginTracer({origin: namer.name, category: 'namer'}),
254
+ });
255
+
256
+ if (name != null) {
257
+ internalBundle.name = name;
258
+ const {hashReference} = internalBundle;
259
+ internalBundle.displayName = name.includes(hashReference)
260
+ ? name.replace(hashReference, '[hash]')
261
+ : name;
262
+
263
+ return;
264
+ }
265
+ } catch (e: any) {
266
+ throw new ThrowableDiagnostic({
267
+ diagnostic: errorToDiagnostic(e, {
268
+ origin: namer.name,
269
+ }),
270
+ });
271
+ } finally {
272
+ measurement && measurement.end();
273
+ }
274
+ }
275
+
276
+ throw new Error('Unable to name bundle');
277
+ }
278
+
279
+ /**
280
+ * Loads configuration for a plugin and tracks its dev dependencies.
281
+ */
282
+ export async function loadPluginConfigWithDevDeps<
283
+ T extends PluginWithLoadConfig,
284
+ >(
285
+ plugin: LoadedPlugin<T>,
286
+ options: AtlaspackOptions,
287
+ api: RunAPI<BundleGraphResult>,
288
+ previousDevDeps: Map<string, string>,
289
+ devDepRequests: Map<string, DevDepRequest | DevDepRequestRef>,
290
+ configs: Map<string, Config>,
291
+ ): Promise<void> {
292
+ const config = createConfig({
293
+ plugin: plugin.name,
294
+ searchPath: toProjectPathUnsafe('index'),
295
+ });
296
+
297
+ await loadPluginConfig(plugin, config, options);
298
+ await runConfigRequest(api, config);
299
+ for (const devDep of config.devDeps) {
300
+ const devDepRequest = await createDevDependency(
301
+ devDep,
302
+ previousDevDeps,
303
+ options,
304
+ );
305
+ await runDevDepRequest(api, devDepRequest, devDepRequests);
306
+ }
307
+
308
+ configs.set(plugin.name, config);
309
+ }
310
+
311
+ /**
312
+ * Runs a dev dependency request and tracks it in the devDepRequests map.
313
+ */
314
+ export async function runDevDepRequest(
315
+ api: RunAPI<BundleGraphResult>,
316
+ devDepRequest: DevDepRequest | DevDepRequestRef,
317
+ devDepRequests: Map<string, DevDepRequest | DevDepRequestRef>,
318
+ ): Promise<void> {
319
+ const {specifier, resolveFrom} = devDepRequest;
320
+ const key = `${specifier}:${fromProjectPathRelative(resolveFrom)}`;
321
+ devDepRequests.set(key, devDepRequest);
322
+ await runDevDepRequestInternal(api, devDepRequest);
323
+ }
@@ -1,4 +1,3 @@
1
- // @flow
2
1
  import type {
3
2
  Async,
4
3
  Config as IConfig,
@@ -7,6 +6,7 @@ import type {
7
6
  PluginTracer as IPluginTracer,
8
7
  NamedBundle as INamedBundle,
9
8
  BundleGraph as IBundleGraph,
9
+ TransformerSetup,
10
10
  } from '@atlaspack/types';
11
11
  import {readConfig, hashObject} from '@atlaspack/utils';
12
12
  import type {
@@ -30,52 +30,56 @@ import {PluginTracer} from '@atlaspack/profiler';
30
30
  import {requestTypes} from '../RequestTracker';
31
31
  import {fromProjectPath, fromProjectPathRelative} from '../projectPath';
32
32
 
33
+ type Setup<T> = (arg1: {
34
+ config: IConfig;
35
+ options: IPluginOptions;
36
+ logger: IPluginLogger;
37
+ tracer: IPluginTracer;
38
+ }) => Async<TransformerSetup<T>>;
39
+
33
40
  export type PluginWithLoadConfig = {
34
- loadConfig?: ({|
35
- config: IConfig,
36
- options: IPluginOptions,
37
- logger: IPluginLogger,
38
- tracer: IPluginTracer,
39
- |}) => Async<mixed>,
40
- ...
41
+ loadConfig?: (arg1: {
42
+ config: IConfig;
43
+ options: IPluginOptions;
44
+ logger: IPluginLogger;
45
+ tracer: IPluginTracer;
46
+ }) => Async<unknown>;
41
47
  };
42
48
 
43
49
  export type PluginWithBundleConfig = {
44
- loadConfig?: ({|
45
- config: IConfig,
46
- options: IPluginOptions,
47
- logger: IPluginLogger,
48
- tracer: IPluginTracer,
49
- |}) => Async<mixed>,
50
- loadBundleConfig?: ({|
51
- bundle: INamedBundle,
52
- bundleGraph: IBundleGraph<INamedBundle>,
53
- config: IConfig,
54
- options: IPluginOptions,
55
- logger: IPluginLogger,
56
- tracer: IPluginTracer,
57
- |}) => Async<mixed>,
58
- ...
50
+ loadConfig?: (arg1: {
51
+ config: IConfig;
52
+ options: IPluginOptions;
53
+ logger: IPluginLogger;
54
+ tracer: IPluginTracer;
55
+ }) => Async<unknown>;
56
+ loadBundleConfig?: (arg1: {
57
+ bundle: INamedBundle;
58
+ bundleGraph: IBundleGraph<INamedBundle>;
59
+ config: IConfig;
60
+ options: IPluginOptions;
61
+ logger: IPluginLogger;
62
+ tracer: IPluginTracer;
63
+ }) => Async<unknown>;
59
64
  };
60
65
 
61
66
  export type ConfigRequest = {
62
- id: string,
63
- invalidateOnFileChange: Set<ProjectPath>,
64
- invalidateOnConfigKeyChange: Array<{|
65
- filePath: ProjectPath,
66
- configKey: string,
67
- |}>,
68
- invalidateOnFileCreate: Array<InternalFileCreateInvalidation>,
69
- invalidateOnEnvChange: Set<string>,
70
- invalidateOnOptionChange: Set<string>,
71
- invalidateOnStartup: boolean,
72
- invalidateOnBuild: boolean,
73
- ...
67
+ id: string;
68
+ invalidateOnFileChange: Set<ProjectPath>;
69
+ invalidateOnConfigKeyChange: Array<{
70
+ filePath: ProjectPath;
71
+ configKey: string[];
72
+ }>;
73
+ invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
74
+ invalidateOnEnvChange: Set<string>;
75
+ invalidateOnOptionChange: Set<string>;
76
+ invalidateOnStartup: boolean;
77
+ invalidateOnBuild: boolean;
74
78
  };
75
79
 
76
- export type ConfigRequestResult = void;
80
+ export type ConfigRequestResult = undefined;
77
81
 
78
- export async function loadPluginConfig<T: PluginWithLoadConfig>(
82
+ export async function loadPluginConfig<T extends PluginWithLoadConfig>(
79
83
  loadedPlugin: LoadedPlugin<T>,
80
84
  config: Config,
81
85
  options: AtlaspackOptions,
@@ -99,7 +103,7 @@ export async function loadPluginConfig<T: PluginWithLoadConfig>(
99
103
  category: 'loadConfig',
100
104
  }),
101
105
  });
102
- } catch (e) {
106
+ } catch (e: any) {
103
107
  throw new ThrowableDiagnostic({
104
108
  diagnostic: errorToDiagnostic(e, {
105
109
  origin: loadedPlugin.name,
@@ -108,41 +112,97 @@ export async function loadPluginConfig<T: PluginWithLoadConfig>(
108
112
  }
109
113
  }
110
114
 
115
+ export async function loadPluginSetup<T>(
116
+ pluginName: string,
117
+ setup: Setup<T>,
118
+ config: Config,
119
+ options: AtlaspackOptions,
120
+ ): Promise<void> {
121
+ try {
122
+ let result = await setup({
123
+ config: new PublicConfig(config, options),
124
+ options: new PluginOptions(
125
+ optionsProxy(options, (option) => {
126
+ config.invalidateOnOptionChange.add(option);
127
+ }),
128
+ ),
129
+ logger: new PluginLogger({origin: pluginName}),
130
+ tracer: new PluginTracer({
131
+ origin: pluginName,
132
+ category: 'setup',
133
+ }),
134
+ });
135
+
136
+ config.result = result.config;
137
+ } catch (e: any) {
138
+ throw new ThrowableDiagnostic({
139
+ diagnostic: errorToDiagnostic(e, {
140
+ origin: pluginName,
141
+ }),
142
+ });
143
+ }
144
+ }
145
+
146
+ /**
147
+ * Return value at a given key path within an object.
148
+ *
149
+ * @example
150
+ * const obj = { a: { b: { c: 'd' } } };
151
+ * getValueAtPath(obj, ['a', 'b', 'c']); // 'd'
152
+ * getValueAtPath(obj, ['a', 'b', 'd']); // undefined
153
+ * getValueAtPath(obj, ['a', 'b']); // { c: 'd' }
154
+ * getValueAtPath(obj, ['a', 'b', 'c', 'd']); // undefined
155
+ */
156
+ export function getValueAtPath(obj: any, key: string[]): any {
157
+ let current = obj;
158
+ for (let part of key) {
159
+ if (current == null) {
160
+ return undefined;
161
+ }
162
+ current = current[part];
163
+ }
164
+ return current;
165
+ }
166
+
111
167
  const configKeyCache = createBuildCache();
112
168
 
113
169
  export async function getConfigKeyContentHash(
114
170
  filePath: ProjectPath,
115
- configKey: string,
171
+ configKey: string[],
116
172
  options: AtlaspackOptions,
117
- ): Async<string> {
118
- let cacheKey = `${fromProjectPathRelative(filePath)}:${configKey}`;
173
+ ): Promise<Async<string>> {
174
+ let cacheKey = `${fromProjectPathRelative(filePath)}:${JSON.stringify(
175
+ configKey,
176
+ )}`;
119
177
  let cachedValue = configKeyCache.get(cacheKey);
120
178
 
121
179
  if (cachedValue) {
180
+ // @ts-expect-error TS2322
122
181
  return cachedValue;
123
182
  }
124
183
 
125
- let conf = await readConfig(
184
+ const conf = await readConfig(
126
185
  options.inputFS,
127
186
  fromProjectPath(options.projectRoot, filePath),
128
187
  );
129
188
 
130
- if (conf == null || conf.config[configKey] == null) {
189
+ const value = getValueAtPath(conf?.config, configKey);
190
+ if (conf == null || value == null) {
131
191
  // This can occur when a config key has been removed entirely during `respondToFSEvents`
132
192
  return '';
133
193
  }
134
194
 
135
- let contentHash =
136
- typeof conf.config[configKey] === 'object'
137
- ? hashObject(conf.config[configKey])
138
- : hashString(JSON.stringify(conf.config[configKey]));
195
+ const contentHash =
196
+ typeof value === 'object'
197
+ ? hashObject(value)
198
+ : hashString(JSON.stringify(value));
139
199
 
140
200
  configKeyCache.set(cacheKey, contentHash);
141
201
 
142
202
  return contentHash;
143
203
  }
144
204
 
145
- export async function runConfigRequest<TResult: RequestResult>(
205
+ export async function runConfigRequest<TResult extends RequestResult>(
146
206
  api: RunAPI<TResult>,
147
207
  configRequest: ConfigRequest,
148
208
  ) {
@@ -169,7 +229,7 @@ export async function runConfigRequest<TResult: RequestResult>(
169
229
  return;
170
230
  }
171
231
 
172
- await api.runRequest<null, void>({
232
+ await api.runRequest<null, undefined>({
173
233
  id: 'config_request:' + configRequest.id,
174
234
  type: requestTypes.config_request,
175
235
  run: async ({api, options}) => {
@@ -240,7 +300,7 @@ export async function getConfigHash(
240
300
  } else if (config.result != null) {
241
301
  try {
242
302
  hash.writeBuffer(serializeRaw(config.result));
243
- } catch (err) {
303
+ } catch (err: any) {
244
304
  throw new ThrowableDiagnostic({
245
305
  diagnostic: {
246
306
  message: