@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
@@ -1,5 +1,3 @@
1
- // @flow
2
-
3
1
  import type {ContentKey, NodeId} from '@atlaspack/graph';
4
2
  import type {Meta, Symbol} from '@atlaspack/types';
5
3
  import type {Diagnostic} from '@atlaspack/diagnostic';
@@ -9,7 +7,7 @@ import type {
9
7
  InternalSourceLocation,
10
8
  AtlaspackOptions,
11
9
  } from './types';
12
- import {type default as AssetGraph} from './AssetGraph';
10
+ import {default as AssetGraph} from './AssetGraph';
13
11
 
14
12
  import invariant from 'assert';
15
13
  import nullthrows from 'nullthrows';
@@ -17,7 +15,7 @@ import {setEqual} from '@atlaspack/utils';
17
15
  import logger from '@atlaspack/logger';
18
16
  import {md, convertSourceLocationToHighlight} from '@atlaspack/diagnostic';
19
17
  import {instrument} from '@atlaspack/logger';
20
- import {BundleBehavior, Priority} from './types';
18
+ import {BundleBehavior, Priority, SpecifierType} from './types';
21
19
  import {fromProjectPathRelative, fromProjectPath} from './projectPath';
22
20
 
23
21
  export function propagateSymbols({
@@ -26,13 +24,13 @@ export function propagateSymbols({
26
24
  changedAssetsPropagation,
27
25
  assetGroupsWithRemovedParents,
28
26
  previousErrors,
29
- }: {|
30
- options: AtlaspackOptions,
31
- assetGraph: AssetGraph,
32
- changedAssetsPropagation: Set<string>,
33
- assetGroupsWithRemovedParents: Set<NodeId>,
34
- previousErrors?: ?Map<NodeId, Array<Diagnostic>>,
35
- |}): Map<NodeId, Array<Diagnostic>> {
27
+ }: {
28
+ options: AtlaspackOptions;
29
+ assetGraph: AssetGraph;
30
+ changedAssetsPropagation: Set<string>;
31
+ assetGroupsWithRemovedParents: Set<NodeId>;
32
+ previousErrors?: Map<NodeId, Array<Diagnostic>> | null | undefined;
33
+ }): Map<NodeId, Array<Diagnostic>> {
36
34
  return instrument('propagateSymbols', () => {
37
35
  let changedAssets = new Set(
38
36
  [...changedAssetsPropagation].map((id) =>
@@ -62,11 +60,25 @@ export function propagateSymbols({
62
60
  changedAssets,
63
61
  assetGroupsWithRemovedParents,
64
62
  (assetNode, incomingDeps, outgoingDeps) => {
63
+ if (
64
+ assetNode.value.meta.emptyFileStarReexport &&
65
+ incomingDeps.every((d) => d.value.specifierType === SpecifierType.esm)
66
+ ) {
67
+ assetNode.value.symbols?.delete('*');
68
+ }
69
+
65
70
  // exportSymbol -> identifier
66
- let assetSymbols: ?$ReadOnlyMap<
67
- Symbol,
68
- {|local: Symbol, loc: ?InternalSourceLocation, meta?: ?Meta|},
69
- > = assetNode.value.symbols;
71
+ let assetSymbols:
72
+ | ReadonlyMap<
73
+ Symbol,
74
+ {
75
+ local: Symbol;
76
+ loc: InternalSourceLocation | null | undefined;
77
+ meta?: Meta | null | undefined;
78
+ }
79
+ >
80
+ | null
81
+ | undefined = assetNode.value.symbols;
70
82
  // identifier -> exportSymbol
71
83
  let assetSymbolsInverse;
72
84
  if (assetSymbols) {
@@ -82,7 +94,9 @@ export function propagateSymbols({
82
94
  }
83
95
  }
84
96
  let hasNamespaceOutgoingDeps = outgoingDeps.some(
85
- (d) => d.value.symbols?.get('*')?.local === '*',
97
+ (d) =>
98
+ d.value.symbols?.get('*')?.local === '*' ||
99
+ d.value.meta?.hasExportStar,
86
100
  );
87
101
 
88
102
  // 1) Determine what the incomingDeps requests from the asset
@@ -143,8 +157,15 @@ export function propagateSymbols({
143
157
 
144
158
  // Incomding dependency with cleared symbols, add everything
145
159
  if (addAll) {
146
- assetSymbols?.forEach((_, exportSymbol) =>
147
- assetNode.usedSymbols.add(exportSymbol),
160
+ assetSymbols?.forEach(
161
+ (
162
+ _: {
163
+ loc: InternalSourceLocation | null | undefined;
164
+ local: Symbol;
165
+ meta?: Meta | null | undefined;
166
+ },
167
+ exportSymbol: Symbol,
168
+ ) => assetNode.usedSymbols.add(exportSymbol),
148
169
  );
149
170
  }
150
171
 
@@ -153,6 +174,7 @@ export function propagateSymbols({
153
174
  for (let dep of outgoingDeps) {
154
175
  let depUsedSymbolsDownOld = dep.usedSymbolsDown;
155
176
  let depUsedSymbolsDown = new Set();
177
+ // @ts-expect-error TS2322
156
178
  dep.usedSymbolsDown = depUsedSymbolsDown;
157
179
  if (
158
180
  assetNode.value.sideEffects ||
@@ -171,7 +193,10 @@ export function propagateSymbols({
171
193
  let depSymbols = dep.value.symbols;
172
194
  if (!depSymbols) continue;
173
195
 
174
- if (depSymbols.get('*')?.local === '*') {
196
+ if (
197
+ depSymbols.get('*')?.local === '*' ||
198
+ dep.value.meta?.hasExportStar
199
+ ) {
175
200
  if (addAll) {
176
201
  depUsedSymbolsDown.add('*');
177
202
  } else {
@@ -233,10 +258,10 @@ export function propagateSymbols({
233
258
  );
234
259
 
235
260
  const logFallbackNamespaceInsertion = (
236
- assetNode,
261
+ assetNode: AssetNode,
237
262
  symbol: Symbol,
238
- depNode1,
239
- depNode2,
263
+ depNode1: DependencyNode,
264
+ depNode2: DependencyNode,
240
265
  ) => {
241
266
  if (options.logLevel === 'verbose') {
242
267
  logger.warn({
@@ -260,10 +285,17 @@ export function propagateSymbols({
260
285
  changedDepsUsedSymbolsUpDirtyDown,
261
286
  previousErrors,
262
287
  (assetNode, incomingDeps, outgoingDeps) => {
263
- let assetSymbols: ?$ReadOnlyMap<
264
- Symbol,
265
- {|local: Symbol, loc: ?InternalSourceLocation, meta?: ?Meta|},
266
- > = assetNode.value.symbols;
288
+ let assetSymbols:
289
+ | ReadonlyMap<
290
+ Symbol,
291
+ {
292
+ local: Symbol;
293
+ loc: InternalSourceLocation | null | undefined;
294
+ meta?: Meta | null | undefined;
295
+ }
296
+ >
297
+ | null
298
+ | undefined = assetNode.value.symbols;
267
299
 
268
300
  let assetSymbolsInverse = null;
269
301
  if (assetSymbols) {
@@ -281,7 +313,12 @@ export function propagateSymbols({
281
313
  // the symbols that are reexported (not used in `asset`) -> asset they resolved to
282
314
  let reexportedSymbols = new Map<
283
315
  Symbol,
284
- ?{|asset: ContentKey, symbol: ?Symbol|},
316
+ | {
317
+ asset: ContentKey;
318
+ symbol: Symbol | null | undefined;
319
+ }
320
+ | null
321
+ | undefined
285
322
  >();
286
323
  // the symbols that are reexported (not used in `asset`) -> the corresponding outgoingDep(s)
287
324
  // To generate the diagnostic when there are multiple dependencies with non-statically
@@ -302,7 +339,10 @@ export function propagateSymbols({
302
339
  );
303
340
  }
304
341
 
305
- if (outgoingDepSymbols.get('*')?.local === '*') {
342
+ if (
343
+ outgoingDepSymbols.get('*')?.local === '*' ||
344
+ outgoingDep.value.meta?.hasExportStar
345
+ ) {
306
346
  outgoingDep.usedSymbolsUp.forEach((sResolved, s) => {
307
347
  if (s === 'default') {
308
348
  return;
@@ -367,7 +407,36 @@ export function propagateSymbols({
367
407
 
368
408
  let errors: Array<Diagnostic> = [];
369
409
 
370
- function usedSymbolsUpAmbiguous(old, current, s, value) {
410
+ function usedSymbolsUpAmbiguous(
411
+ old: Map<
412
+ Symbol,
413
+ | {
414
+ asset: ContentKey;
415
+ symbol: Symbol | null | undefined;
416
+ }
417
+ | null
418
+ | undefined
419
+ >,
420
+ current: Map<
421
+ Symbol,
422
+ | {
423
+ asset: ContentKey;
424
+ symbol: Symbol | null | undefined;
425
+ }
426
+ | null
427
+ | undefined
428
+ >,
429
+ s: Symbol,
430
+ value:
431
+ | {
432
+ asset: ContentKey;
433
+ symbol: Symbol;
434
+ }
435
+ | {
436
+ asset: ContentKey;
437
+ symbol: Symbol | null | undefined;
438
+ },
439
+ ) {
371
440
  if (old.has(s)) {
372
441
  let valueOld = old.get(s);
373
442
  if (
@@ -391,7 +460,9 @@ export function propagateSymbols({
391
460
  let incomingDepSymbols = incomingDep.value.symbols;
392
461
  if (!incomingDepSymbols) continue;
393
462
 
394
- let hasNamespaceReexport = incomingDepSymbols.get('*')?.local === '*';
463
+ let hasNamespaceReexport =
464
+ incomingDepSymbols.get('*')?.local === '*' ||
465
+ incomingDep.value.meta?.hasExportStar;
395
466
  for (let s of incomingDep.usedSymbolsDown) {
396
467
  if (
397
468
  assetSymbols == null || // Assume everything could be provided if symbols are cleared
@@ -439,6 +510,7 @@ export function propagateSymbols({
439
510
 
440
511
  errors.push({
441
512
  message: md`${fromProjectPathRelative(
513
+ // @ts-expect-error TS2345
442
514
  resolution.value.filePath,
443
515
  )} does not export '${s}'`,
444
516
  origin: '@atlaspack/core',
@@ -470,20 +542,22 @@ export function propagateSymbols({
470
542
  incomingDep.value.symbols != null &&
471
543
  incomingDep.usedSymbolsUp.size === 0
472
544
  ) {
473
- let assetGroups = assetGraph.getNodeIdsConnectedFrom(
545
+ let connectedNodeIds = assetGraph.getNodeIdsConnectedFrom(
474
546
  assetGraph.getNodeIdByContentKey(incomingDep.id),
475
547
  );
476
- if (assetGroups.length === 1) {
477
- let [assetGroupId] = assetGroups;
478
- let assetGroup = nullthrows(assetGraph.getNode(assetGroupId));
479
- if (
480
- assetGroup.type === 'asset_group' &&
481
- assetGroup.value.sideEffects === false
482
- ) {
483
- incomingDep.excluded = true;
484
- }
485
- } else {
486
- invariant(assetGroups.length === 0);
548
+
549
+ let sideEffectFree = connectedNodeIds.every((nodeId) => {
550
+ let connectedNode = nullthrows(assetGraph.getNode(nodeId));
551
+ // Dependencies should only connect to asset_groups or assets
552
+ invariant(
553
+ connectedNode.type === 'asset' ||
554
+ connectedNode.type === 'asset_group',
555
+ );
556
+ return connectedNode.value.sideEffects === false;
557
+ });
558
+
559
+ if (sideEffectFree) {
560
+ incomingDep.excluded = true;
487
561
  }
488
562
  }
489
563
  }
@@ -496,7 +570,10 @@ export function propagateSymbols({
496
570
  // See https://github.com/parcel-bundler/parcel/pull/8212
497
571
  for (let dep of changedDeps) {
498
572
  dep.usedSymbolsUp = new Map(
499
- [...dep.usedSymbolsUp].sort(([a], [b]) => a.localeCompare(b)),
573
+ // @ts-expect-error TS2345
574
+ [...dep.usedSymbolsUp].sort(([a]: [any], [b]: [any]) =>
575
+ a.localeCompare(b),
576
+ ),
500
577
  );
501
578
  }
502
579
 
@@ -510,8 +587,8 @@ function propagateSymbolsDown(
510
587
  assetGroupsWithRemovedParents: Set<NodeId>,
511
588
  visit: (
512
589
  assetNode: AssetNode,
513
- incoming: $ReadOnlyArray<DependencyNode>,
514
- outgoing: $ReadOnlyArray<DependencyNode>,
590
+ incoming: ReadonlyArray<DependencyNode>,
591
+ outgoing: ReadonlyArray<DependencyNode>,
515
592
  ) => void,
516
593
  ) {
517
594
  if (changedAssets.size === 0 && assetGroupsWithRemovedParents.size === 0) {
@@ -597,11 +674,11 @@ function propagateSymbolsUp(
597
674
  assetGraph: AssetGraph,
598
675
  changedAssets: Set<NodeId>,
599
676
  changedDepsUsedSymbolsUpDirtyDown: Set<ContentKey>,
600
- previousErrors: ?Map<NodeId, Array<Diagnostic>>,
677
+ previousErrors: Map<NodeId, Array<Diagnostic>> | null | undefined,
601
678
  visit: (
602
679
  assetNode: AssetNode,
603
- incoming: $ReadOnlyArray<DependencyNode>,
604
- outgoing: $ReadOnlyArray<DependencyNode>,
680
+ incoming: ReadonlyArray<DependencyNode>,
681
+ outgoing: ReadonlyArray<DependencyNode>,
605
682
  ) => Array<Diagnostic>,
606
683
  ): Map<NodeId, Array<Diagnostic>> {
607
684
  // For graphs in general (so with cyclic dependencies), some nodes will have to be revisited. So
@@ -615,7 +692,8 @@ function propagateSymbolsUp(
615
692
 
616
693
  let errors: Map<NodeId, Array<Diagnostic>> = previousErrors
617
694
  ? // Some nodes might have been removed since the last build
618
- new Map([...previousErrors].filter(([n]) => assetGraph.hasNode(n)))
695
+ // @ts-expect-error TS2769
696
+ new Map([...previousErrors].filter(([n]: [any]) => assetGraph.hasNode(n)))
619
697
  : new Map();
620
698
 
621
699
  let changedDepsUsedSymbolsUpDirtyDownAssets = new Set([
@@ -633,6 +711,7 @@ function propagateSymbolsUp(
633
711
  assetGraph.nodes.length * (1 / 6) * 0.5 <
634
712
  changedDepsUsedSymbolsUpDirtyDownAssets.size;
635
713
 
714
+ // @ts-expect-error TS7034
636
715
  let dirtyDeps;
637
716
  if (runFullPass) {
638
717
  dirtyDeps = new Set<NodeId>();
@@ -641,7 +720,7 @@ function propagateSymbolsUp(
641
720
  'A root node is required to traverse',
642
721
  );
643
722
 
644
- const nodeVisitor = (nodeId) => {
723
+ const nodeVisitor = (nodeId: NodeId) => {
645
724
  let node = nullthrows(assetGraph.getNode(nodeId));
646
725
 
647
726
  if (node.type === 'asset') {
@@ -672,13 +751,16 @@ function propagateSymbolsUp(
672
751
  } else {
673
752
  if (node.type === 'dependency') {
674
753
  if (node.usedSymbolsUpDirtyUp) {
754
+ // @ts-expect-error TS7005
675
755
  dirtyDeps.add(nodeId);
676
756
  } else {
757
+ // @ts-expect-error TS7005
677
758
  dirtyDeps.delete(nodeId);
678
759
  }
679
760
  }
680
761
  }
681
762
  };
763
+ // @ts-expect-error TS2345
682
764
  assetGraph.postOrderDfsFast(nodeVisitor, rootNodeId);
683
765
  }
684
766
 
@@ -721,6 +803,7 @@ function propagateSymbolsUp(
721
803
  } else {
722
804
  let connectedNodes = assetGraph.getNodeIdsConnectedTo(queuedNodeId);
723
805
  if (connectedNodes.length > 0) {
806
+ // @ts-expect-error TS2556
724
807
  queue.add(...connectedNodes);
725
808
  }
726
809
  }
@@ -735,22 +818,46 @@ function getDependencyResolution(
735
818
  ): Array<NodeId> {
736
819
  let depNodeId = graph.getNodeIdByContentKey(depId);
737
820
  let connected = graph.getNodeIdsConnectedFrom(depNodeId);
738
- invariant(connected.length <= 1);
739
- let child = connected[0];
740
- if (child) {
821
+
822
+ let resolvedNodeIds: Array<NodeId> = [];
823
+
824
+ // If any of the resolved nodes is an asset_group, we need to resolve its
825
+ // assets here.
826
+ for (let child of connected) {
827
+ if (!child) {
828
+ continue;
829
+ }
830
+
741
831
  let childNode = nullthrows(graph.getNode(child));
742
832
  if (childNode.type === 'asset_group') {
743
- return graph.getNodeIdsConnectedFrom(child);
833
+ resolvedNodeIds.push(...graph.getNodeIdsConnectedFrom(child));
744
834
  } else {
745
- return [child];
835
+ resolvedNodeIds.push(child);
746
836
  }
747
837
  }
748
- return [];
838
+
839
+ return resolvedNodeIds;
749
840
  }
750
841
 
751
842
  function equalMap<K>(
752
- a: $ReadOnlyMap<K, ?{|asset: ContentKey, symbol: ?Symbol|}>,
753
- b: $ReadOnlyMap<K, ?{|asset: ContentKey, symbol: ?Symbol|}>,
843
+ a: ReadonlyMap<
844
+ K,
845
+ | {
846
+ asset: ContentKey;
847
+ symbol: Symbol | null | undefined;
848
+ }
849
+ | null
850
+ | undefined
851
+ >,
852
+ b: ReadonlyMap<
853
+ K,
854
+ | {
855
+ asset: ContentKey;
856
+ symbol: Symbol | null | undefined;
857
+ }
858
+ | null
859
+ | undefined
860
+ >,
754
861
  ) {
755
862
  if (a.size !== b.size) return false;
756
863
  for (let [k, v] of a) {
@@ -767,14 +874,20 @@ function setPop<T>(set: Set<T>): T {
767
874
  return v;
768
875
  }
769
876
 
770
- function outgoingDependencyNodesFromAsset(assetGraph, assetNode) {
877
+ function outgoingDependencyNodesFromAsset(
878
+ assetGraph: AssetGraph,
879
+ assetNode: NodeId,
880
+ ) {
771
881
  return dependencyNodesFromIds(
772
882
  assetGraph,
773
883
  assetGraph.getNodeIdsConnectedFrom(assetNode),
774
884
  );
775
885
  }
776
886
 
777
- function dependencyNodesFromIds(assetGraph, dependencyIds) {
887
+ function dependencyNodesFromIds(
888
+ assetGraph: AssetGraph,
889
+ dependencyIds: Array<NodeId>,
890
+ ) {
778
891
  return dependencyIds.map((depNodeId) => {
779
892
  let depNode = nullthrows(assetGraph.getNode(depNodeId));
780
893
  invariant(depNode.type === 'dependency');
@@ -782,7 +895,11 @@ function dependencyNodesFromIds(assetGraph, dependencyIds) {
782
895
  });
783
896
  }
784
897
 
785
- function incomingDependencyNodesFromAsset(assetGraph, assetNodeValue) {
898
+ function incomingDependencyNodesFromAsset(
899
+ assetGraph: AssetGraph,
900
+ // @ts-expect-error TS2552
901
+ assetNodeValue: Asset,
902
+ ) {
786
903
  return assetGraph.getIncomingDependencies(assetNodeValue).map((d) => {
787
904
  let n = assetGraph.getNodeByContentKey(d.id);
788
905
  invariant(n && n.type === 'dependency');
@@ -1,4 +1,3 @@
1
- // @flow strict-local
2
1
  import type {SchemaEntity, SchemaObject} from '@atlaspack/utils';
3
2
 
4
3
  export const ENGINES_SCHEMA: SchemaEntity = {
@@ -36,6 +35,7 @@ export const PACKAGE_DESCRIPTOR_SCHEMA: SchemaObject = {
36
35
  'electron-main',
37
36
  'electron-renderer',
38
37
  'service-worker',
38
+ 'tesseract',
39
39
  ],
40
40
  },
41
41
  includeNodeModules: {
@@ -115,6 +115,15 @@ export const PACKAGE_DESCRIPTOR_SCHEMA: SchemaObject = {
115
115
  __unstable_singleFileOutput: {
116
116
  type: 'boolean',
117
117
  },
118
+ env: {
119
+ type: 'object',
120
+ additionalProperties: {
121
+ type: 'string',
122
+ },
123
+ },
124
+ inlineRequires: {
125
+ type: 'boolean',
126
+ },
118
127
  },
119
128
  additionalProperties: false,
120
129
  };