@atlaspack/core 2.16.2-canary.5 → 2.16.2-canary.500

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 +1452 -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 +160 -57
  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 +38 -40
  96. package/lib/ReporterRunner.js +8 -12
  97. package/lib/RequestTracker.js +336 -168
  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 +23 -13
  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 +239 -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 +25 -7
  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 +60 -27
  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 +67 -124
  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 +336 -18
  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 +35 -10
  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 +27 -33
  250. package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
  251. package/src/{Atlaspack.js → Atlaspack.ts} +203 -73
  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} +109 -103
  262. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  263. package/src/{RequestTracker.js → RequestTracker.ts} +672 -347
  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} +50 -39
  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} +102 -50
  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} +114 -77
  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} +117 -187
  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} +55 -23
  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} +149 -59
  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} +4 -11
  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 -362
  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 -362
  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 strict-local
2
1
  import type {
3
2
  Asset,
4
3
  AsyncSubscription,
@@ -44,64 +43,84 @@ import createPathRequest from './requests/PathRequest';
44
43
  import {createEnvironment} from './Environment';
45
44
  import {createDependency} from './Dependency';
46
45
  import {Disposable} from '@atlaspack/events';
47
- import {init as initSourcemaps} from '@parcel/source-map';
46
+ import {init as initSourcemaps} from '@atlaspack/source-map';
48
47
  import {LMDBLiteCache} from '@atlaspack/cache';
49
48
  import {
49
+ // @ts-expect-error TS2305
50
50
  init as initRust,
51
51
  initializeMonitoring,
52
52
  closeMonitoring,
53
- type Lmdb,
53
+ Lmdb,
54
54
  } from '@atlaspack/rust';
55
55
  import {
56
56
  fromProjectPath,
57
57
  toProjectPath,
58
58
  fromProjectPathRelative,
59
59
  } from './projectPath';
60
- import {tracer} from '@atlaspack/profiler';
61
- import {setFeatureFlags, DEFAULT_FEATURE_FLAGS} from '@atlaspack/feature-flags';
60
+ import {tracer, NativeProfiler} from '@atlaspack/profiler';
61
+ import {
62
+ setFeatureFlags,
63
+ DEFAULT_FEATURE_FLAGS,
64
+ getFeatureFlag,
65
+ } from '@atlaspack/feature-flags';
62
66
  import {AtlaspackV3, FileSystemV3} from './atlaspack-v3';
63
67
  import createAssetGraphRequestJS from './requests/AssetGraphRequest';
64
68
  import {createAssetGraphRequestRust} from './requests/AssetGraphRequestRust';
65
69
  import type {AssetGraphRequestResult} from './requests/AssetGraphRequest';
70
+ import {getBundleGraph} from './requests/BundleGraphRequestRust';
66
71
  import {loadRustWorkerThreadDylibHack} from './rustWorkerThreadDylibHack';
67
72
 
68
73
  registerCoreWithSerializer();
69
74
 
70
75
  export const INTERNAL_TRANSFORM: symbol = Symbol('internal_transform');
71
76
  export const INTERNAL_RESOLVE: symbol = Symbol('internal_resolve');
72
- export const WORKER_PATH: string = path.join(__dirname, 'worker.js');
77
+ export let WORKER_PATH: string = path.join(__dirname, 'worker.js');
78
+ if (__filename.endsWith('.ts')) {
79
+ WORKER_PATH = path.join(__dirname, 'worker.ts');
80
+ }
73
81
 
74
82
  export default class Atlaspack {
75
- #requestTracker /*: RequestTracker*/;
76
- #config /*: AtlaspackConfig*/;
77
- #farm /*: WorkerFarm*/;
78
- #initialized /*: boolean*/ = false;
79
- #disposable /*: Disposable */;
80
- #initialOptions /*: InitialAtlaspackOptions */;
81
- #reporterRunner /*: ReporterRunner*/;
82
- #resolvedOptions /*: ?AtlaspackOptions*/ = null;
83
- #optionsRef /*: SharedReference */;
84
- #watchAbortController /*: AbortController*/;
85
- #watchQueue /*: PromiseQueue<?BuildEvent>*/ = new PromiseQueue<?BuildEvent>({
83
+ // @ts-expect-error TS2564
84
+ #requestTracker: RequestTracker;
85
+ // @ts-expect-error TS2564
86
+ #config: AtlaspackConfig;
87
+ // @ts-expect-error TS2564
88
+ #farm: WorkerFarm;
89
+ #initialized: boolean = false;
90
+ // @ts-expect-error TS2564
91
+ #disposable: Disposable;
92
+ #initialOptions: InitialAtlaspackOptions;
93
+ // @ts-expect-error TS2564
94
+ #reporterRunner: ReporterRunner;
95
+ #resolvedOptions: AtlaspackOptions | null | undefined = null;
96
+ // @ts-expect-error TS2564
97
+ #optionsRef: SharedReference;
98
+ // @ts-expect-error TS2564
99
+ #watchAbortController: AbortController;
100
+ #watchQueue: PromiseQueue<BuildEvent | null | undefined> = new PromiseQueue<
101
+ BuildEvent | null | undefined
102
+ >({
86
103
  maxConcurrent: 1,
87
104
  });
88
- #watchEvents /*: ValueEmitter<
89
- | {|
90
- +error: Error,
91
- +buildEvent?: void,
92
- |}
93
- | {|
94
- +buildEvent: BuildEvent,
95
- +error?: void,
96
- |},
97
- > */;
98
- #watcherSubscription /*: ?AsyncSubscription*/;
99
- #watcherCount /*: number*/ = 0;
100
- #requestedAssetIds /*: Set<string>*/ = new Set();
101
-
102
- rustAtlaspack: AtlaspackV3 | null | void;
103
-
104
- isProfiling /*: boolean */;
105
+ // @ts-expect-error TS2564
106
+ #watchEvents: ValueEmitter<
107
+ | {
108
+ readonly error: Error;
109
+ readonly buildEvent?: undefined;
110
+ }
111
+ | {
112
+ readonly buildEvent: BuildEvent;
113
+ readonly error?: undefined;
114
+ }
115
+ >;
116
+ #watcherSubscription: AsyncSubscription | null | undefined;
117
+ #watcherCount: number = 0;
118
+ #requestedAssetIds: Set<string> = new Set();
119
+
120
+ rustAtlaspack: AtlaspackV3 | null | undefined;
121
+
122
+ // @ts-expect-error TS2564
123
+ isProfiling: boolean;
105
124
 
106
125
  constructor(options: InitialAtlaspackOptions) {
107
126
  this.#initialOptions = options;
@@ -115,7 +134,7 @@ export default class Atlaspack {
115
134
  const featureFlags = {
116
135
  ...DEFAULT_FEATURE_FLAGS,
117
136
  ...this.#initialOptions.featureFlags,
118
- };
137
+ } as const;
119
138
  setFeatureFlags(featureFlags);
120
139
 
121
140
  loadRustWorkerThreadDylibHack();
@@ -138,7 +157,7 @@ export default class Atlaspack {
138
157
  process.off('exit', onExit);
139
158
  onExit();
140
159
  });
141
- } catch (e) {
160
+ } catch (e: any) {
142
161
  // Fallthrough
143
162
  // eslint-disable-next-line no-console
144
163
  console.warn(e);
@@ -151,7 +170,11 @@ export default class Atlaspack {
151
170
  this.#resolvedOptions = resolvedOptions;
152
171
 
153
172
  let rustAtlaspack: AtlaspackV3;
154
- if (resolvedOptions.featureFlags.atlaspackV3) {
173
+ if (
174
+ resolvedOptions.featureFlags.atlaspackV3 ||
175
+ resolvedOptions.featureFlags.fullNative ||
176
+ resolvedOptions.featureFlags.nativePackager
177
+ ) {
155
178
  // eslint-disable-next-line no-unused-vars
156
179
  let {entries, inputFS, outputFS, ...options} = this.#initialOptions;
157
180
 
@@ -161,26 +184,38 @@ export default class Atlaspack {
161
184
 
162
185
  const lmdb: Lmdb = resolvedOptions.cache.getNativeRef();
163
186
 
164
- // $FlowFixMe
165
187
  const version = require('../package.json').version;
166
188
  await lmdb.put('current_session_version', Buffer.from(version));
167
189
 
190
+ let threads = undefined;
191
+ if (process.env.ATLASPACK_NATIVE_THREADS !== undefined) {
192
+ threads = parseInt(process.env.ATLASPACK_NATIVE_THREADS, 10);
193
+ } else if (process.env.NODE_ENV === 'test') {
194
+ threads = 2;
195
+ }
196
+
168
197
  rustAtlaspack = await AtlaspackV3.create({
169
198
  ...options,
199
+ // @ts-expect-error TS2353
170
200
  corePath: path.join(__dirname, '..'),
171
- threads: process.env.NODE_ENV === 'test' ? 2 : undefined,
201
+ threads,
172
202
  entries: Array.isArray(entries)
173
203
  ? entries
174
204
  : entries == null
175
- ? undefined
176
- : [entries],
205
+ ? undefined
206
+ : [entries],
177
207
  env: resolvedOptions.env,
178
208
  fs: inputFS && new FileSystemV3(inputFS),
179
- // $FlowFixMe ProjectPath is a string
180
209
  defaultTargetOptions: resolvedOptions.defaultTargetOptions,
210
+ serveOptions: resolvedOptions.serveOptions,
181
211
  lmdb,
212
+ featureFlags: resolvedOptions.featureFlags,
213
+ });
214
+ this.#disposable.add(() => {
215
+ rustAtlaspack.end();
182
216
  });
183
217
  }
218
+ // @ts-expect-error TS2454
184
219
  this.rustAtlaspack = rustAtlaspack;
185
220
 
186
221
  let {config} = await loadAtlaspackConfig(resolvedOptions);
@@ -231,6 +266,7 @@ export default class Atlaspack {
231
266
  this.#requestTracker = await RequestTracker.init({
232
267
  farm: this.#farm,
233
268
  options: resolvedOptions,
269
+ // @ts-expect-error TS2454
234
270
  rustAtlaspack,
235
271
  });
236
272
 
@@ -272,7 +308,7 @@ export default class Atlaspack {
272
308
 
273
309
  try {
274
310
  await this.#requestTracker.writeToCache(abortController.signal);
275
- } catch (err) {
311
+ } catch (err: any) {
276
312
  if (!abortController.signal.aborted) {
277
313
  // We expect abort errors if we interrupt the cache write
278
314
  throw err;
@@ -283,7 +319,7 @@ export default class Atlaspack {
283
319
  }
284
320
  }
285
321
 
286
- async _startNextBuild(): Promise<?BuildEvent> {
322
+ async _startNextBuild(): Promise<BuildEvent | null | undefined> {
287
323
  this.#watchAbortController = new AbortController();
288
324
  await this.clearBuildCaches();
289
325
 
@@ -297,7 +333,7 @@ export default class Atlaspack {
297
333
  });
298
334
 
299
335
  return buildEvent;
300
- } catch (err) {
336
+ } catch (err: any) {
301
337
  // Ignore BuildAbortErrors and only emit critical errors.
302
338
  if (!(err instanceof BuildAbortError)) {
303
339
  throw err;
@@ -309,12 +345,13 @@ export default class Atlaspack {
309
345
  }
310
346
 
311
347
  async watch(
312
- cb?: (err: ?Error, buildEvent?: BuildEvent) => mixed,
348
+ cb?: (err?: Error | null | undefined, buildEvent?: BuildEvent) => unknown,
313
349
  ): Promise<AsyncSubscription> {
314
350
  if (!this.#initialized) {
315
351
  await this._init();
316
352
  }
317
353
 
354
+ // @ts-expect-error TS7034
318
355
  let watchEventsDisposable;
319
356
  if (cb) {
320
357
  watchEventsDisposable = this.#watchEvents.addListener(
@@ -334,8 +371,10 @@ export default class Atlaspack {
334
371
 
335
372
  this.#watcherCount++;
336
373
 
374
+ // @ts-expect-error TS7034
337
375
  let unsubscribePromise;
338
376
  const unsubscribe = async () => {
377
+ // @ts-expect-error TS7005
339
378
  if (watchEventsDisposable) {
340
379
  watchEventsDisposable.dispose();
341
380
  }
@@ -353,10 +392,12 @@ export default class Atlaspack {
353
392
 
354
393
  return {
355
394
  unsubscribe() {
395
+ // @ts-expect-error TS7005
356
396
  if (unsubscribePromise == null) {
357
397
  unsubscribePromise = unsubscribe();
358
398
  }
359
399
 
400
+ // @ts-expect-error TS7005
360
401
  return unsubscribePromise;
361
402
  },
362
403
  };
@@ -365,20 +406,28 @@ export default class Atlaspack {
365
406
  async _build({
366
407
  signal,
367
408
  startTime = Date.now(),
368
- }: {|
369
- signal?: AbortSignal,
370
- startTime?: number,
371
- |} = {
409
+ }: {
410
+ signal?: AbortSignal;
411
+ startTime?: number;
412
+ } = {
372
413
  /*::...null*/
373
414
  }): Promise<BuildEvent> {
374
- this.#requestTracker.setSignal(signal);
375
415
  let options = nullthrows(this.#resolvedOptions);
376
416
  try {
377
417
  if (options.shouldProfile) {
378
418
  await this.startProfiling();
379
419
  }
420
+ if (options.nativeProfiler) {
421
+ const nativeProfiler = new NativeProfiler();
422
+ await nativeProfiler.startProfiling(options.nativeProfiler);
423
+ }
380
424
  if (options.shouldTrace) {
381
425
  tracer.enable();
426
+ // We need to ensure the tracer is disabled when Atlaspack is disposed as it is a module level object.
427
+ // While rare (except for tests), if another instance is created later it should not have tracing enabled.
428
+ this.#disposable.add(() => {
429
+ tracer.disable();
430
+ });
382
431
  }
383
432
  await this.#reporterRunner.report({
384
433
  type: 'buildStart',
@@ -386,19 +435,64 @@ export default class Atlaspack {
386
435
 
387
436
  this.#requestTracker.graph.invalidateOnBuildNodes();
388
437
 
389
- let request = createAtlaspackBuildRequest({
390
- optionsRef: this.#optionsRef,
391
- requestedAssetIds: this.#requestedAssetIds,
392
- signal,
393
- });
438
+ let bundleGraph: any;
439
+ let bundleInfo: Map<any, any>;
440
+ let changedAssets: Map<any, any>;
441
+ let assetRequests: Array<any>;
442
+ let scopeHoistingStats: any;
443
+
444
+ if (getFeatureFlag('fullNative') && this.rustAtlaspack) {
445
+ let [result, error] = await this.rustAtlaspack.build(
446
+ (eventJson: string) => {
447
+ let event = JSON.parse(eventJson);
448
+ this.#reporterRunner.report(event);
449
+ },
450
+ );
394
451
 
395
- let {bundleGraph, bundleInfo, changedAssets, assetRequests} =
396
- await this.#requestTracker.runRequest(request, {force: true});
452
+ if (error) {
453
+ throw new ThrowableDiagnostic({diagnostic: error});
454
+ }
455
+ ({bundleGraph, changedAssets} = getBundleGraph(result));
456
+ bundleInfo = new Map(
457
+ (result.bundleInfo ?? []).map(
458
+ (info: {
459
+ bundleId: string;
460
+ filePath: string;
461
+ type: string;
462
+ size: number;
463
+ time: number;
464
+ }) => [
465
+ info.bundleId,
466
+ {
467
+ filePath: toProjectPath(options.projectRoot, info.filePath),
468
+ bundleId: info.bundleId,
469
+ type: info.type,
470
+ stats: {size: info.size, time: info.time},
471
+ },
472
+ ],
473
+ ),
474
+ );
475
+ assetRequests = result.assetRequests ?? [];
476
+ } else {
477
+ let request = createAtlaspackBuildRequest({
478
+ optionsRef: this.#optionsRef,
479
+ requestedAssetIds: this.#requestedAssetIds,
480
+ signal,
481
+ });
482
+
483
+ ({
484
+ bundleGraph,
485
+ bundleInfo,
486
+ changedAssets,
487
+ assetRequests,
488
+ scopeHoistingStats,
489
+ } = await this.#requestTracker.runRequest(request, {force: true}));
490
+ }
397
491
 
398
492
  this.#requestedAssetIds.clear();
399
493
 
400
494
  await dumpGraphToGraphViz(
401
- // $FlowFixMe
495
+ // @ts-expect-error TS2345
402
496
  this.#requestTracker.graph,
403
497
  'RequestGraph',
404
498
  requestGraphEdgeTypes,
@@ -407,14 +501,20 @@ export default class Atlaspack {
407
501
  let event = {
408
502
  type: 'buildSuccess',
409
503
  changedAssets: new Map(
410
- Array.from(changedAssets).map(([id, asset]) => [
504
+ Array.from(changedAssets).map(([id, asset]: [any, any]) => [
411
505
  id,
412
506
  assetFromValue(asset, options),
413
507
  ]),
414
508
  ),
415
509
  bundleGraph: new BundleGraph<IPackagedBundle>(
416
510
  bundleGraph,
417
- (bundle, bundleGraph, options) =>
511
+ (
512
+ // @ts-expect-error TS2304
513
+ bundle: Bundle,
514
+ // @ts-expect-error TS2314
515
+ bundleGraph: BundleGraph,
516
+ options: AtlaspackOptions,
517
+ ) =>
418
518
  PackagedBundle.getWithInfo(
419
519
  bundle,
420
520
  bundleGraph,
@@ -424,6 +524,7 @@ export default class Atlaspack {
424
524
  options,
425
525
  ),
426
526
  buildTime: Date.now() - startTime,
527
+ // @ts-expect-error TS7006
427
528
  requestBundle: async (bundle) => {
428
529
  let bundleNode = bundleGraph._graph.getNodeByContentKey(bundle.id);
429
530
  invariant(bundleNode?.type === 'bundle', 'Bundle does not exist');
@@ -437,6 +538,7 @@ export default class Atlaspack {
437
538
  buildTime: 0,
438
539
  requestBundle: event.requestBundle,
439
540
  unstable_requestStats: {},
541
+ scopeHoistingStats: event.scopeHoistingStats,
440
542
  };
441
543
  }
442
544
 
@@ -454,17 +556,23 @@ export default class Atlaspack {
454
556
 
455
557
  let results = await this.#watchQueue.run();
456
558
  let result = results.filter(Boolean).pop();
559
+ // @ts-expect-error TS18049
457
560
  if (result.type === 'buildFailure') {
561
+ // @ts-expect-error TS18049
458
562
  throw new BuildError(result.diagnostics);
459
563
  }
460
564
 
461
565
  return result;
462
566
  },
463
567
  unstable_requestStats: this.#requestTracker.flushStats(),
568
+ nativeCacheStats: await this.rustAtlaspack?.completeCacheSession(),
569
+ scopeHoistingStats,
464
570
  };
465
571
 
572
+ // @ts-expect-error TS2345
466
573
  await this.#reporterRunner.report(event);
467
574
  await this.#requestTracker.runRequest(
575
+ // @ts-expect-error TS2345
468
576
  createValidationRequest({optionsRef: this.#optionsRef, assetRequests}),
469
577
  {force: assetRequests.length > 0},
470
578
  );
@@ -473,8 +581,9 @@ export default class Atlaspack {
473
581
  throw this.#reporterRunner.errors;
474
582
  }
475
583
 
584
+ // @ts-expect-error TS2322
476
585
  return event;
477
- } catch (e) {
586
+ } catch (e: any) {
478
587
  if (e instanceof BuildAbortError) {
479
588
  throw e;
480
589
  }
@@ -484,9 +593,12 @@ export default class Atlaspack {
484
593
  type: 'buildFailure',
485
594
  diagnostics: Array.isArray(diagnostic) ? diagnostic : [diagnostic],
486
595
  unstable_requestStats: this.#requestTracker.flushStats(),
596
+ nativeCacheStats: await this.rustAtlaspack?.completeCacheSession(),
487
597
  };
488
598
 
599
+ // @ts-expect-error TS2345
489
600
  await this.#reporterRunner.report(event);
601
+ // @ts-expect-error TS2322
490
602
  return event;
491
603
  } finally {
492
604
  if (this.isProfiling) {
@@ -522,14 +634,15 @@ export default class Atlaspack {
522
634
  });
523
635
 
524
636
  let nativeInvalid = false;
525
- if (this.rustAtlaspack) {
637
+ if (getFeatureFlag('atlaspackV3') && this.rustAtlaspack) {
526
638
  nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
527
639
  }
528
640
 
529
- let isInvalid = await this.#requestTracker.respondToFSEvents(
530
- events,
531
- Number.POSITIVE_INFINITY,
532
- );
641
+ let {didInvalidate: isInvalid} =
642
+ await this.#requestTracker.respondToFSEvents(
643
+ events,
644
+ Number.POSITIVE_INFINITY,
645
+ );
533
646
 
534
647
  if (
535
648
  (nativeInvalid || isInvalid) &&
@@ -613,13 +726,15 @@ export default class Atlaspack {
613
726
  lazyIncludes: [],
614
727
  lazyExcludes: [],
615
728
  requestedAssetIds: this.#requestedAssetIds,
616
- };
729
+ } as const;
617
730
 
618
731
  const start = Date.now();
619
732
  const result = await this.#requestTracker.runRequest(
620
- this.rustAtlaspack != null
621
- ? createAssetGraphRequestRust(this.rustAtlaspack)(input)
622
- : createAssetGraphRequestJS(input),
733
+ getFeatureFlag('atlaspackV3') && this.rustAtlaspack != null
734
+ ? // @ts-expect-error TS2345
735
+ createAssetGraphRequestRust(this.rustAtlaspack)(input)
736
+ : // @ts-expect-error TS2345
737
+ createAssetGraphRequestJS(input),
623
738
  {force: true},
624
739
  );
625
740
 
@@ -639,6 +754,20 @@ export default class Atlaspack {
639
754
  return result;
640
755
  }
641
756
 
757
+ /**
758
+ * Copy the cache to a new directory and compact it.
759
+ */
760
+ async unstable_compactCache(): Promise<void> {
761
+ await this._init();
762
+
763
+ const cache = nullthrows(this.#resolvedOptions).cache;
764
+ if (cache instanceof LMDBLiteCache) {
765
+ await cache.compact('parcel-cache-compacted');
766
+ } else {
767
+ throw new Error('Cache is not an LMDBLiteCache');
768
+ }
769
+ }
770
+
642
771
  async unstable_transform(
643
772
  options: AtlaspackTransformOptions,
644
773
  ): Promise<Array<Asset>> {
@@ -673,7 +802,7 @@ export default class Atlaspack {
673
802
 
674
803
  async unstable_resolve(
675
804
  request: AtlaspackResolveOptions,
676
- ): Promise<?AtlaspackResolveResult> {
805
+ ): Promise<AtlaspackResolveResult | null | undefined> {
677
806
  if (!this.#initialized) {
678
807
  await this._init();
679
808
  }
@@ -712,6 +841,7 @@ export default class Atlaspack {
712
841
  }
713
842
 
714
843
  return {
844
+ // @ts-expect-error TS2322
715
845
  filePath: fromProjectPath(projectRoot, res.filePath),
716
846
  code: res.code,
717
847
  query: res.query,
@@ -728,7 +858,7 @@ export class BuildError extends ThrowableDiagnostic {
728
858
  }
729
859
 
730
860
  export function createWorkerFarm(
731
- options: $Shape<FarmOptions> = {},
861
+ options: Partial<FarmOptions> = {},
732
862
  ): WorkerFarm {
733
863
  return new WorkerFarm({
734
864
  ...options,
@@ -1,19 +1,14 @@
1
- // @flow strict-local
2
1
  import type {PackageName} from '@atlaspack/types';
3
2
  import type {SchemaEntity} from '@atlaspack/utils';
4
3
 
5
4
  // Parcel validates plugin package names due to:
6
- //
7
5
  // * https://github.com/parcel-bundler/parcel/issues/3397#issuecomment-521353931
8
- //
9
6
  // Ultimately:
10
- //
11
7
  // * We do not care about package names
12
8
  // * Validation makes interop between parcel/atlaspack confusing.
13
- //
14
9
  export function validatePackageName(
15
10
  // eslint-disable-next-line no-unused-vars
16
- pkg: ?PackageName,
11
+ pkg: PackageName | null | undefined,
17
12
  // eslint-disable-next-line no-unused-vars
18
13
  pluginType: string,
19
14
  // eslint-disable-next-line no-unused-vars
@@ -27,7 +22,7 @@ const validatePluginName = (pluginType: string, key: string) => {
27
22
 
28
23
  try {
29
24
  validatePackageName(val, pluginType, key);
30
- } catch (e) {
25
+ } catch (e: any) {
31
26
  return e.message;
32
27
  }
33
28
  };
@@ -39,7 +34,7 @@ const validateExtends = (val: string): void => {
39
34
 
40
35
  try {
41
36
  validatePackageName(val, 'config', 'extends');
42
- } catch (e) {
37
+ } catch (e: any) {
43
38
  return e.message;
44
39
  }
45
40
  };
@@ -96,20 +91,31 @@ export default {
96
91
  },
97
92
  bundler: {
98
93
  type: 'string',
99
- __validate: (validatePluginName('bundler', 'bundler'): (string) => void),
94
+ __validate: validatePluginName('bundler', 'bundler') as (
95
+ arg1: string,
96
+ ) => void,
100
97
  },
101
- resolvers: (pipelineSchema('resolver', 'resolvers'): SchemaEntity),
102
- transformers: (mapPipelineSchema(
98
+ resolvers: pipelineSchema('resolver', 'resolvers') as SchemaEntity,
99
+ transformers: mapPipelineSchema(
103
100
  'transformer',
104
101
  'transformers',
105
- ): SchemaEntity),
106
- validators: (mapPipelineSchema('validator', 'validators'): SchemaEntity),
107
- namers: (pipelineSchema('namer', 'namers'): SchemaEntity),
108
- packagers: (mapStringSchema('packager', 'packagers'): SchemaEntity),
109
- optimizers: (mapPipelineSchema('optimizer', 'optimizers'): SchemaEntity),
110
- compressors: (mapPipelineSchema('compressor', 'compressors'): SchemaEntity),
111
- reporters: (pipelineSchema('reporter', 'reporters'): SchemaEntity),
112
- runtimes: (pipelineSchema('runtime', 'runtimes'): SchemaEntity),
102
+ ) as SchemaEntity,
103
+ validators: mapPipelineSchema('validator', 'validators') as SchemaEntity,
104
+ namers: pipelineSchema('namer', 'namers') as SchemaEntity,
105
+ packagers: mapStringSchema('packager', 'packagers') as SchemaEntity,
106
+ optimizers: mapPipelineSchema('optimizer', 'optimizers') as SchemaEntity,
107
+ compressors: mapPipelineSchema('compressor', 'compressors') as SchemaEntity,
108
+ reporters: pipelineSchema('reporter', 'reporters') as SchemaEntity,
109
+ runtimes: pipelineSchema('runtime', 'runtimes') as SchemaEntity,
110
+ // This isn't currently supported in V2, however we need to allow it to
111
+ // parse as even V3 builds need the AtlaspackConfigRequest
112
+ unstable_alias: {
113
+ type: 'object',
114
+ properties: {},
115
+ additionalProperties: {
116
+ type: 'string',
117
+ },
118
+ },
113
119
  filePath: {
114
120
  type: 'string',
115
121
  },