@atlaspack/core 2.16.2-canary.33 → 2.16.2-canary.330

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 (360) hide show
  1. package/CHANGELOG.md +835 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +663 -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 +491 -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 +63 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +61 -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 +76 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-options.js +122 -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/worker.js +307 -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 +439 -0
  59. package/dist/requests/AssetGraphRequestRust.js +273 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +65 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  63. package/dist/requests/BundleGraphRequest.js +447 -0
  64. package/dist/requests/ConfigRequest.js +222 -0
  65. package/dist/requests/DevDepRequest.js +204 -0
  66. package/dist/requests/EntryRequest.js +314 -0
  67. package/dist/requests/PackageRequest.js +62 -0
  68. package/dist/requests/PathRequest.js +349 -0
  69. package/dist/requests/TargetRequest.js +1311 -0
  70. package/dist/requests/ValidationRequest.js +49 -0
  71. package/dist/requests/WriteBundleRequest.js +254 -0
  72. package/dist/requests/WriteBundlesRequest.js +184 -0
  73. package/dist/requests/asset-graph-diff.js +128 -0
  74. package/dist/requests/asset-graph-dot.js +131 -0
  75. package/dist/resolveOptions.js +269 -0
  76. package/dist/rustWorkerThreadDylibHack.js +19 -0
  77. package/dist/serializerCore.browser.js +43 -0
  78. package/dist/summarizeRequest.js +39 -0
  79. package/dist/types.js +31 -0
  80. package/dist/utils.js +172 -0
  81. package/dist/worker.js +123 -0
  82. package/lib/AssetGraph.js +111 -14
  83. package/lib/Atlaspack.js +87 -38
  84. package/lib/AtlaspackConfig.js +15 -3
  85. package/lib/AtlaspackConfig.schema.js +16 -5
  86. package/lib/BundleGraph.js +197 -32
  87. package/lib/CommittedAsset.js +7 -1
  88. package/lib/Dependency.js +8 -2
  89. package/lib/Environment.js +15 -8
  90. package/lib/EnvironmentManager.js +143 -0
  91. package/lib/IdentifierRegistry.js +1 -3
  92. package/lib/InternalConfig.js +3 -2
  93. package/lib/PackagerRunner.js +90 -27
  94. package/lib/ReporterRunner.js +6 -9
  95. package/lib/RequestTracker.js +266 -156
  96. package/lib/SymbolPropagation.js +42 -18
  97. package/lib/TargetDescriptor.schema.js +7 -1
  98. package/lib/Transformation.js +35 -14
  99. package/lib/UncommittedAsset.js +33 -12
  100. package/lib/Validation.js +18 -2
  101. package/lib/applyRuntimes.js +96 -4
  102. package/lib/assetUtils.js +15 -5
  103. package/lib/atlaspack-v3/AtlaspackV3.js +32 -14
  104. package/lib/atlaspack-v3/NapiWorkerPool.js +7 -1
  105. package/lib/atlaspack-v3/fs.js +3 -1
  106. package/lib/atlaspack-v3/index.js +28 -1
  107. package/lib/atlaspack-v3/jsCallable.js +0 -2
  108. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  109. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  110. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  111. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  112. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +15 -10
  113. package/lib/atlaspack-v3/worker/compat/plugin-config.js +8 -10
  114. package/lib/atlaspack-v3/worker/compat/plugin-options.js +1 -0
  115. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  116. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  117. package/lib/atlaspack-v3/worker/index.js +3 -0
  118. package/lib/atlaspack-v3/worker/worker.js +60 -12
  119. package/lib/constants.js +0 -1
  120. package/lib/dumpGraphToGraphViz.js +71 -16
  121. package/lib/index.js +45 -1
  122. package/lib/loadDotEnv.js +4 -1
  123. package/lib/projectPath.js +5 -0
  124. package/lib/public/Asset.js +21 -11
  125. package/lib/public/Bundle.js +15 -16
  126. package/lib/public/BundleGraph.js +25 -22
  127. package/lib/public/BundleGroup.js +4 -5
  128. package/lib/public/Config.js +118 -17
  129. package/lib/public/Dependency.js +8 -6
  130. package/lib/public/Environment.js +12 -7
  131. package/lib/public/MutableBundleGraph.js +54 -12
  132. package/lib/public/PluginOptions.js +2 -2
  133. package/lib/public/Symbols.js +11 -11
  134. package/lib/public/Target.js +7 -6
  135. package/lib/registerCoreWithSerializer.js +5 -3
  136. package/lib/requests/AssetGraphRequest.js +74 -27
  137. package/lib/requests/AssetGraphRequestRust.js +140 -64
  138. package/lib/requests/AssetRequest.js +23 -6
  139. package/lib/requests/AtlaspackBuildRequest.js +10 -4
  140. package/lib/requests/AtlaspackConfigRequest.js +27 -16
  141. package/lib/requests/BundleGraphRequest.js +40 -23
  142. package/lib/requests/ConfigRequest.js +28 -4
  143. package/lib/requests/DevDepRequest.js +31 -5
  144. package/lib/requests/EntryRequest.js +2 -0
  145. package/lib/requests/PackageRequest.js +2 -1
  146. package/lib/requests/PathRequest.js +24 -3
  147. package/lib/requests/TargetRequest.js +122 -57
  148. package/lib/requests/ValidationRequest.js +5 -1
  149. package/lib/requests/WriteBundleRequest.js +39 -11
  150. package/lib/requests/WriteBundlesRequest.js +51 -4
  151. package/lib/requests/asset-graph-diff.js +12 -7
  152. package/lib/requests/asset-graph-dot.js +1 -7
  153. package/lib/resolveOptions.js +37 -10
  154. package/lib/rustWorkerThreadDylibHack.js +0 -1
  155. package/lib/types/AssetGraph.d.ts +80 -0
  156. package/lib/types/Atlaspack.d.ts +52 -0
  157. package/lib/types/AtlaspackConfig.d.ts +65 -0
  158. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  159. package/lib/types/BundleGraph.d.ts +184 -0
  160. package/lib/types/CommittedAsset.d.ts +23 -0
  161. package/lib/types/Dependency.d.ts +44 -0
  162. package/lib/types/Environment.d.ts +11 -0
  163. package/lib/types/EnvironmentManager.d.ts +37 -0
  164. package/lib/types/IdentifierRegistry.d.ts +6 -0
  165. package/lib/types/InternalConfig.d.ts +24 -0
  166. package/lib/types/PackagerRunner.d.ts +85 -0
  167. package/lib/types/ReporterRunner.d.ts +25 -0
  168. package/lib/types/RequestTracker.d.ts +385 -0
  169. package/lib/types/SymbolPropagation.d.ts +11 -0
  170. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  171. package/lib/types/Transformation.d.ts +72 -0
  172. package/lib/types/UncommittedAsset.d.ts +61 -0
  173. package/lib/types/Validation.d.ts +37 -0
  174. package/lib/types/applyRuntimes.d.ts +25 -0
  175. package/lib/types/assetUtils.d.ts +42 -0
  176. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +26 -0
  177. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +12 -0
  178. package/lib/types/atlaspack-v3/fs.d.ts +12 -0
  179. package/lib/types/atlaspack-v3/index.d.ts +5 -0
  180. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  181. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  182. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  183. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  184. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  185. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
  186. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  187. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +37 -0
  188. package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
  189. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +22 -0
  190. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  191. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  192. package/lib/types/atlaspack-v3/worker/worker.d.ts +60 -0
  193. package/lib/types/constants.d.ts +13 -0
  194. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  195. package/lib/types/index.d.ts +8 -0
  196. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  197. package/lib/types/loadDotEnv.d.ts +3 -0
  198. package/lib/types/projectPath.d.ts +19 -0
  199. package/lib/types/public/Asset.d.ts +74 -0
  200. package/lib/types/public/Bundle.d.ts +45 -0
  201. package/lib/types/public/BundleGraph.d.ts +72 -0
  202. package/lib/types/public/BundleGroup.d.ts +12 -0
  203. package/lib/types/public/Config.d.ts +75 -0
  204. package/lib/types/public/Dependency.d.ts +32 -0
  205. package/lib/types/public/Environment.d.ts +34 -0
  206. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  207. package/lib/types/public/PluginOptions.d.ts +25 -0
  208. package/lib/types/public/Symbols.d.ts +81 -0
  209. package/lib/types/public/Target.d.ts +16 -0
  210. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  211. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  212. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  213. package/lib/types/requests/AssetRequest.d.ts +16 -0
  214. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  215. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  216. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  217. package/lib/types/requests/ConfigRequest.d.ts +59 -0
  218. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  219. package/lib/types/requests/EntryRequest.d.ts +36 -0
  220. package/lib/types/requests/PackageRequest.d.ts +27 -0
  221. package/lib/types/requests/PathRequest.d.ts +48 -0
  222. package/lib/types/requests/TargetRequest.d.ts +48 -0
  223. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  224. package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
  225. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  226. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  227. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  228. package/lib/types/resolveOptions.d.ts +3 -0
  229. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  230. package/lib/types/serializerCore.browser.d.ts +3 -0
  231. package/lib/types/summarizeRequest.d.ts +10 -0
  232. package/lib/types/types.d.ts +495 -0
  233. package/lib/types/utils.d.ts +23 -0
  234. package/lib/types/worker.d.ts +44 -0
  235. package/lib/types.js +8 -1
  236. package/lib/utils.js +17 -2
  237. package/lib/worker.js +30 -14
  238. package/package.json +25 -35
  239. package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
  240. package/src/{Atlaspack.js → Atlaspack.ts} +121 -63
  241. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  242. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  243. package/src/{BundleGraph.js → BundleGraph.ts} +383 -140
  244. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  245. package/src/{Dependency.js → Dependency.ts} +59 -42
  246. package/src/{Environment.js → Environment.ts} +24 -15
  247. package/src/EnvironmentManager.ts +154 -0
  248. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  249. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  250. package/src/{PackagerRunner.js → PackagerRunner.ts} +179 -87
  251. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  252. package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
  253. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
  254. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  255. package/src/{Transformation.js → Transformation.ts} +74 -64
  256. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +60 -39
  257. package/src/{Validation.js → Validation.ts} +32 -17
  258. package/src/{applyRuntimes.js → applyRuntimes.ts} +133 -26
  259. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  260. package/src/atlaspack-v3/AtlaspackV3.ts +111 -0
  261. package/src/atlaspack-v3/{NapiWorkerPool.js → NapiWorkerPool.ts} +15 -6
  262. package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
  263. package/src/atlaspack-v3/{index.js → index.ts} +2 -4
  264. package/src/atlaspack-v3/jsCallable.ts +14 -0
  265. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  266. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  267. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  268. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  269. package/src/atlaspack-v3/worker/compat/index.ts +9 -0
  270. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  271. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +27 -26
  272. package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
  273. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +4 -5
  274. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  275. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  276. package/src/atlaspack-v3/worker/index.js +2 -1
  277. package/src/atlaspack-v3/worker/{worker.js → worker.ts} +124 -71
  278. package/src/{constants.js → constants.ts} +0 -3
  279. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  280. package/src/index.ts +18 -0
  281. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  282. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  283. package/src/{projectPath.js → projectPath.ts} +20 -9
  284. package/src/public/{Asset.js → Asset.ts} +41 -28
  285. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  286. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  287. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  288. package/src/public/{Config.js → Config.ts} +171 -33
  289. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  290. package/src/public/{Environment.js → Environment.ts} +28 -17
  291. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  292. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  293. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  294. package/src/public/{Target.js → Target.ts} +10 -8
  295. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  296. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +129 -80
  297. package/src/requests/AssetGraphRequestRust.ts +364 -0
  298. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  299. package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +46 -32
  300. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  301. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +93 -76
  302. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +71 -50
  303. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  304. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  305. package/src/requests/{PackageRequest.js → PackageRequest.ts} +20 -22
  306. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  307. package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
  308. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  309. package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
  310. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
  311. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  312. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  313. package/src/{resolveOptions.js → resolveOptions.ts} +57 -24
  314. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  315. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  316. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  317. package/src/types.ts +650 -0
  318. package/src/{utils.js → utils.ts} +52 -21
  319. package/src/{worker.js → worker.ts} +50 -42
  320. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
  321. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  322. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  323. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  324. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  325. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  326. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  327. package/test/Environment.test.ts +153 -0
  328. package/test/EnvironmentManager.test.ts +188 -0
  329. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  330. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  331. package/test/PackagerRunner.test.ts +0 -0
  332. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  333. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  334. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  335. package/test/PublicEnvironment.test.ts +49 -0
  336. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  337. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
  338. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  339. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
  340. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  341. package/test/fixtures/custom-targets/package.json +6 -0
  342. package/test/public/Config.test.ts +104 -0
  343. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  344. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  345. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  346. package/test/{test-utils.js → test-utils.ts} +4 -11
  347. package/test/{utils.test.js → utils.test.ts} +1 -3
  348. package/tsconfig.json +60 -0
  349. package/tsconfig.tsbuildinfo +1 -0
  350. package/index.d.ts +0 -30
  351. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  352. package/src/atlaspack-v3/jsCallable.js +0 -18
  353. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  354. package/src/index.js +0 -13
  355. package/src/requests/AssetGraphRequestRust.js +0 -263
  356. package/src/types.js +0 -600
  357. package/test/Environment.test.js +0 -119
  358. package/test/PackagerRunner.test.js +0 -27
  359. package/test/PublicEnvironment.test.js +0 -27
  360. 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
  }
@@ -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,22 @@ 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 {
393
411
  if (options.shouldProfile) {
394
412
  await this.startProfiling();
395
413
  }
414
+ if (options.nativeProfiler) {
415
+ const nativeProfiler = new (_profiler().NativeProfiler)();
416
+ await nativeProfiler.startProfiling(options.nativeProfiler);
417
+ }
396
418
  if (options.shouldTrace) {
397
419
  _profiler().tracer.enable();
420
+ // We need to ensure the tracer is disabled when Atlaspack is disposed as it is a module level object.
421
+ // While rare (except for tests), if another instance is created later it should not have tracing enabled.
422
+ this.#disposable.add(() => {
423
+ _profiler().tracer.disable();
424
+ });
398
425
  }
399
426
  await this.#reporterRunner.report({
400
427
  type: 'buildStart'
@@ -409,19 +436,21 @@ class Atlaspack {
409
436
  bundleGraph,
410
437
  bundleInfo,
411
438
  changedAssets,
412
- assetRequests
439
+ assetRequests,
440
+ scopeHoistingStats
413
441
  } = await this.#requestTracker.runRequest(request, {
414
442
  force: true
415
443
  });
416
444
  this.#requestedAssetIds.clear();
417
445
  await (0, _dumpGraphToGraphViz.default)(
418
- // $FlowFixMe
446
+ // @ts-expect-error TS2345
419
447
  this.#requestTracker.graph, 'RequestGraph', _RequestTracker.requestGraphEdgeTypes);
420
448
  let event = {
421
449
  type: 'buildSuccess',
422
450
  changedAssets: new Map(Array.from(changedAssets).map(([id, asset]) => [id, (0, _Asset.assetFromValue)(asset, options)])),
423
451
  bundleGraph: new _BundleGraph.default(bundleGraph, (bundle, bundleGraph, options) => _Bundle.PackagedBundle.getWithInfo(bundle, bundleGraph, options, bundleInfo.get(bundle.id)), options),
424
452
  buildTime: Date.now() - startTime,
453
+ // @ts-expect-error TS7006
425
454
  requestBundle: async bundle => {
426
455
  let bundleNode = bundleGraph._graph.getNodeByContentKey(bundle.id);
427
456
  (0, _assert().default)((bundleNode === null || bundleNode === void 0 ? void 0 : bundleNode.type) === 'bundle', 'Bundle does not exist');
@@ -433,7 +462,8 @@ class Atlaspack {
433
462
  bundleGraph: event.bundleGraph,
434
463
  buildTime: 0,
435
464
  requestBundle: event.requestBundle,
436
- unstable_requestStats: {}
465
+ unstable_requestStats: {},
466
+ scopeHoistingStats: event.scopeHoistingStats
437
467
  };
438
468
  }
439
469
  for (let assetId of bundleNode.value.entryAssetIds) {
@@ -447,15 +477,22 @@ class Atlaspack {
447
477
  }
448
478
  let results = await this.#watchQueue.run();
449
479
  let result = results.filter(Boolean).pop();
480
+ // @ts-expect-error TS18049
450
481
  if (result.type === 'buildFailure') {
482
+ // @ts-expect-error TS18049
451
483
  throw new BuildError(result.diagnostics);
452
484
  }
453
485
  return result;
454
486
  },
455
- unstable_requestStats: this.#requestTracker.flushStats()
487
+ unstable_requestStats: this.#requestTracker.flushStats(),
488
+ scopeHoistingStats
456
489
  };
490
+
491
+ // @ts-expect-error TS2345
457
492
  await this.#reporterRunner.report(event);
458
- await this.#requestTracker.runRequest((0, _ValidationRequest.default)({
493
+ await this.#requestTracker.runRequest(
494
+ // @ts-expect-error TS2345
495
+ (0, _ValidationRequest.default)({
459
496
  optionsRef: this.#optionsRef,
460
497
  assetRequests
461
498
  }), {
@@ -464,6 +501,8 @@ class Atlaspack {
464
501
  if (this.#reporterRunner.errors.length) {
465
502
  throw this.#reporterRunner.errors;
466
503
  }
504
+
505
+ // @ts-expect-error TS2322
467
506
  return event;
468
507
  } catch (e) {
469
508
  if (e instanceof _utils.BuildAbortError) {
@@ -475,7 +514,10 @@ class Atlaspack {
475
514
  diagnostics: Array.isArray(diagnostic) ? diagnostic : [diagnostic],
476
515
  unstable_requestStats: this.#requestTracker.flushStats()
477
516
  };
517
+
518
+ // @ts-expect-error TS2345
478
519
  await this.#reporterRunner.report(event);
520
+ // @ts-expect-error TS2322
479
521
  return event;
480
522
  } finally {
481
523
  if (this.isProfiling) {
@@ -510,7 +552,9 @@ class Atlaspack {
510
552
  if (this.rustAtlaspack) {
511
553
  nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
512
554
  }
513
- let isInvalid = await this.#requestTracker.respondToFSEvents(events, Number.POSITIVE_INFINITY);
555
+ let {
556
+ didInvalidate: isInvalid
557
+ } = await this.#requestTracker.respondToFSEvents(events, Number.POSITIVE_INFINITY);
514
558
  if ((nativeInvalid || isInvalid) && this.#watchQueue.getNumWaiting() === 0) {
515
559
  if (this.#watchAbortController) {
516
560
  this.#watchAbortController.abort();
@@ -586,7 +630,11 @@ class Atlaspack {
586
630
  requestedAssetIds: this.#requestedAssetIds
587
631
  };
588
632
  const start = Date.now();
589
- const result = await this.#requestTracker.runRequest(this.rustAtlaspack != null ? (0, _AssetGraphRequestRust.createAssetGraphRequestRust)(this.rustAtlaspack)(input) : (0, _AssetGraphRequest.default)(input), {
633
+ const result = await this.#requestTracker.runRequest(this.rustAtlaspack != null ?
634
+ // @ts-expect-error TS2345
635
+ (0, _AssetGraphRequestRust.createAssetGraphRequestRust)(this.rustAtlaspack)(input) :
636
+ // @ts-expect-error TS2345
637
+ (0, _AssetGraphRequest.default)(input), {
590
638
  force: true
591
639
  });
592
640
  const duration = Date.now() - start;
@@ -673,6 +721,7 @@ class Atlaspack {
673
721
  return null;
674
722
  }
675
723
  return {
724
+ // @ts-expect-error TS2322
676
725
  filePath: (0, _projectPath.fromProjectPath)(projectRoot, res.filePath),
677
726
  code: res.code,
678
727
  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
  },