@atlaspack/core 2.16.2-canary.27 → 2.16.2-canary.270

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 (358) hide show
  1. package/CHANGELOG.md +665 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +658 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +108 -0
  6. package/dist/BundleGraph.js +1635 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +545 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1360 -0
  16. package/dist/SymbolPropagation.js +620 -0
  17. package/dist/TargetDescriptor.schema.js +143 -0
  18. package/dist/Transformation.js +490 -0
  19. package/dist/UncommittedAsset.js +315 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +305 -0
  22. package/dist/assetUtils.js +168 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +70 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +57 -0
  25. package/dist/atlaspack-v3/fs.js +52 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +94 -0
  30. package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
  31. package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
  32. package/dist/atlaspack-v3/worker/compat/index.js +25 -0
  33. package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
  34. package/dist/atlaspack-v3/worker/compat/plugin-config.js +76 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-options.js +122 -0
  37. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  38. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  39. package/dist/atlaspack-v3/worker/worker.js +297 -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 +359 -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 +429 -0
  59. package/dist/requests/AssetGraphRequestRust.js +262 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +65 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  63. package/dist/requests/BundleGraphRequest.js +445 -0
  64. package/dist/requests/ConfigRequest.js +222 -0
  65. package/dist/requests/DevDepRequest.js +204 -0
  66. package/dist/requests/EntryRequest.js +314 -0
  67. package/dist/requests/PackageRequest.js +62 -0
  68. package/dist/requests/PathRequest.js +349 -0
  69. package/dist/requests/TargetRequest.js +1311 -0
  70. package/dist/requests/ValidationRequest.js +49 -0
  71. package/dist/requests/WriteBundleRequest.js +254 -0
  72. package/dist/requests/WriteBundlesRequest.js +184 -0
  73. package/dist/requests/asset-graph-diff.js +128 -0
  74. package/dist/requests/asset-graph-dot.js +131 -0
  75. package/dist/resolveOptions.js +268 -0
  76. package/dist/rustWorkerThreadDylibHack.js +19 -0
  77. package/dist/serializerCore.browser.js +43 -0
  78. package/dist/summarizeRequest.js +39 -0
  79. package/dist/types.js +31 -0
  80. package/dist/utils.js +172 -0
  81. package/dist/worker.js +123 -0
  82. package/lib/AssetGraph.js +111 -14
  83. package/lib/Atlaspack.js +81 -37
  84. package/lib/AtlaspackConfig.js +15 -3
  85. package/lib/AtlaspackConfig.schema.js +7 -5
  86. package/lib/BundleGraph.js +90 -32
  87. package/lib/CommittedAsset.js +6 -0
  88. package/lib/Dependency.js +8 -2
  89. package/lib/Environment.js +15 -8
  90. package/lib/EnvironmentManager.js +143 -0
  91. package/lib/IdentifierRegistry.js +1 -3
  92. package/lib/InternalConfig.js +3 -2
  93. package/lib/PackagerRunner.js +90 -27
  94. package/lib/ReporterRunner.js +6 -9
  95. package/lib/RequestTracker.js +266 -156
  96. package/lib/SymbolPropagation.js +42 -18
  97. package/lib/TargetDescriptor.schema.js +7 -1
  98. package/lib/Transformation.js +26 -10
  99. package/lib/UncommittedAsset.js +30 -9
  100. package/lib/Validation.js +18 -2
  101. package/lib/applyRuntimes.js +9 -1
  102. package/lib/assetUtils.js +7 -4
  103. package/lib/atlaspack-v3/AtlaspackV3.js +32 -7
  104. package/lib/atlaspack-v3/NapiWorkerPool.js +3 -0
  105. package/lib/atlaspack-v3/fs.js +3 -1
  106. package/lib/atlaspack-v3/index.js +28 -1
  107. package/lib/atlaspack-v3/jsCallable.js +0 -2
  108. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  109. package/lib/atlaspack-v3/worker/compat/bitflags.js +7 -6
  110. package/lib/atlaspack-v3/worker/compat/dependency.js +3 -0
  111. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  112. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +14 -9
  113. package/lib/atlaspack-v3/worker/compat/plugin-config.js +8 -10
  114. package/lib/atlaspack-v3/worker/compat/plugin-options.js +1 -0
  115. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  116. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  117. package/lib/atlaspack-v3/worker/index.js +3 -0
  118. package/lib/atlaspack-v3/worker/worker.js +43 -7
  119. package/lib/constants.js +0 -1
  120. package/lib/dumpGraphToGraphViz.js +71 -16
  121. package/lib/index.js +45 -1
  122. package/lib/loadDotEnv.js +4 -1
  123. package/lib/projectPath.js +5 -0
  124. package/lib/public/Asset.js +21 -11
  125. package/lib/public/Bundle.js +15 -16
  126. package/lib/public/BundleGraph.js +10 -4
  127. package/lib/public/BundleGroup.js +4 -5
  128. package/lib/public/Config.js +118 -17
  129. package/lib/public/Dependency.js +8 -6
  130. package/lib/public/Environment.js +12 -7
  131. package/lib/public/MutableBundleGraph.js +54 -12
  132. package/lib/public/PluginOptions.js +2 -2
  133. package/lib/public/Symbols.js +11 -11
  134. package/lib/public/Target.js +7 -6
  135. package/lib/registerCoreWithSerializer.js +5 -3
  136. package/lib/requests/AssetGraphRequest.js +42 -5
  137. package/lib/requests/AssetGraphRequestRust.js +126 -62
  138. package/lib/requests/AssetRequest.js +23 -6
  139. package/lib/requests/AtlaspackBuildRequest.js +10 -4
  140. package/lib/requests/AtlaspackConfigRequest.js +27 -16
  141. package/lib/requests/BundleGraphRequest.js +34 -19
  142. package/lib/requests/ConfigRequest.js +28 -4
  143. package/lib/requests/DevDepRequest.js +31 -5
  144. package/lib/requests/EntryRequest.js +2 -0
  145. package/lib/requests/PackageRequest.js +2 -1
  146. package/lib/requests/PathRequest.js +24 -3
  147. package/lib/requests/TargetRequest.js +122 -57
  148. package/lib/requests/ValidationRequest.js +5 -1
  149. package/lib/requests/WriteBundleRequest.js +39 -11
  150. package/lib/requests/WriteBundlesRequest.js +51 -4
  151. package/lib/requests/asset-graph-diff.js +12 -7
  152. package/lib/requests/asset-graph-dot.js +1 -7
  153. package/lib/resolveOptions.js +36 -10
  154. package/lib/rustWorkerThreadDylibHack.js +0 -1
  155. package/lib/types/AssetGraph.d.ts +80 -0
  156. package/lib/types/Atlaspack.d.ts +52 -0
  157. package/lib/types/AtlaspackConfig.d.ts +65 -0
  158. package/lib/types/AtlaspackConfig.schema.d.ts +46 -0
  159. package/lib/types/BundleGraph.d.ts +182 -0
  160. package/lib/types/CommittedAsset.d.ts +23 -0
  161. package/lib/types/Dependency.d.ts +44 -0
  162. package/lib/types/Environment.d.ts +11 -0
  163. package/lib/types/EnvironmentManager.d.ts +37 -0
  164. package/lib/types/IdentifierRegistry.d.ts +6 -0
  165. package/lib/types/InternalConfig.d.ts +24 -0
  166. package/lib/types/PackagerRunner.d.ts +85 -0
  167. package/lib/types/ReporterRunner.d.ts +25 -0
  168. package/lib/types/RequestTracker.d.ts +385 -0
  169. package/lib/types/SymbolPropagation.d.ts +11 -0
  170. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  171. package/lib/types/Transformation.d.ts +72 -0
  172. package/lib/types/UncommittedAsset.d.ts +61 -0
  173. package/lib/types/Validation.d.ts +37 -0
  174. package/lib/types/applyRuntimes.d.ts +25 -0
  175. package/lib/types/assetUtils.d.ts +42 -0
  176. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +26 -0
  177. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +12 -0
  178. package/lib/types/atlaspack-v3/fs.d.ts +12 -0
  179. package/lib/types/atlaspack-v3/index.d.ts +5 -0
  180. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  181. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  182. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +15 -0
  183. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  184. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  185. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
  186. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  187. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +37 -0
  188. package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
  189. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +22 -0
  190. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  191. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  192. package/lib/types/atlaspack-v3/worker/worker.d.ts +60 -0
  193. package/lib/types/constants.d.ts +13 -0
  194. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  195. package/lib/types/index.d.ts +8 -0
  196. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  197. package/lib/types/loadDotEnv.d.ts +3 -0
  198. package/lib/types/projectPath.d.ts +19 -0
  199. package/lib/types/public/Asset.d.ts +74 -0
  200. package/lib/types/public/Bundle.d.ts +45 -0
  201. package/lib/types/public/BundleGraph.d.ts +70 -0
  202. package/lib/types/public/BundleGroup.d.ts +12 -0
  203. package/lib/types/public/Config.d.ts +75 -0
  204. package/lib/types/public/Dependency.d.ts +32 -0
  205. package/lib/types/public/Environment.d.ts +34 -0
  206. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  207. package/lib/types/public/PluginOptions.d.ts +25 -0
  208. package/lib/types/public/Symbols.d.ts +81 -0
  209. package/lib/types/public/Target.d.ts +16 -0
  210. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  211. package/lib/types/requests/AssetGraphRequest.d.ts +74 -0
  212. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  213. package/lib/types/requests/AssetRequest.d.ts +16 -0
  214. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  215. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  216. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  217. package/lib/types/requests/ConfigRequest.d.ts +59 -0
  218. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  219. package/lib/types/requests/EntryRequest.d.ts +36 -0
  220. package/lib/types/requests/PackageRequest.d.ts +27 -0
  221. package/lib/types/requests/PathRequest.d.ts +48 -0
  222. package/lib/types/requests/TargetRequest.d.ts +48 -0
  223. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  224. package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
  225. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  226. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  227. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  228. package/lib/types/resolveOptions.d.ts +3 -0
  229. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  230. package/lib/types/serializerCore.browser.d.ts +3 -0
  231. package/lib/types/summarizeRequest.d.ts +10 -0
  232. package/lib/types/types.d.ts +493 -0
  233. package/lib/types/utils.d.ts +23 -0
  234. package/lib/types/worker.d.ts +44 -0
  235. package/lib/types.js +8 -1
  236. package/lib/utils.js +17 -2
  237. package/lib/worker.js +29 -13
  238. package/package.json +24 -34
  239. package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
  240. package/src/{Atlaspack.js → Atlaspack.ts} +114 -61
  241. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +16 -19
  242. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  243. package/src/{BundleGraph.js → BundleGraph.ts} +231 -140
  244. package/src/{CommittedAsset.js → CommittedAsset.ts} +14 -12
  245. package/src/{Dependency.js → Dependency.ts} +59 -42
  246. package/src/{Environment.js → Environment.ts} +24 -15
  247. package/src/EnvironmentManager.ts +154 -0
  248. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  249. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  250. package/src/{PackagerRunner.js → PackagerRunner.ts} +178 -86
  251. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  252. package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
  253. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
  254. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  255. package/src/{Transformation.js → Transformation.ts} +71 -62
  256. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +57 -36
  257. package/src/{Validation.js → Validation.ts} +32 -17
  258. package/src/{applyRuntimes.js → applyRuntimes.ts} +35 -26
  259. package/src/{assetUtils.js → assetUtils.ts} +47 -35
  260. package/src/atlaspack-v3/AtlaspackV3.ts +122 -0
  261. package/src/atlaspack-v3/{NapiWorkerPool.js → NapiWorkerPool.ts} +10 -5
  262. package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
  263. package/src/atlaspack-v3/{index.js → index.ts} +2 -4
  264. package/src/atlaspack-v3/jsCallable.ts +14 -0
  265. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  266. package/src/atlaspack-v3/worker/compat/{bitflags.js → bitflags.ts} +9 -10
  267. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +12 -12
  268. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  269. package/src/atlaspack-v3/worker/compat/index.ts +9 -0
  270. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +20 -19
  271. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +27 -26
  272. package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
  273. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +4 -5
  274. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  275. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  276. package/src/atlaspack-v3/worker/index.js +2 -1
  277. package/src/atlaspack-v3/worker/{worker.js → worker.ts} +102 -66
  278. package/src/{constants.js → constants.ts} +0 -3
  279. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  280. package/src/index.ts +18 -0
  281. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  282. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  283. package/src/{projectPath.js → projectPath.ts} +20 -9
  284. package/src/public/{Asset.js → Asset.ts} +40 -27
  285. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  286. package/src/public/{BundleGraph.js → BundleGraph.ts} +81 -50
  287. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  288. package/src/public/{Config.js → Config.ts} +171 -33
  289. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  290. package/src/public/{Environment.js → Environment.ts} +28 -17
  291. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  292. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  293. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  294. package/src/public/{Target.js → Target.ts} +10 -8
  295. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  296. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +84 -49
  297. package/src/requests/AssetGraphRequestRust.ts +352 -0
  298. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  299. package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +46 -32
  300. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  301. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +71 -58
  302. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +71 -50
  303. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  304. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  305. package/src/requests/{PackageRequest.js → PackageRequest.ts} +20 -22
  306. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  307. package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
  308. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  309. package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
  310. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
  311. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  312. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  313. package/src/{resolveOptions.js → resolveOptions.ts} +56 -24
  314. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  315. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  316. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  317. package/src/types.ts +647 -0
  318. package/src/{utils.js → utils.ts} +52 -21
  319. package/src/{worker.js → worker.ts} +49 -41
  320. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
  321. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  322. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  323. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +75 -15
  324. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  325. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  326. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  327. package/test/Environment.test.ts +153 -0
  328. package/test/EnvironmentManager.test.ts +188 -0
  329. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  330. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  331. package/test/PackagerRunner.test.ts +0 -0
  332. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  333. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  334. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  335. package/test/PublicEnvironment.test.ts +49 -0
  336. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  337. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
  338. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  339. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
  340. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  341. package/test/fixtures/custom-targets/package.json +6 -0
  342. package/test/public/Config.test.ts +104 -0
  343. package/test/requests/{AssetGraphRequestRust.test.js → AssetGraphRequestRust.test.ts} +164 -134
  344. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  345. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  346. package/test/{test-utils.js → test-utils.ts} +4 -11
  347. package/test/{utils.test.js → utils.test.ts} +1 -3
  348. package/tsconfig.json +57 -0
  349. package/tsconfig.tsbuildinfo +1 -0
  350. package/index.d.ts +0 -30
  351. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  352. package/src/atlaspack-v3/jsCallable.js +0 -18
  353. package/src/index.js +0 -13
  354. package/src/requests/AssetGraphRequestRust.js +0 -263
  355. package/src/types.js +0 -600
  356. package/test/Environment.test.js +0 -119
  357. package/test/PackagerRunner.test.js +0 -27
  358. package/test/PublicEnvironment.test.js +0 -27
@@ -0,0 +1,182 @@
1
+ import type { GraphVisitor, FilePath, TraversalActions, BundleBehavior as IBundleBehavior, Symbol } from '@atlaspack/types';
2
+ import type { ContentGraphOpts, NodeId, SerializedContentGraph } from '@atlaspack/graph';
3
+ import type { Asset, AssetNode, Bundle, BundleGraphNode, BundleGroup, Dependency, DependencyNode, InternalSourceLocation, Target, Condition } from './types';
4
+ import type AssetGraph from './AssetGraph';
5
+ import type { ProjectPath } from './projectPath';
6
+ import { ContentGraph } from '@atlaspack/graph';
7
+ import type { EnvironmentRef } from './EnvironmentManager';
8
+ export declare const bundleGraphEdgeTypes: {
9
+ readonly null: 1;
10
+ readonly contains: 2;
11
+ readonly bundle: 3;
12
+ readonly references: 4;
13
+ readonly internal_async: 5;
14
+ readonly conditional: 5;
15
+ };
16
+ export type BundleGraphEdgeType = (typeof bundleGraphEdgeTypes)[keyof typeof bundleGraphEdgeTypes];
17
+ type InternalSymbolResolution = {
18
+ asset: Asset;
19
+ exportSymbol: string;
20
+ symbol: Symbol | null | undefined | false;
21
+ loc: InternalSourceLocation | null | undefined;
22
+ };
23
+ type InternalExportSymbolResolution = InternalSymbolResolution & {
24
+ readonly exportAs: Symbol | string;
25
+ };
26
+ type BundleGraphOpts = {
27
+ graph: ContentGraphOpts<BundleGraphNode, BundleGraphEdgeType>;
28
+ bundleContentHashes: Map<string, string>;
29
+ assetPublicIds: Set<string>;
30
+ publicIdByAssetId: Map<string, string>;
31
+ conditions: Map<string, Condition>;
32
+ };
33
+ type SerializedBundleGraph = {
34
+ $$raw: true;
35
+ graph: SerializedContentGraph<BundleGraphNode, BundleGraphEdgeType>;
36
+ bundleContentHashes: Map<string, string>;
37
+ assetPublicIds: Set<string>;
38
+ publicIdByAssetId: Map<string, string>;
39
+ conditions: Map<string, Condition>;
40
+ };
41
+ /**
42
+ * Stores assets, dependencies, bundle groups, bundles, and the relationships between them.
43
+ * The BundleGraph is passed to the bundler plugin wrapped in a MutableBundleGraph,
44
+ * and is passed to packagers and optimizers wrapped in the public BundleGraph object, both
45
+ * of which implement public api for this structure. This is the internal structure.
46
+ */
47
+ export default class BundleGraph {
48
+ /** A set of all existing concise asset ids present in the BundleGraph */
49
+ _assetPublicIds: Set<string>;
50
+ /** Maps full asset ids (currently 32-character strings) to concise ids (minimum of 5 character strings) */
51
+ _publicIdByAssetId: Map<string, string>;
52
+ /**
53
+ * A cache of bundle hashes by bundle id.
54
+ *
55
+ * TODO: These hashes are being invalidated in mutative methods, but this._graph is not a private
56
+ * property so it is possible to reach in and mutate the graph without invalidating these hashes.
57
+ * It needs to be exposed in BundlerRunner for now based on how applying runtimes works and the
58
+ * BundlerRunner takes care of invalidating hashes when runtimes are applied, but this is not ideal.
59
+ */
60
+ _bundleContentHashes: Map<string, string>;
61
+ _targetEntryRoots: Map<ProjectPath, FilePath>;
62
+ /** The internal core Graph structure */
63
+ _graph: ContentGraph<BundleGraphNode, BundleGraphEdgeType>;
64
+ _bundlePublicIds: Set<string>;
65
+ _conditions: Map<string, Condition>;
66
+ constructor({ graph, publicIdByAssetId, assetPublicIds, bundleContentHashes, conditions, }: {
67
+ graph: ContentGraph<BundleGraphNode, BundleGraphEdgeType>;
68
+ publicIdByAssetId: Map<string, string>;
69
+ assetPublicIds: Set<string>;
70
+ bundleContentHashes: Map<string, string>;
71
+ conditions: Map<string, Condition>;
72
+ });
73
+ /**
74
+ * Produce a BundleGraph from an AssetGraph by removing asset groups and retargeting dependencies
75
+ * based on the symbol data (resolving side-effect free reexports).
76
+ */
77
+ static fromAssetGraph(assetGraph: AssetGraph, isProduction: boolean, publicIdByAssetId?: Map<string, string>, assetPublicIds?: Set<string>): BundleGraph;
78
+ serialize(): SerializedBundleGraph;
79
+ static deserialize(serialized: BundleGraphOpts): BundleGraph;
80
+ createBundle(opts: {
81
+ readonly entryAsset: Asset;
82
+ readonly bundleRoots?: Array<Asset>;
83
+ readonly target: Target;
84
+ readonly needsStableName?: boolean | null | undefined;
85
+ readonly bundleBehavior?: IBundleBehavior | null | undefined;
86
+ readonly shouldContentHash: boolean;
87
+ readonly env: EnvironmentRef;
88
+ } | {
89
+ readonly type: string;
90
+ readonly env: EnvironmentRef;
91
+ readonly uniqueKey: string;
92
+ readonly target: Target;
93
+ readonly needsStableName?: boolean | null | undefined;
94
+ readonly bundleBehavior?: IBundleBehavior | null | undefined;
95
+ readonly isSplittable?: boolean | null | undefined;
96
+ readonly pipeline?: string | null | undefined;
97
+ readonly shouldContentHash: boolean;
98
+ }): Bundle;
99
+ addAssetToBundle(asset: Asset, bundle: Bundle): void;
100
+ addAssetGraphToBundle(asset: Asset, bundle: Bundle, shouldSkipDependency?: (arg1: Dependency) => boolean): void;
101
+ markDependencyReferenceable(dependency: Dependency): void;
102
+ addEntryToBundle(asset: Asset, bundle: Bundle, shouldSkipDependency?: (arg1: Dependency) => boolean): void;
103
+ internalizeAsyncDependency(bundle: Bundle, dependency: Dependency): void;
104
+ isDependencySkipped(dependency: Dependency): boolean;
105
+ getParentBundlesOfBundleGroup(bundleGroup: BundleGroup): Array<Bundle>;
106
+ resolveAsyncDependency(dependency: Dependency, bundle?: Bundle | null): {
107
+ type: 'bundle_group';
108
+ value: BundleGroup;
109
+ } | {
110
+ type: 'asset';
111
+ value: Asset;
112
+ } | null | undefined;
113
+ getReferencedBundle(dependency: Dependency, fromBundle: Bundle): Bundle | null | undefined;
114
+ removeAssetGraphFromBundle(asset: Asset, bundle: Bundle): void;
115
+ /**
116
+ * Remove a bundle from the bundle graph. Remove its bundle group if it is
117
+ * the only bundle in the group.
118
+ */
119
+ removeBundle(bundle: Bundle): Set<BundleGroup>;
120
+ removeBundleGroup(bundleGroup: BundleGroup): void;
121
+ _removeExternalDependency(bundle: Bundle, dependency: Dependency): void;
122
+ createAssetReference(dependency: Dependency, asset: Asset, bundle: Bundle): void;
123
+ createBundleReference(from: Bundle, to: Bundle): void;
124
+ createBundleConditionalReference(from: Bundle, to: Bundle): void;
125
+ getBundlesWithAsset(asset: Asset): Array<Bundle>;
126
+ getBundlesWithDependency(dependency: Dependency): Array<Bundle>;
127
+ getDependencyAssets(dependency: Dependency): Array<Asset>;
128
+ getResolvedAsset(dep: Dependency, bundle?: Bundle | null): Asset | null | undefined;
129
+ getDependencies(asset: Asset): Array<Dependency>;
130
+ traverseAssets<TContext>(bundle: Bundle, visit: GraphVisitor<Asset, TContext>, startAsset?: Asset): TContext | null | undefined;
131
+ isAssetReferenced(bundle: Bundle, asset: Asset): boolean;
132
+ hasParentBundleOfType(bundle: Bundle, type: string): boolean;
133
+ getParentBundles(bundle: Bundle): Array<Bundle>;
134
+ isAssetReachableFromBundle(asset: Asset, bundle: Bundle): boolean;
135
+ /**
136
+ * TODO: Document why this works like this & why visitor order matters
137
+ * on these use-cases.
138
+ */
139
+ traverseBundle<TContext>(bundle: Bundle, visit: GraphVisitor<AssetNode | DependencyNode, TContext>, startAsset?: Asset): TContext | null | undefined;
140
+ traverse<TContext>(visit: GraphVisitor<AssetNode | DependencyNode, TContext>, start?: Asset): TContext | null | undefined;
141
+ getChildBundles(bundle: Bundle): Array<Bundle>;
142
+ traverseBundles<TContext>(visit: GraphVisitor<Bundle, TContext>, startBundle?: Bundle | null): TContext | null | undefined;
143
+ getBundles(opts?: {
144
+ includeInline: boolean;
145
+ }): Array<Bundle>;
146
+ getTotalSize(asset: Asset): number;
147
+ getReferencingBundles(bundle: Bundle): Array<Bundle>;
148
+ getBundleGroupsContainingBundle(bundle: Bundle): Array<BundleGroup>;
149
+ getDirectParentBundleGroups(bundle: Bundle): Array<BundleGroup>;
150
+ getBundlesInBundleGroup(bundleGroup: BundleGroup, opts?: {
151
+ includeInline: boolean;
152
+ }): Array<Bundle>;
153
+ getReferencedBundles(bundle: Bundle, opts?: {
154
+ recursive?: boolean;
155
+ includeInline?: boolean;
156
+ }): Array<Bundle>;
157
+ getIncomingDependencies(asset: Asset): Array<Dependency>;
158
+ getAssetWithDependency(dep: Dependency): Asset | null | undefined;
159
+ bundleHasAsset(bundle: Bundle, asset: Asset): boolean;
160
+ bundleHasDependency(bundle: Bundle, dependency: Dependency): boolean;
161
+ filteredTraverse<TValue, TContext>(bundleNodeId: NodeId, filter: (arg1: NodeId, arg2: TraversalActions) => TValue | null | undefined, visit: GraphVisitor<TValue, TContext>): TContext | null | undefined;
162
+ getSymbolResolution(asset: Asset, symbol: Symbol, boundary?: Bundle | null): InternalSymbolResolution;
163
+ getAssetById(contentKey: string): Asset;
164
+ getAssetPublicId(asset: Asset): string;
165
+ getExportedSymbols(asset: Asset, boundary?: Bundle | null): Array<InternalExportSymbolResolution>;
166
+ getContentHash(bundle: Bundle): string;
167
+ getInlineBundles(bundle: Bundle): Array<Bundle>;
168
+ getHash(bundle: Bundle): string;
169
+ getBundleGraphHash(): string;
170
+ addBundleToBundleGroup(bundle: Bundle, bundleGroup: BundleGroup): void;
171
+ getUsedSymbolsAsset(asset: Asset): ReadonlySet<Symbol> | null | undefined;
172
+ getUsedSymbolsDependency(dep: Dependency): ReadonlySet<Symbol> | null | undefined;
173
+ merge(other: BundleGraph): void;
174
+ isEntryBundleGroup(bundleGroup: BundleGroup): boolean;
175
+ /**
176
+ * Update the asset in a Bundle Graph and clear the associated Bundle hash.
177
+ */
178
+ updateAsset(asset: AssetNode): void;
179
+ getEntryRoot(projectRoot: FilePath, target: Target): FilePath;
180
+ getReferencedConditionalBundles(bundle: Bundle): Array<Bundle>;
181
+ }
182
+ export {};
@@ -0,0 +1,23 @@
1
+ import { Readable } from 'stream';
2
+ import type { AST, Blob } from '@atlaspack/types';
3
+ import SourceMap from '@parcel/source-map';
4
+ import type { Asset, Dependency, AtlaspackOptions } from './types';
5
+ export default class CommittedAsset {
6
+ key: string | null | undefined;
7
+ value: Asset;
8
+ options: AtlaspackOptions;
9
+ content: Promise<Buffer | string> | null | undefined;
10
+ mapBuffer: Promise<Buffer | null | undefined> | null | undefined;
11
+ map: Promise<SourceMap | null | undefined> | null | undefined;
12
+ ast: Promise<AST> | null | undefined;
13
+ code: string | null | undefined;
14
+ constructor(value: Asset, options: AtlaspackOptions);
15
+ getContent(): Blob | Promise<Buffer | string>;
16
+ getCode(): Promise<string>;
17
+ getBuffer(): Promise<Buffer>;
18
+ getStream(): Readable;
19
+ getMapBuffer(): Promise<Buffer | null | undefined>;
20
+ getMap(): Promise<SourceMap | null | undefined>;
21
+ getAST(): Promise<AST | null | undefined>;
22
+ getDependencies(): Array<Dependency>;
23
+ }
@@ -0,0 +1,44 @@
1
+ import type { FilePath, Meta, DependencySpecifier, SourceLocation, BundleBehavior as IBundleBehavior, SemverRange } from '@atlaspack/types';
2
+ import type { Dependency, Target } from './types';
3
+ import { SpecifierType, Priority } from './types';
4
+ import type { EnvironmentRef } from './EnvironmentManager';
5
+ type DependencyOpts = {
6
+ id?: string;
7
+ sourcePath?: FilePath;
8
+ sourceAssetId?: string;
9
+ specifier: DependencySpecifier;
10
+ specifierType: keyof typeof SpecifierType;
11
+ priority?: keyof typeof Priority;
12
+ needsStableName?: boolean;
13
+ bundleBehavior?: IBundleBehavior | null | undefined;
14
+ isEntry?: boolean;
15
+ isOptional?: boolean;
16
+ loc?: SourceLocation;
17
+ env: EnvironmentRef;
18
+ packageConditions?: Array<string>;
19
+ meta?: Meta;
20
+ resolveFrom?: FilePath;
21
+ range?: SemverRange;
22
+ target?: Target;
23
+ symbols?: Map<symbol, {
24
+ local: symbol;
25
+ loc: SourceLocation | null | undefined;
26
+ isWeak: boolean;
27
+ meta?: Meta | null | undefined;
28
+ }> | null | undefined;
29
+ pipeline?: string | null | undefined;
30
+ };
31
+ export declare function createDependencyId({ sourceAssetId, specifier, env, target, pipeline, specifierType, bundleBehavior, priority, packageConditions, }: {
32
+ sourceAssetId?: string | undefined;
33
+ specifier: DependencySpecifier;
34
+ env: EnvironmentRef;
35
+ target?: Target | undefined;
36
+ pipeline?: string | null | undefined;
37
+ specifierType: keyof typeof SpecifierType;
38
+ bundleBehavior?: IBundleBehavior | null | undefined;
39
+ priority?: keyof typeof Priority | undefined;
40
+ packageConditions?: Array<string> | undefined;
41
+ }): string;
42
+ export declare function createDependency(projectRoot: FilePath, opts: DependencyOpts): Dependency;
43
+ export declare function mergeDependencies(a: Dependency, b: Dependency): void;
44
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { EnvironmentOptions, Environment as IEnvironment, FilePath, EnvMap } from '@atlaspack/types';
2
+ import type { Environment, InternalSourceLocation } from './types';
3
+ import type { EnvironmentRef } from './EnvironmentManager';
4
+ type EnvironmentOpts = EnvironmentOptions & {
5
+ loc?: InternalSourceLocation | null | undefined;
6
+ customEnv?: EnvMap | null | undefined;
7
+ };
8
+ export declare function createEnvironment({ context, engines, includeNodeModules, outputFormat, sourceType, shouldOptimize, isLibrary, shouldScopeHoist, sourceMap, unstableSingleFileOutput, loc, customEnv, }?: EnvironmentOpts): EnvironmentRef;
9
+ export declare function mergeEnvironments(projectRoot: FilePath, a: Environment, b?: EnvironmentOptions | IEnvironment | null): EnvironmentRef;
10
+ export declare function getEnvironmentHash(env: Environment): string;
11
+ export {};
@@ -0,0 +1,37 @@
1
+ /*!
2
+ * At the moment we're doing this change for `CoreEnvironment`,
3
+ * but the same change must be made for `TypesEnvironment` in @atlaspack/types.
4
+ */
5
+ import type { Environment as CoreEnvironment } from './types';
6
+ import { Cache } from '@atlaspack/cache';
7
+ export type EnvironmentId = string;
8
+ /**
9
+ * When deduplication is cleaned-up this will always be a string.
10
+ */
11
+ export type EnvironmentRef = EnvironmentId | CoreEnvironment;
12
+ /**
13
+ * Convert environment to a ref.
14
+ * This is what we should be using to store environments.
15
+ */
16
+ export declare function toEnvironmentRef(env: CoreEnvironment): EnvironmentRef;
17
+ /**
18
+ * Convert environment to a string ID
19
+ */
20
+ export declare function toEnvironmentId(
21
+ /**
22
+ * Redundant type during roll-out
23
+ */
24
+ env: CoreEnvironment | EnvironmentRef): string;
25
+ export declare function fromEnvironmentId(id: EnvironmentRef): CoreEnvironment;
26
+ /**
27
+ * Writes all environments and their IDs to the cache
28
+ * @param {Cache} cache
29
+ * @returns {Promise<void>}
30
+ */
31
+ export declare function writeEnvironmentsToCache(cache: Cache): Promise<void>;
32
+ /**
33
+ * Loads all environments and their IDs from the cache
34
+ * @param {Cache} cache
35
+ * @returns {Promise<void>}
36
+ */
37
+ export declare function loadEnvironmentsFromCache(cache: Cache): Promise<void>;
@@ -0,0 +1,6 @@
1
+ export declare class IdentifierRegistry {
2
+ #private;
3
+ constructor(enabled: boolean);
4
+ addIdentifier(type: string, identifier: string, data: unknown): void;
5
+ }
6
+ export declare const identifierRegistry: IdentifierRegistry;
@@ -0,0 +1,24 @@
1
+ import type { PackageName, ConfigResult } from '@atlaspack/types';
2
+ import type { Config, InternalFileCreateInvalidation, InternalDevDepOptions } from './types';
3
+ import type { ProjectPath } from './projectPath';
4
+ import type { EnvironmentRef } from './EnvironmentManager';
5
+ type ConfigOpts = {
6
+ plugin: PackageName;
7
+ searchPath: ProjectPath;
8
+ isSource?: boolean;
9
+ env?: EnvironmentRef;
10
+ result?: ConfigResult;
11
+ invalidateOnFileChange?: Set<ProjectPath>;
12
+ invalidateOnConfigKeyChange?: Array<{
13
+ filePath: ProjectPath;
14
+ configKey: string[];
15
+ }>;
16
+ invalidateOnFileCreate?: Array<InternalFileCreateInvalidation>;
17
+ invalidateOnEnvChange?: Set<string>;
18
+ invalidateOnOptionChange?: Set<string>;
19
+ devDeps?: Array<InternalDevDepOptions>;
20
+ invalidateOnStartup?: boolean;
21
+ invalidateOnBuild?: boolean;
22
+ };
23
+ export declare function createConfig({ plugin, isSource, searchPath, env, result, invalidateOnFileChange, invalidateOnConfigKeyChange, invalidateOnFileCreate, invalidateOnEnvChange, invalidateOnOptionChange, devDeps, invalidateOnStartup, invalidateOnBuild, }: ConfigOpts): Config;
24
+ export {};
@@ -0,0 +1,85 @@
1
+ import type { Blob, FilePath, BundleResult, Async } from '@atlaspack/types';
2
+ import type SourceMap from '@parcel/source-map';
3
+ import type { Bundle as InternalBundle, Config, DevDepRequest, AtlaspackOptions, ReportFn, RequestInvalidation, DevDepRequestRef } from './types';
4
+ import type { AtlaspackConfig, LoadedPlugin } from './AtlaspackConfig';
5
+ import type InternalBundleGraph from './BundleGraph';
6
+ import type { ConfigRequest } from './requests/ConfigRequest';
7
+ import type { DevDepSpecifier } from './requests/DevDepRequest';
8
+ import { Readable } from 'stream';
9
+ import { NamedBundle } from './public/Bundle';
10
+ import PluginOptions from './public/PluginOptions';
11
+ import { PluginWithBundleConfig } from './requests/ConfigRequest';
12
+ type Opts = {
13
+ config: AtlaspackConfig;
14
+ options: AtlaspackOptions;
15
+ report: ReportFn;
16
+ previousDevDeps: Map<string, string>;
17
+ previousInvalidations: Array<RequestInvalidation>;
18
+ };
19
+ export type RunPackagerRunnerResult = {
20
+ bundleInfo: BundleInfo;
21
+ configRequests: Array<ConfigRequest>;
22
+ devDepRequests: Array<DevDepRequest | DevDepRequestRef>;
23
+ invalidations: Array<RequestInvalidation>;
24
+ };
25
+ export type BundleInfo = {
26
+ readonly type: string;
27
+ readonly size: number;
28
+ readonly hash: string;
29
+ readonly hashReferences: Array<string>;
30
+ readonly time?: number;
31
+ readonly cacheKeys: CacheKeyMap;
32
+ readonly isLargeBlob: boolean;
33
+ readonly scopeHoistingStats?: {
34
+ totalAssets: number;
35
+ wrappedAssets: number;
36
+ };
37
+ };
38
+ type CacheKeyMap = {
39
+ content: string;
40
+ map: string;
41
+ info: string;
42
+ };
43
+ export default class PackagerRunner {
44
+ config: AtlaspackConfig;
45
+ options: AtlaspackOptions;
46
+ pluginOptions: PluginOptions;
47
+ distDir: FilePath;
48
+ distExists: Set<FilePath>;
49
+ report: ReportFn;
50
+ previousDevDeps: Map<string, string>;
51
+ devDepRequests: Map<string, DevDepRequest | DevDepRequestRef>;
52
+ invalidations: Map<string, RequestInvalidation>;
53
+ previousInvalidations: Array<RequestInvalidation>;
54
+ constructor({ config, options, report, previousDevDeps, previousInvalidations, }: Opts);
55
+ run(bundleGraph: InternalBundleGraph, bundle: InternalBundle, invalidDevDeps: Array<DevDepSpecifier>): Promise<RunPackagerRunnerResult>;
56
+ loadConfigs(bundleGraph: InternalBundleGraph, bundle: InternalBundle): Promise<{
57
+ configs: Map<string, Config>;
58
+ bundleConfigs: Map<string, Config>;
59
+ }>;
60
+ loadConfig(bundleGraph: InternalBundleGraph, bundle: InternalBundle, configs: Map<string, Config>, bundleConfigs: Map<string, Config>): Promise<void>;
61
+ loadPluginConfig<T extends PluginWithBundleConfig>(bundleGraph: InternalBundleGraph, bundle: InternalBundle, plugin: LoadedPlugin<T>, configs: Map<string, Config>, bundleConfigs: Map<string, Config>): Promise<void>;
62
+ getBundleInfoFromCache(bundleGraph: InternalBundleGraph, bundle: InternalBundle, configs: Map<string, Config>, bundleConfigs: Map<string, Config>): Promise<Async<BundleInfo | null | undefined>>;
63
+ getBundleInfo(bundle: InternalBundle, bundleGraph: InternalBundleGraph, configs: Map<string, Config>, bundleConfigs: Map<string, Config>): Promise<BundleInfo>;
64
+ getBundleResult(bundle: InternalBundle, bundleGraph: InternalBundleGraph, configs: Map<string, Config>, bundleConfigs: Map<string, Config>): Promise<{
65
+ type: string;
66
+ contents: Blob;
67
+ map: string | null | undefined;
68
+ scopeHoistingStats?: BundleResult['scopeHoistingStats'];
69
+ }>;
70
+ getSourceMapReference(bundle: NamedBundle, map?: SourceMap | null): Async<string | null | undefined>;
71
+ package(internalBundle: InternalBundle, bundleGraph: InternalBundleGraph, configs: Map<string, Config>, bundleConfigs: Map<string, Config>): Promise<BundleResult>;
72
+ optimize(internalBundle: InternalBundle, internalBundleGraph: InternalBundleGraph, type: string, contents: Blob, map: SourceMap | null | undefined, configs: Map<string, Config>, bundleConfigs: Map<string, Config>): Promise<BundleResult>;
73
+ generateSourceMap(bundle: InternalBundle, map: SourceMap): Promise<string>;
74
+ getCacheKey(bundle: InternalBundle, bundleGraph: InternalBundleGraph, configs: Map<string, Config>, bundleConfigs: Map<string, Config>, invalidations: Array<RequestInvalidation>): Promise<string>;
75
+ getDevDepHashes(bundle: InternalBundle): Promise<string>;
76
+ readFromCache(cacheKey: string): Promise<{
77
+ contents: Readable;
78
+ map: Readable | null | undefined;
79
+ } | null | undefined>;
80
+ writeToCache(cacheKeys: CacheKeyMap, type: string, contents: Blob, map?: string | null): Promise<BundleInfo>;
81
+ static getContentKey(cacheKey: string): string;
82
+ static getMapKey(cacheKey: string): string;
83
+ static getInfoKey(cacheKey: string): string;
84
+ }
85
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { ReporterEvent, Reporter } from '@atlaspack/types';
2
+ import type { WorkerApi } from '@atlaspack/workers';
3
+ import type { AtlaspackOptions } from './types';
4
+ import type { LoadedPlugin } from './AtlaspackConfig';
5
+ import WorkerFarm from '@atlaspack/workers';
6
+ import PluginOptions from './public/PluginOptions';
7
+ type Opts = {
8
+ options: AtlaspackOptions;
9
+ reporters: Array<LoadedPlugin<Reporter>>;
10
+ workerFarm: WorkerFarm;
11
+ };
12
+ export default class ReporterRunner {
13
+ workerFarm: WorkerFarm;
14
+ errors: Error[];
15
+ options: AtlaspackOptions;
16
+ pluginOptions: PluginOptions;
17
+ reporters: Array<LoadedPlugin<Reporter>>;
18
+ constructor(opts: Opts);
19
+ eventHandler: (arg1: ReporterEvent) => void;
20
+ report(unsanitisedEvent: ReporterEvent): Promise<void>;
21
+ dispose(): void;
22
+ }
23
+ export declare function reportWorker(workerApi: WorkerApi, event: ReporterEvent): void;
24
+ export declare function report(event: ReporterEvent): Promise<void>;
25
+ export {};