@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
package/src/types.ts ADDED
@@ -0,0 +1,651 @@
1
+ import type {ContentKey} from '@atlaspack/graph';
2
+ import type {
3
+ ASTGenerator,
4
+ BuildMode,
5
+ Engines,
6
+ EnvironmentContext,
7
+ EnvMap,
8
+ FilePath,
9
+ Glob,
10
+ LogLevel,
11
+ Meta,
12
+ DependencySpecifier,
13
+ PackageName,
14
+ ReporterEvent,
15
+ SemverRange,
16
+ ServerOptions,
17
+ SourceType,
18
+ Stats,
19
+ TargetSourceMapOptions,
20
+ ConfigResult,
21
+ OutputFormat,
22
+ TargetDescriptor,
23
+ HMROptions,
24
+ DetailedReportOptions,
25
+ Symbol,
26
+ SymbolData,
27
+ } from '@atlaspack/types';
28
+ import type {SharedReference} from '@atlaspack/workers';
29
+ import type {FileSystem} from '@atlaspack/fs';
30
+ import type {Cache} from '@atlaspack/cache';
31
+ import type {PackageManager} from '@atlaspack/package-manager';
32
+ import type {ProjectPath} from './projectPath';
33
+ import type {Event} from '@parcel/watcher';
34
+ import type {FeatureFlags} from '@atlaspack/feature-flags';
35
+ import type {BackendType} from '@parcel/watcher';
36
+ import type {EnvironmentRef} from './EnvironmentManager';
37
+
38
+ // flow-to-ts helpers
39
+ export type SetComplement<A, B extends A> = A extends B ? never : A;
40
+ export type Diff<T extends U, U extends object> = Pick<
41
+ T,
42
+ SetComplement<keyof T, keyof U>
43
+ >;
44
+ // /flow-to-ts helpers
45
+
46
+ export type AtlaspackPluginNode = {
47
+ packageName: PackageName;
48
+ resolveFrom: ProjectPath;
49
+ keyPath?: string;
50
+ };
51
+ export type ParcelPluginNode = AtlaspackPluginNode;
52
+
53
+ export type PureAtlaspackConfigPipeline = ReadonlyArray<AtlaspackPluginNode>;
54
+ export type ExtendableAtlaspackConfigPipeline = ReadonlyArray<
55
+ AtlaspackPluginNode | '...'
56
+ >;
57
+
58
+ export type ProcessedAtlaspackConfig = {
59
+ resolvers?: PureAtlaspackConfigPipeline;
60
+ transformers?: Partial<Record<Glob, ExtendableAtlaspackConfigPipeline>>;
61
+ bundler: ParcelPluginNode | null | undefined;
62
+ namers?: PureAtlaspackConfigPipeline;
63
+ runtimes?: PureAtlaspackConfigPipeline;
64
+ packagers?: Partial<Record<Glob, ParcelPluginNode>>;
65
+ optimizers?: Partial<Record<Glob, ExtendableAtlaspackConfigPipeline>>;
66
+ compressors?: Partial<Record<Glob, ExtendableAtlaspackConfigPipeline>>;
67
+ reporters?: PureAtlaspackConfigPipeline;
68
+ validators?: Partial<Record<Glob, ExtendableAtlaspackConfigPipeline>>;
69
+ filePath: ProjectPath;
70
+ resolveFrom?: ProjectPath;
71
+ };
72
+
73
+ export type Environment = {
74
+ id: string;
75
+ context: EnvironmentContext;
76
+ engines: Engines;
77
+ includeNodeModules:
78
+ | boolean
79
+ | Array<PackageName>
80
+ | Partial<Record<PackageName, boolean>>;
81
+ outputFormat: OutputFormat;
82
+ sourceType: SourceType;
83
+ isLibrary: boolean;
84
+ shouldOptimize: boolean;
85
+ shouldScopeHoist: boolean;
86
+ sourceMap: TargetSourceMapOptions | null | undefined;
87
+ loc: InternalSourceLocation | null | undefined;
88
+ unstableSingleFileOutput: boolean;
89
+ customEnv: EnvMap | null | undefined;
90
+ };
91
+
92
+ export type InternalSourceLocation = {
93
+ readonly filePath: ProjectPath;
94
+ /** inclusive */
95
+ readonly start: {
96
+ readonly line: number;
97
+ readonly column: number;
98
+ };
99
+ /** exclusive */
100
+ readonly end: {
101
+ readonly line: number;
102
+ readonly column: number;
103
+ };
104
+ };
105
+
106
+ export type Target = {
107
+ distEntry?: FilePath | null | undefined;
108
+ distDir: ProjectPath;
109
+ env: EnvironmentRef;
110
+ name: string;
111
+ publicUrl: string;
112
+ loc?: InternalSourceLocation | null | undefined;
113
+ pipeline?: string;
114
+ source?: FilePath | Array<FilePath>;
115
+ inlineRequires?: boolean;
116
+ };
117
+
118
+ export const SpecifierType = {
119
+ esm: 0,
120
+ commonjs: 1,
121
+ url: 2,
122
+ custom: 3,
123
+ } as const;
124
+
125
+ export const Priority = {
126
+ sync: 0,
127
+ parallel: 1,
128
+ lazy: 2,
129
+ conditional: 3,
130
+ } as const;
131
+
132
+ // Must match package_json.rs in node-resolver-rs.
133
+ export const ExportsCondition = {
134
+ import: 1 << 0,
135
+ require: 1 << 1,
136
+ module: 1 << 2,
137
+ style: 1 << 12,
138
+ sass: 1 << 13,
139
+ less: 1 << 14,
140
+ } as const;
141
+
142
+ export type Dependency = {
143
+ id: string;
144
+ specifier: DependencySpecifier;
145
+ specifierType: (typeof SpecifierType)[keyof typeof SpecifierType];
146
+ priority: (typeof Priority)[keyof typeof Priority];
147
+ needsStableName: boolean;
148
+ bundleBehavior:
149
+ | (typeof BundleBehavior)[keyof typeof BundleBehavior]
150
+ | null
151
+ | undefined;
152
+ isEntry: boolean;
153
+ isOptional: boolean;
154
+ loc: InternalSourceLocation | null | undefined;
155
+ env: EnvironmentRef;
156
+ packageConditions?: number;
157
+ customPackageConditions?: Array<string>;
158
+ meta: Meta;
159
+ resolverMeta?: Meta | null | undefined;
160
+ resolverPriority?: (typeof Priority)[keyof typeof Priority];
161
+ target: Target | null | undefined;
162
+ sourceAssetId: string | null | undefined;
163
+ sourcePath: ProjectPath | null | undefined;
164
+ sourceAssetType?: string | null | undefined;
165
+ resolveFrom: ProjectPath | null | undefined;
166
+ range: SemverRange | null | undefined;
167
+ symbols:
168
+ | Map<
169
+ Symbol,
170
+ {
171
+ local: Symbol;
172
+ loc: InternalSourceLocation | null | undefined;
173
+ isWeak: boolean;
174
+ meta?: Meta | null | undefined;
175
+ }
176
+ >
177
+ | null
178
+ | undefined;
179
+ pipeline?: string | null | undefined;
180
+ };
181
+
182
+ export const BundleBehavior = {
183
+ inline: 0,
184
+ isolated: 1,
185
+ inlineIsolated: 2,
186
+ } as const;
187
+
188
+ // @ts-expect-error TS2322
189
+ export const BundleBehaviorNames: Array<keyof typeof BundleBehavior> =
190
+ Object.keys(BundleBehavior);
191
+
192
+ export type Asset = {
193
+ id: ContentKey;
194
+ committed: boolean;
195
+ filePath: ProjectPath;
196
+ query: string | null | undefined;
197
+ type: string;
198
+ dependencies: Map<string, Dependency>;
199
+ bundleBehavior:
200
+ | (typeof BundleBehavior)[keyof typeof BundleBehavior]
201
+ | null
202
+ | undefined;
203
+ isBundleSplittable: boolean;
204
+ isSource: boolean;
205
+ env: EnvironmentRef;
206
+ meta: Meta;
207
+ stats: Stats;
208
+ contentKey: string | null | undefined;
209
+ mapKey: string | null | undefined;
210
+ outputHash: string | null | undefined;
211
+ pipeline: string | null | undefined;
212
+ astKey: string | null | undefined;
213
+ astGenerator: ASTGenerator | null | undefined;
214
+ symbols:
215
+ | Map<
216
+ Symbol,
217
+ {
218
+ local: Symbol;
219
+ loc: InternalSourceLocation | null | undefined;
220
+ meta?: Meta | null | undefined;
221
+ }
222
+ >
223
+ | null
224
+ | undefined;
225
+ sideEffects: boolean;
226
+ uniqueKey: string | null | undefined;
227
+ configPath?: ProjectPath;
228
+ plugin: PackageName | null | undefined;
229
+ configKeyPath?: string;
230
+ isLargeBlob?: boolean;
231
+ };
232
+
233
+ export type InternalGlob = ProjectPath;
234
+
235
+ export type InternalFile = {
236
+ readonly filePath: ProjectPath;
237
+ readonly hash?: string;
238
+ };
239
+
240
+ export type FileInvalidation = {
241
+ type: 'file';
242
+ filePath: ProjectPath;
243
+ };
244
+
245
+ export type EnvInvalidation = {
246
+ type: 'env';
247
+ key: string;
248
+ };
249
+
250
+ export type OptionInvalidation = {
251
+ type: 'option';
252
+ key: string;
253
+ };
254
+
255
+ export type RequestInvalidation =
256
+ | FileInvalidation
257
+ | EnvInvalidation
258
+ | OptionInvalidation;
259
+
260
+ export type InternalFileInvalidation = {
261
+ filePath: ProjectPath;
262
+ };
263
+
264
+ export type InternalGlobInvalidation = {
265
+ glob: InternalGlob;
266
+ };
267
+
268
+ export type InternalFileAboveInvalidation = {
269
+ fileName: string;
270
+ aboveFilePath: ProjectPath;
271
+ };
272
+
273
+ export type InternalFileCreateInvalidation =
274
+ | InternalFileInvalidation
275
+ | InternalGlobInvalidation
276
+ | InternalFileAboveInvalidation;
277
+
278
+ export type Invalidations = {
279
+ invalidateOnFileChange: Set<ProjectPath>;
280
+ invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
281
+ invalidateOnEnvChange: Set<string>;
282
+ invalidateOnOptionChange: Set<string>;
283
+ invalidateOnStartup: boolean;
284
+ invalidateOnBuild: boolean;
285
+ };
286
+
287
+ export type DevDepRequestRef = {
288
+ type: 'ref';
289
+ specifier: DependencySpecifier;
290
+ resolveFrom: ProjectPath;
291
+ hash: string;
292
+ };
293
+
294
+ export type DevDepRequest = {
295
+ specifier: DependencySpecifier;
296
+ resolveFrom: ProjectPath;
297
+ hash: string;
298
+ invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
299
+ invalidateOnFileChange: Set<ProjectPath>;
300
+ invalidateOnStartup: boolean;
301
+ additionalInvalidations?: Array<{
302
+ specifier: DependencySpecifier;
303
+ resolveFrom: ProjectPath;
304
+ range?: SemverRange | null | undefined;
305
+ }>;
306
+ };
307
+
308
+ declare type GlobPattern = string;
309
+
310
+ export type AtlaspackOptions = {
311
+ entries: Array<ProjectPath>;
312
+ config?: DependencySpecifier;
313
+ defaultConfig?: DependencySpecifier;
314
+ env: EnvMap;
315
+ parcelVersion: string;
316
+ targets:
317
+ | Array<string>
318
+ | {
319
+ readonly [key: string]: TargetDescriptor;
320
+ }
321
+ | null
322
+ | undefined;
323
+ shouldDisableCache: boolean;
324
+ cacheDir: FilePath;
325
+ watchDir: FilePath;
326
+ watchIgnore?: Array<FilePath | GlobPattern>;
327
+ watchBackend?: BackendType;
328
+ mode: BuildMode;
329
+ hmrOptions: HMROptions | null | undefined;
330
+ shouldContentHash: boolean;
331
+ serveOptions: ServerOptions | false;
332
+ shouldBuildLazily: boolean;
333
+ lazyIncludes: RegExp[];
334
+ lazyExcludes: RegExp[];
335
+ shouldBundleIncrementally: boolean;
336
+ shouldAutoInstall: boolean;
337
+ logLevel: LogLevel;
338
+ projectRoot: FilePath;
339
+ shouldProfile: boolean;
340
+ nativeProfiler: 'instruments' | 'samply' | undefined;
341
+ shouldTrace: boolean;
342
+ shouldPatchConsole: boolean;
343
+ detailedReport?: DetailedReportOptions | null | undefined;
344
+ unstableFileInvalidations?: Array<Event>;
345
+ inputFS: FileSystem;
346
+ outputFS: FileSystem;
347
+ cache: Cache;
348
+ packageManager: PackageManager;
349
+ additionalReporters: Array<{
350
+ packageName: DependencySpecifier;
351
+ resolveFrom: ProjectPath;
352
+ }>;
353
+ instanceId: string;
354
+ readonly defaultTargetOptions: {
355
+ readonly shouldOptimize: boolean;
356
+ readonly shouldScopeHoist?: boolean;
357
+ readonly sourceMaps: boolean;
358
+ readonly publicUrl: string;
359
+ readonly distDir?: ProjectPath;
360
+ readonly engines?: Engines;
361
+ readonly outputFormat?: OutputFormat;
362
+ readonly isLibrary?: boolean;
363
+ };
364
+ readonly featureFlags: FeatureFlags;
365
+ };
366
+ export type ParcelOptions = AtlaspackOptions;
367
+
368
+ export type AssetNode = {
369
+ id: ContentKey;
370
+ readonly type: 'asset';
371
+ value: Asset;
372
+ usedSymbols: Set<Symbol>;
373
+ hasDeferred?: boolean;
374
+ usedSymbolsDownDirty: boolean;
375
+ usedSymbolsUpDirty: boolean;
376
+ requested?: boolean;
377
+ };
378
+
379
+ export type DependencyNode = {
380
+ id: ContentKey;
381
+ type: 'dependency';
382
+ value: Dependency;
383
+ complete?: boolean;
384
+ correspondingRequest?: string;
385
+ deferred: boolean;
386
+ /** dependency was deferred (= no used symbols (in immediate parents) & side-effect free) */
387
+ hasDeferred?: boolean;
388
+ usedSymbolsDown: Set<Symbol>;
389
+ /**
390
+ * a requested symbol -> either
391
+ * - if ambiguous (e.g. dependency to asset group with both CSS modules and JS asset): undefined
392
+ * - if external: null
393
+ * - the asset it resolved to, and the potentially renamed export name
394
+ */
395
+ usedSymbolsUp: Map<
396
+ Symbol,
397
+ | {
398
+ asset: ContentKey;
399
+ symbol: Symbol | null | undefined;
400
+ }
401
+ | undefined
402
+ | null
403
+ >;
404
+ /*
405
+ * For the "down" pass, the resolutionAsset needs to be updated.
406
+ * This is set when the AssetGraphBuilder adds/removes/updates nodes.
407
+ */
408
+ usedSymbolsDownDirty: boolean;
409
+ /**
410
+ * In the down pass, `usedSymbolsDown` changed. This needs to be propagated to the resolutionAsset
411
+ * in the up pass.
412
+ */
413
+ usedSymbolsUpDirtyDown: boolean;
414
+ /**
415
+ * In the up pass, `usedSymbolsUp` changed. This needs to be propagated to the sourceAsset in the
416
+ * up pass.
417
+ */
418
+ usedSymbolsUpDirtyUp: boolean;
419
+ /** dependency was excluded (= no used symbols (globally) & side-effect free) */
420
+ excluded: boolean;
421
+ };
422
+
423
+ export type RootNode = {
424
+ id: ContentKey;
425
+ readonly type: 'root';
426
+ value: string | null;
427
+ };
428
+
429
+ export type AssetRequestInput = {
430
+ name?: string; // AssetGraph name, needed so that different graphs can isolated requests since the results are not stored;
431
+ filePath: ProjectPath;
432
+ env: EnvironmentRef;
433
+ isSource?: boolean;
434
+ canDefer?: boolean;
435
+ sideEffects?: boolean;
436
+ runtimeAssetRequiringExecutionOnLoad?: boolean;
437
+ code?: string;
438
+ pipeline?: string | null | undefined;
439
+ optionsRef: SharedReference;
440
+ isURL?: boolean;
441
+ query?: string | null | undefined;
442
+ isSingleChangeRebuild?: boolean;
443
+ symbolData?: SymbolData;
444
+ };
445
+
446
+ export type AssetRequestResult = Array<Asset>;
447
+
448
+ // Asset group nodes are essentially used as placeholders for the results of an asset request
449
+ export type AssetGroup = Partial<
450
+ Diff<
451
+ AssetRequestInput,
452
+ {
453
+ optionsRef: SharedReference;
454
+ }
455
+ >
456
+ >;
457
+ export type AssetGroupNode = {
458
+ id: ContentKey;
459
+ readonly type: 'asset_group';
460
+ value: AssetGroup;
461
+ correspondingRequest?: string;
462
+ /** this node was deferred (= no used symbols (in immediate parents) & side-effect free) */
463
+ deferred?: boolean;
464
+ hasDeferred?: boolean;
465
+ usedSymbolsDownDirty: boolean;
466
+ };
467
+
468
+ export type TransformationRequest = AssetGroup & {
469
+ invalidateReason: number;
470
+ devDeps: Map<PackageName, string>;
471
+ invalidDevDeps: Array<{
472
+ specifier: DependencySpecifier;
473
+ resolveFrom: ProjectPath;
474
+ }>;
475
+ };
476
+
477
+ export type DepPathRequestNode = {
478
+ id: ContentKey;
479
+ readonly type: 'dep_path_request';
480
+ value: Dependency;
481
+ };
482
+
483
+ export type AssetRequestNode = {
484
+ id: ContentKey;
485
+ readonly type: 'asset_request';
486
+ value: AssetRequestInput;
487
+ };
488
+
489
+ export type EntrySpecifierNode = {
490
+ id: ContentKey;
491
+ readonly type: 'entry_specifier';
492
+ value: ProjectPath;
493
+ correspondingRequest?: string;
494
+ };
495
+
496
+ export type Entry = {
497
+ filePath: ProjectPath;
498
+ packagePath: ProjectPath;
499
+ target?: string;
500
+ loc?: InternalSourceLocation | null | undefined;
501
+ };
502
+
503
+ export type EntryFileNode = {
504
+ id: ContentKey;
505
+ readonly type: 'entry_file';
506
+ value: Entry;
507
+ correspondingRequest?: string;
508
+ };
509
+
510
+ export type AssetGraphNode =
511
+ | AssetGroupNode
512
+ | AssetNode
513
+ | DependencyNode
514
+ | EntrySpecifierNode
515
+ | EntryFileNode
516
+ | RootNode;
517
+
518
+ export type BundleGraphNode =
519
+ | AssetNode
520
+ | DependencyNode
521
+ | EntrySpecifierNode
522
+ | EntryFileNode
523
+ | RootNode
524
+ | BundleGroupNode
525
+ | BundleNode;
526
+
527
+ export type InternalDevDepOptions = {
528
+ specifier: DependencySpecifier;
529
+ resolveFrom: ProjectPath;
530
+ range?: SemverRange | null | undefined;
531
+ additionalInvalidations?: Array<{
532
+ specifier: DependencySpecifier;
533
+ resolveFrom: ProjectPath;
534
+ range?: SemverRange | null | undefined;
535
+ }>;
536
+ };
537
+
538
+ export type Config = {
539
+ id: string;
540
+ isSource: boolean;
541
+ searchPath: ProjectPath;
542
+ env: EnvironmentRef;
543
+ cacheKey: string | null | undefined;
544
+ result: ConfigResult;
545
+ invalidateOnFileChange: Set<ProjectPath>;
546
+ invalidateOnConfigKeyChange: Array<{
547
+ filePath: ProjectPath;
548
+ configKey: string[];
549
+ }>;
550
+ invalidateOnFileCreate: Array<InternalFileCreateInvalidation>;
551
+ invalidateOnEnvChange: Set<string>;
552
+ invalidateOnOptionChange: Set<string>;
553
+ devDeps: Array<InternalDevDepOptions>;
554
+ invalidateOnStartup: boolean;
555
+ invalidateOnBuild: boolean;
556
+ };
557
+
558
+ export type EntryRequest = {
559
+ specifier: DependencySpecifier;
560
+ result?: ProjectPath;
561
+ };
562
+
563
+ export type EntryRequestNode = {
564
+ id: ContentKey;
565
+ readonly type: 'entry_request';
566
+ value: string;
567
+ };
568
+
569
+ export type TargetRequestNode = {
570
+ id: ContentKey;
571
+ readonly type: 'target_request';
572
+ value: ProjectPath;
573
+ };
574
+
575
+ export type CacheEntry = {
576
+ filePath: ProjectPath;
577
+ env: Environment;
578
+ hash: string;
579
+ assets: Array<Asset>;
580
+ // Initial assets, pre-post processing
581
+ initialAssets: Array<Asset> | null | undefined;
582
+ };
583
+
584
+ export type Bundle = {
585
+ id: ContentKey;
586
+ publicId: string | null | undefined;
587
+ hashReference: string;
588
+ type: string;
589
+ env: EnvironmentRef;
590
+ entryAssetIds: Array<ContentKey>;
591
+ mainEntryId: ContentKey | null | undefined;
592
+ needsStableName: boolean | null | undefined;
593
+ bundleBehavior:
594
+ | (typeof BundleBehavior)[keyof typeof BundleBehavior]
595
+ | null
596
+ | undefined;
597
+ isSplittable: boolean | null | undefined;
598
+ isPlaceholder?: boolean;
599
+ target: Target;
600
+ name: string | null | undefined;
601
+ displayName: string | null | undefined;
602
+ pipeline: string | null | undefined;
603
+ manualSharedBundle?: string | null | undefined;
604
+ conditions?: Map<string, string>;
605
+ };
606
+
607
+ export type BundleNode = {
608
+ id: ContentKey;
609
+ readonly type: 'bundle';
610
+ value: Bundle;
611
+ };
612
+
613
+ export type BundleGroup = {
614
+ target: Target;
615
+ entryAssetId: string;
616
+ };
617
+
618
+ export type BundleGroupNode = {
619
+ id: ContentKey;
620
+ readonly type: 'bundle_group';
621
+ value: BundleGroup;
622
+ };
623
+
624
+ export type PackagedBundleInfo = {
625
+ filePath: ProjectPath;
626
+ bundleId: ContentKey;
627
+ type: string;
628
+ stats: Stats;
629
+ };
630
+
631
+ export type TransformationOpts = {
632
+ request: AssetGroup;
633
+ optionsRef: SharedReference;
634
+ configCachePath: string;
635
+ };
636
+
637
+ export type ValidationOpts = {
638
+ requests: AssetGroup[];
639
+ optionsRef: SharedReference;
640
+ configCachePath: string;
641
+ };
642
+
643
+ export type ReportFn = (event: ReporterEvent) => undefined | Promise<undefined>;
644
+
645
+ export type Condition = {
646
+ publicId: string;
647
+ assets: Set<Asset>;
648
+ key: string;
649
+ ifTrueDependency: Dependency;
650
+ ifFalseDependency: Dependency;
651
+ };