@atlaspack/core 2.16.2-canary.48 → 2.16.2-canary.481

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +1324 -0
  2. package/dist/AssetGraph.js +523 -0
  3. package/dist/Atlaspack.js +701 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1906 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +470 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1297 -0
  16. package/dist/SymbolPropagation.js +624 -0
  17. package/dist/TargetDescriptor.schema.js +146 -0
  18. package/dist/Transformation.js +514 -0
  19. package/dist/UncommittedAsset.js +310 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +384 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +83 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +114 -0
  25. package/dist/atlaspack-v3/fs.js +53 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +98 -0
  30. package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
  31. package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
  32. package/dist/atlaspack-v3/worker/compat/index.js +24 -0
  33. package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
  34. package/dist/atlaspack-v3/worker/compat/plugin-config.js +64 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  37. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  38. package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
  39. package/dist/atlaspack-v3/worker/worker.js +398 -0
  40. package/dist/constants.js +17 -0
  41. package/dist/dumpGraphToGraphViz.js +281 -0
  42. package/dist/index.js +62 -0
  43. package/dist/loadAtlaspackPlugin.js +128 -0
  44. package/dist/loadDotEnv.js +41 -0
  45. package/dist/projectPath.js +83 -0
  46. package/dist/public/Asset.js +279 -0
  47. package/dist/public/Bundle.js +224 -0
  48. package/dist/public/BundleGraph.js +371 -0
  49. package/dist/public/BundleGroup.js +53 -0
  50. package/dist/public/Config.js +286 -0
  51. package/dist/public/Dependency.js +138 -0
  52. package/dist/public/Environment.js +278 -0
  53. package/dist/public/MutableBundleGraph.js +277 -0
  54. package/dist/public/PluginOptions.js +80 -0
  55. package/dist/public/Symbols.js +248 -0
  56. package/dist/public/Target.js +69 -0
  57. package/dist/registerCoreWithSerializer.js +38 -0
  58. package/dist/requests/AssetGraphRequest.js +430 -0
  59. package/dist/requests/AssetGraphRequestRust.js +471 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +98 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  63. package/dist/requests/BundleGraphRequest.js +381 -0
  64. package/dist/requests/BundleGraphRequestRust.js +324 -0
  65. package/dist/requests/BundleGraphRequestUtils.js +262 -0
  66. package/dist/requests/ConfigRequest.js +246 -0
  67. package/dist/requests/DevDepRequest.js +204 -0
  68. package/dist/requests/EntryRequest.js +314 -0
  69. package/dist/requests/PackageRequest.js +89 -0
  70. package/dist/requests/PathRequest.js +349 -0
  71. package/dist/requests/TargetRequest.js +1316 -0
  72. package/dist/requests/ValidationRequest.js +49 -0
  73. package/dist/requests/WriteBundleRequest.js +522 -0
  74. package/dist/requests/WriteBundlesRequest.js +190 -0
  75. package/dist/requests/asset-graph-diff.js +128 -0
  76. package/dist/requests/asset-graph-dot.js +131 -0
  77. package/dist/resolveOptions.js +267 -0
  78. package/dist/rustWorkerThreadDylibHack.js +19 -0
  79. package/dist/serializerCore.browser.js +43 -0
  80. package/dist/summarizeRequest.js +39 -0
  81. package/dist/types.js +31 -0
  82. package/dist/utils.js +172 -0
  83. package/dist/worker.js +123 -0
  84. package/lib/AssetGraph.js +53 -15
  85. package/lib/Atlaspack.js +140 -56
  86. package/lib/AtlaspackConfig.js +17 -6
  87. package/lib/AtlaspackConfig.schema.js +16 -5
  88. package/lib/BundleGraph.js +390 -43
  89. package/lib/CommittedAsset.js +8 -2
  90. package/lib/Dependency.js +9 -3
  91. package/lib/Environment.js +16 -10
  92. package/lib/EnvironmentManager.js +143 -0
  93. package/lib/IdentifierRegistry.js +2 -4
  94. package/lib/InternalConfig.js +3 -2
  95. package/lib/PackagerRunner.js +46 -82
  96. package/lib/ReporterRunner.js +8 -12
  97. package/lib/RequestTracker.js +191 -152
  98. package/lib/SymbolPropagation.js +52 -29
  99. package/lib/TargetDescriptor.schema.js +10 -1
  100. package/lib/Transformation.js +68 -19
  101. package/lib/UncommittedAsset.js +17 -24
  102. package/lib/Validation.js +20 -5
  103. package/lib/applyRuntimes.js +98 -7
  104. package/lib/assetUtils.js +16 -6
  105. package/lib/atlaspack-v3/AtlaspackV3.js +58 -15
  106. package/lib/atlaspack-v3/NapiWorkerPool.js +63 -2
  107. package/lib/atlaspack-v3/fs.js +4 -1
  108. package/lib/atlaspack-v3/index.js +28 -1
  109. package/lib/atlaspack-v3/jsCallable.js +0 -2
  110. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  111. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  112. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  113. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  114. package/lib/atlaspack-v3/worker/compat/index.js +0 -11
  115. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +16 -11
  116. package/lib/atlaspack-v3/worker/compat/plugin-config.js +14 -35
  117. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -2
  118. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  119. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  120. package/lib/atlaspack-v3/worker/index.js +3 -0
  121. package/lib/atlaspack-v3/worker/side-effect-detector.js +214 -0
  122. package/lib/atlaspack-v3/worker/worker.js +231 -79
  123. package/lib/constants.js +0 -1
  124. package/lib/dumpGraphToGraphViz.js +72 -17
  125. package/lib/index.js +46 -3
  126. package/lib/loadAtlaspackPlugin.js +2 -3
  127. package/lib/loadDotEnv.js +5 -2
  128. package/lib/projectPath.js +6 -1
  129. package/lib/public/Asset.js +22 -12
  130. package/lib/public/Bundle.js +16 -18
  131. package/lib/public/BundleGraph.js +27 -25
  132. package/lib/public/BundleGroup.js +5 -6
  133. package/lib/public/Config.js +118 -18
  134. package/lib/public/Dependency.js +9 -7
  135. package/lib/public/Environment.js +13 -8
  136. package/lib/public/MutableBundleGraph.js +56 -15
  137. package/lib/public/PluginOptions.js +2 -2
  138. package/lib/public/Symbols.js +12 -12
  139. package/lib/public/Target.js +8 -7
  140. package/lib/registerCoreWithSerializer.js +7 -4
  141. package/lib/requests/AssetGraphRequest.js +61 -40
  142. package/lib/requests/AssetGraphRequestRust.js +314 -82
  143. package/lib/requests/AssetRequest.js +24 -7
  144. package/lib/requests/AtlaspackBuildRequest.js +53 -7
  145. package/lib/requests/AtlaspackConfigRequest.js +29 -19
  146. package/lib/requests/BundleGraphRequest.js +61 -130
  147. package/lib/requests/BundleGraphRequestRust.js +381 -0
  148. package/lib/requests/BundleGraphRequestUtils.js +280 -0
  149. package/lib/requests/ConfigRequest.js +55 -7
  150. package/lib/requests/DevDepRequest.js +32 -6
  151. package/lib/requests/EntryRequest.js +4 -3
  152. package/lib/requests/PackageRequest.js +56 -12
  153. package/lib/requests/PathRequest.js +26 -6
  154. package/lib/requests/TargetRequest.js +129 -60
  155. package/lib/requests/ValidationRequest.js +6 -2
  156. package/lib/requests/WriteBundleRequest.js +329 -20
  157. package/lib/requests/WriteBundlesRequest.js +64 -10
  158. package/lib/requests/asset-graph-diff.js +13 -8
  159. package/lib/requests/asset-graph-dot.js +2 -8
  160. package/lib/resolveOptions.js +37 -14
  161. package/lib/rustWorkerThreadDylibHack.js +0 -1
  162. package/lib/serializerCore.browser.js +1 -2
  163. package/lib/summarizeRequest.js +1 -1
  164. package/lib/types/AssetGraph.d.ts +55 -0
  165. package/lib/types/Atlaspack.d.ts +52 -0
  166. package/lib/types/AtlaspackConfig.d.ts +65 -0
  167. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  168. package/lib/types/BundleGraph.d.ts +232 -0
  169. package/lib/types/CommittedAsset.d.ts +23 -0
  170. package/lib/types/Dependency.d.ts +44 -0
  171. package/lib/types/Environment.d.ts +11 -0
  172. package/lib/types/EnvironmentManager.d.ts +37 -0
  173. package/lib/types/IdentifierRegistry.d.ts +6 -0
  174. package/lib/types/InternalConfig.d.ts +23 -0
  175. package/lib/types/PackagerRunner.d.ts +85 -0
  176. package/lib/types/ReporterRunner.d.ts +25 -0
  177. package/lib/types/RequestTracker.d.ts +385 -0
  178. package/lib/types/SymbolPropagation.d.ts +11 -0
  179. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  180. package/lib/types/Transformation.d.ts +72 -0
  181. package/lib/types/UncommittedAsset.d.ts +61 -0
  182. package/lib/types/Validation.d.ts +37 -0
  183. package/lib/types/applyRuntimes.d.ts +25 -0
  184. package/lib/types/assetUtils.d.ts +42 -0
  185. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +35 -0
  186. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  187. package/lib/types/atlaspack-v3/fs.d.ts +13 -0
  188. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  189. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  190. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  191. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  192. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  193. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  194. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -2
  195. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  196. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  197. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  198. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  199. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  200. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  201. package/lib/types/atlaspack-v3/worker/worker.d.ts +81 -0
  202. package/lib/types/constants.d.ts +13 -0
  203. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  204. package/lib/types/index.d.ts +8 -0
  205. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  206. package/lib/types/loadDotEnv.d.ts +3 -0
  207. package/lib/types/projectPath.d.ts +19 -0
  208. package/lib/types/public/Asset.d.ts +74 -0
  209. package/lib/types/public/Bundle.d.ts +45 -0
  210. package/lib/types/public/BundleGraph.d.ts +72 -0
  211. package/lib/types/public/BundleGroup.d.ts +12 -0
  212. package/lib/types/public/Config.d.ts +75 -0
  213. package/lib/types/public/Dependency.d.ts +32 -0
  214. package/lib/types/public/Environment.d.ts +34 -0
  215. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  216. package/lib/types/public/PluginOptions.d.ts +25 -0
  217. package/lib/types/public/Symbols.d.ts +81 -0
  218. package/lib/types/public/Target.d.ts +16 -0
  219. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  220. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  221. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  222. package/lib/types/requests/AssetRequest.d.ts +16 -0
  223. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  224. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  225. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  226. package/lib/types/requests/BundleGraphRequestRust.d.ts +34 -0
  227. package/lib/types/requests/BundleGraphRequestUtils.d.ts +38 -0
  228. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  229. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  230. package/lib/types/requests/EntryRequest.d.ts +36 -0
  231. package/lib/types/requests/PackageRequest.d.ts +27 -0
  232. package/lib/types/requests/PathRequest.d.ts +48 -0
  233. package/lib/types/requests/TargetRequest.d.ts +48 -0
  234. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  235. package/lib/types/requests/WriteBundleRequest.d.ts +80 -0
  236. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  237. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  238. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  239. package/lib/types/resolveOptions.d.ts +3 -0
  240. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  241. package/lib/types/serializerCore.browser.d.ts +3 -0
  242. package/lib/types/summarizeRequest.d.ts +10 -0
  243. package/lib/types/types.d.ts +496 -0
  244. package/lib/types/utils.d.ts +23 -0
  245. package/lib/types/worker.d.ts +44 -0
  246. package/lib/types.js +8 -1
  247. package/lib/utils.js +18 -3
  248. package/lib/worker.js +32 -15
  249. package/package.json +26 -36
  250. package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
  251. package/src/{Atlaspack.js → Atlaspack.ts} +181 -72
  252. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  253. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  254. package/src/{BundleGraph.js → BundleGraph.ts} +575 -145
  255. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  256. package/src/{Dependency.js → Dependency.ts} +59 -42
  257. package/src/{Environment.js → Environment.ts} +24 -15
  258. package/src/EnvironmentManager.ts +154 -0
  259. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  260. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  261. package/src/{PackagerRunner.js → PackagerRunner.ts} +114 -159
  262. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  263. package/src/{RequestTracker.js → RequestTracker.ts} +444 -355
  264. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +178 -61
  265. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +10 -1
  266. package/src/{Transformation.js → Transformation.ts} +110 -65
  267. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +45 -49
  268. package/src/{Validation.js → Validation.ts} +32 -17
  269. package/src/{applyRuntimes.js → applyRuntimes.ts} +135 -26
  270. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  271. package/src/atlaspack-v3/AtlaspackV3.ts +183 -0
  272. package/src/atlaspack-v3/NapiWorkerPool.ts +129 -0
  273. package/src/atlaspack-v3/{fs.js → fs.ts} +8 -4
  274. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  275. package/src/atlaspack-v3/jsCallable.ts +14 -0
  276. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  277. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  278. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  279. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  280. package/src/atlaspack-v3/worker/compat/index.ts +8 -0
  281. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  282. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  283. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  284. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  285. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  286. package/src/atlaspack-v3/worker/index.js +2 -1
  287. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  288. package/src/atlaspack-v3/worker/worker.ts +548 -0
  289. package/src/{constants.js → constants.ts} +0 -3
  290. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  291. package/src/index.ts +18 -0
  292. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  293. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  294. package/src/{projectPath.js → projectPath.ts} +20 -9
  295. package/src/public/{Asset.js → Asset.ts} +41 -28
  296. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  297. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  298. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  299. package/src/public/{Config.js → Config.ts} +171 -33
  300. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  301. package/src/public/{Environment.js → Environment.ts} +28 -17
  302. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  303. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  304. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  305. package/src/public/{Target.js → Target.ts} +10 -8
  306. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  307. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +117 -90
  308. package/src/requests/AssetGraphRequestRust.ts +557 -0
  309. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  310. package/src/requests/AtlaspackBuildRequest.ts +168 -0
  311. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  312. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +119 -199
  313. package/src/requests/BundleGraphRequestRust.ts +470 -0
  314. package/src/requests/BundleGraphRequestUtils.ts +323 -0
  315. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  316. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  317. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  318. package/src/requests/{PackageRequest.js → PackageRequest.ts} +52 -25
  319. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  320. package/src/requests/{TargetRequest.js → TargetRequest.ts} +265 -179
  321. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  322. package/src/requests/WriteBundleRequest.ts +734 -0
  323. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +134 -50
  324. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  325. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  326. package/src/{resolveOptions.js → resolveOptions.ts} +57 -27
  327. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  328. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  329. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  330. package/src/types.ts +651 -0
  331. package/src/{utils.js → utils.ts} +52 -21
  332. package/src/{worker.js → worker.ts} +50 -42
  333. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +5 -8
  334. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  335. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  336. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  337. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  338. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  339. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  340. package/test/Environment.test.ts +153 -0
  341. package/test/EnvironmentManager.test.ts +188 -0
  342. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  343. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  344. package/test/PackagerRunner.test.ts +0 -0
  345. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  346. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  347. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  348. package/test/PublicEnvironment.test.ts +49 -0
  349. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  350. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +136 -58
  351. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  352. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +91 -92
  353. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  354. package/test/fixtures/custom-targets/package.json +6 -0
  355. package/test/public/Config.test.ts +104 -0
  356. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  357. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  358. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  359. package/test/requests/WriteBundleRequest.test.ts +602 -0
  360. package/test/{test-utils.js → test-utils.ts} +3 -4
  361. package/test/{utils.test.js → utils.test.ts} +1 -3
  362. package/tsconfig.json +60 -0
  363. package/tsconfig.tsbuildinfo +1 -0
  364. package/index.d.ts +0 -30
  365. package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
  366. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  367. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  368. package/src/atlaspack-v3/jsCallable.js +0 -18
  369. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  370. package/src/atlaspack-v3/worker/compat/plugin-logger.js +0 -47
  371. package/src/atlaspack-v3/worker/worker.js +0 -369
  372. package/src/index.js +0 -13
  373. package/src/requests/AssetGraphRequestRust.js +0 -263
  374. package/src/requests/AtlaspackBuildRequest.js +0 -111
  375. package/src/requests/WriteBundleRequest.js +0 -369
  376. package/src/types.js +0 -600
  377. package/test/Environment.test.js +0 -119
  378. package/test/PackagerRunner.test.js +0 -27
  379. package/test/PublicEnvironment.test.js +0 -27
  380. package/test/requests/AssetGraphRequestRust.test.js +0 -411
@@ -0,0 +1,76 @@
1
+ import type { NodeId } from '@atlaspack/graph';
2
+ import type { Async } from '@atlaspack/types';
3
+ import type { SharedReference } from '@atlaspack/workers';
4
+ import type { Asset, AssetGroup, Dependency, Entry, AtlaspackOptions } from '../types';
5
+ import type { StaticRunOpts, RunAPI } from '../RequestTracker';
6
+ import type { Diagnostic } from '@atlaspack/diagnostic';
7
+ import { PromiseQueue } from '@atlaspack/utils';
8
+ import AssetGraph from '../AssetGraph';
9
+ import { ProjectPath } from '../projectPath';
10
+ import { requestTypes } from '../RequestTracker';
11
+ export type AssetGraphRequestInput = {
12
+ entries?: Array<ProjectPath>;
13
+ assetGroups?: Array<AssetGroup>;
14
+ optionsRef: SharedReference;
15
+ name: string;
16
+ shouldBuildLazily?: boolean;
17
+ lazyIncludes?: RegExp[];
18
+ lazyExcludes?: RegExp[];
19
+ requestedAssetIds?: Set<string>;
20
+ skipSymbolProp?: boolean;
21
+ };
22
+ export type AssetGraphRequestResult = {
23
+ assetGraph: AssetGraph;
24
+ /** Assets added/modified since the last successful build. */
25
+ changedAssets: Map<string, Asset>;
26
+ /** Assets added/modified since the last symbol propagation invocation. */
27
+ changedAssetsPropagation: Set<string>;
28
+ assetGroupsWithRemovedParents: Set<NodeId> | null | undefined;
29
+ previousSymbolPropagationErrors: Map<NodeId, Array<Diagnostic>> | null | undefined;
30
+ assetRequests: Array<AssetGroup>;
31
+ };
32
+ type RunInput = {
33
+ input: AssetGraphRequestInput;
34
+ } & StaticRunOpts<AssetGraphRequestResult>;
35
+ type AssetGraphRequest = {
36
+ id: string;
37
+ readonly type: typeof requestTypes.asset_graph_request;
38
+ run: (arg1: RunInput) => Async<AssetGraphRequestResult>;
39
+ input: AssetGraphRequestInput;
40
+ };
41
+ export default function createAssetGraphRequest(requestInput: AssetGraphRequestInput): AssetGraphRequest;
42
+ export declare class AssetGraphBuilder {
43
+ assetGraph: AssetGraph;
44
+ assetRequests: Array<AssetGroup>;
45
+ queue: PromiseQueue<unknown>;
46
+ changedAssets: Map<string, Asset>;
47
+ changedAssetsPropagation: Set<string>;
48
+ prevChangedAssetsPropagation: Set<string> | null | undefined;
49
+ optionsRef: SharedReference;
50
+ options: AtlaspackOptions;
51
+ api: RunAPI<AssetGraphRequestResult>;
52
+ name: string;
53
+ cacheKey: string;
54
+ shouldBuildLazily: boolean;
55
+ lazyIncludes: RegExp[];
56
+ lazyExcludes: RegExp[];
57
+ requestedAssetIds: Set<string>;
58
+ isSingleChangeRebuild: boolean;
59
+ assetGroupsWithRemovedParents: Set<NodeId>;
60
+ previousSymbolPropagationErrors: Map<NodeId, Array<Diagnostic>>;
61
+ skipSymbolProp: boolean;
62
+ constructor({ input, api, options }: RunInput, prevResult?: AssetGraphRequestResult | null);
63
+ build(): Promise<AssetGraphRequestResult>;
64
+ shouldVisitChild(nodeId: NodeId, childNodeId: NodeId): boolean;
65
+ shouldSkipRequest(nodeId: NodeId): boolean;
66
+ queueCorrespondingRequest(nodeId: NodeId, errors: Array<Error>): Promise<null>;
67
+ runEntryRequest(input: ProjectPath): Promise<void>;
68
+ runTargetRequest(input: Entry): Promise<void>;
69
+ runPathRequest(input: Dependency): Promise<void>;
70
+ runAssetRequest(input: AssetGroup): Promise<void>;
71
+ /**
72
+ * Used for incremental bundling of modified assets
73
+ */
74
+ _areDependenciesEqualForAssets(asset: Asset, otherAsset: Asset): boolean;
75
+ }
76
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { Async } from '@atlaspack/types';
2
+ import AssetGraph from '../AssetGraph';
3
+ import type { AtlaspackV3 } from '../atlaspack-v3';
4
+ import { requestTypes, StaticRunOpts } from '../RequestTracker';
5
+ import type { Asset } from '../types';
6
+ import type { AssetGraphRequestInput, AssetGraphRequestResult } from './AssetGraphRequest';
7
+ type RunInput = {
8
+ input: AssetGraphRequestInput;
9
+ } & StaticRunOpts<AssetGraphRequestResult>;
10
+ type AssetGraphRequest = {
11
+ id: string;
12
+ readonly type: typeof requestTypes.asset_graph_request;
13
+ run: (arg1: RunInput) => Async<AssetGraphRequestResult>;
14
+ input: AssetGraphRequestInput;
15
+ };
16
+ export declare function createAssetGraphRequestRust(rustAtlaspack: AtlaspackV3): (input: AssetGraphRequestInput) => AssetGraphRequest;
17
+ export declare function getAssetGraph(serializedGraph: any, prevAssetGraph?: AssetGraph): {
18
+ assetGraph: AssetGraph;
19
+ changedAssets: Map<string, Asset>;
20
+ };
21
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { ContentKey } from '@atlaspack/graph';
2
+ import type { Async } from '@atlaspack/types';
3
+ import type { StaticRunOpts } from '../RequestTracker';
4
+ import type { AssetRequestInput, AssetRequestResult } from '../types';
5
+ import { requestTypes } from '../RequestTracker';
6
+ type RunInput<TResult> = {
7
+ input: AssetRequestInput;
8
+ } & StaticRunOpts<TResult>;
9
+ export type AssetRequest = {
10
+ id: ContentKey;
11
+ readonly type: typeof requestTypes.asset_request;
12
+ run: (arg1: RunInput<AssetRequestResult>) => Async<AssetRequestResult>;
13
+ input: AssetRequestInput;
14
+ };
15
+ export default function createAssetRequest(input: AssetRequestInput): AssetRequest;
16
+ export {};
@@ -0,0 +1,33 @@
1
+ import type { ContentKey } from '@atlaspack/graph';
2
+ import type { Async } from '@atlaspack/types';
3
+ import type { SharedReference } from '@atlaspack/workers';
4
+ import type { StaticRunOpts } from '../RequestTracker';
5
+ import type { Asset, AssetGroup, PackagedBundleInfo } from '../types';
6
+ import type BundleGraph from '../BundleGraph';
7
+ import { requestTypes } from '../RequestTracker';
8
+ type AtlaspackBuildRequestInput = {
9
+ optionsRef: SharedReference;
10
+ requestedAssetIds: Set<string>;
11
+ signal?: AbortSignal;
12
+ };
13
+ export type AtlaspackBuildRequestResult = {
14
+ bundleGraph: BundleGraph;
15
+ bundleInfo: Map<string, PackagedBundleInfo>;
16
+ changedAssets: Map<string, Asset>;
17
+ assetRequests: Array<AssetGroup>;
18
+ scopeHoistingStats?: {
19
+ totalAssets: number;
20
+ wrappedAssets: number;
21
+ };
22
+ };
23
+ type RunInput<TResult> = {
24
+ input: AtlaspackBuildRequestInput;
25
+ } & StaticRunOpts<TResult>;
26
+ export type AtlaspackBuildRequest = {
27
+ id: ContentKey;
28
+ readonly type: typeof requestTypes.atlaspack_build_request;
29
+ run: (arg1: RunInput<AtlaspackBuildRequestResult>) => Async<AtlaspackBuildRequestResult>;
30
+ input: AtlaspackBuildRequestInput;
31
+ };
32
+ export default function createAtlaspackBuildRequest(input: AtlaspackBuildRequestInput): AtlaspackBuildRequest;
33
+ export {};
@@ -0,0 +1,45 @@
1
+ import type { Async, FilePath, RawAtlaspackConfig, ResolvedAtlaspackConfigFile } from '@atlaspack/types';
2
+ import type { FileSystem } from '@atlaspack/fs';
3
+ import type { StaticRunOpts } from '../RequestTracker';
4
+ import type { ExtendableAtlaspackConfigPipeline, AtlaspackOptions, ProcessedAtlaspackConfig } from '../types';
5
+ import { AtlaspackConfig } from '../AtlaspackConfig';
6
+ import { requestTypes } from '../RequestTracker';
7
+ type ConfigMap<K, V> = Partial<Record<K, V>>;
8
+ export type ConfigAndCachePath = {
9
+ config: ProcessedAtlaspackConfig;
10
+ cachePath: string;
11
+ };
12
+ type RunOpts<TResult> = {
13
+ input: null;
14
+ } & StaticRunOpts<TResult>;
15
+ export type AtlaspackConfigRequest = {
16
+ id: string;
17
+ type: typeof requestTypes.atlaspack_config_request;
18
+ input: null;
19
+ run: (arg1: RunOpts<AtlaspackConfigRequestResult>) => Async<AtlaspackConfigRequestResult>;
20
+ };
21
+ export type AtlaspackConfigRequestResult = ConfigAndCachePath;
22
+ type AtlaspackConfigChain = {
23
+ config: ProcessedAtlaspackConfig;
24
+ extendedFiles: Array<FilePath>;
25
+ };
26
+ export default function createAtlaspackConfigRequest(): AtlaspackConfigRequest;
27
+ export declare function getCachedAtlaspackConfig(result: ConfigAndCachePath, options: AtlaspackOptions): AtlaspackConfig;
28
+ export declare function loadAtlaspackConfig(options: AtlaspackOptions): Promise<AtlaspackConfigChain & {
29
+ usedDefault: boolean;
30
+ }>;
31
+ export declare function resolveAtlaspackConfig(options: AtlaspackOptions): Promise<(AtlaspackConfigChain & {
32
+ usedDefault: boolean;
33
+ }) | null | undefined>;
34
+ export declare function create(config: ResolvedAtlaspackConfigFile, options: AtlaspackOptions): Promise<AtlaspackConfigChain>;
35
+ export declare function parseAndProcessConfig(configPath: FilePath, contents: string, options: AtlaspackOptions): Promise<AtlaspackConfigChain>;
36
+ export declare function processConfig(configFile: ResolvedAtlaspackConfigFile, options: AtlaspackOptions): Promise<ProcessedAtlaspackConfig>;
37
+ export declare function processConfigChain(configFile: RawAtlaspackConfig | ResolvedAtlaspackConfigFile, filePath: FilePath, options: AtlaspackOptions): Promise<AtlaspackConfigChain>;
38
+ export declare function resolveExtends(ext: string, configPath: FilePath, extendsKey: string, options: AtlaspackOptions): Promise<FilePath>;
39
+ export declare function validateConfigFile(config: RawAtlaspackConfig | ResolvedAtlaspackConfigFile, relativePath: FilePath): void;
40
+ export declare function validateNotEmpty(config: RawAtlaspackConfig | ResolvedAtlaspackConfigFile, relativePath: FilePath): void;
41
+ export declare function mergeConfigs(base: ProcessedAtlaspackConfig, ext: ProcessedAtlaspackConfig): ProcessedAtlaspackConfig;
42
+ export declare function getResolveFrom(fs: FileSystem, projectRoot: FilePath): FilePath;
43
+ export declare function mergePipelines(base?: ExtendableAtlaspackConfigPipeline | null, ext?: ExtendableAtlaspackConfigPipeline | null): ExtendableAtlaspackConfigPipeline;
44
+ export declare function mergeMaps<K extends string, V>(base?: ConfigMap<K, V> | null, ext?: ConfigMap<K, V> | null, merger?: (a: V, b: V) => V): ConfigMap<K, V>;
45
+ export {};
@@ -0,0 +1,28 @@
1
+ import type { Async } from '@atlaspack/types';
2
+ import type { SharedReference } from '@atlaspack/workers';
3
+ import type { StaticRunOpts } from '../RequestTracker';
4
+ import type { Asset, AssetGroup } from '../types';
5
+ import InternalBundleGraph from '../BundleGraph';
6
+ import { requestTypes } from '../RequestTracker';
7
+ type BundleGraphRequestInput = {
8
+ requestedAssetIds: Set<string>;
9
+ signal?: AbortSignal;
10
+ optionsRef: SharedReference;
11
+ };
12
+ type RunInput = {
13
+ input: BundleGraphRequestInput;
14
+ } & StaticRunOpts<BundleGraphResult>;
15
+ export type BundleGraphResult = {
16
+ bundleGraph: InternalBundleGraph;
17
+ changedAssets: Map<string, Asset>;
18
+ assetRequests: Array<AssetGroup>;
19
+ didIncrementallyBundle: boolean;
20
+ };
21
+ type BundleGraphRequest = {
22
+ id: string;
23
+ readonly type: typeof requestTypes.bundle_graph_request;
24
+ run: (arg1: RunInput) => Async<BundleGraphResult>;
25
+ input: BundleGraphRequestInput;
26
+ };
27
+ export default function createBundleGraphRequest(input: BundleGraphRequestInput): BundleGraphRequest;
28
+ export {};
@@ -0,0 +1,34 @@
1
+ import type { Async } from '@atlaspack/types';
2
+ import InternalBundleGraph from '../BundleGraph';
3
+ import { requestTypes, StaticRunOpts } from '../RequestTracker';
4
+ import type { BundleGraphResult } from './BundleGraphRequest';
5
+ import type { Asset } from '../types';
6
+ type BundleGraphRequestInput = {
7
+ requestedAssetIds: Set<string>;
8
+ signal?: AbortSignal;
9
+ optionsRef: any;
10
+ };
11
+ type RunInput = {
12
+ input: BundleGraphRequestInput;
13
+ } & StaticRunOpts<BundleGraphResult>;
14
+ type BundleGraphRequestRust = {
15
+ id: string;
16
+ readonly type: typeof requestTypes.bundle_graph_request;
17
+ run: (arg1: RunInput) => Async<BundleGraphResult>;
18
+ input: BundleGraphRequestInput;
19
+ };
20
+ type SerializedBundleGraph = {
21
+ nodes: Array<any>;
22
+ edges: Array<number>;
23
+ publicIdByAssetId: {
24
+ [k: string]: string;
25
+ };
26
+ assetPublicIds: Array<string>;
27
+ hadPreviousGraph: boolean;
28
+ };
29
+ export default function createBundleGraphRequestRust(input: BundleGraphRequestInput): BundleGraphRequestRust;
30
+ export declare function getBundleGraph(serializedGraph: SerializedBundleGraph): {
31
+ bundleGraph: InternalBundleGraph;
32
+ changedAssets: Map<string, Asset>;
33
+ };
34
+ export {};
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Shared utilities for BundleGraphRequest and BundleGraphRequestRust.
3
+ *
4
+ * This module contains common functionality used by both the JS and native
5
+ * bundling paths, such as bundle validation, naming, and configuration loading.
6
+ */
7
+ import type { Namer } from '@atlaspack/types';
8
+ import type { LoadedPlugin } from '../AtlaspackConfig';
9
+ import type { RunAPI } from '../RequestTracker';
10
+ import type { Bundle as InternalBundle, Config, DevDepRequest, AtlaspackOptions, DevDepRequestRef } from '../types';
11
+ import InternalBundleGraph from '../BundleGraph';
12
+ import PluginOptions from '../public/PluginOptions';
13
+ import { PluginWithLoadConfig } from './ConfigRequest';
14
+ import type { BundleGraphResult } from './BundleGraphRequest';
15
+ /**
16
+ * Validates that all bundles have unique names.
17
+ * Throws an assertion error if duplicate bundle names are found.
18
+ */
19
+ export declare function validateBundles(bundleGraph: InternalBundleGraph): void;
20
+ /**
21
+ * Dump a canonical JSON snapshot of the bundle graph for parity comparison.
22
+ * Gated by ATLASPACK_DUMP_BUNDLE_GRAPH environment variable which specifies the output directory.
23
+ * The snapshot captures bundle identity, type, contained assets, and bundle group structure
24
+ * in a deterministic, sorted format suitable for diffing.
25
+ */
26
+ export declare function dumpBundleGraphSnapshot(bundleGraph: InternalBundleGraph, variant: 'js' | 'rust'): void;
27
+ /**
28
+ * Names a bundle by running through the configured namers until one returns a name.
29
+ */
30
+ export declare function nameBundle(namers: Array<LoadedPlugin<Namer<unknown>>>, internalBundle: InternalBundle, internalBundleGraph: InternalBundleGraph, options: AtlaspackOptions, pluginOptions: PluginOptions, configs: Map<string, Config>): Promise<void>;
31
+ /**
32
+ * Loads configuration for a plugin and tracks its dev dependencies.
33
+ */
34
+ export declare function loadPluginConfigWithDevDeps<T extends PluginWithLoadConfig>(plugin: LoadedPlugin<T>, options: AtlaspackOptions, api: RunAPI<BundleGraphResult>, previousDevDeps: Map<string, string>, devDepRequests: Map<string, DevDepRequest | DevDepRequestRef>, configs: Map<string, Config>): Promise<void>;
35
+ /**
36
+ * Runs a dev dependency request and tracks it in the devDepRequests map.
37
+ */
38
+ export declare function runDevDepRequest(api: RunAPI<BundleGraphResult>, devDepRequest: DevDepRequest | DevDepRequestRef, devDepRequests: Map<string, DevDepRequest | DevDepRequestRef>): Promise<void>;
@@ -0,0 +1,67 @@
1
+ import type { Async, Config as IConfig, PluginOptions as IPluginOptions, PluginLogger as IPluginLogger, PluginTracer as IPluginTracer, NamedBundle as INamedBundle, BundleGraph as IBundleGraph, TransformerSetup } from '@atlaspack/types';
2
+ import type { Config, AtlaspackOptions, InternalFileCreateInvalidation } from '../types';
3
+ import type { LoadedPlugin } from '../AtlaspackConfig';
4
+ import type { RequestResult, RunAPI } from '../RequestTracker';
5
+ import type { ProjectPath } from '../projectPath';
6
+ type Setup<T> = (arg1: {
7
+ config: IConfig;
8
+ options: IPluginOptions;
9
+ logger: IPluginLogger;
10
+ tracer: IPluginTracer;
11
+ }) => Async<TransformerSetup<T>>;
12
+ export type PluginWithLoadConfig = {
13
+ loadConfig?: (arg1: {
14
+ config: IConfig;
15
+ options: IPluginOptions;
16
+ logger: IPluginLogger;
17
+ tracer: IPluginTracer;
18
+ }) => Async<unknown>;
19
+ };
20
+ export type PluginWithBundleConfig = {
21
+ loadConfig?: (arg1: {
22
+ config: IConfig;
23
+ options: IPluginOptions;
24
+ logger: IPluginLogger;
25
+ tracer: IPluginTracer;
26
+ }) => Async<unknown>;
27
+ loadBundleConfig?: (arg1: {
28
+ bundle: INamedBundle;
29
+ bundleGraph: IBundleGraph<INamedBundle>;
30
+ config: IConfig;
31
+ options: IPluginOptions;
32
+ logger: IPluginLogger;
33
+ tracer: IPluginTracer;
34
+ }) => Async<unknown>;
35
+ };
36
+ export type ConfigRequest = {
37
+ id: string;
38
+ invalidateOnFileChange: Set<ProjectPath>;
39
+ invalidateOnConfigKeyChange: Array<{
40
+ filePath: ProjectPath;
41
+ configKey: string[];
42
+ }>;
43
+ invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
44
+ invalidateOnEnvChange: Set<string>;
45
+ invalidateOnOptionChange: Set<string>;
46
+ invalidateOnStartup: boolean;
47
+ invalidateOnBuild: boolean;
48
+ };
49
+ export type ConfigRequestResult = undefined;
50
+ export declare function loadPluginConfig<T extends PluginWithLoadConfig>(loadedPlugin: LoadedPlugin<T>, config: Config, options: AtlaspackOptions): Promise<void>;
51
+ export declare function loadPluginSetup<T>(pluginName: string, setup: Setup<T>, config: Config, options: AtlaspackOptions): Promise<void>;
52
+ /**
53
+ * Return value at a given key path within an object.
54
+ *
55
+ * @example
56
+ * const obj = { a: { b: { c: 'd' } } };
57
+ * getValueAtPath(obj, ['a', 'b', 'c']); // 'd'
58
+ * getValueAtPath(obj, ['a', 'b', 'd']); // undefined
59
+ * getValueAtPath(obj, ['a', 'b']); // { c: 'd' }
60
+ * getValueAtPath(obj, ['a', 'b', 'c', 'd']); // undefined
61
+ */
62
+ export declare function getValueAtPath(obj: any, key: string[]): any;
63
+ export declare function getConfigKeyContentHash(filePath: ProjectPath, configKey: string[], options: AtlaspackOptions): Promise<Async<string>>;
64
+ export declare function runConfigRequest<TResult extends RequestResult>(api: RunAPI<TResult>, configRequest: ConfigRequest): Promise<void>;
65
+ export declare function getConfigHash(config: Config, pluginName: string, options: AtlaspackOptions): Promise<string>;
66
+ export declare function getConfigRequests(configs: Array<Config>): Array<ConfigRequest>;
67
+ export {};
@@ -0,0 +1,30 @@
1
+ import type { DependencySpecifier, SemverRange } from '@atlaspack/types';
2
+ import type { AtlaspackConfig } from '../AtlaspackConfig';
3
+ import type { DevDepRequest, AtlaspackOptions, InternalDevDepOptions, DevDepRequestRef } from '../types';
4
+ import type { RequestResult, RunAPI } from '../RequestTracker';
5
+ import type { ProjectPath } from '../projectPath';
6
+ export declare function createDevDependency(opts: InternalDevDepOptions, requestDevDeps: Map<string, string>, options: AtlaspackOptions): Promise<DevDepRequest | DevDepRequestRef>;
7
+ export type DevDepSpecifier = {
8
+ specifier: DependencySpecifier;
9
+ resolveFrom: ProjectPath;
10
+ };
11
+ type DevDepRequests = {
12
+ devDeps: Map<string, string>;
13
+ invalidDevDeps: Array<DevDepSpecifier>;
14
+ };
15
+ export declare function getDevDepRequests<TResult extends RequestResult>(api: RunAPI<TResult>): Promise<DevDepRequests>;
16
+ export declare function invalidateDevDeps(invalidDevDeps: Array<DevDepSpecifier>, options: AtlaspackOptions, config: AtlaspackConfig): void;
17
+ export type DevDepRequestResult = {
18
+ specifier: DependencySpecifier;
19
+ resolveFrom: ProjectPath;
20
+ hash: string;
21
+ additionalInvalidations: undefined | Array<{
22
+ range?: SemverRange | null | undefined;
23
+ resolveFrom: ProjectPath;
24
+ specifier: DependencySpecifier;
25
+ }>;
26
+ };
27
+ export declare function resolveDevDepRequestRef(devDepRequestRef: DevDepRequest | DevDepRequestRef): DevDepRequest;
28
+ export declare function runDevDepRequest<TResult extends RequestResult>(api: RunAPI<TResult>, devDepRequestRef: DevDepRequest | DevDepRequestRef): Promise<void>;
29
+ export declare function getWorkerDevDepRequests(devDepRequests: Array<DevDepRequest | DevDepRequestRef>): Array<DevDepRequest | DevDepRequestRef>;
30
+ export {};
@@ -0,0 +1,36 @@
1
+ import type { Async, FilePath, PackageJSON, Glob } from '@atlaspack/types';
2
+ import type { StaticRunOpts } from '../RequestTracker';
3
+ import type { Entry, InternalFile, AtlaspackOptions } from '../types';
4
+ import { Mapping } from '@mischnic/json-sourcemap';
5
+ import { requestTypes } from '../RequestTracker';
6
+ import { ProjectPath } from '../projectPath';
7
+ type RunOpts<TResult> = {
8
+ input: ProjectPath;
9
+ } & StaticRunOpts<TResult>;
10
+ export type EntryRequest = {
11
+ id: string;
12
+ readonly type: typeof requestTypes.entry_request;
13
+ run: (arg1: RunOpts<EntryRequestResult>) => Async<EntryRequestResult>;
14
+ input: ProjectPath;
15
+ };
16
+ export type EntryRequestResult = {
17
+ entries: Array<Entry>;
18
+ files: Array<InternalFile>;
19
+ globs: Array<Glob>;
20
+ };
21
+ export default function createEntryRequest(input: ProjectPath): EntryRequest;
22
+ export declare class EntryResolver {
23
+ options: AtlaspackOptions;
24
+ constructor(options: AtlaspackOptions);
25
+ resolveEntry(entry: FilePath): Promise<EntryRequestResult>;
26
+ readPackage(entry: FilePath): Promise<(PackageJSON & {
27
+ filePath: FilePath;
28
+ map: {
29
+ data: unknown;
30
+ pointers: {
31
+ [key: string]: Mapping;
32
+ };
33
+ };
34
+ }) | null | undefined>;
35
+ }
36
+ export {};
@@ -0,0 +1,27 @@
1
+ import type { ContentKey } from '@atlaspack/graph';
2
+ import type { Async } from '@atlaspack/types';
3
+ import type { SharedReference } from '@atlaspack/workers';
4
+ import type { StaticRunOpts } from '../RequestTracker';
5
+ import { requestTypes } from '../RequestTracker';
6
+ import type { Bundle } from '../types';
7
+ import type BundleGraph from '../BundleGraph';
8
+ import type { BundleInfo } from '../PackagerRunner';
9
+ type PackageRequestInput = {
10
+ bundleGraph: BundleGraph;
11
+ bundle: Bundle;
12
+ bundleGraphReference: SharedReference;
13
+ optionsRef: SharedReference;
14
+ useMainThread?: boolean;
15
+ };
16
+ export type PackageRequestResult = BundleInfo;
17
+ type RunInput<TResult> = {
18
+ input: PackageRequestInput;
19
+ } & StaticRunOpts<TResult>;
20
+ export type PackageRequest = {
21
+ id: ContentKey;
22
+ readonly type: typeof requestTypes.package_request;
23
+ run: (arg1: RunInput<BundleInfo>) => Async<BundleInfo>;
24
+ input: PackageRequestInput;
25
+ };
26
+ export declare function createPackageRequest(input: PackageRequestInput): PackageRequest;
27
+ export {};
@@ -0,0 +1,48 @@
1
+ import type { Diagnostic } from '@atlaspack/diagnostic';
2
+ import type { Async, FileCreateInvalidation, FilePath, Resolver } from '@atlaspack/types';
3
+ import type { StaticRunOpts } from '../RequestTracker';
4
+ import type { AssetGroup, Config, Dependency, DevDepRequest, AtlaspackOptions, DevDepRequestRef } from '../types';
5
+ import PluginOptions from '../public/PluginOptions';
6
+ import { AtlaspackConfig, LoadedPlugin } from '../AtlaspackConfig';
7
+ import { requestTypes } from '../RequestTracker';
8
+ export type PathRequest = {
9
+ id: string;
10
+ readonly type: typeof requestTypes.path_request;
11
+ run: (arg1: RunOpts<PathRequestResult>) => Async<PathRequestResult>;
12
+ input: PathRequestInput;
13
+ };
14
+ export type PathRequestResult = null | undefined | AssetGroup;
15
+ export type PathRequestInput = {
16
+ dependency: Dependency;
17
+ name: string;
18
+ };
19
+ type RunOpts<TResult> = {
20
+ input: PathRequestInput;
21
+ } & StaticRunOpts<TResult>;
22
+ export default function createPathRequest(input: PathRequestInput): PathRequest;
23
+ type ResolverRunnerOpts = {
24
+ config: AtlaspackConfig;
25
+ options: AtlaspackOptions;
26
+ previousDevDeps: Map<string, string>;
27
+ };
28
+ type ResolverResult = {
29
+ assetGroup: AssetGroup | null | undefined;
30
+ invalidateOnFileCreate?: Array<FileCreateInvalidation>;
31
+ invalidateOnFileChange?: Array<FilePath>;
32
+ invalidateOnEnvChange?: Array<string>;
33
+ diagnostics?: Array<Diagnostic>;
34
+ };
35
+ export declare class ResolverRunner {
36
+ config: AtlaspackConfig;
37
+ options: AtlaspackOptions;
38
+ pluginOptions: PluginOptions;
39
+ previousDevDeps: Map<string, string>;
40
+ devDepRequests: Map<string, DevDepRequest>;
41
+ configs: Map<string, Config>;
42
+ constructor({ config, options, previousDevDeps }: ResolverRunnerOpts);
43
+ getDiagnostic(dependency: Dependency, message: string): Promise<Async<Diagnostic>>;
44
+ loadConfigs(resolvers: Array<LoadedPlugin<Resolver<unknown>>>): Promise<void>;
45
+ runDevDepRequest(devDepRequest: DevDepRequest | DevDepRequestRef): void;
46
+ resolve(dependency: Dependency): Promise<ResolverResult>;
47
+ }
48
+ export {};
@@ -0,0 +1,48 @@
1
+ import type { FileSystem } from '@atlaspack/fs';
2
+ import type { Async, FilePath, PackageJSON, PackageTargetDescriptor, OutputFormat } from '@atlaspack/types';
3
+ import type { StaticRunOpts, RunAPI } from '../RequestTracker';
4
+ import type { Entry, AtlaspackOptions, Target } from '../types';
5
+ import { requestTypes } from '../RequestTracker';
6
+ type RunOpts<TResult> = {
7
+ input: Entry;
8
+ } & StaticRunOpts<TResult>;
9
+ export type TargetRequest = {
10
+ id: string;
11
+ readonly type: typeof requestTypes.target_request;
12
+ run: (arg1: RunOpts<TargetRequestResult>) => Async<TargetRequestResult>;
13
+ input: Entry;
14
+ };
15
+ export type TargetRequestResult = Target[];
16
+ export default function createTargetRequest(input: Entry): TargetRequest;
17
+ export declare function skipTarget(targetName: string, exclusiveTarget?: FilePath, descriptorSource?: FilePath | Array<FilePath>): boolean;
18
+ type TargetInfo = {
19
+ output: TargetKeyInfo;
20
+ engines: TargetKeyInfo;
21
+ context: TargetKeyInfo;
22
+ includeNodeModules: TargetKeyInfo;
23
+ outputFormat: TargetKeyInfo;
24
+ isLibrary: TargetKeyInfo;
25
+ shouldOptimize: TargetKeyInfo;
26
+ shouldScopeHoist: TargetKeyInfo;
27
+ };
28
+ type TargetKeyInfo = {
29
+ path: string;
30
+ type?: 'key' | 'value';
31
+ } | {
32
+ inferred: string;
33
+ type?: 'key' | 'value';
34
+ message: string;
35
+ } | {
36
+ message: string;
37
+ };
38
+ export declare class TargetResolver {
39
+ fs: FileSystem;
40
+ api: RunAPI<Array<Target>>;
41
+ options: AtlaspackOptions;
42
+ targetInfo: Map<string, TargetInfo>;
43
+ constructor(api: RunAPI<Array<Target>>, options: AtlaspackOptions);
44
+ resolve(rootDir: FilePath, exclusiveTarget?: string): Promise<Array<Target>>;
45
+ resolvePackageTargets(rootDir: FilePath, exclusiveTarget?: string): Promise<Map<string, Target | null>>;
46
+ inferOutputFormat(distEntry: FilePath | null | undefined, descriptor: PackageTargetDescriptor, targetName: string, pkg: PackageJSON, pkgFilePath?: FilePath | null, pkgContents?: string | null): [OutputFormat | null | undefined, string | null | undefined];
47
+ }
48
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { Async } from '@atlaspack/types';
2
+ import type { SharedReference } from '@atlaspack/workers';
3
+ import type { StaticRunOpts } from '../RequestTracker';
4
+ import type { AssetGroup } from '../types';
5
+ import { requestTypes } from '../RequestTracker';
6
+ type ValidationRequest = {
7
+ id: string;
8
+ readonly type: typeof requestTypes.validation_request;
9
+ run: (arg1: RunOpts<undefined>) => Async<void>;
10
+ input: ValidationRequestInput;
11
+ };
12
+ type RunOpts<TResult> = {
13
+ input: ValidationRequestInput;
14
+ } & StaticRunOpts<TResult>;
15
+ type ValidationRequestInput = {
16
+ assetRequests: Array<AssetGroup>;
17
+ optionsRef: SharedReference;
18
+ };
19
+ export default function createValidationRequest(input: ValidationRequestInput): ValidationRequest;
20
+ export {};
@@ -0,0 +1,80 @@
1
+ import type { ContentKey } from '@atlaspack/graph';
2
+ import type { Async } from '@atlaspack/types';
3
+ import type { StaticRunOpts } from '../RequestTracker';
4
+ import type { Bundle, PackagedBundleInfo, AtlaspackOptions } from '../types';
5
+ import type BundleGraph from '../BundleGraph';
6
+ import type { BundleInfo } from '../PackagerRunner';
7
+ import { Transform } from 'stream';
8
+ import { requestTypes } from '../RequestTracker';
9
+ import SourceMap from '@atlaspack/source-map';
10
+ export type HashRefReplacement = {
11
+ line: number;
12
+ column: number;
13
+ originalLength: number;
14
+ newLength: number;
15
+ };
16
+ type WriteBundleRequestInput = {
17
+ bundleGraph: BundleGraph;
18
+ bundle: Bundle;
19
+ info: BundleInfo;
20
+ hashRefToNameHash: Map<string, string>;
21
+ };
22
+ export type WriteBundleRequestResult = PackagedBundleInfo;
23
+ type RunInput<TResult> = {
24
+ input: WriteBundleRequestInput;
25
+ } & StaticRunOpts<TResult>;
26
+ export type WriteBundleRequest = {
27
+ id: ContentKey;
28
+ readonly type: typeof requestTypes.write_bundle_request;
29
+ run: (arg1: RunInput<PackagedBundleInfo>) => Async<PackagedBundleInfo>;
30
+ input: WriteBundleRequestInput;
31
+ };
32
+ /**
33
+ * Writes a bundle to the dist directory, replacing hash references with the final content hashes.
34
+ */
35
+ export default function createWriteBundleRequest(input: WriteBundleRequestInput): WriteBundleRequest;
36
+ export declare function applyReplacementsToSourceMap(sourceMap: SourceMap, replacements: HashRefReplacement[]): void;
37
+ /**
38
+ * Applies hash-ref replacement column offsets directly to a VLQ mappings
39
+ * string without deserializing the full source map into a native struct.
40
+ *
41
+ * Each replacement r describes a hash-ref that was substituted in the output
42
+ * file. r.column is in the progressively-shifted post-replacement coordinate
43
+ * space (matching the already-shifted source map state after all previous
44
+ * offsetColumns calls), so thresholds are applied sequentially against the
45
+ * running absCol values exactly as the native offsetColumns implementation does.
46
+ */
47
+ export declare function applyReplacementsToVLQMappings(mappings: string, replacements: HashRefReplacement[]): string;
48
+ /**
49
+ * A Transform stream that rewrites the "mappings" VLQ field of a source map
50
+ * JSON to account for hash-ref replacements, without ever loading the full
51
+ * JSON object or the native Rust SourceMapInner into memory.
52
+ *
53
+ * Field order in cached source maps (from partialVlqMapToSourceMap / toVLQ):
54
+ * mappings → sources → sourcesContent → names → version → file → sourceRoot
55
+ *
56
+ * "mappings" is the very first field, so we scan only a tiny header before
57
+ * switching to zero-copy passthrough for the bulk sourcesContent bytes.
58
+ */
59
+ export declare class SourceMapHashRefRewriteStream extends Transform {
60
+ private replacements;
61
+ private state;
62
+ private scanBuf;
63
+ private mappingsBufs;
64
+ constructor(replacements: HashRefReplacement[]);
65
+ _transform(chunk: Buffer, _encoding: string, cb: any): void;
66
+ private _bufferingTransform;
67
+ _flush(cb: any): void;
68
+ }
69
+ /**
70
+ * Computes the sourceRoot for a source map file. This is the relative path from
71
+ * the output directory back to the project root, so that source paths (stored
72
+ * relative to projectRoot) resolve correctly from the .map file location.
73
+ *
74
+ * Returns undefined when sources are inlined (inlineSources), since the browser
75
+ * doesn't need to fetch them and sourceRoot would be unnecessary.
76
+ *
77
+ * This logic must stay in sync with PackagerRunner.generateSourceMap.
78
+ */
79
+ export declare function computeSourceMapRoot(bundle: Bundle, options: AtlaspackOptions): string | undefined;
80
+ export {};