@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
@@ -32,6 +32,13 @@ function _logger() {
32
32
  };
33
33
  return data;
34
34
  }
35
+ function _featureFlags() {
36
+ const data = require("@atlaspack/feature-flags");
37
+ _featureFlags = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
35
42
  function _diagnostic() {
36
43
  const data = _interopRequireWildcard(require("@atlaspack/diagnostic"));
37
44
  _diagnostic = function () {
@@ -39,7 +46,6 @@ function _diagnostic() {
39
46
  };
40
47
  return data;
41
48
  }
42
- var _AssetGraph = _interopRequireDefault(require("../AssetGraph"));
43
49
  var _BundleGraph = _interopRequireDefault(require("../public/BundleGraph"));
44
50
  var _BundleGraph2 = _interopRequireWildcard(require("../BundleGraph"));
45
51
  var _MutableBundleGraph = _interopRequireDefault(require("../public/MutableBundleGraph"));
@@ -85,6 +91,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
85
91
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
86
92
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
87
93
  // TODO: Rename to BundleGraphRequestResult
94
+
88
95
  function applySideEffectsForLoadableImports(assetGraph) {
89
96
  // Avoid revisiting nodes
90
97
  let updatedAssetIds = new Set();
@@ -131,7 +138,7 @@ function createBundleGraphRequest(input) {
131
138
  signal
132
139
  } = input.input;
133
140
  let measurement = _profiler().tracer.createMeasurement('building');
134
- let createAssetGraphRequest = input.rustAtlaspack ? (0, _AssetGraphRequestRust.createAssetGraphRequestRust)(input.rustAtlaspack) : _AssetGraphRequest.default;
141
+ let createAssetGraphRequest = (0, _featureFlags().getFeatureFlag)('atlaspackV3') && input.rustAtlaspack ? (0, _AssetGraphRequestRust.createAssetGraphRequestRust)(input.rustAtlaspack) : _AssetGraphRequest.default;
135
142
  let request = createAssetGraphRequest({
136
143
  name: 'Main',
137
144
  entries: options.entries,
@@ -145,8 +152,10 @@ function createBundleGraphRequest(input) {
145
152
  assetGraph,
146
153
  changedAssets,
147
154
  assetRequests
148
- } = await api.runRequest(request, {
149
- force: Boolean(input.rustAtlaspack) || options.shouldBuildLazily && requestedAssetIds.size > 0
155
+ } = await (0, _logger().instrumentAsync)('asset-graph-request', () => {
156
+ return api.runRequest(request, {
157
+ force: Boolean(input.rustAtlaspack) || options.shouldBuildLazily && requestedAssetIds.size > 0
158
+ });
150
159
  });
151
160
  if ((_input$options$featur = input.options.featureFlags) !== null && _input$options$featur !== void 0 && _input$options$featur.loadableSideEffects) {
152
161
  applySideEffectsForLoadableImports(assetGraph);
@@ -171,7 +180,11 @@ function createBundleGraphRequest(input) {
171
180
  // force: true,
172
181
  // },
173
182
  // );
174
- // require('./asset-graph-diff.js')(jsAssetGraph, assetGraph);
183
+ // require('./asset-graph-diff.ts')(
184
+ // jsAssetGraph,
185
+ // assetGraph,
186
+ // options.projectRoot,
187
+ // );
175
188
  // }
176
189
 
177
190
  measurement && measurement.end();
@@ -183,6 +196,7 @@ function createBundleGraphRequest(input) {
183
196
  let subRequestsInvalid = Boolean(invalidateReason & _constants.OPTION_CHANGE) || input.api.getSubRequests().some(req => !input.api.canSkipSubrequest(req.id));
184
197
  if (subRequestsInvalid) {
185
198
  assetGraph.safeToIncrementallyBundle = false;
199
+ assetGraph.setNeedsBundling();
186
200
  }
187
201
  let configResult = (0, _nullthrows().default)(await input.api.runRequest((0, _AtlaspackConfigRequest.default)()));
188
202
  (0, _utils2.assertSignalNotAborted)(signal);
@@ -204,7 +218,7 @@ function createBundleGraphRequest(input) {
204
218
  res.changedAssets.set(id, asset);
205
219
  }
206
220
  await (0, _dumpGraphToGraphViz.default)(
207
- // $FlowFixMe Added in Flow 0.121.0 upgrade in #4381 (Windows only)
221
+ // @ts-expect-error TS2345
208
222
  res.bundleGraph._graph, 'BundleGraph', _BundleGraph2.bundleGraphEdgeTypes);
209
223
  return res;
210
224
  },
@@ -225,7 +239,12 @@ class BundlerRunner {
225
239
  this.devDepRequests = new Map();
226
240
  this.configs = new Map();
227
241
  this.pluginOptions = new _PluginOptions.default((0, _utils2.optionsProxy)(this.options, api.invalidateOnOptionChange));
228
- this.cacheKey = (0, _rust().hashString)(`${_constants.ATLASPACK_VERSION}:BundleGraph:${JSON.stringify(options.entries) ?? ''}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`) + '-BundleGraph';
242
+ if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
243
+ const key = (0, _rust().hashString)(`${_constants.ATLASPACK_VERSION}:BundleGraph:${JSON.stringify(options.entries) ?? ''}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`);
244
+ this.cacheKey = `BundleGraph/${_constants.ATLASPACK_VERSION}/${options.mode}/${key}`;
245
+ } else {
246
+ this.cacheKey = (0, _rust().hashString)(`${_constants.ATLASPACK_VERSION}:BundleGraph:${JSON.stringify(options.entries) ?? ''}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`) + '-BundleGraph';
247
+ }
229
248
  }
230
249
  async loadConfigs() {
231
250
  // Load all configs up front so we can use them in the cache key
@@ -280,16 +299,11 @@ class BundlerRunner {
280
299
  } = plugin;
281
300
 
282
301
  // if a previous asset graph hash is passed in, check if the bundle graph is also available
283
- let previousBundleGraphResult;
284
- if (graph.safeToIncrementallyBundle) {
285
- try {
286
- previousBundleGraphResult = await this.api.getPreviousResult();
287
- } catch {
288
- // if the bundle graph had an error or was removed, don't fail the build
289
- }
290
- }
291
- if (previousBundleGraphResult == null) {
302
+ const previousBundleGraphResult = await this.api.getPreviousResult();
303
+ const canIncrementallyBundle = (previousBundleGraphResult === null || previousBundleGraphResult === void 0 ? void 0 : previousBundleGraphResult.assetGraphBundlingVersion) != null && graph.canIncrementallyBundle(previousBundleGraphResult.assetGraphBundlingVersion);
304
+ if (graph.safeToIncrementallyBundle && previousBundleGraphResult == null) {
292
305
  graph.safeToIncrementallyBundle = false;
306
+ graph.setNeedsBundling();
293
307
  }
294
308
  let internalBundleGraph;
295
309
  let logger = new (_logger().PluginLogger)({
@@ -300,7 +314,7 @@ class BundlerRunner {
300
314
  category: 'bundle'
301
315
  });
302
316
  try {
303
- if (previousBundleGraphResult) {
317
+ if (canIncrementallyBundle && previousBundleGraphResult) {
304
318
  internalBundleGraph = previousBundleGraphResult.bundleGraph;
305
319
  for (let changedAssetId of changedAssets.keys()) {
306
320
  // Copy over the whole node to also have correct symbol data
@@ -314,7 +328,7 @@ class BundlerRunner {
314
328
  (0, _assert().default)(internalBundleGraph != null); // ensures the graph was created
315
329
 
316
330
  await (0, _dumpGraphToGraphViz.default)(
317
- // $FlowFixMe
331
+ // @ts-expect-error TS2345
318
332
  internalBundleGraph._graph, 'before_bundle', _BundleGraph2.bundleGraphEdgeTypes);
319
333
  let mutableBundleGraph = new _MutableBundleGraph.default(internalBundleGraph, this.options);
320
334
  let measurement;
@@ -355,7 +369,7 @@ class BundlerRunner {
355
369
  } finally {
356
370
  optimizeMeasurement && optimizeMeasurement.end();
357
371
  await (0, _dumpGraphToGraphViz.default)(
358
- // $FlowFixMe[incompatible-call]
372
+ // @ts-expect-error TS2345
359
373
  internalBundleGraph._graph, 'after_optimize');
360
374
  }
361
375
  }
@@ -372,6 +386,7 @@ class BundlerRunner {
372
386
  if (internalBundleGraph != null) {
373
387
  this.api.storeResult({
374
388
  bundleGraph: internalBundleGraph,
389
+ assetGraphBundlingVersion: graph.getBundlingVersion(),
375
390
  changedAssets: new Map(),
376
391
  assetRequests: []
377
392
  }, this.cacheKey);
@@ -384,12 +399,12 @@ class BundlerRunner {
384
399
  } finally {
385
400
  if (internalBundleGraph != null) {
386
401
  await (0, _dumpGraphToGraphViz.default)(
387
- // $FlowFixMe[incompatible-call]
402
+ // @ts-expect-error TS2345
388
403
  internalBundleGraph._graph, 'after_bundle', _BundleGraph2.bundleGraphEdgeTypes);
389
404
  }
390
405
  }
391
406
  let changedRuntimes = new Map();
392
- if (!previousBundleGraphResult) {
407
+ if (!previousBundleGraphResult || !canIncrementallyBundle) {
393
408
  let namers = await this.config.getNamers();
394
409
  // inline bundles must still be named so the PackagerRunner
395
410
  // can match them to the correct packager/optimizer plugins.
@@ -397,7 +412,7 @@ class BundlerRunner {
397
412
  includeInline: true
398
413
  });
399
414
  await Promise.all(bundles.map(bundle => this.nameBundle(namers, bundle, internalBundleGraph)));
400
- changedRuntimes = await (0, _applyRuntimes.default)({
415
+ changedRuntimes = await (0, _logger().instrumentAsync)('applyRuntimes', () => (0, _applyRuntimes.default)({
401
416
  bundleGraph: internalBundleGraph,
402
417
  api: this.api,
403
418
  config: this.config,
@@ -407,7 +422,7 @@ class BundlerRunner {
407
422
  previousDevDeps: this.previousDevDeps,
408
423
  devDepRequests: this.devDepRequests,
409
424
  configs: this.configs
410
- });
425
+ }));
411
426
 
412
427
  // Add dev deps for namers, AFTER running them to account for lazy require().
413
428
  for (let namer of namers) {
@@ -423,15 +438,17 @@ class BundlerRunner {
423
438
  internalBundleGraph.getBundleGraphHash();
424
439
  }
425
440
  await (0, _dumpGraphToGraphViz.default)(
426
- // $FlowFixMe
441
+ // @ts-expect-error TS2345
427
442
  internalBundleGraph._graph, 'after_runtimes', _BundleGraph2.bundleGraphEdgeTypes);
428
443
  this.api.storeResult({
429
444
  bundleGraph: internalBundleGraph,
445
+ assetGraphBundlingVersion: graph.getBundlingVersion(),
430
446
  changedAssets: new Map(),
431
447
  assetRequests: []
432
448
  }, this.cacheKey);
433
449
  return {
434
450
  bundleGraph: internalBundleGraph,
451
+ assetGraphBundlingVersion: graph.getBundlingVersion(),
435
452
  changedAssets: changedRuntimes,
436
453
  assetRequests
437
454
  };
@@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getConfigHash = getConfigHash;
7
7
  exports.getConfigKeyContentHash = getConfigKeyContentHash;
8
8
  exports.getConfigRequests = getConfigRequests;
9
+ exports.getValueAtPath = getValueAtPath;
9
10
  exports.loadPluginConfig = loadPluginConfig;
11
+ exports.loadPluginSetup = loadPluginSetup;
10
12
  exports.runConfigRequest = runConfigRequest;
11
13
  function _utils() {
12
14
  const data = require("@atlaspack/utils");
@@ -86,19 +88,66 @@ async function loadPluginConfig(loadedPlugin, config, options) {
86
88
  });
87
89
  }
88
90
  }
91
+ async function loadPluginSetup(pluginName, setup, config, options) {
92
+ try {
93
+ let result = await setup({
94
+ config: new _Config.default(config, options),
95
+ options: new _PluginOptions.default((0, _utils2.optionsProxy)(options, option => {
96
+ config.invalidateOnOptionChange.add(option);
97
+ })),
98
+ logger: new (_logger().PluginLogger)({
99
+ origin: pluginName
100
+ }),
101
+ tracer: new (_profiler().PluginTracer)({
102
+ origin: pluginName,
103
+ category: 'setup'
104
+ })
105
+ });
106
+ config.result = result.config;
107
+ } catch (e) {
108
+ throw new (_diagnostic().default)({
109
+ diagnostic: (0, _diagnostic().errorToDiagnostic)(e, {
110
+ origin: pluginName
111
+ })
112
+ });
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Return value at a given key path within an object.
118
+ *
119
+ * @example
120
+ * const obj = { a: { b: { c: 'd' } } };
121
+ * getValueAtPath(obj, ['a', 'b', 'c']); // 'd'
122
+ * getValueAtPath(obj, ['a', 'b', 'd']); // undefined
123
+ * getValueAtPath(obj, ['a', 'b']); // { c: 'd' }
124
+ * getValueAtPath(obj, ['a', 'b', 'c', 'd']); // undefined
125
+ */
126
+ function getValueAtPath(obj, key) {
127
+ let current = obj;
128
+ for (let part of key) {
129
+ if (current == null) {
130
+ return undefined;
131
+ }
132
+ current = current[part];
133
+ }
134
+ return current;
135
+ }
89
136
  const configKeyCache = (0, _buildCache().createBuildCache)();
90
137
  async function getConfigKeyContentHash(filePath, configKey, options) {
91
- let cacheKey = `${(0, _projectPath.fromProjectPathRelative)(filePath)}:${configKey}`;
138
+ let cacheKey = `${(0, _projectPath.fromProjectPathRelative)(filePath)}:${JSON.stringify(configKey)}`;
92
139
  let cachedValue = configKeyCache.get(cacheKey);
93
140
  if (cachedValue) {
141
+ // @ts-expect-error TS2322
94
142
  return cachedValue;
95
143
  }
96
- let conf = await (0, _utils().readConfig)(options.inputFS, (0, _projectPath.fromProjectPath)(options.projectRoot, filePath));
97
- if (conf == null || conf.config[configKey] == null) {
144
+ const conf = await (0, _utils().readConfig)(options.inputFS, (0, _projectPath.fromProjectPath)(options.projectRoot, filePath));
145
+ const value = getValueAtPath(conf === null || conf === void 0 ? void 0 : conf.config, configKey);
146
+ if (conf == null || value == null) {
98
147
  // This can occur when a config key has been removed entirely during `respondToFSEvents`
99
148
  return '';
100
149
  }
101
- let contentHash = typeof conf.config[configKey] === 'object' ? (0, _utils().hashObject)(conf.config[configKey]) : (0, _rust().hashString)(JSON.stringify(conf.config[configKey]));
150
+ const contentHash = typeof value === 'object' ? (0, _utils().hashObject)(value) : (0, _rust().hashString)(JSON.stringify(value));
102
151
  configKeyCache.set(cacheKey, contentHash);
103
152
  return contentHash;
104
153
  }
@@ -89,14 +89,32 @@ async function createDevDependency(opts, requestDevDeps, options) {
89
89
  return devDepRequest;
90
90
  }
91
91
  async function getDevDepRequests(api) {
92
- let previousDevDepRequests = new Map(await Promise.all(api.getSubRequests().filter(req => req.requestType === _RequestTracker.requestTypes.dev_dep_request).map(async req => [req.id, (0, _nullthrows().default)(await api.getRequestResult(req.id))])));
92
+ async function getPreviousDevDepRequests() {
93
+ const allDevDepRequests = await Promise.all(api.getSubRequests().filter(req => req.requestType === _RequestTracker.requestTypes.dev_dep_request).map(async req => [req.id, await api.getRequestResult(req.id)]));
94
+ const nonNullDevDepRequests = [];
95
+ for (const [id, result] of allDevDepRequests) {
96
+ if (result != null) {
97
+ nonNullDevDepRequests.push([id, result]);
98
+ }
99
+ }
100
+
101
+ // @ts-expect-error TS2769
102
+ return new Map(nonNullDevDepRequests);
103
+ }
104
+ const previousDevDepRequests = await getPreviousDevDepRequests();
93
105
  return {
94
- devDeps: new Map([...previousDevDepRequests.entries()].filter(([id]) => api.canSkipSubrequest(id)).map(([, req]) => [`${req.specifier}:${(0, _projectPath.fromProjectPathRelative)(req.resolveFrom)}`, req.hash])),
95
- invalidDevDeps: await Promise.all([...previousDevDepRequests.entries()].filter(([id]) => !api.canSkipSubrequest(id)).flatMap(([, req]) => {
106
+ devDeps: new Map([...previousDevDepRequests.entries()]
107
+ // @ts-expect-error TS2769
108
+ .filter(([id]) => api.canSkipSubrequest(id)).map(([, req]) => [`${req.specifier}:${(0, _projectPath.fromProjectPathRelative)(req.resolveFrom)}`, req.hash])),
109
+ invalidDevDeps: await Promise.all([...previousDevDepRequests.entries()]
110
+ // @ts-expect-error TS2769
111
+ .filter(([id]) => !api.canSkipSubrequest(id)).flatMap(([, req]) => {
96
112
  return [{
97
113
  specifier: req.specifier,
98
114
  resolveFrom: req.resolveFrom
99
- }, ...(req.additionalInvalidations ?? []).map(i => ({
115
+ },
116
+ // @ts-expect-error TS7006
117
+ ...(req.additionalInvalidations ?? []).map(i => ({
100
118
  specifier: i.specifier,
101
119
  resolveFrom: i.resolveFrom
102
120
  }))];
@@ -122,7 +140,9 @@ function invalidateDevDeps(invalidDevDeps, options, config) {
122
140
  }
123
141
  const devDepRequests = (0, _buildCache().createBuildCache)();
124
142
  function resolveDevDepRequestRef(devDepRequestRef) {
125
- const devDepRequest = devDepRequestRef.type === 'ref' ? devDepRequests.get(devDepRequestRef.hash) : devDepRequestRef;
143
+ const devDepRequest =
144
+ // @ts-expect-error TS2339
145
+ devDepRequestRef.type === 'ref' ? devDepRequests.get(devDepRequestRef.hash) : devDepRequestRef;
126
146
  if (devDepRequest == null) {
127
147
  throw new Error(`Worker send back a reference to a missing dev dep request.
128
148
 
@@ -132,15 +152,21 @@ ${process.env.NODE_ENV === 'test' ? `If this is a unit test, call atlaspack.clea
132
152
 
133
153
  This is a bug in Atlaspack.`);
134
154
  }
155
+
156
+ // @ts-expect-error TS2339
135
157
  if (devDepRequestRef.type !== 'ref') {
158
+ // @ts-expect-error TS2345
136
159
  devDepRequests.set(devDepRequest.hash, devDepRequest);
137
160
  }
161
+
162
+ // @ts-expect-error TS2322
138
163
  return devDepRequest;
139
164
  }
140
165
  async function runDevDepRequest(api, devDepRequestRef) {
141
166
  await api.runRequest({
142
167
  id: 'dev_dep_request:' + devDepRequestRef.specifier + ':' + devDepRequestRef.hash,
143
168
  type: _RequestTracker.requestTypes.dev_dep_request,
169
+ // @ts-expect-error TS2322
144
170
  run: ({
145
171
  api
146
172
  }) => {
@@ -47,6 +47,8 @@ function createEntryRequest(input) {
47
47
  input
48
48
  };
49
49
  }
50
+
51
+ // @ts-expect-error TS7031
50
52
  async function run({
51
53
  input,
52
54
  api,
@@ -15,6 +15,14 @@ function _nullthrows() {
15
15
  var _ConfigRequest = require("./ConfigRequest");
16
16
  var _DevDepRequest = require("./DevDepRequest");
17
17
  var _AtlaspackConfigRequest = _interopRequireDefault(require("./AtlaspackConfigRequest"));
18
+ var _EnvironmentManager = require("../EnvironmentManager");
19
+ function _featureFlags() {
20
+ const data = require("@atlaspack/feature-flags");
21
+ _featureFlags = function () {
22
+ return data;
23
+ };
24
+ return data;
25
+ }
18
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
27
  function createPackageRequest(input) {
20
28
  return {
@@ -27,7 +35,8 @@ function createPackageRequest(input) {
27
35
  async function run({
28
36
  input,
29
37
  api,
30
- farm
38
+ farm,
39
+ rustAtlaspack
31
40
  }) {
32
41
  let {
33
42
  bundleGraphReference,
@@ -44,6 +53,10 @@ async function run({
44
53
  let {
45
54
  cachePath
46
55
  } = (0, _nullthrows().default)(await api.runRequest((0, _AtlaspackConfigRequest.default)()));
56
+ if ((0, _featureFlags().getFeatureFlag)('nativePackager') && (0, _featureFlags().getFeatureFlag)('nativePackagerSSRDev') && rustAtlaspack && (0, _EnvironmentManager.fromEnvironmentId)(bundle.env).context === 'tesseract' && bundle.type === 'js') {
57
+ // Once this actually does something, the code below will be in an `else` block (i.e. we'll only run one or the other)
58
+ await rustAtlaspack.package();
59
+ }
47
60
  let {
48
61
  devDepRequests,
49
62
  configRequests,
@@ -77,11 +90,12 @@ async function run({
77
90
  api.invalidateOnOptionChange(invalidation.key);
78
91
  break;
79
92
  default:
93
+ // @ts-expect-error TS2339
80
94
  throw new Error(`Unknown invalidation type: ${invalidation.type}`);
81
95
  }
82
96
  }
83
97
 
84
- // $FlowFixMe[cannot-write] time is marked read-only, but this is the exception
98
+ // @ts-expect-error TS2540
85
99
  bundleInfo.time = Date.now() - start;
86
100
  api.storeResult(bundleInfo);
87
101
  return bundleInfo;
@@ -26,6 +26,13 @@ function _logger() {
26
26
  };
27
27
  return data;
28
28
  }
29
+ function _featureFlags() {
30
+ const data = require("@atlaspack/feature-flags");
31
+ _featureFlags = function () {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
29
36
  function _nullthrows() {
30
37
  const data = _interopRequireDefault(require("nullthrows"));
31
38
  _nullthrows = function () {
@@ -50,7 +57,6 @@ function _utils() {
50
57
  var _ReporterRunner = require("../ReporterRunner");
51
58
  var _Dependency = require("../public/Dependency");
52
59
  var _PluginOptions = _interopRequireDefault(require("../public/PluginOptions"));
53
- var _AtlaspackConfig = require("../AtlaspackConfig");
54
60
  var _AtlaspackConfigRequest = _interopRequireWildcard(require("./AtlaspackConfigRequest"));
55
61
  var _utils2 = require("../utils");
56
62
  var _projectPath = require("../projectPath");
@@ -78,12 +84,16 @@ function createPathRequest(input) {
78
84
  input
79
85
  };
80
86
  }
87
+
88
+ // @ts-expect-error TS7031
81
89
  async function run({
82
90
  input,
83
91
  api,
84
92
  options
85
93
  }) {
86
- let configResult = (0, _nullthrows().default)(await api.runRequest((0, _AtlaspackConfigRequest.default)()));
94
+ let configResult = (0, _nullthrows().default)(
95
+ // @ts-expect-error TS2347
96
+ await api.runRequest((0, _AtlaspackConfigRequest.default)()));
87
97
  let config = (0, _AtlaspackConfigRequest.getCachedAtlaspackConfig)(configResult, options);
88
98
  let {
89
99
  devDeps,
@@ -127,7 +137,7 @@ async function run({
127
137
  let err = new (_diagnostic().default)({
128
138
  diagnostic: result.diagnostics
129
139
  });
130
- // $FlowFixMe[prop-missing]
140
+ // @ts-expect-error TS2339
131
141
  err.code = 'MODULE_NOT_FOUND';
132
142
  throw err;
133
143
  }
@@ -170,26 +180,34 @@ class ResolverRunner {
170
180
  plugin: plugin.name,
171
181
  searchPath: (0, _projectPath.toProjectPathUnsafe)('index')
172
182
  });
183
+
184
+ // @ts-expect-error TS2345
173
185
  await (0, _ConfigRequest.loadPluginConfig)(plugin, config, this.options);
174
186
  configCache.set(plugin.name, config);
187
+ // @ts-expect-error TS2345
175
188
  this.configs.set(plugin.name, config);
176
189
  }
177
190
  if (config) {
191
+ // @ts-expect-error TS2339
178
192
  for (let devDep of config.devDeps) {
179
193
  let devDepRequest = await (0, _DevDepRequest.createDevDependency)(devDep, this.previousDevDeps, this.options);
180
194
  this.runDevDepRequest(devDepRequest);
181
195
  }
196
+
197
+ // @ts-expect-error TS2345
182
198
  this.configs.set(plugin.name, config);
183
199
  }
184
200
  }
185
201
  }
186
202
  runDevDepRequest(devDepRequest) {
203
+ // @ts-expect-error TS2339
187
204
  if (devDepRequest.type !== 'ref') {
188
205
  let {
189
206
  specifier,
190
207
  resolveFrom
191
208
  } = devDepRequest;
192
209
  let key = `${specifier}:${(0, _projectPath.fromProjectPathRelative)(resolveFrom)}`;
210
+ // @ts-expect-error TS2345
193
211
  this.devDepRequests.set(key, devDepRequest);
194
212
  }
195
213
  }
@@ -259,6 +277,9 @@ class ResolverRunner {
259
277
  }
260
278
  if (result.priority != null) {
261
279
  dependency.priority = _types.Priority[result.priority];
280
+ if ((0, _featureFlags().getFeatureFlag)('hmrImprovements')) {
281
+ dependency.resolverPriority = dependency.priority;
282
+ }
262
283
  }
263
284
  if (result.invalidateOnEnvChange) {
264
285
  invalidateOnEnvChange.push(...result.invalidateOnEnvChange);