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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +1452 -0
  2. package/dist/AssetGraph.js +523 -0
  3. package/dist/Atlaspack.js +701 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1906 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +470 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1297 -0
  16. package/dist/SymbolPropagation.js +624 -0
  17. package/dist/TargetDescriptor.schema.js +146 -0
  18. package/dist/Transformation.js +514 -0
  19. package/dist/UncommittedAsset.js +310 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +384 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +83 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +114 -0
  25. package/dist/atlaspack-v3/fs.js +53 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +98 -0
  30. package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
  31. package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
  32. package/dist/atlaspack-v3/worker/compat/index.js +24 -0
  33. package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
  34. package/dist/atlaspack-v3/worker/compat/plugin-config.js +64 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  37. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  38. package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
  39. package/dist/atlaspack-v3/worker/worker.js +398 -0
  40. package/dist/constants.js +17 -0
  41. package/dist/dumpGraphToGraphViz.js +281 -0
  42. package/dist/index.js +62 -0
  43. package/dist/loadAtlaspackPlugin.js +128 -0
  44. package/dist/loadDotEnv.js +41 -0
  45. package/dist/projectPath.js +83 -0
  46. package/dist/public/Asset.js +279 -0
  47. package/dist/public/Bundle.js +224 -0
  48. package/dist/public/BundleGraph.js +371 -0
  49. package/dist/public/BundleGroup.js +53 -0
  50. package/dist/public/Config.js +286 -0
  51. package/dist/public/Dependency.js +138 -0
  52. package/dist/public/Environment.js +278 -0
  53. package/dist/public/MutableBundleGraph.js +277 -0
  54. package/dist/public/PluginOptions.js +80 -0
  55. package/dist/public/Symbols.js +248 -0
  56. package/dist/public/Target.js +69 -0
  57. package/dist/registerCoreWithSerializer.js +38 -0
  58. package/dist/requests/AssetGraphRequest.js +430 -0
  59. package/dist/requests/AssetGraphRequestRust.js +471 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +98 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  63. package/dist/requests/BundleGraphRequest.js +381 -0
  64. package/dist/requests/BundleGraphRequestRust.js +324 -0
  65. package/dist/requests/BundleGraphRequestUtils.js +262 -0
  66. package/dist/requests/ConfigRequest.js +246 -0
  67. package/dist/requests/DevDepRequest.js +204 -0
  68. package/dist/requests/EntryRequest.js +314 -0
  69. package/dist/requests/PackageRequest.js +89 -0
  70. package/dist/requests/PathRequest.js +349 -0
  71. package/dist/requests/TargetRequest.js +1316 -0
  72. package/dist/requests/ValidationRequest.js +49 -0
  73. package/dist/requests/WriteBundleRequest.js +522 -0
  74. package/dist/requests/WriteBundlesRequest.js +190 -0
  75. package/dist/requests/asset-graph-diff.js +128 -0
  76. package/dist/requests/asset-graph-dot.js +131 -0
  77. package/dist/resolveOptions.js +267 -0
  78. package/dist/rustWorkerThreadDylibHack.js +19 -0
  79. package/dist/serializerCore.browser.js +43 -0
  80. package/dist/summarizeRequest.js +39 -0
  81. package/dist/types.js +31 -0
  82. package/dist/utils.js +172 -0
  83. package/dist/worker.js +123 -0
  84. package/lib/AssetGraph.js +53 -15
  85. package/lib/Atlaspack.js +160 -57
  86. package/lib/AtlaspackConfig.js +17 -6
  87. package/lib/AtlaspackConfig.schema.js +16 -5
  88. package/lib/BundleGraph.js +390 -43
  89. package/lib/CommittedAsset.js +8 -2
  90. package/lib/Dependency.js +9 -3
  91. package/lib/Environment.js +16 -10
  92. package/lib/EnvironmentManager.js +143 -0
  93. package/lib/IdentifierRegistry.js +2 -4
  94. package/lib/InternalConfig.js +3 -2
  95. package/lib/PackagerRunner.js +38 -40
  96. package/lib/ReporterRunner.js +8 -12
  97. package/lib/RequestTracker.js +336 -168
  98. package/lib/SymbolPropagation.js +52 -29
  99. package/lib/TargetDescriptor.schema.js +10 -1
  100. package/lib/Transformation.js +68 -19
  101. package/lib/UncommittedAsset.js +23 -13
  102. package/lib/Validation.js +20 -5
  103. package/lib/applyRuntimes.js +98 -7
  104. package/lib/assetUtils.js +16 -6
  105. package/lib/atlaspack-v3/AtlaspackV3.js +58 -15
  106. package/lib/atlaspack-v3/NapiWorkerPool.js +63 -2
  107. package/lib/atlaspack-v3/fs.js +4 -1
  108. package/lib/atlaspack-v3/index.js +28 -1
  109. package/lib/atlaspack-v3/jsCallable.js +0 -2
  110. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  111. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  112. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  113. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  114. package/lib/atlaspack-v3/worker/compat/index.js +0 -11
  115. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +16 -11
  116. package/lib/atlaspack-v3/worker/compat/plugin-config.js +14 -35
  117. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -2
  118. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  119. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  120. package/lib/atlaspack-v3/worker/index.js +3 -0
  121. package/lib/atlaspack-v3/worker/side-effect-detector.js +214 -0
  122. package/lib/atlaspack-v3/worker/worker.js +239 -79
  123. package/lib/constants.js +0 -1
  124. package/lib/dumpGraphToGraphViz.js +72 -17
  125. package/lib/index.js +46 -3
  126. package/lib/loadAtlaspackPlugin.js +2 -3
  127. package/lib/loadDotEnv.js +5 -2
  128. package/lib/projectPath.js +6 -1
  129. package/lib/public/Asset.js +22 -12
  130. package/lib/public/Bundle.js +16 -18
  131. package/lib/public/BundleGraph.js +25 -7
  132. package/lib/public/BundleGroup.js +5 -6
  133. package/lib/public/Config.js +118 -18
  134. package/lib/public/Dependency.js +9 -7
  135. package/lib/public/Environment.js +13 -8
  136. package/lib/public/MutableBundleGraph.js +56 -15
  137. package/lib/public/PluginOptions.js +2 -2
  138. package/lib/public/Symbols.js +12 -12
  139. package/lib/public/Target.js +8 -7
  140. package/lib/registerCoreWithSerializer.js +7 -4
  141. package/lib/requests/AssetGraphRequest.js +60 -27
  142. package/lib/requests/AssetGraphRequestRust.js +314 -82
  143. package/lib/requests/AssetRequest.js +24 -7
  144. package/lib/requests/AtlaspackBuildRequest.js +53 -7
  145. package/lib/requests/AtlaspackConfigRequest.js +29 -19
  146. package/lib/requests/BundleGraphRequest.js +67 -124
  147. package/lib/requests/BundleGraphRequestRust.js +381 -0
  148. package/lib/requests/BundleGraphRequestUtils.js +280 -0
  149. package/lib/requests/ConfigRequest.js +55 -7
  150. package/lib/requests/DevDepRequest.js +32 -6
  151. package/lib/requests/EntryRequest.js +4 -3
  152. package/lib/requests/PackageRequest.js +56 -12
  153. package/lib/requests/PathRequest.js +26 -6
  154. package/lib/requests/TargetRequest.js +129 -60
  155. package/lib/requests/ValidationRequest.js +6 -2
  156. package/lib/requests/WriteBundleRequest.js +336 -18
  157. package/lib/requests/WriteBundlesRequest.js +64 -10
  158. package/lib/requests/asset-graph-diff.js +13 -8
  159. package/lib/requests/asset-graph-dot.js +2 -8
  160. package/lib/resolveOptions.js +35 -10
  161. package/lib/rustWorkerThreadDylibHack.js +0 -1
  162. package/lib/serializerCore.browser.js +1 -2
  163. package/lib/summarizeRequest.js +1 -1
  164. package/lib/types/AssetGraph.d.ts +55 -0
  165. package/lib/types/Atlaspack.d.ts +52 -0
  166. package/lib/types/AtlaspackConfig.d.ts +65 -0
  167. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  168. package/lib/types/BundleGraph.d.ts +232 -0
  169. package/lib/types/CommittedAsset.d.ts +23 -0
  170. package/lib/types/Dependency.d.ts +44 -0
  171. package/lib/types/Environment.d.ts +11 -0
  172. package/lib/types/EnvironmentManager.d.ts +37 -0
  173. package/lib/types/IdentifierRegistry.d.ts +6 -0
  174. package/lib/types/InternalConfig.d.ts +23 -0
  175. package/lib/types/PackagerRunner.d.ts +85 -0
  176. package/lib/types/ReporterRunner.d.ts +25 -0
  177. package/lib/types/RequestTracker.d.ts +385 -0
  178. package/lib/types/SymbolPropagation.d.ts +11 -0
  179. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  180. package/lib/types/Transformation.d.ts +72 -0
  181. package/lib/types/UncommittedAsset.d.ts +61 -0
  182. package/lib/types/Validation.d.ts +37 -0
  183. package/lib/types/applyRuntimes.d.ts +25 -0
  184. package/lib/types/assetUtils.d.ts +42 -0
  185. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +35 -0
  186. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  187. package/lib/types/atlaspack-v3/fs.d.ts +13 -0
  188. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  189. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  190. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  191. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  192. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  193. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  194. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -2
  195. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  196. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  197. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  198. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  199. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  200. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  201. package/lib/types/atlaspack-v3/worker/worker.d.ts +81 -0
  202. package/lib/types/constants.d.ts +13 -0
  203. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  204. package/lib/types/index.d.ts +8 -0
  205. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  206. package/lib/types/loadDotEnv.d.ts +3 -0
  207. package/lib/types/projectPath.d.ts +19 -0
  208. package/lib/types/public/Asset.d.ts +74 -0
  209. package/lib/types/public/Bundle.d.ts +45 -0
  210. package/lib/types/public/BundleGraph.d.ts +72 -0
  211. package/lib/types/public/BundleGroup.d.ts +12 -0
  212. package/lib/types/public/Config.d.ts +75 -0
  213. package/lib/types/public/Dependency.d.ts +32 -0
  214. package/lib/types/public/Environment.d.ts +34 -0
  215. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  216. package/lib/types/public/PluginOptions.d.ts +25 -0
  217. package/lib/types/public/Symbols.d.ts +81 -0
  218. package/lib/types/public/Target.d.ts +16 -0
  219. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  220. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  221. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  222. package/lib/types/requests/AssetRequest.d.ts +16 -0
  223. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  224. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  225. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  226. package/lib/types/requests/BundleGraphRequestRust.d.ts +34 -0
  227. package/lib/types/requests/BundleGraphRequestUtils.d.ts +38 -0
  228. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  229. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  230. package/lib/types/requests/EntryRequest.d.ts +36 -0
  231. package/lib/types/requests/PackageRequest.d.ts +27 -0
  232. package/lib/types/requests/PathRequest.d.ts +48 -0
  233. package/lib/types/requests/TargetRequest.d.ts +48 -0
  234. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  235. package/lib/types/requests/WriteBundleRequest.d.ts +80 -0
  236. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  237. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  238. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  239. package/lib/types/resolveOptions.d.ts +3 -0
  240. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  241. package/lib/types/serializerCore.browser.d.ts +3 -0
  242. package/lib/types/summarizeRequest.d.ts +10 -0
  243. package/lib/types/types.d.ts +496 -0
  244. package/lib/types/utils.d.ts +23 -0
  245. package/lib/types/worker.d.ts +44 -0
  246. package/lib/types.js +8 -1
  247. package/lib/utils.js +18 -3
  248. package/lib/worker.js +32 -15
  249. package/package.json +27 -33
  250. package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
  251. package/src/{Atlaspack.js → Atlaspack.ts} +203 -73
  252. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  253. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  254. package/src/{BundleGraph.js → BundleGraph.ts} +575 -145
  255. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  256. package/src/{Dependency.js → Dependency.ts} +59 -42
  257. package/src/{Environment.js → Environment.ts} +24 -15
  258. package/src/EnvironmentManager.ts +154 -0
  259. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  260. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  261. package/src/{PackagerRunner.js → PackagerRunner.ts} +109 -103
  262. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  263. package/src/{RequestTracker.js → RequestTracker.ts} +672 -347
  264. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +178 -61
  265. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +10 -1
  266. package/src/{Transformation.js → Transformation.ts} +110 -65
  267. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +50 -39
  268. package/src/{Validation.js → Validation.ts} +32 -17
  269. package/src/{applyRuntimes.js → applyRuntimes.ts} +135 -26
  270. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  271. package/src/atlaspack-v3/AtlaspackV3.ts +183 -0
  272. package/src/atlaspack-v3/NapiWorkerPool.ts +129 -0
  273. package/src/atlaspack-v3/{fs.js → fs.ts} +8 -4
  274. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  275. package/src/atlaspack-v3/jsCallable.ts +14 -0
  276. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  277. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  278. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  279. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  280. package/src/atlaspack-v3/worker/compat/index.ts +8 -0
  281. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  282. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  283. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  284. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  285. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  286. package/src/atlaspack-v3/worker/index.js +2 -1
  287. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  288. package/src/atlaspack-v3/worker/worker.ts +548 -0
  289. package/src/{constants.js → constants.ts} +0 -3
  290. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  291. package/src/index.ts +18 -0
  292. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  293. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  294. package/src/{projectPath.js → projectPath.ts} +20 -9
  295. package/src/public/{Asset.js → Asset.ts} +41 -28
  296. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  297. package/src/public/{BundleGraph.js → BundleGraph.ts} +102 -50
  298. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  299. package/src/public/{Config.js → Config.ts} +171 -33
  300. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  301. package/src/public/{Environment.js → Environment.ts} +28 -17
  302. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  303. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  304. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  305. package/src/public/{Target.js → Target.ts} +10 -8
  306. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  307. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +114 -77
  308. package/src/requests/AssetGraphRequestRust.ts +557 -0
  309. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  310. package/src/requests/AtlaspackBuildRequest.ts +168 -0
  311. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  312. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +117 -187
  313. package/src/requests/BundleGraphRequestRust.ts +470 -0
  314. package/src/requests/BundleGraphRequestUtils.ts +323 -0
  315. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  316. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  317. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  318. package/src/requests/{PackageRequest.js → PackageRequest.ts} +52 -25
  319. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  320. package/src/requests/{TargetRequest.js → TargetRequest.ts} +265 -179
  321. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  322. package/src/requests/WriteBundleRequest.ts +734 -0
  323. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +134 -50
  324. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  325. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  326. package/src/{resolveOptions.js → resolveOptions.ts} +55 -23
  327. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  328. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  329. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  330. package/src/types.ts +651 -0
  331. package/src/{utils.js → utils.ts} +52 -21
  332. package/src/{worker.js → worker.ts} +50 -42
  333. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +5 -8
  334. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  335. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  336. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  337. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  338. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  339. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  340. package/test/Environment.test.ts +153 -0
  341. package/test/EnvironmentManager.test.ts +188 -0
  342. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  343. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  344. package/test/PackagerRunner.test.ts +0 -0
  345. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  346. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  347. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  348. package/test/PublicEnvironment.test.ts +49 -0
  349. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  350. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +149 -59
  351. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  352. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +91 -92
  353. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  354. package/test/fixtures/custom-targets/package.json +6 -0
  355. package/test/public/Config.test.ts +104 -0
  356. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  357. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  358. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  359. package/test/requests/WriteBundleRequest.test.ts +602 -0
  360. package/test/{test-utils.js → test-utils.ts} +4 -11
  361. package/test/{utils.test.js → utils.test.ts} +1 -3
  362. package/tsconfig.json +60 -0
  363. package/tsconfig.tsbuildinfo +1 -0
  364. package/index.d.ts +0 -30
  365. package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
  366. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  367. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  368. package/src/atlaspack-v3/jsCallable.js +0 -18
  369. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  370. package/src/atlaspack-v3/worker/compat/plugin-logger.js +0 -47
  371. package/src/atlaspack-v3/worker/worker.js +0 -362
  372. package/src/index.js +0 -13
  373. package/src/requests/AssetGraphRequestRust.js +0 -263
  374. package/src/requests/AtlaspackBuildRequest.js +0 -111
  375. package/src/requests/WriteBundleRequest.js +0 -362
  376. package/src/types.js +0 -600
  377. package/test/Environment.test.js +0 -119
  378. package/test/PackagerRunner.test.js +0 -27
  379. package/test/PublicEnvironment.test.js +0 -27
  380. package/test/requests/AssetGraphRequestRust.test.js +0 -411
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {NodeId} from '@atlaspack/graph';
4
2
  import type {Async} from '@atlaspack/types';
5
3
  import type {SharedReference} from '@atlaspack/workers';
@@ -30,44 +28,47 @@ import createEntryRequest from './EntryRequest';
30
28
  import createTargetRequest from './TargetRequest';
31
29
  import createAssetRequest from './AssetRequest';
32
30
  import createPathRequest from './PathRequest';
33
- import {type ProjectPath, fromProjectPathRelative} from '../projectPath';
31
+ import {ProjectPath, fromProjectPathRelative} from '../projectPath';
34
32
  import dumpGraphToGraphViz from '../dumpGraphToGraphViz';
35
33
  import {propagateSymbols} from '../SymbolPropagation';
36
34
  import {requestTypes} from '../RequestTracker';
37
35
 
38
- export type AssetGraphRequestInput = {|
39
- entries?: Array<ProjectPath>,
40
- assetGroups?: Array<AssetGroup>,
41
- optionsRef: SharedReference,
42
- name: string,
43
- shouldBuildLazily?: boolean,
44
- lazyIncludes?: RegExp[],
45
- lazyExcludes?: RegExp[],
46
- requestedAssetIds?: Set<string>,
47
- |};
48
-
49
- export type AssetGraphRequestResult = {|
50
- assetGraph: AssetGraph,
36
+ export type AssetGraphRequestInput = {
37
+ entries?: Array<ProjectPath>;
38
+ assetGroups?: Array<AssetGroup>;
39
+ optionsRef: SharedReference;
40
+ name: string;
41
+ shouldBuildLazily?: boolean;
42
+ lazyIncludes?: RegExp[];
43
+ lazyExcludes?: RegExp[];
44
+ requestedAssetIds?: Set<string>;
45
+ skipSymbolProp?: boolean;
46
+ };
47
+
48
+ export type AssetGraphRequestResult = {
49
+ assetGraph: AssetGraph;
51
50
  /** Assets added/modified since the last successful build. */
52
- changedAssets: Map<string, Asset>,
51
+ changedAssets: Map<string, Asset>;
53
52
  /** Assets added/modified since the last symbol propagation invocation. */
54
- changedAssetsPropagation: Set<string>,
55
- assetGroupsWithRemovedParents: ?Set<NodeId>,
56
- previousSymbolPropagationErrors: ?Map<NodeId, Array<Diagnostic>>,
57
- assetRequests: Array<AssetGroup>,
58
- |};
59
-
60
- type RunInput = {|
61
- input: AssetGraphRequestInput,
62
- ...StaticRunOpts<AssetGraphRequestResult>,
63
- |};
64
-
65
- type AssetGraphRequest = {|
66
- id: string,
67
- +type: typeof requestTypes.asset_graph_request,
68
- run: (RunInput) => Async<AssetGraphRequestResult>,
69
- input: AssetGraphRequestInput,
70
- |};
53
+ changedAssetsPropagation: Set<string>;
54
+ assetGroupsWithRemovedParents: Set<NodeId> | null | undefined;
55
+ previousSymbolPropagationErrors:
56
+ | Map<NodeId, Array<Diagnostic>>
57
+ | null
58
+ | undefined;
59
+ assetRequests: Array<AssetGroup>;
60
+ };
61
+
62
+ type RunInput = {
63
+ input: AssetGraphRequestInput;
64
+ } & StaticRunOpts<AssetGraphRequestResult>;
65
+
66
+ type AssetGraphRequest = {
67
+ id: string;
68
+ readonly type: typeof requestTypes.asset_graph_request;
69
+ run: (arg1: RunInput) => Async<AssetGraphRequestResult>;
70
+ input: AssetGraphRequestInput;
71
+ };
71
72
 
72
73
  export default function createAssetGraphRequest(
73
74
  requestInput: AssetGraphRequestInput,
@@ -80,7 +81,7 @@ export default function createAssetGraphRequest(
80
81
  await input.api.getPreviousResult<AssetGraphRequestResult>();
81
82
 
82
83
  let builder = new AssetGraphBuilder(input, prevResult);
83
- let assetGraphRequest = await await builder.build();
84
+ let assetGraphRequest = await builder.build();
84
85
 
85
86
  // early break for incremental bundling if production or flag is off;
86
87
  if (
@@ -90,6 +91,13 @@ export default function createAssetGraphRequest(
90
91
  assetGraphRequest.assetGraph.safeToIncrementallyBundle = false;
91
92
  }
92
93
 
94
+ if (
95
+ !input.options.shouldBundleIncrementally ||
96
+ input.options.mode === 'production'
97
+ ) {
98
+ assetGraphRequest.assetGraph.safeToIncrementallyBundle = false;
99
+ }
100
+
93
101
  return assetGraphRequest;
94
102
  },
95
103
  input: requestInput,
@@ -106,10 +114,10 @@ const typesWithRequests = new Set([
106
114
  export class AssetGraphBuilder {
107
115
  assetGraph: AssetGraph;
108
116
  assetRequests: Array<AssetGroup> = [];
109
- queue: PromiseQueue<mixed>;
117
+ queue: PromiseQueue<unknown>;
110
118
  changedAssets: Map<string, Asset>;
111
119
  changedAssetsPropagation: Set<string>;
112
- prevChangedAssetsPropagation: ?Set<string>;
120
+ prevChangedAssetsPropagation: Set<string> | null | undefined;
113
121
  optionsRef: SharedReference;
114
122
  options: AtlaspackOptions;
115
123
  api: RunAPI<AssetGraphRequestResult>;
@@ -122,10 +130,11 @@ export class AssetGraphBuilder {
122
130
  isSingleChangeRebuild: boolean;
123
131
  assetGroupsWithRemovedParents: Set<NodeId>;
124
132
  previousSymbolPropagationErrors: Map<NodeId, Array<Diagnostic>>;
133
+ skipSymbolProp: boolean;
125
134
 
126
135
  constructor(
127
136
  {input, api, options}: RunInput,
128
- prevResult: ?AssetGraphRequestResult,
137
+ prevResult?: AssetGraphRequestResult | null,
129
138
  ) {
130
139
  let {
131
140
  entries,
@@ -161,6 +170,8 @@ export class AssetGraphBuilder {
161
170
  this.shouldBuildLazily = shouldBuildLazily ?? false;
162
171
  this.lazyIncludes = lazyIncludes ?? [];
163
172
  this.lazyExcludes = lazyExcludes ?? [];
173
+ this.skipSymbolProp = input.skipSymbolProp ?? false;
174
+
164
175
  this.cacheKey =
165
176
  hashString(
166
177
  `${ATLASPACK_VERSION}${name}${JSON.stringify(entries) ?? ''}${
@@ -171,10 +182,11 @@ export class AssetGraphBuilder {
171
182
  this.isSingleChangeRebuild =
172
183
  api
173
184
  .getInvalidSubRequests()
185
+ // @ts-expect-error TS2367
174
186
  .filter((req) => req.requestType === 'asset_request').length === 1;
175
187
  this.queue = new PromiseQueue();
176
188
 
177
- assetGraph.onNodeRemoved = (nodeId) => {
189
+ assetGraph.onNodeRemoved = (nodeId: NodeId) => {
178
190
  this.assetGroupsWithRemovedParents.delete(nodeId);
179
191
 
180
192
  // This needs to mark all connected nodes that doesn't become orphaned
@@ -196,7 +208,7 @@ export class AssetGraphBuilder {
196
208
  }
197
209
 
198
210
  async build(): Promise<AssetGraphRequestResult> {
199
- let errors = [];
211
+ let errors: Array<Error> = [];
200
212
  let rootNodeId = nullthrows(
201
213
  this.assetGraph.rootNodeId,
202
214
  'A root node is required to traverse',
@@ -224,6 +236,7 @@ export class AssetGraphBuilder {
224
236
  for (let childNodeId of this.assetGraph.getNodeIdsConnectedFrom(nodeId)) {
225
237
  let child = nullthrows(this.assetGraph.getNode(childNodeId));
226
238
  if (
239
+ // @ts-expect-error TS2339
227
240
  (!visited.has(childNodeId) || child.hasDeferred) &&
228
241
  this.shouldVisitChild(nodeId, childNodeId)
229
242
  ) {
@@ -281,41 +294,51 @@ export class AssetGraphBuilder {
281
294
  this.assetGraph,
282
295
  'AssetGraph_' + this.name + '_before_prop',
283
296
  );
284
- try {
285
- let errors = propagateSymbols({
286
- options: this.options,
287
- assetGraph: this.assetGraph,
288
- changedAssetsPropagation: this.changedAssetsPropagation,
289
- assetGroupsWithRemovedParents: this.assetGroupsWithRemovedParents,
290
- previousErrors: this.previousSymbolPropagationErrors,
291
- });
292
- this.changedAssetsPropagation.clear();
293
-
294
- if (errors.size > 0) {
295
- this.api.storeResult(
296
- {
297
- assetGraph: this.assetGraph,
298
- changedAssets: this.changedAssets,
299
- changedAssetsPropagation: this.changedAssetsPropagation,
300
- assetGroupsWithRemovedParents: this.assetGroupsWithRemovedParents,
301
- previousSymbolPropagationErrors: errors,
302
- assetRequests: [],
303
- },
304
- this.cacheKey,
305
- );
306
297
 
307
- // Just throw the first error. Since errors can bubble (e.g. reexporting a reexported symbol also fails),
308
- // determining which failing export is the root cause is nontrivial (because of circular dependencies).
309
- throw new ThrowableDiagnostic({
310
- diagnostic: [...errors.values()][0],
298
+ // Skip symbol propagation for runtime assets - they have pre-computed symbol data
299
+ if (this.skipSymbolProp) {
300
+ logger.verbose({
301
+ origin: '@atlaspack/core',
302
+ message: 'Skipping symbol propagation for runtime asset graph',
303
+ });
304
+ } else {
305
+ try {
306
+ let errors = propagateSymbols({
307
+ options: this.options,
308
+ assetGraph: this.assetGraph,
309
+ changedAssetsPropagation: this.changedAssetsPropagation,
310
+ assetGroupsWithRemovedParents: this.assetGroupsWithRemovedParents,
311
+ previousErrors: this.previousSymbolPropagationErrors,
311
312
  });
313
+ this.changedAssetsPropagation.clear();
314
+
315
+ if (errors.size > 0) {
316
+ this.api.storeResult(
317
+ {
318
+ assetGraph: this.assetGraph,
319
+ changedAssets: this.changedAssets,
320
+ changedAssetsPropagation: this.changedAssetsPropagation,
321
+ assetGroupsWithRemovedParents:
322
+ this.assetGroupsWithRemovedParents,
323
+ previousSymbolPropagationErrors: errors,
324
+ assetRequests: [],
325
+ },
326
+ this.cacheKey,
327
+ );
328
+
329
+ // Just throw the first error. Since errors can bubble (e.g. reexporting a reexported symbol also fails),
330
+ // determining which failing export is the root cause is nontrivial (because of circular dependencies).
331
+ throw new ThrowableDiagnostic({
332
+ diagnostic: [...errors.values()][0],
333
+ });
334
+ }
335
+ } catch (e: any) {
336
+ await dumpGraphToGraphViz(
337
+ this.assetGraph,
338
+ 'AssetGraph_' + this.name + '_failed',
339
+ );
340
+ throw e;
312
341
  }
313
- } catch (e) {
314
- await dumpGraphToGraphViz(
315
- this.assetGraph,
316
- 'AssetGraph_' + this.name + '_failed',
317
- );
318
- throw e;
319
342
  }
320
343
  }
321
344
  await dumpGraphToGraphViz(this.assetGraph, 'AssetGraph_' + this.name);
@@ -428,9 +451,12 @@ export class AssetGraphBuilder {
428
451
  shouldSkipRequest(nodeId: NodeId): boolean {
429
452
  let node = nullthrows(this.assetGraph.getNode(nodeId));
430
453
  return (
454
+ // @ts-expect-error TS2339
431
455
  node.complete === true ||
432
456
  !typesWithRequests.has(node.type) ||
457
+ // @ts-expect-error TS2339
433
458
  (node.correspondingRequest != null &&
459
+ // @ts-expect-error TS2339
434
460
  this.api.canSkipSubrequest(node.correspondingRequest))
435
461
  );
436
462
  }
@@ -459,7 +485,7 @@ export class AssetGraphBuilder {
459
485
  `Can not queue corresponding request of node with type ${node.type}`,
460
486
  );
461
487
  }
462
- return new Promise((resolve) => {
488
+ return new Promise((resolve: (result: Promise<null> | null) => void) => {
463
489
  this.queue.add(() =>
464
490
  promise.then(
465
491
  () => {
@@ -515,15 +541,16 @@ export class AssetGraphBuilder {
515
541
 
516
542
  async runPathRequest(input: Dependency) {
517
543
  let request = createPathRequest({dependency: input, name: this.name});
518
- let result = await this.api.runRequest<PathRequestInput, ?AssetGroup>(
519
- request,
520
- {force: true},
521
- );
544
+ let result = await this.api.runRequest<
545
+ PathRequestInput,
546
+ AssetGroup | null | undefined
547
+ >(request, {force: true});
522
548
  this.assetGraph.resolveDependency(input, result, request.id);
523
549
  }
524
550
 
525
551
  async runAssetRequest(input: AssetGroup) {
526
552
  this.assetRequests.push(input);
553
+ // @ts-expect-error TS2345
527
554
  let request = createAssetRequest({
528
555
  ...input,
529
556
  name: this.name,
@@ -538,6 +565,16 @@ export class AssetGraphBuilder {
538
565
 
539
566
  if (assets != null) {
540
567
  for (let asset of assets) {
568
+ // Pass the runtimeAssetRequiringExecutionOnLoad flag from the asset
569
+ // group down to the asset itself, for reading in the packager.
570
+ if (input.runtimeAssetRequiringExecutionOnLoad) {
571
+ asset.meta = {
572
+ ...(asset.meta ?? {}),
573
+ runtimeAssetRequiringExecutionOnLoad:
574
+ input.runtimeAssetRequiringExecutionOnLoad,
575
+ };
576
+ }
577
+
541
578
  if (this.assetGraph.safeToIncrementallyBundle) {
542
579
  let otherAsset = this.assetGraph.getNodeByContentKey(asset.id);
543
580
  if (otherAsset != null) {