@atlaspack/core 2.16.2-canary.37 → 2.16.2-canary.371

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 (367) hide show
  1. package/CHANGELOG.md +941 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +666 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1740 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +545 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1360 -0
  16. package/dist/SymbolPropagation.js +620 -0
  17. package/dist/TargetDescriptor.schema.js +143 -0
  18. package/dist/Transformation.js +514 -0
  19. package/dist/UncommittedAsset.js +315 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +383 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +74 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +81 -0
  25. package/dist/atlaspack-v3/fs.js +52 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +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 +25 -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-logger.js +26 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
  37. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  38. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  39. package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
  40. package/dist/atlaspack-v3/worker/worker.js +381 -0
  41. package/dist/constants.js +17 -0
  42. package/dist/dumpGraphToGraphViz.js +281 -0
  43. package/dist/index.js +62 -0
  44. package/dist/loadAtlaspackPlugin.js +128 -0
  45. package/dist/loadDotEnv.js +41 -0
  46. package/dist/projectPath.js +83 -0
  47. package/dist/public/Asset.js +279 -0
  48. package/dist/public/Bundle.js +224 -0
  49. package/dist/public/BundleGraph.js +371 -0
  50. package/dist/public/BundleGroup.js +53 -0
  51. package/dist/public/Config.js +286 -0
  52. package/dist/public/Dependency.js +138 -0
  53. package/dist/public/Environment.js +278 -0
  54. package/dist/public/MutableBundleGraph.js +277 -0
  55. package/dist/public/PluginOptions.js +80 -0
  56. package/dist/public/Symbols.js +248 -0
  57. package/dist/public/Target.js +69 -0
  58. package/dist/registerCoreWithSerializer.js +38 -0
  59. package/dist/requests/AssetGraphRequest.js +439 -0
  60. package/dist/requests/AssetGraphRequestRust.js +273 -0
  61. package/dist/requests/AssetRequest.js +130 -0
  62. package/dist/requests/AtlaspackBuildRequest.js +92 -0
  63. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  64. package/dist/requests/BundleGraphRequest.js +447 -0
  65. package/dist/requests/ConfigRequest.js +246 -0
  66. package/dist/requests/DevDepRequest.js +204 -0
  67. package/dist/requests/EntryRequest.js +314 -0
  68. package/dist/requests/PackageRequest.js +72 -0
  69. package/dist/requests/PathRequest.js +349 -0
  70. package/dist/requests/TargetRequest.js +1311 -0
  71. package/dist/requests/ValidationRequest.js +49 -0
  72. package/dist/requests/WriteBundleRequest.js +254 -0
  73. package/dist/requests/WriteBundlesRequest.js +184 -0
  74. package/dist/requests/asset-graph-diff.js +128 -0
  75. package/dist/requests/asset-graph-dot.js +131 -0
  76. package/dist/resolveOptions.js +269 -0
  77. package/dist/rustWorkerThreadDylibHack.js +19 -0
  78. package/dist/serializerCore.browser.js +43 -0
  79. package/dist/summarizeRequest.js +39 -0
  80. package/dist/types.js +31 -0
  81. package/dist/utils.js +172 -0
  82. package/dist/worker.js +123 -0
  83. package/lib/AssetGraph.js +111 -14
  84. package/lib/Atlaspack.js +94 -41
  85. package/lib/AtlaspackConfig.js +15 -3
  86. package/lib/AtlaspackConfig.schema.js +16 -5
  87. package/lib/BundleGraph.js +197 -32
  88. package/lib/CommittedAsset.js +7 -1
  89. package/lib/Dependency.js +8 -2
  90. package/lib/Environment.js +15 -8
  91. package/lib/EnvironmentManager.js +143 -0
  92. package/lib/IdentifierRegistry.js +1 -3
  93. package/lib/InternalConfig.js +3 -2
  94. package/lib/PackagerRunner.js +90 -27
  95. package/lib/ReporterRunner.js +6 -9
  96. package/lib/RequestTracker.js +266 -156
  97. package/lib/SymbolPropagation.js +42 -18
  98. package/lib/TargetDescriptor.schema.js +7 -1
  99. package/lib/Transformation.js +66 -15
  100. package/lib/UncommittedAsset.js +33 -12
  101. package/lib/Validation.js +18 -2
  102. package/lib/applyRuntimes.js +96 -4
  103. package/lib/assetUtils.js +15 -5
  104. package/lib/atlaspack-v3/AtlaspackV3.js +52 -14
  105. package/lib/atlaspack-v3/NapiWorkerPool.js +28 -1
  106. package/lib/atlaspack-v3/fs.js +3 -1
  107. package/lib/atlaspack-v3/index.js +28 -1
  108. package/lib/atlaspack-v3/jsCallable.js +0 -2
  109. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  110. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  111. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  112. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  113. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +15 -10
  114. package/lib/atlaspack-v3/worker/compat/plugin-config.js +13 -34
  115. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -0
  116. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  117. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  118. package/lib/atlaspack-v3/worker/index.js +3 -0
  119. package/lib/atlaspack-v3/worker/side-effect-detector.js +215 -0
  120. package/lib/atlaspack-v3/worker/worker.js +199 -71
  121. package/lib/constants.js +0 -1
  122. package/lib/dumpGraphToGraphViz.js +71 -16
  123. package/lib/index.js +45 -1
  124. package/lib/loadDotEnv.js +4 -1
  125. package/lib/projectPath.js +5 -0
  126. package/lib/public/Asset.js +21 -11
  127. package/lib/public/Bundle.js +15 -16
  128. package/lib/public/BundleGraph.js +25 -22
  129. package/lib/public/BundleGroup.js +4 -5
  130. package/lib/public/Config.js +118 -17
  131. package/lib/public/Dependency.js +8 -6
  132. package/lib/public/Environment.js +12 -7
  133. package/lib/public/MutableBundleGraph.js +54 -12
  134. package/lib/public/PluginOptions.js +2 -2
  135. package/lib/public/Symbols.js +11 -11
  136. package/lib/public/Target.js +7 -6
  137. package/lib/registerCoreWithSerializer.js +5 -3
  138. package/lib/requests/AssetGraphRequest.js +74 -27
  139. package/lib/requests/AssetGraphRequestRust.js +140 -64
  140. package/lib/requests/AssetRequest.js +23 -6
  141. package/lib/requests/AtlaspackBuildRequest.js +43 -4
  142. package/lib/requests/AtlaspackConfigRequest.js +27 -16
  143. package/lib/requests/BundleGraphRequest.js +41 -24
  144. package/lib/requests/ConfigRequest.js +53 -4
  145. package/lib/requests/DevDepRequest.js +31 -5
  146. package/lib/requests/EntryRequest.js +2 -0
  147. package/lib/requests/PackageRequest.js +16 -2
  148. package/lib/requests/PathRequest.js +24 -3
  149. package/lib/requests/TargetRequest.js +122 -57
  150. package/lib/requests/ValidationRequest.js +5 -1
  151. package/lib/requests/WriteBundleRequest.js +39 -11
  152. package/lib/requests/WriteBundlesRequest.js +51 -4
  153. package/lib/requests/asset-graph-diff.js +12 -7
  154. package/lib/requests/asset-graph-dot.js +1 -7
  155. package/lib/resolveOptions.js +38 -11
  156. package/lib/rustWorkerThreadDylibHack.js +0 -1
  157. package/lib/types/AssetGraph.d.ts +80 -0
  158. package/lib/types/Atlaspack.d.ts +52 -0
  159. package/lib/types/AtlaspackConfig.d.ts +65 -0
  160. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  161. package/lib/types/BundleGraph.d.ts +184 -0
  162. package/lib/types/CommittedAsset.d.ts +23 -0
  163. package/lib/types/Dependency.d.ts +44 -0
  164. package/lib/types/Environment.d.ts +11 -0
  165. package/lib/types/EnvironmentManager.d.ts +37 -0
  166. package/lib/types/IdentifierRegistry.d.ts +6 -0
  167. package/lib/types/InternalConfig.d.ts +23 -0
  168. package/lib/types/PackagerRunner.d.ts +85 -0
  169. package/lib/types/ReporterRunner.d.ts +25 -0
  170. package/lib/types/RequestTracker.d.ts +385 -0
  171. package/lib/types/SymbolPropagation.d.ts +11 -0
  172. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  173. package/lib/types/Transformation.d.ts +72 -0
  174. package/lib/types/UncommittedAsset.d.ts +61 -0
  175. package/lib/types/Validation.d.ts +37 -0
  176. package/lib/types/applyRuntimes.d.ts +25 -0
  177. package/lib/types/assetUtils.d.ts +42 -0
  178. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +34 -0
  179. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  180. package/lib/types/atlaspack-v3/fs.d.ts +12 -0
  181. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  182. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  183. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  184. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  185. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  186. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  187. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
  188. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  189. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  190. package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
  191. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  192. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  193. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  194. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  195. package/lib/types/atlaspack-v3/worker/worker.d.ts +80 -0
  196. package/lib/types/constants.d.ts +13 -0
  197. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  198. package/lib/types/index.d.ts +8 -0
  199. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  200. package/lib/types/loadDotEnv.d.ts +3 -0
  201. package/lib/types/projectPath.d.ts +19 -0
  202. package/lib/types/public/Asset.d.ts +74 -0
  203. package/lib/types/public/Bundle.d.ts +45 -0
  204. package/lib/types/public/BundleGraph.d.ts +72 -0
  205. package/lib/types/public/BundleGroup.d.ts +12 -0
  206. package/lib/types/public/Config.d.ts +75 -0
  207. package/lib/types/public/Dependency.d.ts +32 -0
  208. package/lib/types/public/Environment.d.ts +34 -0
  209. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  210. package/lib/types/public/PluginOptions.d.ts +25 -0
  211. package/lib/types/public/Symbols.d.ts +81 -0
  212. package/lib/types/public/Target.d.ts +16 -0
  213. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  214. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  215. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  216. package/lib/types/requests/AssetRequest.d.ts +16 -0
  217. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  218. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  219. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  220. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  221. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  222. package/lib/types/requests/EntryRequest.d.ts +36 -0
  223. package/lib/types/requests/PackageRequest.d.ts +27 -0
  224. package/lib/types/requests/PathRequest.d.ts +48 -0
  225. package/lib/types/requests/TargetRequest.d.ts +48 -0
  226. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  227. package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
  228. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  229. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  230. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  231. package/lib/types/resolveOptions.d.ts +3 -0
  232. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  233. package/lib/types/serializerCore.browser.d.ts +3 -0
  234. package/lib/types/summarizeRequest.d.ts +10 -0
  235. package/lib/types/types.d.ts +495 -0
  236. package/lib/types/utils.d.ts +23 -0
  237. package/lib/types/worker.d.ts +44 -0
  238. package/lib/types.js +8 -1
  239. package/lib/utils.js +17 -2
  240. package/lib/worker.js +30 -14
  241. package/package.json +25 -35
  242. package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
  243. package/src/{Atlaspack.js → Atlaspack.ts} +134 -67
  244. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  245. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  246. package/src/{BundleGraph.js → BundleGraph.ts} +383 -140
  247. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  248. package/src/{Dependency.js → Dependency.ts} +59 -42
  249. package/src/{Environment.js → Environment.ts} +24 -15
  250. package/src/EnvironmentManager.ts +154 -0
  251. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  252. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  253. package/src/{PackagerRunner.js → PackagerRunner.ts} +179 -87
  254. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  255. package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
  256. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
  257. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  258. package/src/{Transformation.js → Transformation.ts} +110 -65
  259. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +60 -39
  260. package/src/{Validation.js → Validation.ts} +32 -17
  261. package/src/{applyRuntimes.js → applyRuntimes.ts} +133 -26
  262. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  263. package/src/atlaspack-v3/AtlaspackV3.ts +143 -0
  264. package/src/atlaspack-v3/NapiWorkerPool.ts +91 -0
  265. package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
  266. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  267. package/src/atlaspack-v3/jsCallable.ts +14 -0
  268. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  269. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  270. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  271. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  272. package/src/atlaspack-v3/worker/compat/index.ts +9 -0
  273. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  274. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  275. package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
  276. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  277. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  278. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  279. package/src/atlaspack-v3/worker/index.js +2 -1
  280. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  281. package/src/atlaspack-v3/worker/worker.ts +531 -0
  282. package/src/{constants.js → constants.ts} +0 -3
  283. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  284. package/src/index.ts +18 -0
  285. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  286. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  287. package/src/{projectPath.js → projectPath.ts} +20 -9
  288. package/src/public/{Asset.js → Asset.ts} +41 -28
  289. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  290. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  291. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  292. package/src/public/{Config.js → Config.ts} +171 -33
  293. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  294. package/src/public/{Environment.js → Environment.ts} +28 -17
  295. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  296. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  297. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  298. package/src/public/{Target.js → Target.ts} +10 -8
  299. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  300. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +129 -80
  301. package/src/requests/AssetGraphRequestRust.ts +364 -0
  302. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  303. package/src/requests/AtlaspackBuildRequest.ts +163 -0
  304. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  305. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +97 -79
  306. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  307. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  308. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  309. package/src/requests/{PackageRequest.js → PackageRequest.ts} +34 -22
  310. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  311. package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
  312. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  313. package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
  314. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
  315. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  316. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  317. package/src/{resolveOptions.js → resolveOptions.ts} +59 -25
  318. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  319. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  320. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  321. package/src/types.ts +650 -0
  322. package/src/{utils.js → utils.ts} +52 -21
  323. package/src/{worker.js → worker.ts} +50 -42
  324. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
  325. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  326. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  327. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  328. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  329. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  330. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  331. package/test/Environment.test.ts +153 -0
  332. package/test/EnvironmentManager.test.ts +188 -0
  333. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  334. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  335. package/test/PackagerRunner.test.ts +0 -0
  336. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  337. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  338. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  339. package/test/PublicEnvironment.test.ts +49 -0
  340. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  341. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
  342. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  343. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
  344. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  345. package/test/fixtures/custom-targets/package.json +6 -0
  346. package/test/public/Config.test.ts +104 -0
  347. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  348. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  349. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  350. package/test/{test-utils.js → test-utils.ts} +4 -11
  351. package/test/{utils.test.js → utils.test.ts} +1 -3
  352. package/tsconfig.json +60 -0
  353. package/tsconfig.tsbuildinfo +1 -0
  354. package/index.d.ts +0 -30
  355. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  356. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  357. package/src/atlaspack-v3/jsCallable.js +0 -18
  358. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  359. package/src/atlaspack-v3/worker/worker.js +0 -362
  360. package/src/index.js +0 -13
  361. package/src/requests/AssetGraphRequestRust.js +0 -263
  362. package/src/requests/AtlaspackBuildRequest.js +0 -111
  363. package/src/types.js +0 -600
  364. package/test/Environment.test.js +0 -119
  365. package/test/PackagerRunner.test.js +0 -27
  366. package/test/PublicEnvironment.test.js +0 -27
  367. package/test/requests/AssetGraphRequestRust.test.js +0 -411
package/lib/Atlaspack.js CHANGED
@@ -80,7 +80,7 @@ var _PathRequest = _interopRequireDefault(require("./requests/PathRequest"));
80
80
  var _Environment = require("./Environment");
81
81
  var _Dependency = require("./Dependency");
82
82
  function _sourceMap() {
83
- const data = require("@parcel/source-map");
83
+ const data = require("@atlaspack/source-map");
84
84
  _sourceMap = function () {
85
85
  return data;
86
86
  };
@@ -123,37 +123,43 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
123
123
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
124
124
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
125
125
  // eslint-disable-next-line no-unused-vars
126
+
126
127
  (0, _registerCoreWithSerializer.registerCoreWithSerializer)();
127
128
  const INTERNAL_TRANSFORM = exports.INTERNAL_TRANSFORM = Symbol('internal_transform');
128
129
  const INTERNAL_RESOLVE = exports.INTERNAL_RESOLVE = Symbol('internal_resolve');
129
- const WORKER_PATH = exports.WORKER_PATH = _path().default.join(__dirname, 'worker.js');
130
+ let WORKER_PATH = exports.WORKER_PATH = _path().default.join(__dirname, 'worker.js');
131
+ if (__filename.endsWith('.ts')) {
132
+ exports.WORKER_PATH = WORKER_PATH = _path().default.join(__dirname, 'worker.ts');
133
+ }
130
134
  class Atlaspack {
131
- #requestTracker /*: RequestTracker*/;
132
- #config /*: AtlaspackConfig*/;
133
- #farm /*: WorkerFarm*/;
134
- #initialized /*: boolean*/ = false;
135
- #disposable /*: Disposable */;
136
- #initialOptions /*: InitialAtlaspackOptions */;
137
- #reporterRunner /*: ReporterRunner*/;
138
- #resolvedOptions /*: ?AtlaspackOptions*/ = null;
139
- #optionsRef /*: SharedReference */;
140
- #watchAbortController /*: AbortController*/;
141
- #watchQueue /*: PromiseQueue<?BuildEvent>*/ = new (_utils2().PromiseQueue)({
135
+ // @ts-expect-error TS2564
136
+ #requestTracker;
137
+ // @ts-expect-error TS2564
138
+ #config;
139
+ // @ts-expect-error TS2564
140
+ #farm;
141
+ #initialized = false;
142
+ // @ts-expect-error TS2564
143
+ #disposable;
144
+ #initialOptions;
145
+ // @ts-expect-error TS2564
146
+ #reporterRunner;
147
+ #resolvedOptions = null;
148
+ // @ts-expect-error TS2564
149
+ #optionsRef;
150
+ // @ts-expect-error TS2564
151
+ #watchAbortController;
152
+ #watchQueue = new (_utils2().PromiseQueue)({
142
153
  maxConcurrent: 1
143
154
  });
144
- #watchEvents /*: ValueEmitter<
145
- | {|
146
- +error: Error,
147
- +buildEvent?: void,
148
- |}
149
- | {|
150
- +buildEvent: BuildEvent,
151
- +error?: void,
152
- |},
153
- > */;
154
- #watcherSubscription /*: ?AsyncSubscription*/;
155
- #watcherCount /*: number*/ = 0;
156
- #requestedAssetIds /*: Set<string>*/ = new Set();
155
+ // @ts-expect-error TS2564
156
+ #watchEvents;
157
+ #watcherSubscription;
158
+ #watcherCount = 0;
159
+ #requestedAssetIds = new Set();
160
+
161
+ // @ts-expect-error TS2564
162
+
157
163
  constructor(options) {
158
164
  this.#initialOptions = options;
159
165
  }
@@ -191,7 +197,7 @@ class Atlaspack {
191
197
  });
192
198
  this.#resolvedOptions = resolvedOptions;
193
199
  let rustAtlaspack;
194
- if (resolvedOptions.featureFlags.atlaspackV3) {
200
+ if (resolvedOptions.featureFlags.atlaspackV3 || resolvedOptions.featureFlags.nativePackager) {
195
201
  // eslint-disable-next-line no-unused-vars
196
202
  let {
197
203
  entries,
@@ -203,8 +209,6 @@ class Atlaspack {
203
209
  throw new Error('Atlaspack v3 must be run with lmdb lite cache');
204
210
  }
205
211
  const lmdb = resolvedOptions.cache.getNativeRef();
206
-
207
- // $FlowFixMe
208
212
  const version = require('../package.json').version;
209
213
  await lmdb.put('current_session_version', Buffer.from(version));
210
214
  let threads = undefined;
@@ -215,16 +219,22 @@ class Atlaspack {
215
219
  }
216
220
  rustAtlaspack = await _atlaspackV.AtlaspackV3.create({
217
221
  ...options,
222
+ // @ts-expect-error TS2353
218
223
  corePath: _path().default.join(__dirname, '..'),
219
224
  threads,
220
225
  entries: Array.isArray(entries) ? entries : entries == null ? undefined : [entries],
221
226
  env: resolvedOptions.env,
222
227
  fs: inputFS && new _atlaspackV.FileSystemV3(inputFS),
223
- // $FlowFixMe ProjectPath is a string
224
228
  defaultTargetOptions: resolvedOptions.defaultTargetOptions,
225
- lmdb
229
+ serveOptions: resolvedOptions.serveOptions,
230
+ lmdb,
231
+ featureFlags: resolvedOptions.featureFlags
232
+ });
233
+ this.#disposable.add(() => {
234
+ rustAtlaspack.end();
226
235
  });
227
236
  }
237
+ // @ts-expect-error TS2454
228
238
  this.rustAtlaspack = rustAtlaspack;
229
239
  let {
230
240
  config
@@ -270,6 +280,7 @@ class Atlaspack {
270
280
  this.#requestTracker = await _RequestTracker.default.init({
271
281
  farm: this.#farm,
272
282
  options: resolvedOptions,
283
+ // @ts-expect-error TS2454
273
284
  rustAtlaspack
274
285
  });
275
286
  this.#initialized = true;
@@ -336,6 +347,8 @@ class Atlaspack {
336
347
  if (!this.#initialized) {
337
348
  await this._init();
338
349
  }
350
+
351
+ // @ts-expect-error TS7034
339
352
  let watchEventsDisposable;
340
353
  if (cb) {
341
354
  watchEventsDisposable = this.#watchEvents.addListener(({
@@ -355,8 +368,11 @@ class Atlaspack {
355
368
  this.#watchQueue.run();
356
369
  }
357
370
  this.#watcherCount++;
371
+
372
+ // @ts-expect-error TS7034
358
373
  let unsubscribePromise;
359
374
  const unsubscribe = async () => {
375
+ // @ts-expect-error TS7005
360
376
  if (watchEventsDisposable) {
361
377
  watchEventsDisposable.dispose();
362
378
  }
@@ -374,9 +390,12 @@ class Atlaspack {
374
390
  };
375
391
  return {
376
392
  unsubscribe() {
393
+ // @ts-expect-error TS7005
377
394
  if (unsubscribePromise == null) {
378
395
  unsubscribePromise = unsubscribe();
379
396
  }
397
+
398
+ // @ts-expect-error TS7005
380
399
  return unsubscribePromise;
381
400
  }
382
401
  };
@@ -387,14 +406,23 @@ class Atlaspack {
387
406
  } = {
388
407
  /*::...null*/
389
408
  }) {
390
- this.#requestTracker.setSignal(signal);
391
409
  let options = (0, _nullthrows().default)(this.#resolvedOptions);
392
410
  try {
411
+ var _this$rustAtlaspack;
393
412
  if (options.shouldProfile) {
394
413
  await this.startProfiling();
395
414
  }
415
+ if (options.nativeProfiler) {
416
+ const nativeProfiler = new (_profiler().NativeProfiler)();
417
+ await nativeProfiler.startProfiling(options.nativeProfiler);
418
+ }
396
419
  if (options.shouldTrace) {
397
420
  _profiler().tracer.enable();
421
+ // We need to ensure the tracer is disabled when Atlaspack is disposed as it is a module level object.
422
+ // While rare (except for tests), if another instance is created later it should not have tracing enabled.
423
+ this.#disposable.add(() => {
424
+ _profiler().tracer.disable();
425
+ });
398
426
  }
399
427
  await this.#reporterRunner.report({
400
428
  type: 'buildStart'
@@ -409,19 +437,21 @@ class Atlaspack {
409
437
  bundleGraph,
410
438
  bundleInfo,
411
439
  changedAssets,
412
- assetRequests
440
+ assetRequests,
441
+ scopeHoistingStats
413
442
  } = await this.#requestTracker.runRequest(request, {
414
443
  force: true
415
444
  });
416
445
  this.#requestedAssetIds.clear();
417
446
  await (0, _dumpGraphToGraphViz.default)(
418
- // $FlowFixMe
447
+ // @ts-expect-error TS2345
419
448
  this.#requestTracker.graph, 'RequestGraph', _RequestTracker.requestGraphEdgeTypes);
420
449
  let event = {
421
450
  type: 'buildSuccess',
422
451
  changedAssets: new Map(Array.from(changedAssets).map(([id, asset]) => [id, (0, _Asset.assetFromValue)(asset, options)])),
423
452
  bundleGraph: new _BundleGraph.default(bundleGraph, (bundle, bundleGraph, options) => _Bundle.PackagedBundle.getWithInfo(bundle, bundleGraph, options, bundleInfo.get(bundle.id)), options),
424
453
  buildTime: Date.now() - startTime,
454
+ // @ts-expect-error TS7006
425
455
  requestBundle: async bundle => {
426
456
  let bundleNode = bundleGraph._graph.getNodeByContentKey(bundle.id);
427
457
  (0, _assert().default)((bundleNode === null || bundleNode === void 0 ? void 0 : bundleNode.type) === 'bundle', 'Bundle does not exist');
@@ -433,7 +463,8 @@ class Atlaspack {
433
463
  bundleGraph: event.bundleGraph,
434
464
  buildTime: 0,
435
465
  requestBundle: event.requestBundle,
436
- unstable_requestStats: {}
466
+ unstable_requestStats: {},
467
+ scopeHoistingStats: event.scopeHoistingStats
437
468
  };
438
469
  }
439
470
  for (let assetId of bundleNode.value.entryAssetIds) {
@@ -447,15 +478,23 @@ class Atlaspack {
447
478
  }
448
479
  let results = await this.#watchQueue.run();
449
480
  let result = results.filter(Boolean).pop();
481
+ // @ts-expect-error TS18049
450
482
  if (result.type === 'buildFailure') {
483
+ // @ts-expect-error TS18049
451
484
  throw new BuildError(result.diagnostics);
452
485
  }
453
486
  return result;
454
487
  },
455
- unstable_requestStats: this.#requestTracker.flushStats()
488
+ unstable_requestStats: this.#requestTracker.flushStats(),
489
+ nativeCacheStats: await ((_this$rustAtlaspack = this.rustAtlaspack) === null || _this$rustAtlaspack === void 0 ? void 0 : _this$rustAtlaspack.completeCacheSession()),
490
+ scopeHoistingStats
456
491
  };
492
+
493
+ // @ts-expect-error TS2345
457
494
  await this.#reporterRunner.report(event);
458
- await this.#requestTracker.runRequest((0, _ValidationRequest.default)({
495
+ await this.#requestTracker.runRequest(
496
+ // @ts-expect-error TS2345
497
+ (0, _ValidationRequest.default)({
459
498
  optionsRef: this.#optionsRef,
460
499
  assetRequests
461
500
  }), {
@@ -464,8 +503,11 @@ class Atlaspack {
464
503
  if (this.#reporterRunner.errors.length) {
465
504
  throw this.#reporterRunner.errors;
466
505
  }
506
+
507
+ // @ts-expect-error TS2322
467
508
  return event;
468
509
  } catch (e) {
510
+ var _this$rustAtlaspack2;
469
511
  if (e instanceof _utils.BuildAbortError) {
470
512
  throw e;
471
513
  }
@@ -473,9 +515,13 @@ class Atlaspack {
473
515
  let event = {
474
516
  type: 'buildFailure',
475
517
  diagnostics: Array.isArray(diagnostic) ? diagnostic : [diagnostic],
476
- unstable_requestStats: this.#requestTracker.flushStats()
518
+ unstable_requestStats: this.#requestTracker.flushStats(),
519
+ nativeCacheStats: await ((_this$rustAtlaspack2 = this.rustAtlaspack) === null || _this$rustAtlaspack2 === void 0 ? void 0 : _this$rustAtlaspack2.completeCacheSession())
477
520
  };
521
+
522
+ // @ts-expect-error TS2345
478
523
  await this.#reporterRunner.report(event);
524
+ // @ts-expect-error TS2322
479
525
  return event;
480
526
  } finally {
481
527
  if (this.isProfiling) {
@@ -507,10 +553,12 @@ class Atlaspack {
507
553
  message: `File watch event emitted with ${events.length} events. Sample event: [${(_events$ = events[0]) === null || _events$ === void 0 ? void 0 : _events$.type}] ${(_events$2 = events[0]) === null || _events$2 === void 0 ? void 0 : _events$2.path}`
508
554
  });
509
555
  let nativeInvalid = false;
510
- if (this.rustAtlaspack) {
556
+ if ((0, _featureFlags().getFeatureFlag)('atlaspackV3') && this.rustAtlaspack) {
511
557
  nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
512
558
  }
513
- let isInvalid = await this.#requestTracker.respondToFSEvents(events, Number.POSITIVE_INFINITY);
559
+ let {
560
+ didInvalidate: isInvalid
561
+ } = await this.#requestTracker.respondToFSEvents(events, Number.POSITIVE_INFINITY);
514
562
  if ((nativeInvalid || isInvalid) && this.#watchQueue.getNumWaiting() === 0) {
515
563
  if (this.#watchAbortController) {
516
564
  this.#watchAbortController.abort();
@@ -586,7 +634,11 @@ class Atlaspack {
586
634
  requestedAssetIds: this.#requestedAssetIds
587
635
  };
588
636
  const start = Date.now();
589
- const result = await this.#requestTracker.runRequest(this.rustAtlaspack != null ? (0, _AssetGraphRequestRust.createAssetGraphRequestRust)(this.rustAtlaspack)(input) : (0, _AssetGraphRequest.default)(input), {
637
+ const result = await this.#requestTracker.runRequest((0, _featureFlags().getFeatureFlag)('atlaspackV3') && this.rustAtlaspack != null ?
638
+ // @ts-expect-error TS2345
639
+ (0, _AssetGraphRequestRust.createAssetGraphRequestRust)(this.rustAtlaspack)(input) :
640
+ // @ts-expect-error TS2345
641
+ (0, _AssetGraphRequest.default)(input), {
590
642
  force: true
591
643
  });
592
644
  const duration = Date.now() - start;
@@ -673,6 +725,7 @@ class Atlaspack {
673
725
  return null;
674
726
  }
675
727
  return {
728
+ // @ts-expect-error TS2322
676
729
  filePath: (0, _projectPath.fromProjectPath)(projectRoot, res.filePath),
677
730
  code: res.code,
678
731
  query: res.query,
@@ -90,6 +90,7 @@ class AtlaspackConfig {
90
90
  }
91
91
  async loadPlugin(node) {
92
92
  let plugin = await this._loadPlugin(node);
93
+ // @ts-expect-error TS2322
93
94
  return {
94
95
  ...plugin,
95
96
  name: node.packageName,
@@ -196,6 +197,7 @@ class AtlaspackConfig {
196
197
  let [patternPipeline, patternGlob] = pattern.split(':');
197
198
  if (!patternGlob) {
198
199
  patternGlob = patternPipeline;
200
+ // @ts-expect-error TS2322
199
201
  patternPipeline = null;
200
202
  }
201
203
  let re = this.regexCache.get(patternGlob);
@@ -235,6 +237,7 @@ class AtlaspackConfig {
235
237
  }
236
238
  for (let pattern in globMap) {
237
239
  if (this.isGlobMatch(filePath, pattern)) {
240
+ // @ts-expect-error TS2345
238
241
  matches.push(globMap[pattern]);
239
242
  }
240
243
  }
@@ -250,7 +253,7 @@ class AtlaspackConfig {
250
253
  return pipeline;
251
254
  };
252
255
  let res = flatten();
253
- // $FlowFixMe afaik this should work
256
+ // @ts-expect-error TS2322
254
257
  return res;
255
258
  }
256
259
  async missingPluginError(plugins, message, key) {
@@ -258,7 +261,13 @@ class AtlaspackConfig {
258
261
  if (Array.isArray(plugins)) {
259
262
  configsWithPlugin = new Set(getConfigPaths(this.options, plugins));
260
263
  } else {
261
- configsWithPlugin = new Set(Object.keys(plugins).flatMap(k => Array.isArray(plugins[k]) ? getConfigPaths(this.options, plugins[k]) : [getConfigPath(this.options, plugins[k])]));
264
+ configsWithPlugin = new Set(Object.keys(plugins).flatMap(k =>
265
+ // @ts-expect-error TS7053
266
+ Array.isArray(plugins[k]) ?
267
+ // @ts-expect-error TS7053
268
+ getConfigPaths(this.options, plugins[k]) :
269
+ // @ts-expect-error TS7053
270
+ [getConfigPath(this.options, plugins[k])]));
262
271
  }
263
272
  if (configsWithPlugin.size === 0) {
264
273
  configsWithPlugin.add((0, _projectPath.fromProjectPath)(this.options.projectRoot, this.filePath));
@@ -291,8 +300,11 @@ class AtlaspackConfig {
291
300
  }
292
301
  exports.AtlaspackConfig = AtlaspackConfig;
293
302
  function getConfigPaths(options, nodes) {
294
- return nodes.map(node => node !== '...' ? getConfigPath(options, node) : null).filter(Boolean);
303
+ return nodes
304
+ // @ts-expect-error TS2339
305
+ .map(node => node !== '...' ? getConfigPath(options, node) : null).filter(Boolean);
295
306
  }
296
307
  function getConfigPath(options, node) {
308
+ // @ts-expect-error TS2339
297
309
  return (0, _projectPath.fromProjectPath)(options.projectRoot, node.resolveFrom);
298
310
  }
@@ -6,15 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  exports.validatePackageName = validatePackageName;
8
8
  // Parcel validates plugin package names due to:
9
- //
10
9
  // * https://github.com/parcel-bundler/parcel/issues/3397#issuecomment-521353931
11
- //
12
10
  // Ultimately:
13
- //
14
11
  // * We do not care about package names
15
12
  // * Validation makes interop between parcel/atlaspack confusing.
16
- //
17
- function validatePackageName() {}
13
+ function validatePackageName(
14
+ // eslint-disable-next-line no-unused-vars
15
+ pkg,
16
+ // eslint-disable-next-line no-unused-vars
17
+ pluginType,
18
+ // eslint-disable-next-line no-unused-vars
19
+ key) {}
18
20
  const validatePluginName = (pluginType, key) => {
19
21
  return val => {
20
22
  // allow plugin spread...
@@ -92,6 +94,15 @@ var _default = exports.default = {
92
94
  compressors: mapPipelineSchema('compressor', 'compressors'),
93
95
  reporters: pipelineSchema('reporter', 'reporters'),
94
96
  runtimes: pipelineSchema('runtime', 'runtimes'),
97
+ // This isn't currently supported in V2, however we need to allow it to
98
+ // parse as even V3 builds need the AtlaspackConfigRequest
99
+ unstable_alias: {
100
+ type: 'object',
101
+ properties: {},
102
+ additionalProperties: {
103
+ type: 'string'
104
+ }
105
+ },
95
106
  filePath: {
96
107
  type: 'string'
97
108
  },