@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
@@ -12,7 +12,7 @@ function _nullthrows() {
12
12
  return data;
13
13
  }
14
14
  var _utils = require("../utils");
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  const EMPTY_ITERABLE = {
17
17
  [Symbol.iterator]() {
18
18
  return EMPTY_ITERATOR;
@@ -31,7 +31,9 @@ class AssetSymbols {
31
31
  /*::
32
32
  @@iterator(): Iterator<[ISymbol, {|local: ISymbol, loc: ?SourceLocation, meta?: ?Meta|}]> { return ({}: any); }
33
33
  */
34
+ // @ts-expect-error TS2564
34
35
  #value;
36
+ // @ts-expect-error TS2564
35
37
  #options;
36
38
  constructor(options, asset) {
37
39
  let existing = valueToSymbols.get(asset);
@@ -67,12 +69,10 @@ class AssetSymbols {
67
69
  var _this$value$symbols3;
68
70
  return ((_this$value$symbols3 = this.#value.symbols) === null || _this$value$symbols3 === void 0 ? void 0 : _this$value$symbols3.keys()) ?? [];
69
71
  }
70
- // $FlowFixMe
72
+ // @ts-expect-error TS2416
71
73
  [Symbol.iterator]() {
72
74
  return this.#value.symbols ? this.#value.symbols[Symbol.iterator]() : EMPTY_ITERATOR;
73
75
  }
74
-
75
- // $FlowFixMe
76
76
  [inspect]() {
77
77
  return `AssetSymbols(${this.#value.symbols ? [...this.#value.symbols].map(([s, {
78
78
  local
@@ -85,7 +85,9 @@ class MutableAssetSymbols {
85
85
  /*::
86
86
  @@iterator(): Iterator<[ISymbol, {|local: ISymbol, loc: ?SourceLocation, meta?: ?Meta|}]> { return ({}: any); }
87
87
  */
88
+ // @ts-expect-error TS2564
88
89
  #value;
90
+ // @ts-expect-error TS2564
89
91
  #options;
90
92
  constructor(options, asset) {
91
93
  let existing = valueToMutableAssetSymbols.get(asset);
@@ -120,15 +122,13 @@ class MutableAssetSymbols {
120
122
  return this.#value.symbols == null;
121
123
  }
122
124
  exportSymbols() {
123
- // $FlowFixMe
125
+ // @ts-expect-error TS2322
124
126
  return this.#value.symbols.keys();
125
127
  }
126
- // $FlowFixMe
128
+ // @ts-expect-error TS2416
127
129
  [Symbol.iterator]() {
128
130
  return this.#value.symbols ? this.#value.symbols[Symbol.iterator]() : EMPTY_ITERATOR;
129
131
  }
130
-
131
- // $FlowFixMe
132
132
  [inspect]() {
133
133
  return `MutableAssetSymbols(${this.#value.symbols ? [...this.#value.symbols].map(([s, {
134
134
  local
@@ -159,7 +159,9 @@ class MutableDependencySymbols {
159
159
  /*::
160
160
  @@iterator(): Iterator<[ISymbol, {|local: ISymbol, loc: ?SourceLocation, isWeak: boolean, meta?: ?Meta|}]> { return ({}: any); }
161
161
  */
162
+ // @ts-expect-error TS2564
162
163
  #value;
164
+ // @ts-expect-error TS2564
163
165
  #options;
164
166
  constructor(options, dep) {
165
167
  let existing = valueToMutableDependencySymbols.get(dep);
@@ -192,16 +194,14 @@ class MutableDependencySymbols {
192
194
  return this.#value.symbols == null;
193
195
  }
194
196
  exportSymbols() {
195
- // $FlowFixMe
197
+ // @ts-expect-error TS2322
196
198
  return this.#value.symbols ? this.#value.symbols.keys() : EMPTY_ITERABLE;
197
199
  }
198
200
 
199
- // $FlowFixMe
201
+ // @ts-expect-error TS2416
200
202
  [Symbol.iterator]() {
201
203
  return this.#value.symbols ? this.#value.symbols[Symbol.iterator]() : EMPTY_ITERATOR;
202
204
  }
203
-
204
- // $FlowFixMe
205
205
  [inspect]() {
206
206
  return `MutableDependencySymbols(${this.#value.symbols ? [...this.#value.symbols].map(([s, {
207
207
  local,
@@ -15,7 +15,8 @@ function _nullthrows() {
15
15
  var _Environment = _interopRequireDefault(require("./Environment"));
16
16
  var _projectPath = require("../projectPath");
17
17
  var _utils = require("../utils");
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ var _EnvironmentManager = require("../EnvironmentManager");
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
20
  const inspect = Symbol.for('nodejs.util.inspect.custom');
20
21
  const internalTargetToTarget = new WeakMap();
21
22
  const _targetToInternalTarget = new WeakMap();
@@ -23,9 +24,10 @@ function targetToInternalTarget(target) {
23
24
  return (0, _nullthrows().default)(_targetToInternalTarget.get(target));
24
25
  }
25
26
  class Target {
26
- #target /*: TargetValue */;
27
- #options /*: AtlaspackOptions */;
28
-
27
+ // @ts-expect-error TS2564
28
+ #target;
29
+ // @ts-expect-error TS2564
30
+ #options;
29
31
  constructor(target, options) {
30
32
  let existing = internalTargetToTarget.get(target);
31
33
  if (existing != null) {
@@ -44,7 +46,7 @@ class Target {
44
46
  return (0, _projectPath.fromProjectPath)(this.#options.projectRoot, this.#target.distDir);
45
47
  }
46
48
  get env() {
47
- return new _Environment.default(this.#target.env, this.#options);
49
+ return new _Environment.default((0, _EnvironmentManager.fromEnvironmentId)(this.#target.env), this.#options);
48
50
  }
49
51
  get name() {
50
52
  return this.#target.name;
@@ -55,9 +57,8 @@ class Target {
55
57
  get loc() {
56
58
  return (0, _utils.fromInternalSourceLocation)(this.#options.projectRoot, this.#target.loc);
57
59
  }
58
-
59
- // $FlowFixMe[unsupported-syntax]
60
60
  [inspect]() {
61
+ // @ts-expect-error TS7053
61
62
  return `Target(${this.name} - ${this.env[inspect]()})`;
62
63
  }
63
64
  }
@@ -24,9 +24,15 @@ var _AssetGraph = _interopRequireDefault(require("./AssetGraph"));
24
24
  var _BundleGraph = _interopRequireDefault(require("./BundleGraph"));
25
25
  var _Config = _interopRequireDefault(require("./public/Config"));
26
26
  var _RequestTracker = require("./RequestTracker");
27
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
28
+ // flow-to-ts helpers
29
+
30
+ // /flow-to-ts helpers
31
+
32
+ // @ts-expect-error TS7034
28
33
  let coreRegistered;
29
34
  function registerCoreWithSerializer() {
35
+ // @ts-expect-error TS7005
30
36
  if (coreRegistered) {
31
37
  return;
32
38
  }
@@ -34,8 +40,6 @@ function registerCoreWithSerializer() {
34
40
  if (typeof packageVersion !== 'string') {
35
41
  throw new Error('Expected package version to be a string');
36
42
  }
37
-
38
- // $FlowFixMe[incompatible-cast]
39
43
  for (let [name, ctor] of Object.entries({
40
44
  AssetGraph: _AssetGraph.default,
41
45
  Config: _Config.default,
@@ -43,7 +47,6 @@ function registerCoreWithSerializer() {
43
47
  Graph: _graph().Graph,
44
48
  AtlaspackConfig: _AtlaspackConfig.AtlaspackConfig,
45
49
  RequestGraph: _RequestTracker.RequestGraph
46
- // $FlowFixMe[unclear-type]
47
50
  })) {
48
51
  (0, _buildCache().registerSerializableClass)(packageVersion + ':' + name, ctor);
49
52
  }
@@ -26,13 +26,6 @@ function _nullthrows() {
26
26
  };
27
27
  return data;
28
28
  }
29
- function _featureFlags() {
30
- const data = require("@atlaspack/feature-flags");
31
- _featureFlags = function () {
32
- return data;
33
- };
34
- return data;
35
- }
36
29
  function _utils() {
37
30
  const data = require("@atlaspack/utils");
38
31
  _utils = function () {
@@ -65,7 +58,7 @@ var _projectPath = require("../projectPath");
65
58
  var _dumpGraphToGraphViz = _interopRequireDefault(require("../dumpGraphToGraphViz"));
66
59
  var _SymbolPropagation = require("../SymbolPropagation");
67
60
  var _RequestTracker = require("../RequestTracker");
68
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
61
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
69
62
  function createAssetGraphRequest(requestInput) {
70
63
  return {
71
64
  type: _RequestTracker.requestTypes.asset_graph_request,
@@ -73,12 +66,15 @@ function createAssetGraphRequest(requestInput) {
73
66
  run: async input => {
74
67
  let prevResult = await input.api.getPreviousResult();
75
68
  let builder = new AssetGraphBuilder(input, prevResult);
76
- let assetGraphRequest = await await builder.build();
69
+ let assetGraphRequest = await builder.build();
77
70
 
78
71
  // early break for incremental bundling if production or flag is off;
79
72
  if (!input.options.shouldBundleIncrementally || input.options.mode === 'production') {
80
73
  assetGraphRequest.assetGraph.safeToIncrementallyBundle = false;
81
74
  }
75
+ if (!input.options.shouldBundleIncrementally || input.options.mode === 'production') {
76
+ assetGraphRequest.assetGraph.safeToIncrementallyBundle = false;
77
+ }
82
78
  return assetGraphRequest;
83
79
  },
84
80
  input: requestInput
@@ -123,13 +119,11 @@ class AssetGraphBuilder {
123
119
  this.shouldBuildLazily = shouldBuildLazily ?? false;
124
120
  this.lazyIncludes = lazyIncludes ?? [];
125
121
  this.lazyExcludes = lazyExcludes ?? [];
126
- if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
127
- const key = (0, _rust().hashString)(`${_constants.ATLASPACK_VERSION}${name}${JSON.stringify(entries) ?? ''}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`);
128
- this.cacheKey = `AssetGraph/${_constants.ATLASPACK_VERSION}/${options.mode}/${key}`;
129
- } else {
130
- this.cacheKey = (0, _rust().hashString)(`${_constants.ATLASPACK_VERSION}${name}${JSON.stringify(entries) ?? ''}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`) + '-AssetGraph';
131
- }
132
- this.isSingleChangeRebuild = api.getInvalidSubRequests().filter(req => req.requestType === 'asset_request').length === 1;
122
+ this.skipSymbolProp = input.skipSymbolProp ?? false;
123
+ this.cacheKey = (0, _rust().hashString)(`${_constants.ATLASPACK_VERSION}${name}${JSON.stringify(entries) ?? ''}${options.mode}${options.shouldBuildLazily ? 'lazy' : 'eager'}`) + '-AssetGraph';
124
+ this.isSingleChangeRebuild = api.getInvalidSubRequests()
125
+ // @ts-expect-error TS2367
126
+ .filter(req => req.requestType === 'asset_request').length === 1;
133
127
  this.queue = new (_utils().PromiseQueue)();
134
128
  assetGraph.onNodeRemoved = nodeId => {
135
129
  this.assetGroupsWithRemovedParents.delete(nodeId);
@@ -168,7 +162,9 @@ class AssetGraphBuilder {
168
162
  const visitChildren = nodeId => {
169
163
  for (let childNodeId of this.assetGraph.getNodeIdsConnectedFrom(nodeId)) {
170
164
  let child = (0, _nullthrows().default)(this.assetGraph.getNode(childNodeId));
171
- if ((!visited.has(childNodeId) || child.hasDeferred) && this.shouldVisitChild(nodeId, childNodeId)) {
165
+ if (
166
+ // @ts-expect-error TS2339
167
+ (!visited.has(childNodeId) || child.hasDeferred) && this.shouldVisitChild(nodeId, childNodeId)) {
172
168
  if (child.type === 'asset_group') {
173
169
  visitedAssetGroups.add(childNodeId);
174
170
  }
@@ -211,34 +207,43 @@ class AssetGraphBuilder {
211
207
  }
212
208
  if (this.assetGraph.nodes.length > 1) {
213
209
  await (0, _dumpGraphToGraphViz.default)(this.assetGraph, 'AssetGraph_' + this.name + '_before_prop');
214
- try {
215
- let errors = (0, _SymbolPropagation.propagateSymbols)({
216
- options: this.options,
217
- assetGraph: this.assetGraph,
218
- changedAssetsPropagation: this.changedAssetsPropagation,
219
- assetGroupsWithRemovedParents: this.assetGroupsWithRemovedParents,
220
- previousErrors: this.previousSymbolPropagationErrors
210
+
211
+ // Skip symbol propagation for runtime assets - they have pre-computed symbol data
212
+ if (this.skipSymbolProp) {
213
+ _logger().default.verbose({
214
+ origin: '@atlaspack/core',
215
+ message: 'Skipping symbol propagation for runtime asset graph'
221
216
  });
222
- this.changedAssetsPropagation.clear();
223
- if (errors.size > 0) {
224
- this.api.storeResult({
217
+ } else {
218
+ try {
219
+ let errors = (0, _SymbolPropagation.propagateSymbols)({
220
+ options: this.options,
225
221
  assetGraph: this.assetGraph,
226
- changedAssets: this.changedAssets,
227
222
  changedAssetsPropagation: this.changedAssetsPropagation,
228
223
  assetGroupsWithRemovedParents: this.assetGroupsWithRemovedParents,
229
- previousSymbolPropagationErrors: errors,
230
- assetRequests: []
231
- }, this.cacheKey);
232
-
233
- // Just throw the first error. Since errors can bubble (e.g. reexporting a reexported symbol also fails),
234
- // determining which failing export is the root cause is nontrivial (because of circular dependencies).
235
- throw new (_diagnostic().default)({
236
- diagnostic: [...errors.values()][0]
224
+ previousErrors: this.previousSymbolPropagationErrors
237
225
  });
226
+ this.changedAssetsPropagation.clear();
227
+ if (errors.size > 0) {
228
+ this.api.storeResult({
229
+ assetGraph: this.assetGraph,
230
+ changedAssets: this.changedAssets,
231
+ changedAssetsPropagation: this.changedAssetsPropagation,
232
+ assetGroupsWithRemovedParents: this.assetGroupsWithRemovedParents,
233
+ previousSymbolPropagationErrors: errors,
234
+ assetRequests: []
235
+ }, this.cacheKey);
236
+
237
+ // Just throw the first error. Since errors can bubble (e.g. reexporting a reexported symbol also fails),
238
+ // determining which failing export is the root cause is nontrivial (because of circular dependencies).
239
+ throw new (_diagnostic().default)({
240
+ diagnostic: [...errors.values()][0]
241
+ });
242
+ }
243
+ } catch (e) {
244
+ await (0, _dumpGraphToGraphViz.default)(this.assetGraph, 'AssetGraph_' + this.name + '_failed');
245
+ throw e;
238
246
  }
239
- } catch (e) {
240
- await (0, _dumpGraphToGraphViz.default)(this.assetGraph, 'AssetGraph_' + this.name + '_failed');
241
- throw e;
242
247
  }
243
248
  }
244
249
  await (0, _dumpGraphToGraphViz.default)(this.assetGraph, 'AssetGraph_' + this.name);
@@ -329,7 +334,14 @@ class AssetGraphBuilder {
329
334
  }
330
335
  shouldSkipRequest(nodeId) {
331
336
  let node = (0, _nullthrows().default)(this.assetGraph.getNode(nodeId));
332
- return node.complete === true || !typesWithRequests.has(node.type) || node.correspondingRequest != null && this.api.canSkipSubrequest(node.correspondingRequest);
337
+ return (
338
+ // @ts-expect-error TS2339
339
+ node.complete === true || !typesWithRequests.has(node.type) ||
340
+ // @ts-expect-error TS2339
341
+ node.correspondingRequest != null &&
342
+ // @ts-expect-error TS2339
343
+ this.api.canSkipSubrequest(node.correspondingRequest)
344
+ );
333
345
  }
334
346
  queueCorrespondingRequest(nodeId, errors) {
335
347
  let promise;
@@ -390,6 +402,7 @@ class AssetGraphBuilder {
390
402
  }
391
403
  async runAssetRequest(input) {
392
404
  this.assetRequests.push(input);
405
+ // @ts-expect-error TS2345
393
406
  let request = (0, _AssetRequest.default)({
394
407
  ...input,
395
408
  name: this.name,
@@ -401,6 +414,14 @@ class AssetGraphBuilder {
401
414
  });
402
415
  if (assets != null) {
403
416
  for (let asset of assets) {
417
+ // Pass the runtimeAssetRequiringExecutionOnLoad flag from the asset
418
+ // group down to the asset itself, for reading in the packager.
419
+ if (input.runtimeAssetRequiringExecutionOnLoad) {
420
+ asset.meta = {
421
+ ...(asset.meta ?? {}),
422
+ runtimeAssetRequiringExecutionOnLoad: input.runtimeAssetRequiringExecutionOnLoad
423
+ };
424
+ }
404
425
  if (this.assetGraph.safeToIncrementallyBundle) {
405
426
  let otherAsset = this.assetGraph.getNodeByContentKey(asset.id);
406
427
  if (otherAsset != null) {