@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,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {
4
2
  Blob,
5
3
  FilePath,
@@ -9,7 +7,7 @@ import type {
9
7
  NamedBundle as NamedBundleType,
10
8
  Async,
11
9
  } from '@atlaspack/types';
12
- import type SourceMap from '@parcel/source-map';
10
+ import type SourceMap from '@atlaspack/source-map';
13
11
  import type {
14
12
  Bundle as InternalBundle,
15
13
  Config,
@@ -26,13 +24,12 @@ import type {DevDepSpecifier} from './requests/DevDepRequest';
26
24
 
27
25
  import invariant from 'assert';
28
26
  import {createBuildCache} from '@atlaspack/build-cache';
29
- import {blobToStream, TapStream} from '@atlaspack/utils';
27
+ import {blobToStream, debugTools, TapStream} from '@atlaspack/utils';
30
28
  import {PluginLogger} from '@atlaspack/logger';
31
29
  import ThrowableDiagnostic, {errorToDiagnostic} from '@atlaspack/diagnostic';
32
30
  import {Readable} from 'stream';
33
31
  import nullthrows from 'nullthrows';
34
32
  import path from 'path';
35
- import url from 'url';
36
33
  import {hashString, hashBuffer, Hash} from '@atlaspack/rust';
37
34
 
38
35
  import {NamedBundle, bundleToInternalBundle} from './public/Bundle';
@@ -53,7 +50,7 @@ import {
53
50
  loadPluginConfig,
54
51
  getConfigHash,
55
52
  getConfigRequests,
56
- type PluginWithBundleConfig,
53
+ PluginWithBundleConfig,
57
54
  } from './requests/ConfigRequest';
58
55
  import {
59
56
  createDevDependency,
@@ -62,39 +59,44 @@ import {
62
59
  import {getInvalidationId, getInvalidationHash} from './assetUtils';
63
60
  import {optionsProxy} from './utils';
64
61
  import {invalidateDevDeps} from './requests/DevDepRequest';
62
+ import {computeSourceMapRoot} from './requests/WriteBundleRequest';
65
63
  import {tracer, PluginTracer} from '@atlaspack/profiler';
66
- import {getFeatureFlag} from '@atlaspack/feature-flags';
67
-
68
- type Opts = {|
69
- config: AtlaspackConfig,
70
- options: AtlaspackOptions,
71
- report: ReportFn,
72
- previousDevDeps: Map<string, string>,
73
- previousInvalidations: Array<RequestInvalidation>,
74
- |};
75
-
76
- export type RunPackagerRunnerResult = {|
77
- bundleInfo: BundleInfo,
78
- configRequests: Array<ConfigRequest>,
79
- devDepRequests: Array<DevDepRequest | DevDepRequestRef>,
80
- invalidations: Array<RequestInvalidation>,
81
- |};
82
-
83
- export type BundleInfo = {|
84
- +type: string,
85
- +size: number,
86
- +hash: string,
87
- +hashReferences: Array<string>,
88
- +time?: number,
89
- +cacheKeys: CacheKeyMap,
90
- +isLargeBlob: boolean,
91
- |};
92
-
93
- type CacheKeyMap = {|
94
- content: string,
95
- map: string,
96
- info: string,
97
- |};
64
+ import {fromEnvironmentId} from './EnvironmentManager';
65
+
66
+ type Opts = {
67
+ config: AtlaspackConfig;
68
+ options: AtlaspackOptions;
69
+ report: ReportFn;
70
+ previousDevDeps: Map<string, string>;
71
+ previousInvalidations: Array<RequestInvalidation>;
72
+ };
73
+
74
+ export type RunPackagerRunnerResult = {
75
+ bundleInfo: BundleInfo;
76
+ configRequests: Array<ConfigRequest>;
77
+ devDepRequests: Array<DevDepRequest | DevDepRequestRef>;
78
+ invalidations: Array<RequestInvalidation>;
79
+ };
80
+
81
+ export type BundleInfo = {
82
+ readonly type: string;
83
+ readonly size: number;
84
+ readonly hash: string;
85
+ readonly hashReferences: Array<string>;
86
+ readonly time?: number;
87
+ readonly cacheKeys: CacheKeyMap;
88
+ readonly isLargeBlob: boolean;
89
+ readonly scopeHoistingStats?: {
90
+ totalAssets: number;
91
+ wrappedAssets: number;
92
+ };
93
+ };
94
+
95
+ type CacheKeyMap = {
96
+ content: string;
97
+ map: string;
98
+ info: string;
99
+ };
98
100
 
99
101
  const BOUNDARY_LENGTH = HASH_REF_PREFIX.length + 32 - 1;
100
102
 
@@ -106,7 +108,9 @@ export default class PackagerRunner {
106
108
  config: AtlaspackConfig;
107
109
  options: AtlaspackOptions;
108
110
  pluginOptions: PluginOptions;
111
+ // @ts-expect-error TS2564
109
112
  distDir: FilePath;
113
+ // @ts-expect-error TS2564
110
114
  distExists: Set<FilePath>;
111
115
  report: ReportFn;
112
116
  previousDevDeps: Map<string, string>;
@@ -176,10 +180,10 @@ export default class PackagerRunner {
176
180
  async loadConfigs(
177
181
  bundleGraph: InternalBundleGraph,
178
182
  bundle: InternalBundle,
179
- ): Promise<{|
180
- configs: Map<string, Config>,
181
- bundleConfigs: Map<string, Config>,
182
- |}> {
183
+ ): Promise<{
184
+ configs: Map<string, Config>;
185
+ bundleConfigs: Map<string, Config>;
186
+ }> {
183
187
  let configs = new Map();
184
188
  let bundleConfigs = new Map();
185
189
 
@@ -219,7 +223,7 @@ export default class PackagerRunner {
219
223
  }
220
224
  }
221
225
 
222
- async loadPluginConfig<T: PluginWithBundleConfig>(
226
+ async loadPluginConfig<T extends PluginWithBundleConfig>(
223
227
  bundleGraph: InternalBundleGraph,
224
228
  bundle: InternalBundle,
225
229
  plugin: LoadedPlugin<T>,
@@ -230,6 +234,7 @@ export default class PackagerRunner {
230
234
  // Only load config for a plugin once per build.
231
235
  let existing = pluginConfigs.get(plugin.name);
232
236
  if (existing != null) {
237
+ // @ts-expect-error TS2345
233
238
  configs.set(plugin.name, existing);
234
239
  } else {
235
240
  if (plugin.plugin.loadConfig != null) {
@@ -289,7 +294,7 @@ export default class PackagerRunner {
289
294
  bundle: InternalBundle,
290
295
  configs: Map<string, Config>,
291
296
  bundleConfigs: Map<string, Config>,
292
- ): Async<?BundleInfo> {
297
+ ): Promise<Async<BundleInfo | null | undefined>> {
293
298
  if (this.options.shouldDisableCache) {
294
299
  return;
295
300
  }
@@ -311,7 +316,7 @@ export default class PackagerRunner {
311
316
  configs: Map<string, Config>,
312
317
  bundleConfigs: Map<string, Config>,
313
318
  ): Promise<BundleInfo> {
314
- let {type, contents, map} = await this.getBundleResult(
319
+ let {type, contents, map, scopeHoistingStats} = await this.getBundleResult(
315
320
  bundle,
316
321
  bundleGraph,
317
322
  configs,
@@ -332,7 +337,13 @@ export default class PackagerRunner {
332
337
  info: PackagerRunner.getInfoKey(cacheKey),
333
338
  };
334
339
 
335
- return this.writeToCache(cacheKeys, type, contents, map);
340
+ let cachedResult = await this.writeToCache(cacheKeys, type, contents, map);
341
+
342
+ if (debugTools['scope-hoisting-stats']) {
343
+ return {...cachedResult, scopeHoistingStats};
344
+ }
345
+
346
+ return cachedResult;
336
347
  }
337
348
 
338
349
  async getBundleResult(
@@ -340,11 +351,12 @@ export default class PackagerRunner {
340
351
  bundleGraph: InternalBundleGraph,
341
352
  configs: Map<string, Config>,
342
353
  bundleConfigs: Map<string, Config>,
343
- ): Promise<{|
344
- type: string,
345
- contents: Blob,
346
- map: ?string,
347
- |}> {
354
+ ): Promise<{
355
+ type: string;
356
+ contents: Blob;
357
+ map: string | null | undefined;
358
+ scopeHoistingStats?: BundleResult['scopeHoistingStats'];
359
+ }> {
348
360
  let packaged = await this.package(
349
361
  bundle,
350
362
  bundleGraph,
@@ -368,11 +380,20 @@ export default class PackagerRunner {
368
380
  type: res.type ?? type,
369
381
  contents: res.contents,
370
382
  map,
383
+ scopeHoistingStats: packaged.scopeHoistingStats,
371
384
  };
372
385
  }
373
386
 
374
- getSourceMapReference(bundle: NamedBundle, map: ?SourceMap): Async<?string> {
375
- if (map && bundle.env.sourceMap && bundle.bundleBehavior !== 'inline') {
387
+ getSourceMapReference(
388
+ bundle: NamedBundle,
389
+ map?: SourceMap | null,
390
+ ): Async<string | null | undefined> {
391
+ if (
392
+ map &&
393
+ bundle.env.sourceMap &&
394
+ bundle.bundleBehavior !== 'inline' &&
395
+ bundle.bundleBehavior !== 'inlineIsolated'
396
+ ) {
376
397
  if (bundle.env.sourceMap && bundle.env.sourceMap.inline) {
377
398
  return this.generateSourceMap(bundleToInternalBundle(bundle), map);
378
399
  } else {
@@ -422,24 +443,26 @@ export default class PackagerRunner {
422
443
  bundle: BundleType,
423
444
  bundleGraph: BundleGraphType<NamedBundleType>,
424
445
  ) => {
425
- if (bundle.bundleBehavior !== 'inline') {
446
+ if (
447
+ bundle.bundleBehavior !== 'inline' &&
448
+ bundle.bundleBehavior !== 'inlineIsolated'
449
+ ) {
426
450
  throw new Error(
427
451
  'Bundle is not inline and unable to retrieve contents',
428
452
  );
429
453
  }
430
454
 
431
- let res = await this.getBundleResult(
455
+ let {contents} = await this.getBundleResult(
432
456
  bundleToInternalBundle(bundle),
433
- // $FlowFixMe
434
457
  bundleGraphToInternalBundleGraph(bundleGraph),
435
458
  configs,
436
459
  bundleConfigs,
437
460
  );
438
461
 
439
- return {contents: res.contents};
462
+ return {contents};
440
463
  },
441
464
  });
442
- } catch (e) {
465
+ } catch (e: any) {
443
466
  throw new ThrowableDiagnostic({
444
467
  diagnostic: errorToDiagnostic(e, {
445
468
  origin: name,
@@ -470,7 +493,7 @@ export default class PackagerRunner {
470
493
  internalBundleGraph: InternalBundleGraph,
471
494
  type: string,
472
495
  contents: Blob,
473
- map?: ?SourceMap,
496
+ map: SourceMap | null | undefined,
474
497
  configs: Map<string, Config>,
475
498
  bundleConfigs: Map<string, Config>,
476
499
  ): Promise<BundleResult> {
@@ -533,7 +556,7 @@ export default class PackagerRunner {
533
556
  optimized.type = next.type ?? optimized.type;
534
557
  optimized.contents = next.contents;
535
558
  optimized.map = next.map;
536
- } catch (e) {
559
+ } catch (e: any) {
537
560
  throw new ThrowableDiagnostic({
538
561
  diagnostic: errorToDiagnostic(e, {
539
562
  origin: optimizer.name,
@@ -566,53 +589,24 @@ export default class PackagerRunner {
566
589
  bundle: InternalBundle,
567
590
  map: SourceMap,
568
591
  ): Promise<string> {
569
- // sourceRoot should be a relative path between outDir and rootDir for node.js targets
592
+ let sourceRoot = computeSourceMapRoot(bundle, this.options);
593
+ let inlineSources = sourceRoot === undefined;
594
+
570
595
  let filePath = joinProjectPath(
571
596
  bundle.target.distDir,
572
597
  nullthrows(bundle.name),
573
598
  );
574
599
  let fullPath = fromProjectPath(this.options.projectRoot, filePath);
575
- let sourceRoot: string = path.relative(
576
- path.dirname(fullPath),
577
- this.options.projectRoot,
578
- );
579
- let inlineSources = false;
580
-
581
- if (bundle.target) {
582
- if (
583
- bundle.env.sourceMap &&
584
- bundle.env.sourceMap.sourceRoot !== undefined
585
- ) {
586
- sourceRoot = bundle.env.sourceMap.sourceRoot;
587
- } else if (
588
- this.options.serveOptions &&
589
- bundle.target.env.context === 'browser'
590
- ) {
591
- sourceRoot = '/__parcel_source_root';
592
- }
593
-
594
- if (
595
- bundle.env.sourceMap &&
596
- bundle.env.sourceMap.inlineSources !== undefined
597
- ) {
598
- inlineSources = bundle.env.sourceMap.inlineSources;
599
- } else if (bundle.target.env.context !== 'node') {
600
- // inlining should only happen in production for browser targets by default
601
- inlineSources = this.options.mode === 'production';
602
- }
603
- }
604
-
605
600
  let mapFilename = fullPath + '.map';
606
- let isInlineMap = bundle.env.sourceMap && bundle.env.sourceMap.inline;
601
+
602
+ const bundleEnv = fromEnvironmentId(bundle.env);
603
+ let isInlineMap = bundleEnv.sourceMap && bundleEnv.sourceMap.inline;
607
604
 
608
605
  let stringified = await map.stringify({
609
606
  file: path.basename(mapFilename),
610
- // $FlowFixMe
611
607
  fs: this.options.inputFS,
612
608
  rootDir: this.options.projectRoot,
613
- sourceRoot: !inlineSources
614
- ? url.format(url.parse(sourceRoot + '/'))
615
- : undefined,
609
+ sourceRoot,
616
610
  inlineSources,
617
611
  format: isInlineMap ? 'inline' : 'string',
618
612
  });
@@ -628,7 +622,7 @@ export default class PackagerRunner {
628
622
  bundleConfigs: Map<string, Config>,
629
623
  invalidations: Array<RequestInvalidation>,
630
624
  ): Promise<string> {
631
- let configResults = {};
625
+ let configResults: Record<string, any> = {};
632
626
  for (let [pluginName, config] of configs) {
633
627
  if (config) {
634
628
  configResults[pluginName] = await getConfigHash(
@@ -638,7 +632,7 @@ export default class PackagerRunner {
638
632
  );
639
633
  }
640
634
  }
641
- let globalInfoResults = {};
635
+ let globalInfoResults: Record<string, any> = {};
642
636
  for (let [pluginName, config] of bundleConfigs) {
643
637
  if (config) {
644
638
  globalInfoResults[pluginName] = await getConfigHash(
@@ -659,21 +653,6 @@ export default class PackagerRunner {
659
653
  this.options,
660
654
  );
661
655
 
662
- if (getFeatureFlag('cachePerformanceImprovements')) {
663
- const hash = hashString(
664
- ATLASPACK_VERSION +
665
- devDepHashes +
666
- invalidationHash +
667
- bundle.target.publicUrl +
668
- bundleGraph.getHash(bundle) +
669
- JSON.stringify(configResults) +
670
- JSON.stringify(globalInfoResults) +
671
- this.options.mode +
672
- (this.options.shouldBuildLazily ? 'lazy' : 'eager'),
673
- );
674
- return path.join(bundle.displayName ?? bundle.name ?? bundle.id, hash);
675
- }
676
-
677
656
  return hashString(
678
657
  ATLASPACK_VERSION +
679
658
  devDepHashes +
@@ -708,35 +687,32 @@ export default class PackagerRunner {
708
687
  return devDepHashes;
709
688
  }
710
689
 
711
- async readFromCache(cacheKey: string): Promise<?{|
712
- contents: Readable,
713
- map: ?Readable,
714
- |}> {
690
+ async readFromCache(cacheKey: string): Promise<
691
+ | {
692
+ contents: Readable;
693
+ map: Readable | null | undefined;
694
+ }
695
+ | null
696
+ | undefined
697
+ > {
715
698
  let contentKey = PackagerRunner.getContentKey(cacheKey);
716
699
  let mapKey = PackagerRunner.getMapKey(cacheKey);
717
700
 
718
701
  let isLargeBlob = await this.options.cache.hasLargeBlob(contentKey);
719
- let contentExists = getFeatureFlag('cachePerformanceImprovements')
720
- ? isLargeBlob
721
- : isLargeBlob || (await this.options.cache.has(contentKey));
702
+ let contentExists =
703
+ isLargeBlob || (await this.options.cache.has(contentKey));
722
704
  if (!contentExists) {
723
705
  return null;
724
706
  }
725
707
 
726
- let mapExists = getFeatureFlag('cachePerformanceImprovements')
727
- ? await this.options.cache.hasLargeBlob(mapKey)
728
- : await this.options.cache.has(mapKey);
708
+ let mapExists = await this.options.cache.has(mapKey);
729
709
 
730
710
  return {
731
711
  contents: isLargeBlob
732
712
  ? this.options.cache.getStream(contentKey)
733
713
  : blobToStream(await this.options.cache.getBlob(contentKey)),
734
714
  map: mapExists
735
- ? blobToStream(
736
- getFeatureFlag('cachePerformanceImprovements')
737
- ? await this.options.cache.getLargeBlob(mapKey)
738
- : await this.options.cache.getBlob(mapKey),
739
- )
715
+ ? blobToStream(await this.options.cache.getBlob(mapKey))
740
716
  : null,
741
717
  };
742
718
  }
@@ -745,25 +721,25 @@ export default class PackagerRunner {
745
721
  cacheKeys: CacheKeyMap,
746
722
  type: string,
747
723
  contents: Blob,
748
- map: ?string,
724
+ map?: string | null,
749
725
  ): Promise<BundleInfo> {
750
726
  let size = 0;
751
727
  let hash;
752
- let hashReferences = [];
753
- let isLargeBlob = getFeatureFlag('cachePerformanceImprovements');
728
+ // @ts-expect-error TS2702
729
+ let hashReferences: RegExp.matchResult | Array<string> = [];
730
+ let isLargeBlob = false;
754
731
 
755
732
  // TODO: don't replace hash references in binary files??
756
733
  if (contents instanceof Readable) {
757
- if (!getFeatureFlag('cachePerformanceImprovements')) {
758
- isLargeBlob = true;
759
- }
734
+ isLargeBlob = true;
760
735
 
761
736
  let boundaryStr = '';
762
737
  let h = new Hash();
763
738
  await this.options.cache.setStream(
764
739
  cacheKeys.content,
765
740
  blobToStream(contents).pipe(
766
- new TapStream((buf) => {
741
+ // @ts-expect-error TS2554
742
+ new TapStream((buf: Buffer) => {
767
743
  let str = boundaryStr + buf.toString();
768
744
  hashReferences = hashReferences.concat(
769
745
  str.match(HASH_REF_REGEX) ?? [],
@@ -781,29 +757,17 @@ export default class PackagerRunner {
781
757
  hash = hashBuffer(buffer);
782
758
  hashReferences = contents.match(HASH_REF_REGEX) ?? [];
783
759
 
784
- if (getFeatureFlag('cachePerformanceImprovements')) {
785
- await this.options.cache.setLargeBlob(cacheKeys.content, buffer);
786
- } else {
787
- await this.options.cache.setBlob(cacheKeys.content, buffer);
788
- }
760
+ await this.options.cache.setBlob(cacheKeys.content, buffer);
789
761
  } else {
790
762
  size = contents.length;
791
763
  hash = hashBuffer(contents);
792
764
  hashReferences = contents.toString().match(HASH_REF_REGEX) ?? [];
793
765
 
794
- if (getFeatureFlag('cachePerformanceImprovements')) {
795
- await this.options.cache.setLargeBlob(cacheKeys.content, contents);
796
- } else {
797
- await this.options.cache.setBlob(cacheKeys.content, contents);
798
- }
766
+ await this.options.cache.setBlob(cacheKeys.content, contents);
799
767
  }
800
768
 
801
769
  if (map != null) {
802
- if (getFeatureFlag('cachePerformanceImprovements')) {
803
- await this.options.cache.setLargeBlob(cacheKeys.map, map);
804
- } else {
805
- await this.options.cache.setBlob(cacheKeys.map, map);
806
- }
770
+ await this.options.cache.setBlob(cacheKeys.map, map);
807
771
  }
808
772
 
809
773
  let info = {
@@ -820,23 +784,14 @@ export default class PackagerRunner {
820
784
  }
821
785
 
822
786
  static getContentKey(cacheKey: string): string {
823
- if (getFeatureFlag('cachePerformanceImprovements')) {
824
- return `PackagerRunner/${ATLASPACK_VERSION}/${cacheKey}/content`;
825
- }
826
787
  return hashString(`${cacheKey}:content`);
827
788
  }
828
789
 
829
790
  static getMapKey(cacheKey: string): string {
830
- if (getFeatureFlag('cachePerformanceImprovements')) {
831
- return `PackagerRunner/${ATLASPACK_VERSION}/${cacheKey}/map`;
832
- }
833
791
  return hashString(`${cacheKey}:map`);
834
792
  }
835
793
 
836
794
  static getInfoKey(cacheKey: string): string {
837
- if (getFeatureFlag('cachePerformanceImprovements')) {
838
- return `PackagerRunner/${ATLASPACK_VERSION}/${cacheKey}/info`;
839
- }
840
795
  return hashString(`${cacheKey}:info`);
841
796
  }
842
797
  }
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {ReporterEvent, Reporter} from '@atlaspack/types';
4
2
  import type {WorkerApi} from '@atlaspack/workers';
5
3
  import type {Bundle as InternalBundle, AtlaspackOptions} from './types';
@@ -23,11 +21,11 @@ import BundleGraph from './BundleGraph';
23
21
  import {tracer, PluginTracer} from '@atlaspack/profiler';
24
22
  import {anyToDiagnostic} from '@atlaspack/diagnostic';
25
23
 
26
- type Opts = {|
27
- options: AtlaspackOptions,
28
- reporters: Array<LoadedPlugin<Reporter>>,
29
- workerFarm: WorkerFarm,
30
- |};
24
+ type Opts = {
25
+ options: AtlaspackOptions;
26
+ reporters: Array<LoadedPlugin<Reporter>>;
27
+ workerFarm: WorkerFarm;
28
+ };
31
29
 
32
30
  const instances: Set<ReporterRunner> = new Set();
33
31
 
@@ -58,24 +56,21 @@ export default class ReporterRunner {
58
56
  }
59
57
  }
60
58
 
61
- eventHandler: (ReporterEvent) => void = (event): void => {
59
+ eventHandler: (arg1: ReporterEvent) => void = (event): void => {
62
60
  if (
63
61
  event.type === 'buildProgress' &&
64
62
  (event.phase === 'optimizing' || event.phase === 'packaging') &&
65
63
  !(event.bundle instanceof NamedBundle)
66
64
  ) {
67
- // $FlowFixMe[prop-missing]
65
+ // @ts-expect-error TS2339
68
66
  let bundleGraphRef = event.bundleGraphRef;
69
- // $FlowFixMe[incompatible-exact]
67
+ // @ts-expect-error TS2739
70
68
  let bundle: InternalBundle = event.bundle;
71
69
  // Convert any internal bundles back to their public equivalents as reporting
72
70
  // is public api
73
- let bundleGraph = this.workerFarm.workerApi.getSharedReference(
74
- // $FlowFixMe
75
- bundleGraphRef,
76
- );
71
+ let bundleGraph =
72
+ this.workerFarm.workerApi.getSharedReference(bundleGraphRef);
77
73
  invariant(bundleGraph instanceof BundleGraph);
78
- // $FlowFixMe[incompatible-call]
79
74
  this.report({
80
75
  ...event,
81
76
  bundle: NamedBundle.get(bundle, bundleGraph, this.options),
@@ -88,11 +83,12 @@ export default class ReporterRunner {
88
83
 
89
84
  async report(unsanitisedEvent: ReporterEvent) {
90
85
  let event: ReporterEvent = unsanitisedEvent;
86
+ // @ts-expect-error TS2339
91
87
  if (event.diagnostics) {
92
88
  // Sanitise input before passing to reporters
93
- // $FlowFixMe too complex to narrow down by type
94
89
  event = {
95
90
  ...event,
91
+ // @ts-expect-error TS2322
96
92
  diagnostics: anyToDiagnostic(event.diagnostics),
97
93
  };
98
94
  }
@@ -105,7 +101,6 @@ export default class ReporterRunner {
105
101
  measurement = tracer.createMeasurement(reporter.name, 'reporter');
106
102
  }
107
103
  await reporter.plugin.report({
108
- // $FlowFixMe
109
104
  event,
110
105
  options: this.pluginOptions,
111
106
  logger: new PluginLogger({origin: reporter.name}),
@@ -114,7 +109,7 @@ export default class ReporterRunner {
114
109
  category: 'reporter',
115
110
  }),
116
111
  });
117
- } catch (reportError) {
112
+ } catch (reportError: any) {
118
113
  if (event.type !== 'buildSuccess') {
119
114
  // This will be captured by consumers
120
115
  INTERNAL_ORIGINAL_CONSOLE.error(reportError);