@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
@@ -1,4 +1,3 @@
1
- // @flow
2
1
  import type {
3
2
  DependencySpecifier,
4
3
  SemverRange,
@@ -57,7 +56,7 @@ export async function createDevDependency(
57
56
  // Ensure that the package manager has an entry for this resolution.
58
57
  try {
59
58
  await options.packageManager.resolve(specifier, resolveFromAbsolute);
60
- } catch (err) {
59
+ } catch (err: any) {
61
60
  // ignore
62
61
  }
63
62
 
@@ -103,49 +102,68 @@ export async function createDevDependency(
103
102
  return devDepRequest;
104
103
  }
105
104
 
106
- export type DevDepSpecifier = {|
107
- specifier: DependencySpecifier,
108
- resolveFrom: ProjectPath,
109
- |};
105
+ export type DevDepSpecifier = {
106
+ specifier: DependencySpecifier;
107
+ resolveFrom: ProjectPath;
108
+ };
110
109
 
111
- type DevDepRequests = {|
112
- devDeps: Map<string, string>,
113
- invalidDevDeps: Array<DevDepSpecifier>,
114
- |};
110
+ type DevDepRequests = {
111
+ devDeps: Map<string, string>;
112
+ invalidDevDeps: Array<DevDepSpecifier>;
113
+ };
115
114
 
116
- export async function getDevDepRequests<TResult: RequestResult>(
115
+ export async function getDevDepRequests<TResult extends RequestResult>(
117
116
  api: RunAPI<TResult>,
118
117
  ): Promise<DevDepRequests> {
119
- let previousDevDepRequests: Map<string, DevDepRequestResult> = new Map(
120
- await Promise.all(
118
+ async function getPreviousDevDepRequests() {
119
+ const allDevDepRequests = await Promise.all(
121
120
  api
122
121
  .getSubRequests()
123
122
  .filter((req) => req.requestType === requestTypes.dev_dep_request)
124
- .map(async (req) => [
125
- req.id,
126
- nullthrows(await api.getRequestResult<DevDepRequestResult>(req.id)),
127
- ]),
128
- ),
129
- );
123
+ .map(
124
+ async (
125
+ req,
126
+ ): Promise<[string, DevDepRequestResult | null | undefined]> => [
127
+ req.id,
128
+ await api.getRequestResult<DevDepRequestResult>(req.id),
129
+ ],
130
+ ),
131
+ );
132
+ const nonNullDevDepRequests: Array<Array<string | DevDepRequestResult>> =
133
+ [];
134
+ for (const [id, result] of allDevDepRequests) {
135
+ if (result != null) {
136
+ nonNullDevDepRequests.push([id, result]);
137
+ }
138
+ }
139
+
140
+ // @ts-expect-error TS2769
141
+ return new Map(nonNullDevDepRequests);
142
+ }
143
+
144
+ const previousDevDepRequests = await getPreviousDevDepRequests();
130
145
 
131
146
  return {
132
147
  devDeps: new Map(
133
148
  [...previousDevDepRequests.entries()]
134
- .filter(([id]) => api.canSkipSubrequest(id))
135
- .map(([, req]: [string, DevDepRequestResult]) => [
149
+ // @ts-expect-error TS2769
150
+ .filter(([id]: [any]) => api.canSkipSubrequest(id))
151
+ .map(([, req]: [any, any]) => [
136
152
  `${req.specifier}:${fromProjectPathRelative(req.resolveFrom)}`,
137
153
  req.hash,
138
154
  ]),
139
155
  ),
140
156
  invalidDevDeps: await Promise.all(
141
157
  [...previousDevDepRequests.entries()]
142
- .filter(([id]) => !api.canSkipSubrequest(id))
143
- .flatMap(([, req]: [string, DevDepRequestResult]) => {
158
+ // @ts-expect-error TS2769
159
+ .filter(([id]: [any]) => !api.canSkipSubrequest(id))
160
+ .flatMap(([, req]: [any, any]) => {
144
161
  return [
145
162
  {
146
163
  specifier: req.specifier,
147
164
  resolveFrom: req.resolveFrom,
148
165
  },
166
+ // @ts-expect-error TS7006
149
167
  ...(req.additionalInvalidations ?? []).map((i) => ({
150
168
  specifier: i.specifier,
151
169
  resolveFrom: i.resolveFrom,
@@ -178,22 +196,25 @@ export function invalidateDevDeps(
178
196
  }
179
197
  }
180
198
 
181
- export type DevDepRequestResult = {|
182
- specifier: DependencySpecifier,
183
- resolveFrom: ProjectPath,
184
- hash: string,
185
- additionalInvalidations: void | Array<{|
186
- range?: ?SemverRange,
187
- resolveFrom: ProjectPath,
188
- specifier: DependencySpecifier,
189
- |}>,
190
- |};
199
+ export type DevDepRequestResult = {
200
+ specifier: DependencySpecifier;
201
+ resolveFrom: ProjectPath;
202
+ hash: string;
203
+ additionalInvalidations:
204
+ | undefined
205
+ | Array<{
206
+ range?: SemverRange | null | undefined;
207
+ resolveFrom: ProjectPath;
208
+ specifier: DependencySpecifier;
209
+ }>;
210
+ };
191
211
 
192
212
  const devDepRequests: Map<string, DevDepRequest> = createBuildCache();
193
213
  export function resolveDevDepRequestRef(
194
214
  devDepRequestRef: DevDepRequest | DevDepRequestRef,
195
215
  ): DevDepRequest {
196
216
  const devDepRequest =
217
+ // @ts-expect-error TS2339
197
218
  devDepRequestRef.type === 'ref'
198
219
  ? devDepRequests.get(devDepRequestRef.hash)
199
220
  : devDepRequestRef;
@@ -213,24 +234,28 @@ This is a bug in Atlaspack.`,
213
234
  );
214
235
  }
215
236
 
237
+ // @ts-expect-error TS2339
216
238
  if (devDepRequestRef.type !== 'ref') {
239
+ // @ts-expect-error TS2345
217
240
  devDepRequests.set(devDepRequest.hash, devDepRequest);
218
241
  }
219
242
 
243
+ // @ts-expect-error TS2322
220
244
  return devDepRequest;
221
245
  }
222
246
 
223
- export async function runDevDepRequest<TResult: RequestResult>(
247
+ export async function runDevDepRequest<TResult extends RequestResult>(
224
248
  api: RunAPI<TResult>,
225
249
  devDepRequestRef: DevDepRequest | DevDepRequestRef,
226
250
  ) {
227
- await api.runRequest<null, DevDepRequestResult | void>({
251
+ await api.runRequest<null, DevDepRequestResult | undefined>({
228
252
  id:
229
253
  'dev_dep_request:' +
230
254
  devDepRequestRef.specifier +
231
255
  ':' +
232
256
  devDepRequestRef.hash,
233
257
  type: requestTypes.dev_dep_request,
258
+ // @ts-expect-error TS2322
234
259
  run: ({api}) => {
235
260
  const devDepRequest = resolveDevDepRequestRef(devDepRequestRef);
236
261
 
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {Async, FilePath, PackageJSON, Glob} from '@atlaspack/types';
4
2
  import type {StaticRunOpts} from '../RequestTracker';
5
3
  import type {Entry, InternalFile, AtlaspackOptions} from '../types';
@@ -17,32 +15,31 @@ import ThrowableDiagnostic, {
17
15
  getJSONSourceLocation,
18
16
  } from '@atlaspack/diagnostic';
19
17
  import path from 'path';
20
- import {parse, type Mapping} from '@mischnic/json-sourcemap';
18
+ import {parse, Mapping} from '@mischnic/json-sourcemap';
21
19
  import {requestTypes} from '../RequestTracker';
22
20
  import {
23
- type ProjectPath,
21
+ ProjectPath,
24
22
  fromProjectPath,
25
23
  fromProjectPathRelative,
26
24
  toProjectPath,
27
25
  } from '../projectPath';
28
26
 
29
- type RunOpts<TResult> = {|
30
- input: ProjectPath,
31
- ...StaticRunOpts<TResult>,
32
- |};
27
+ type RunOpts<TResult> = {
28
+ input: ProjectPath;
29
+ } & StaticRunOpts<TResult>;
33
30
 
34
- export type EntryRequest = {|
35
- id: string,
36
- +type: typeof requestTypes.entry_request,
37
- run: (RunOpts<EntryRequestResult>) => Async<EntryRequestResult>,
38
- input: ProjectPath,
39
- |};
31
+ export type EntryRequest = {
32
+ id: string;
33
+ readonly type: typeof requestTypes.entry_request;
34
+ run: (arg1: RunOpts<EntryRequestResult>) => Async<EntryRequestResult>;
35
+ input: ProjectPath;
36
+ };
40
37
 
41
- export type EntryRequestResult = {|
42
- entries: Array<Entry>,
43
- files: Array<InternalFile>,
44
- globs: Array<Glob>,
45
- |};
38
+ export type EntryRequestResult = {
39
+ entries: Array<Entry>;
40
+ files: Array<InternalFile>;
41
+ globs: Array<Glob>;
42
+ };
46
43
 
47
44
  const type = 'entry_request';
48
45
 
@@ -55,6 +52,7 @@ export default function createEntryRequest(input: ProjectPath): EntryRequest {
55
52
  };
56
53
  }
57
54
 
55
+ // @ts-expect-error TS7031
58
56
  async function run({input, api, options}): Promise<EntryRequestResult> {
59
57
  let entryResolver = new EntryResolver(options);
60
58
  let filePath = fromProjectPath(options.projectRoot, input);
@@ -97,7 +95,7 @@ async function assertFile(
97
95
  let stat;
98
96
  try {
99
97
  stat = await fs.stat(source);
100
- } catch (err) {
98
+ } catch (err: any) {
101
99
  let contents = await fs.readFile(pkgFilePath, 'utf8');
102
100
  let alternatives = await findAlternativeFiles(
103
101
  fs,
@@ -161,7 +159,7 @@ export class EntryResolver {
161
159
  let stat;
162
160
  try {
163
161
  stat = await this.options.inputFS.stat(entry);
164
- } catch (err) {
162
+ } catch (err: any) {
165
163
  if (!isGlob(entry)) {
166
164
  throw new ThrowableDiagnostic({
167
165
  diagnostic: {
@@ -191,13 +189,13 @@ export class EntryResolver {
191
189
 
192
190
  if (pkg) {
193
191
  let {filePath} = pkg;
194
- let entries = [];
192
+ let entries: Array<Entry> = [];
195
193
  let files = [
196
194
  {
197
195
  filePath: toProjectPath(this.options.projectRoot, filePath),
198
196
  },
199
197
  ];
200
- let globs = [];
198
+ let globs: Array<Glob> = [];
201
199
 
202
200
  let targetsWithSources = 0;
203
201
  if (pkg.targets) {
@@ -348,23 +346,30 @@ export class EntryResolver {
348
346
  });
349
347
  }
350
348
 
351
- async readPackage(entry: FilePath): Promise<?{
352
- ...PackageJSON,
353
- filePath: FilePath,
354
- map: {|data: mixed, pointers: {|[string]: Mapping|}|},
355
- ...
356
- }> {
349
+ async readPackage(entry: FilePath): Promise<
350
+ | (PackageJSON & {
351
+ filePath: FilePath;
352
+ map: {
353
+ data: unknown;
354
+ pointers: {
355
+ [key: string]: Mapping;
356
+ };
357
+ };
358
+ })
359
+ | null
360
+ | undefined
361
+ > {
357
362
  let content, pkg;
358
363
  let pkgFile = path.join(entry, 'package.json');
359
364
  try {
360
365
  content = await this.options.inputFS.readFile(pkgFile, 'utf8');
361
- } catch (err) {
366
+ } catch (err: any) {
362
367
  return null;
363
368
  }
364
369
 
365
370
  try {
366
371
  pkg = JSON.parse(content);
367
- } catch (err) {
372
+ } catch (err: any) {
368
373
  // TODO: code frame?
369
374
  throw new ThrowableDiagnostic({
370
375
  diagnostic: {
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {ContentKey} from '@atlaspack/graph';
4
2
  import type {Async} from '@atlaspack/types';
5
3
  import type {SharedReference} from '@atlaspack/workers';
@@ -15,28 +13,31 @@ import nullthrows from 'nullthrows';
15
13
  import {runConfigRequest} from './ConfigRequest';
16
14
  import {getDevDepRequests, runDevDepRequest} from './DevDepRequest';
17
15
  import createAtlaspackConfigRequest from './AtlaspackConfigRequest';
18
-
19
- type PackageRequestInput = {|
20
- bundleGraph: BundleGraph,
21
- bundle: Bundle,
22
- bundleGraphReference: SharedReference,
23
- optionsRef: SharedReference,
24
- useMainThread?: boolean,
25
- |};
16
+ import {fromEnvironmentId} from '../EnvironmentManager';
17
+ import {getFeatureFlag} from '@atlaspack/feature-flags';
18
+ import logger from '@atlaspack/logger';
19
+ import ThrowableDiagnostic, {Diagnostic} from '@atlaspack/diagnostic';
20
+
21
+ type PackageRequestInput = {
22
+ bundleGraph: BundleGraph;
23
+ bundle: Bundle;
24
+ bundleGraphReference: SharedReference;
25
+ optionsRef: SharedReference;
26
+ useMainThread?: boolean;
27
+ };
26
28
 
27
29
  export type PackageRequestResult = BundleInfo;
28
30
 
29
- type RunInput<TResult> = {|
30
- input: PackageRequestInput,
31
- ...StaticRunOpts<TResult>,
32
- |};
31
+ type RunInput<TResult> = {
32
+ input: PackageRequestInput;
33
+ } & StaticRunOpts<TResult>;
33
34
 
34
- export type PackageRequest = {|
35
- id: ContentKey,
36
- +type: typeof requestTypes.package_request,
37
- run: (RunInput<BundleInfo>) => Async<BundleInfo>,
38
- input: PackageRequestInput,
39
- |};
35
+ export type PackageRequest = {
36
+ id: ContentKey;
37
+ readonly type: typeof requestTypes.package_request;
38
+ run: (arg1: RunInput<BundleInfo>) => Async<BundleInfo>;
39
+ input: PackageRequestInput;
40
+ };
40
41
 
41
42
  export function createPackageRequest(
42
43
  input: PackageRequestInput,
@@ -49,8 +50,9 @@ export function createPackageRequest(
49
50
  };
50
51
  }
51
52
 
52
- async function run({input, api, farm}) {
53
+ async function run({input, api, farm, rustAtlaspack}: RunInput<BundleInfo>) {
53
54
  let {bundleGraphReference, optionsRef, bundle, useMainThread} = input;
55
+
54
56
  let runPackage = farm.createHandle('runPackage', useMainThread);
55
57
 
56
58
  let start = Date.now();
@@ -61,8 +63,29 @@ async function run({input, api, farm}) {
61
63
  ),
62
64
  );
63
65
 
64
- let {devDepRequests, configRequests, bundleInfo, invalidations} =
65
- (await runPackage({
66
+ let packagingResult: RunPackagerRunnerResult;
67
+ if (
68
+ getFeatureFlag('nativePackager') &&
69
+ getFeatureFlag('nativePackagerSSRDev') &&
70
+ rustAtlaspack &&
71
+ fromEnvironmentId(bundle.env).context === 'tesseract' &&
72
+ bundle.type === 'js'
73
+ ) {
74
+ // Once this actually does something, the code below will be in an `else` block (i.e. we'll only run one or the other)
75
+ let result = await rustAtlaspack.package(bundle.id, {inlineRequires: true});
76
+ let error: Diagnostic | null = null;
77
+ [packagingResult, error] = result;
78
+ if (error) {
79
+ throw new ThrowableDiagnostic({
80
+ diagnostic: error,
81
+ });
82
+ }
83
+ logger.verbose({
84
+ message: JSON.stringify(packagingResult, null, 2),
85
+ origin: '@atlaspack/core',
86
+ });
87
+ } else {
88
+ packagingResult = (await runPackage({
66
89
  bundle,
67
90
  bundleGraphReference,
68
91
  optionsRef,
@@ -70,8 +93,11 @@ async function run({input, api, farm}) {
70
93
  previousDevDeps: devDeps,
71
94
  invalidDevDeps,
72
95
  previousInvalidations: api.getInvalidations(),
73
- }): RunPackagerRunnerResult);
96
+ })) as RunPackagerRunnerResult;
97
+ }
74
98
 
99
+ let {devDepRequests, configRequests, bundleInfo, invalidations} =
100
+ packagingResult;
75
101
  for (let devDepRequest of devDepRequests) {
76
102
  await runDevDepRequest(api, devDepRequest);
77
103
  }
@@ -93,11 +119,12 @@ async function run({input, api, farm}) {
93
119
  api.invalidateOnOptionChange(invalidation.key);
94
120
  break;
95
121
  default:
122
+ // @ts-expect-error TS2339
96
123
  throw new Error(`Unknown invalidation type: ${invalidation.type}`);
97
124
  }
98
125
  }
99
126
 
100
- // $FlowFixMe[cannot-write] time is marked read-only, but this is the exception
127
+ // @ts-expect-error TS2540
101
128
  bundleInfo.time = Date.now() - start;
102
129
 
103
130
  api.storeResult(bundleInfo);
@@ -1,4 +1,3 @@
1
- // @flow strict-local
2
1
  import type {Diagnostic} from '@atlaspack/diagnostic';
3
2
  import type {
4
3
  Async,
@@ -24,13 +23,14 @@ import ThrowableDiagnostic, {
24
23
  md,
25
24
  } from '@atlaspack/diagnostic';
26
25
  import {PluginLogger} from '@atlaspack/logger';
26
+ import {getFeatureFlag} from '@atlaspack/feature-flags';
27
27
  import nullthrows from 'nullthrows';
28
28
  import path from 'path';
29
29
  import {normalizePath} from '@atlaspack/utils';
30
30
  import {report} from '../ReporterRunner';
31
31
  import {getPublicDependency} from '../public/Dependency';
32
32
  import PluginOptions from '../public/PluginOptions';
33
- import {AtlaspackConfig, type LoadedPlugin} from '../AtlaspackConfig';
33
+ import {AtlaspackConfig, LoadedPlugin} from '../AtlaspackConfig';
34
34
  import createAtlaspackConfigRequest, {
35
35
  getCachedAtlaspackConfig,
36
36
  } from './AtlaspackConfigRequest';
@@ -53,24 +53,23 @@ import {
53
53
  import {tracer, PluginTracer} from '@atlaspack/profiler';
54
54
  import {requestTypes} from '../RequestTracker';
55
55
 
56
- export type PathRequest = {|
57
- id: string,
58
- +type: typeof requestTypes.path_request,
59
- run: (RunOpts<PathRequestResult>) => Async<PathRequestResult>,
60
- input: PathRequestInput,
61
- |};
56
+ export type PathRequest = {
57
+ id: string;
58
+ readonly type: typeof requestTypes.path_request;
59
+ run: (arg1: RunOpts<PathRequestResult>) => Async<PathRequestResult>;
60
+ input: PathRequestInput;
61
+ };
62
62
 
63
- export type PathRequestResult = null | void | AssetGroup;
63
+ export type PathRequestResult = null | undefined | AssetGroup;
64
64
 
65
- export type PathRequestInput = {|
66
- dependency: Dependency,
67
- name: string,
68
- |};
65
+ export type PathRequestInput = {
66
+ dependency: Dependency;
67
+ name: string;
68
+ };
69
69
 
70
- type RunOpts<TResult> = {|
71
- input: PathRequestInput,
72
- ...StaticRunOpts<TResult>,
73
- |};
70
+ type RunOpts<TResult> = {
71
+ input: PathRequestInput;
72
+ } & StaticRunOpts<TResult>;
74
73
 
75
74
  const PIPELINE_REGEX = /^([a-z0-9-]+?):(.*)$/i;
76
75
 
@@ -85,8 +84,10 @@ export default function createPathRequest(
85
84
  };
86
85
  }
87
86
 
87
+ // @ts-expect-error TS7031
88
88
  async function run({input, api, options}): Promise<PathRequestResult> {
89
89
  let configResult = nullthrows(
90
+ // @ts-expect-error TS2347
90
91
  await api.runRequest<null, ConfigAndCachePath>(
91
92
  createAtlaspackConfigRequest(),
92
93
  ),
@@ -138,25 +139,25 @@ async function run({input, api, options}): Promise<PathRequestResult> {
138
139
 
139
140
  if (result.diagnostics && result.diagnostics.length > 0) {
140
141
  let err = new ThrowableDiagnostic({diagnostic: result.diagnostics});
141
- // $FlowFixMe[prop-missing]
142
+ // @ts-expect-error TS2339
142
143
  err.code = 'MODULE_NOT_FOUND';
143
144
  throw err;
144
145
  }
145
146
  }
146
147
 
147
- type ResolverRunnerOpts = {|
148
- config: AtlaspackConfig,
149
- options: AtlaspackOptions,
150
- previousDevDeps: Map<string, string>,
151
- |};
148
+ type ResolverRunnerOpts = {
149
+ config: AtlaspackConfig;
150
+ options: AtlaspackOptions;
151
+ previousDevDeps: Map<string, string>;
152
+ };
152
153
 
153
- type ResolverResult = {|
154
- assetGroup: ?AssetGroup,
155
- invalidateOnFileCreate?: Array<FileCreateInvalidation>,
156
- invalidateOnFileChange?: Array<FilePath>,
157
- invalidateOnEnvChange?: Array<string>,
158
- diagnostics?: Array<Diagnostic>,
159
- |};
154
+ type ResolverResult = {
155
+ assetGroup: AssetGroup | null | undefined;
156
+ invalidateOnFileCreate?: Array<FileCreateInvalidation>;
157
+ invalidateOnFileChange?: Array<FilePath>;
158
+ invalidateOnEnvChange?: Array<string>;
159
+ diagnostics?: Array<Diagnostic>;
160
+ };
160
161
 
161
162
  const configCache = createBuildCache();
162
163
 
@@ -180,7 +181,7 @@ export class ResolverRunner {
180
181
  async getDiagnostic(
181
182
  dependency: Dependency,
182
183
  message: string,
183
- ): Async<Diagnostic> {
184
+ ): Promise<Async<Diagnostic>> {
184
185
  let diagnostic: Diagnostic = {
185
186
  message,
186
187
  origin: '@atlaspack/core',
@@ -208,7 +209,7 @@ export class ResolverRunner {
208
209
  }
209
210
 
210
211
  async loadConfigs(
211
- resolvers: Array<LoadedPlugin<Resolver<mixed>>>,
212
+ resolvers: Array<LoadedPlugin<Resolver<unknown>>>,
212
213
  ): Promise<void> {
213
214
  for (let plugin of resolvers) {
214
215
  // Only load config for a plugin once per build.
@@ -219,12 +220,15 @@ export class ResolverRunner {
219
220
  searchPath: toProjectPathUnsafe('index'),
220
221
  });
221
222
 
223
+ // @ts-expect-error TS2345
222
224
  await loadPluginConfig(plugin, config, this.options);
223
225
  configCache.set(plugin.name, config);
226
+ // @ts-expect-error TS2345
224
227
  this.configs.set(plugin.name, config);
225
228
  }
226
229
 
227
230
  if (config) {
231
+ // @ts-expect-error TS2339
228
232
  for (let devDep of config.devDeps) {
229
233
  let devDepRequest = await createDevDependency(
230
234
  devDep,
@@ -234,15 +238,18 @@ export class ResolverRunner {
234
238
  this.runDevDepRequest(devDepRequest);
235
239
  }
236
240
 
241
+ // @ts-expect-error TS2345
237
242
  this.configs.set(plugin.name, config);
238
243
  }
239
244
  }
240
245
  }
241
246
 
242
247
  runDevDepRequest(devDepRequest: DevDepRequest | DevDepRequestRef) {
248
+ // @ts-expect-error TS2339
243
249
  if (devDepRequest.type !== 'ref') {
244
250
  let {specifier, resolveFrom} = devDepRequest;
245
251
  let key = `${specifier}:${fromProjectPathRelative(resolveFrom)}`;
252
+ // @ts-expect-error TS2345
246
253
  this.devDepRequests.set(key, devDepRequest);
247
254
  }
248
255
  }
@@ -284,9 +291,9 @@ export class ResolverRunner {
284
291
  specifier = path.join(this.options.projectRoot, specifier);
285
292
  }
286
293
  let diagnostics: Array<Diagnostic> = [];
287
- let invalidateOnFileCreate = [];
288
- let invalidateOnFileChange = [];
289
- let invalidateOnEnvChange = [];
294
+ let invalidateOnFileCreate: Array<FileCreateInvalidation> = [];
295
+ let invalidateOnFileChange: Array<FilePath> = [];
296
+ let invalidateOnEnvChange: Array<string> = [];
290
297
  for (let resolver of resolvers) {
291
298
  let measurement;
292
299
  try {
@@ -320,6 +327,9 @@ export class ResolverRunner {
320
327
 
321
328
  if (result.priority != null) {
322
329
  dependency.priority = Priority[result.priority];
330
+ if (getFeatureFlag('hmrImprovements')) {
331
+ dependency.resolverPriority = dependency.priority;
332
+ }
323
333
  }
324
334
 
325
335
  if (result.invalidateOnEnvChange) {
@@ -364,7 +374,7 @@ export class ResolverRunner {
364
374
  env: dependency.env,
365
375
  pipeline:
366
376
  result.pipeline === undefined
367
- ? pipeline ?? dependency.pipeline
377
+ ? (pipeline ?? dependency.pipeline)
368
378
  : result.pipeline,
369
379
  isURL: dep.specifierType === 'url',
370
380
  },
@@ -391,7 +401,7 @@ export class ResolverRunner {
391
401
  diagnostics.push(...errorDiagnostic);
392
402
  }
393
403
  }
394
- } catch (e) {
404
+ } catch (e: any) {
395
405
  // Add error to error map, we'll append these to the standard error if we can't resolve the asset
396
406
  let errorDiagnostic = errorToDiagnostic(e, {
397
407
  origin: resolver.name,