@atlaspack/core 2.16.2-canary.27 → 2.16.2-canary.270

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 (358) hide show
  1. package/CHANGELOG.md +665 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +658 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +108 -0
  6. package/dist/BundleGraph.js +1635 -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 +490 -0
  19. package/dist/UncommittedAsset.js +315 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +305 -0
  22. package/dist/assetUtils.js +168 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +70 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +57 -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 +94 -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 +297 -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 +359 -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 +429 -0
  59. package/dist/requests/AssetGraphRequestRust.js +262 -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 +445 -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 +268 -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 +81 -37
  84. package/lib/AtlaspackConfig.js +15 -3
  85. package/lib/AtlaspackConfig.schema.js +7 -5
  86. package/lib/BundleGraph.js +90 -32
  87. package/lib/CommittedAsset.js +6 -0
  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 +26 -10
  99. package/lib/UncommittedAsset.js +30 -9
  100. package/lib/Validation.js +18 -2
  101. package/lib/applyRuntimes.js +9 -1
  102. package/lib/assetUtils.js +7 -4
  103. package/lib/atlaspack-v3/AtlaspackV3.js +32 -7
  104. package/lib/atlaspack-v3/NapiWorkerPool.js +3 -0
  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 +7 -6
  110. package/lib/atlaspack-v3/worker/compat/dependency.js +3 -0
  111. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  112. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +14 -9
  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 +43 -7
  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 +10 -4
  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 +42 -5
  137. package/lib/requests/AssetGraphRequestRust.js +126 -62
  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 +34 -19
  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 +36 -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 +46 -0
  159. package/lib/types/BundleGraph.d.ts +182 -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 +15 -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 +70 -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 +74 -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 +493 -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 +29 -13
  238. package/package.json +24 -34
  239. package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
  240. package/src/{Atlaspack.js → Atlaspack.ts} +114 -61
  241. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +16 -19
  242. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  243. package/src/{BundleGraph.js → BundleGraph.ts} +231 -140
  244. package/src/{CommittedAsset.js → CommittedAsset.ts} +14 -12
  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} +178 -86
  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} +71 -62
  256. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +57 -36
  257. package/src/{Validation.js → Validation.ts} +32 -17
  258. package/src/{applyRuntimes.js → applyRuntimes.ts} +35 -26
  259. package/src/{assetUtils.js → assetUtils.ts} +47 -35
  260. package/src/atlaspack-v3/AtlaspackV3.ts +122 -0
  261. package/src/atlaspack-v3/{NapiWorkerPool.js → NapiWorkerPool.ts} +10 -5
  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.js → bitflags.ts} +9 -10
  267. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +12 -12
  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} +20 -19
  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} +102 -66
  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} +40 -27
  285. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  286. package/src/public/{BundleGraph.js → BundleGraph.ts} +81 -50
  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} +84 -49
  297. package/src/requests/AssetGraphRequestRust.ts +352 -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} +71 -58
  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} +56 -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 +647 -0
  318. package/src/{utils.js → utils.ts} +52 -21
  319. package/src/{worker.js → worker.ts} +49 -41
  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} +75 -15
  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.js → AssetGraphRequestRust.test.ts} +164 -134
  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 +57 -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/index.js +0 -13
  354. package/src/requests/AssetGraphRequestRust.js +0 -263
  355. package/src/types.js +0 -600
  356. package/test/Environment.test.js +0 -119
  357. package/test/PackagerRunner.test.js +0 -27
  358. package/test/PublicEnvironment.test.js +0 -27
@@ -1,4 +1,3 @@
1
- // @flow strict-local
2
1
  import type {
3
2
  Asset,
4
3
  AsyncSubscription,
@@ -47,10 +46,11 @@ import {Disposable} from '@atlaspack/events';
47
46
  import {init as initSourcemaps} from '@parcel/source-map';
48
47
  import {LMDBLiteCache} from '@atlaspack/cache';
49
48
  import {
49
+ // @ts-expect-error TS2305
50
50
  init as initRust,
51
51
  initializeMonitoring,
52
52
  closeMonitoring,
53
- type Lmdb,
53
+ Lmdb,
54
54
  } from '@atlaspack/rust';
55
55
  import {
56
56
  fromProjectPath,
@@ -69,39 +69,53 @@ registerCoreWithSerializer();
69
69
 
70
70
  export const INTERNAL_TRANSFORM: symbol = Symbol('internal_transform');
71
71
  export const INTERNAL_RESOLVE: symbol = Symbol('internal_resolve');
72
- export const WORKER_PATH: string = path.join(__dirname, 'worker.js');
72
+ export let WORKER_PATH: string = path.join(__dirname, 'worker.js');
73
+ if (__filename.endsWith('.ts')) {
74
+ WORKER_PATH = path.join(__dirname, 'worker.ts');
75
+ }
73
76
 
74
77
  export default class Atlaspack {
75
- #requestTracker /*: RequestTracker*/;
76
- #config /*: AtlaspackConfig*/;
77
- #farm /*: WorkerFarm*/;
78
- #initialized /*: boolean*/ = false;
79
- #disposable /*: Disposable */;
80
- #initialOptions /*: InitialAtlaspackOptions */;
81
- #reporterRunner /*: ReporterRunner*/;
82
- #resolvedOptions /*: ?AtlaspackOptions*/ = null;
83
- #optionsRef /*: SharedReference */;
84
- #watchAbortController /*: AbortController*/;
85
- #watchQueue /*: PromiseQueue<?BuildEvent>*/ = new PromiseQueue<?BuildEvent>({
78
+ // @ts-expect-error TS2564
79
+ #requestTracker: RequestTracker;
80
+ // @ts-expect-error TS2564
81
+ #config: AtlaspackConfig;
82
+ // @ts-expect-error TS2564
83
+ #farm: WorkerFarm;
84
+ #initialized: boolean = false;
85
+ // @ts-expect-error TS2564
86
+ #disposable: Disposable;
87
+ #initialOptions: InitialAtlaspackOptions;
88
+ // @ts-expect-error TS2564
89
+ #reporterRunner: ReporterRunner;
90
+ #resolvedOptions: AtlaspackOptions | null | undefined = null;
91
+ // @ts-expect-error TS2564
92
+ #optionsRef: SharedReference;
93
+ // @ts-expect-error TS2564
94
+ #watchAbortController: AbortController;
95
+ #watchQueue: PromiseQueue<BuildEvent | null | undefined> = new PromiseQueue<
96
+ BuildEvent | null | undefined
97
+ >({
86
98
  maxConcurrent: 1,
87
99
  });
88
- #watchEvents /*: ValueEmitter<
89
- | {|
90
- +error: Error,
91
- +buildEvent?: void,
92
- |}
93
- | {|
94
- +buildEvent: BuildEvent,
95
- +error?: void,
96
- |},
97
- > */;
98
- #watcherSubscription /*: ?AsyncSubscription*/;
99
- #watcherCount /*: number*/ = 0;
100
- #requestedAssetIds /*: Set<string>*/ = new Set();
101
-
102
- rustAtlaspack: AtlaspackV3 | null | void;
103
-
104
- isProfiling /*: boolean */;
100
+ // @ts-expect-error TS2564
101
+ #watchEvents: ValueEmitter<
102
+ | {
103
+ readonly error: Error;
104
+ readonly buildEvent?: undefined;
105
+ }
106
+ | {
107
+ readonly buildEvent: BuildEvent;
108
+ readonly error?: undefined;
109
+ }
110
+ >;
111
+ #watcherSubscription: AsyncSubscription | null | undefined;
112
+ #watcherCount: number = 0;
113
+ #requestedAssetIds: Set<string> = new Set();
114
+
115
+ rustAtlaspack: AtlaspackV3 | null | undefined;
116
+
117
+ // @ts-expect-error TS2564
118
+ isProfiling: boolean;
105
119
 
106
120
  constructor(options: InitialAtlaspackOptions) {
107
121
  this.#initialOptions = options;
@@ -115,7 +129,7 @@ export default class Atlaspack {
115
129
  const featureFlags = {
116
130
  ...DEFAULT_FEATURE_FLAGS,
117
131
  ...this.#initialOptions.featureFlags,
118
- };
132
+ } as const;
119
133
  setFeatureFlags(featureFlags);
120
134
 
121
135
  loadRustWorkerThreadDylibHack();
@@ -138,7 +152,7 @@ export default class Atlaspack {
138
152
  process.off('exit', onExit);
139
153
  onExit();
140
154
  });
141
- } catch (e) {
155
+ } catch (e: any) {
142
156
  // Fallthrough
143
157
  // eslint-disable-next-line no-console
144
158
  console.warn(e);
@@ -161,7 +175,6 @@ export default class Atlaspack {
161
175
 
162
176
  const lmdb: Lmdb = resolvedOptions.cache.getNativeRef();
163
177
 
164
- // $FlowFixMe
165
178
  const version = require('../package.json').version;
166
179
  await lmdb.put('current_session_version', Buffer.from(version));
167
180
 
@@ -174,20 +187,25 @@ export default class Atlaspack {
174
187
 
175
188
  rustAtlaspack = await AtlaspackV3.create({
176
189
  ...options,
190
+ // @ts-expect-error TS2353
177
191
  corePath: path.join(__dirname, '..'),
178
192
  threads,
179
193
  entries: Array.isArray(entries)
180
194
  ? entries
181
195
  : entries == null
182
- ? undefined
183
- : [entries],
196
+ ? undefined
197
+ : [entries],
184
198
  env: resolvedOptions.env,
185
199
  fs: inputFS && new FileSystemV3(inputFS),
186
- // $FlowFixMe ProjectPath is a string
187
200
  defaultTargetOptions: resolvedOptions.defaultTargetOptions,
188
201
  lmdb,
202
+ featureFlags: resolvedOptions.featureFlags,
203
+ });
204
+ this.#disposable.add(() => {
205
+ rustAtlaspack.end();
189
206
  });
190
207
  }
208
+ // @ts-expect-error TS2454
191
209
  this.rustAtlaspack = rustAtlaspack;
192
210
 
193
211
  let {config} = await loadAtlaspackConfig(resolvedOptions);
@@ -238,6 +256,7 @@ export default class Atlaspack {
238
256
  this.#requestTracker = await RequestTracker.init({
239
257
  farm: this.#farm,
240
258
  options: resolvedOptions,
259
+ // @ts-expect-error TS2454
241
260
  rustAtlaspack,
242
261
  });
243
262
 
@@ -279,7 +298,7 @@ export default class Atlaspack {
279
298
 
280
299
  try {
281
300
  await this.#requestTracker.writeToCache(abortController.signal);
282
- } catch (err) {
301
+ } catch (err: any) {
283
302
  if (!abortController.signal.aborted) {
284
303
  // We expect abort errors if we interrupt the cache write
285
304
  throw err;
@@ -290,7 +309,7 @@ export default class Atlaspack {
290
309
  }
291
310
  }
292
311
 
293
- async _startNextBuild(): Promise<?BuildEvent> {
312
+ async _startNextBuild(): Promise<BuildEvent | null | undefined> {
294
313
  this.#watchAbortController = new AbortController();
295
314
  await this.clearBuildCaches();
296
315
 
@@ -304,7 +323,7 @@ export default class Atlaspack {
304
323
  });
305
324
 
306
325
  return buildEvent;
307
- } catch (err) {
326
+ } catch (err: any) {
308
327
  // Ignore BuildAbortErrors and only emit critical errors.
309
328
  if (!(err instanceof BuildAbortError)) {
310
329
  throw err;
@@ -316,12 +335,13 @@ export default class Atlaspack {
316
335
  }
317
336
 
318
337
  async watch(
319
- cb?: (err: ?Error, buildEvent?: BuildEvent) => mixed,
338
+ cb?: (err?: Error | null | undefined, buildEvent?: BuildEvent) => unknown,
320
339
  ): Promise<AsyncSubscription> {
321
340
  if (!this.#initialized) {
322
341
  await this._init();
323
342
  }
324
343
 
344
+ // @ts-expect-error TS7034
325
345
  let watchEventsDisposable;
326
346
  if (cb) {
327
347
  watchEventsDisposable = this.#watchEvents.addListener(
@@ -341,8 +361,10 @@ export default class Atlaspack {
341
361
 
342
362
  this.#watcherCount++;
343
363
 
364
+ // @ts-expect-error TS7034
344
365
  let unsubscribePromise;
345
366
  const unsubscribe = async () => {
367
+ // @ts-expect-error TS7005
346
368
  if (watchEventsDisposable) {
347
369
  watchEventsDisposable.dispose();
348
370
  }
@@ -360,10 +382,12 @@ export default class Atlaspack {
360
382
 
361
383
  return {
362
384
  unsubscribe() {
385
+ // @ts-expect-error TS7005
363
386
  if (unsubscribePromise == null) {
364
387
  unsubscribePromise = unsubscribe();
365
388
  }
366
389
 
390
+ // @ts-expect-error TS7005
367
391
  return unsubscribePromise;
368
392
  },
369
393
  };
@@ -372,13 +396,12 @@ export default class Atlaspack {
372
396
  async _build({
373
397
  signal,
374
398
  startTime = Date.now(),
375
- }: {|
376
- signal?: AbortSignal,
377
- startTime?: number,
378
- |} = {
399
+ }: {
400
+ signal?: AbortSignal;
401
+ startTime?: number;
402
+ } = {
379
403
  /*::...null*/
380
404
  }): Promise<BuildEvent> {
381
- this.#requestTracker.setSignal(signal);
382
405
  let options = nullthrows(this.#resolvedOptions);
383
406
  try {
384
407
  if (options.shouldProfile) {
@@ -386,6 +409,11 @@ export default class Atlaspack {
386
409
  }
387
410
  if (options.shouldTrace) {
388
411
  tracer.enable();
412
+ // We need to ensure the tracer is disabled when Atlaspack is disposed as it is a module level object.
413
+ // While rare (except for tests), if another instance is created later it should not have tracing enabled.
414
+ this.#disposable.add(() => {
415
+ tracer.disable();
416
+ });
389
417
  }
390
418
  await this.#reporterRunner.report({
391
419
  type: 'buildStart',
@@ -399,13 +427,18 @@ export default class Atlaspack {
399
427
  signal,
400
428
  });
401
429
 
402
- let {bundleGraph, bundleInfo, changedAssets, assetRequests} =
403
- await this.#requestTracker.runRequest(request, {force: true});
430
+ let {
431
+ bundleGraph,
432
+ bundleInfo,
433
+ changedAssets,
434
+ assetRequests,
435
+ scopeHoistingStats,
436
+ } = await this.#requestTracker.runRequest(request, {force: true});
404
437
 
405
438
  this.#requestedAssetIds.clear();
406
439
 
407
440
  await dumpGraphToGraphViz(
408
- // $FlowFixMe
441
+ // @ts-expect-error TS2345
409
442
  this.#requestTracker.graph,
410
443
  'RequestGraph',
411
444
  requestGraphEdgeTypes,
@@ -414,14 +447,20 @@ export default class Atlaspack {
414
447
  let event = {
415
448
  type: 'buildSuccess',
416
449
  changedAssets: new Map(
417
- Array.from(changedAssets).map(([id, asset]) => [
450
+ Array.from(changedAssets).map(([id, asset]: [any, any]) => [
418
451
  id,
419
452
  assetFromValue(asset, options),
420
453
  ]),
421
454
  ),
422
455
  bundleGraph: new BundleGraph<IPackagedBundle>(
423
456
  bundleGraph,
424
- (bundle, bundleGraph, options) =>
457
+ (
458
+ // @ts-expect-error TS2304
459
+ bundle: Bundle,
460
+ // @ts-expect-error TS2314
461
+ bundleGraph: BundleGraph,
462
+ options: AtlaspackOptions,
463
+ ) =>
425
464
  PackagedBundle.getWithInfo(
426
465
  bundle,
427
466
  bundleGraph,
@@ -431,6 +470,7 @@ export default class Atlaspack {
431
470
  options,
432
471
  ),
433
472
  buildTime: Date.now() - startTime,
473
+ // @ts-expect-error TS7006
434
474
  requestBundle: async (bundle) => {
435
475
  let bundleNode = bundleGraph._graph.getNodeByContentKey(bundle.id);
436
476
  invariant(bundleNode?.type === 'bundle', 'Bundle does not exist');
@@ -444,6 +484,7 @@ export default class Atlaspack {
444
484
  buildTime: 0,
445
485
  requestBundle: event.requestBundle,
446
486
  unstable_requestStats: {},
487
+ scopeHoistingStats: event.scopeHoistingStats,
447
488
  };
448
489
  }
449
490
 
@@ -461,17 +502,22 @@ export default class Atlaspack {
461
502
 
462
503
  let results = await this.#watchQueue.run();
463
504
  let result = results.filter(Boolean).pop();
505
+ // @ts-expect-error TS18049
464
506
  if (result.type === 'buildFailure') {
507
+ // @ts-expect-error TS18049
465
508
  throw new BuildError(result.diagnostics);
466
509
  }
467
510
 
468
511
  return result;
469
512
  },
470
513
  unstable_requestStats: this.#requestTracker.flushStats(),
514
+ scopeHoistingStats,
471
515
  };
472
516
 
517
+ // @ts-expect-error TS2345
473
518
  await this.#reporterRunner.report(event);
474
519
  await this.#requestTracker.runRequest(
520
+ // @ts-expect-error TS2345
475
521
  createValidationRequest({optionsRef: this.#optionsRef, assetRequests}),
476
522
  {force: assetRequests.length > 0},
477
523
  );
@@ -480,8 +526,9 @@ export default class Atlaspack {
480
526
  throw this.#reporterRunner.errors;
481
527
  }
482
528
 
529
+ // @ts-expect-error TS2322
483
530
  return event;
484
- } catch (e) {
531
+ } catch (e: any) {
485
532
  if (e instanceof BuildAbortError) {
486
533
  throw e;
487
534
  }
@@ -493,7 +540,9 @@ export default class Atlaspack {
493
540
  unstable_requestStats: this.#requestTracker.flushStats(),
494
541
  };
495
542
 
543
+ // @ts-expect-error TS2345
496
544
  await this.#reporterRunner.report(event);
545
+ // @ts-expect-error TS2322
497
546
  return event;
498
547
  } finally {
499
548
  if (this.isProfiling) {
@@ -533,10 +582,11 @@ export default class Atlaspack {
533
582
  nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
534
583
  }
535
584
 
536
- let isInvalid = await this.#requestTracker.respondToFSEvents(
537
- events,
538
- Number.POSITIVE_INFINITY,
539
- );
585
+ let {didInvalidate: isInvalid} =
586
+ await this.#requestTracker.respondToFSEvents(
587
+ events,
588
+ Number.POSITIVE_INFINITY,
589
+ );
540
590
 
541
591
  if (
542
592
  (nativeInvalid || isInvalid) &&
@@ -620,13 +670,15 @@ export default class Atlaspack {
620
670
  lazyIncludes: [],
621
671
  lazyExcludes: [],
622
672
  requestedAssetIds: this.#requestedAssetIds,
623
- };
673
+ } as const;
624
674
 
625
675
  const start = Date.now();
626
676
  const result = await this.#requestTracker.runRequest(
627
677
  this.rustAtlaspack != null
628
- ? createAssetGraphRequestRust(this.rustAtlaspack)(input)
629
- : createAssetGraphRequestJS(input),
678
+ ? // @ts-expect-error TS2345
679
+ createAssetGraphRequestRust(this.rustAtlaspack)(input)
680
+ : // @ts-expect-error TS2345
681
+ createAssetGraphRequestJS(input),
630
682
  {force: true},
631
683
  );
632
684
 
@@ -694,7 +746,7 @@ export default class Atlaspack {
694
746
 
695
747
  async unstable_resolve(
696
748
  request: AtlaspackResolveOptions,
697
- ): Promise<?AtlaspackResolveResult> {
749
+ ): Promise<AtlaspackResolveResult | null | undefined> {
698
750
  if (!this.#initialized) {
699
751
  await this._init();
700
752
  }
@@ -733,6 +785,7 @@ export default class Atlaspack {
733
785
  }
734
786
 
735
787
  return {
788
+ // @ts-expect-error TS2322
736
789
  filePath: fromProjectPath(projectRoot, res.filePath),
737
790
  code: res.code,
738
791
  query: res.query,
@@ -749,7 +802,7 @@ export class BuildError extends ThrowableDiagnostic {
749
802
  }
750
803
 
751
804
  export function createWorkerFarm(
752
- options: $Shape<FarmOptions> = {},
805
+ options: Partial<FarmOptions> = {},
753
806
  ): WorkerFarm {
754
807
  return new WorkerFarm({
755
808
  ...options,
@@ -1,19 +1,14 @@
1
- // @flow strict-local
2
1
  import type {PackageName} from '@atlaspack/types';
3
2
  import type {SchemaEntity} from '@atlaspack/utils';
4
3
 
5
4
  // Parcel validates plugin package names due to:
6
- //
7
5
  // * https://github.com/parcel-bundler/parcel/issues/3397#issuecomment-521353931
8
- //
9
6
  // Ultimately:
10
- //
11
7
  // * We do not care about package names
12
8
  // * Validation makes interop between parcel/atlaspack confusing.
13
- //
14
9
  export function validatePackageName(
15
10
  // eslint-disable-next-line no-unused-vars
16
- pkg: ?PackageName,
11
+ pkg: PackageName | null | undefined,
17
12
  // eslint-disable-next-line no-unused-vars
18
13
  pluginType: string,
19
14
  // eslint-disable-next-line no-unused-vars
@@ -27,7 +22,7 @@ const validatePluginName = (pluginType: string, key: string) => {
27
22
 
28
23
  try {
29
24
  validatePackageName(val, pluginType, key);
30
- } catch (e) {
25
+ } catch (e: any) {
31
26
  return e.message;
32
27
  }
33
28
  };
@@ -39,7 +34,7 @@ const validateExtends = (val: string): void => {
39
34
 
40
35
  try {
41
36
  validatePackageName(val, 'config', 'extends');
42
- } catch (e) {
37
+ } catch (e: any) {
43
38
  return e.message;
44
39
  }
45
40
  };
@@ -96,20 +91,22 @@ export default {
96
91
  },
97
92
  bundler: {
98
93
  type: 'string',
99
- __validate: (validatePluginName('bundler', 'bundler'): (string) => void),
94
+ __validate: validatePluginName('bundler', 'bundler') as (
95
+ arg1: string,
96
+ ) => void,
100
97
  },
101
- resolvers: (pipelineSchema('resolver', 'resolvers'): SchemaEntity),
102
- transformers: (mapPipelineSchema(
98
+ resolvers: pipelineSchema('resolver', 'resolvers') as SchemaEntity,
99
+ transformers: mapPipelineSchema(
103
100
  'transformer',
104
101
  'transformers',
105
- ): SchemaEntity),
106
- validators: (mapPipelineSchema('validator', 'validators'): SchemaEntity),
107
- namers: (pipelineSchema('namer', 'namers'): SchemaEntity),
108
- packagers: (mapStringSchema('packager', 'packagers'): SchemaEntity),
109
- optimizers: (mapPipelineSchema('optimizer', 'optimizers'): SchemaEntity),
110
- compressors: (mapPipelineSchema('compressor', 'compressors'): SchemaEntity),
111
- reporters: (pipelineSchema('reporter', 'reporters'): SchemaEntity),
112
- runtimes: (pipelineSchema('runtime', 'runtimes'): SchemaEntity),
102
+ ) as SchemaEntity,
103
+ validators: mapPipelineSchema('validator', 'validators') as SchemaEntity,
104
+ namers: pipelineSchema('namer', 'namers') as SchemaEntity,
105
+ packagers: mapStringSchema('packager', 'packagers') as SchemaEntity,
106
+ optimizers: mapPipelineSchema('optimizer', 'optimizers') as SchemaEntity,
107
+ compressors: mapPipelineSchema('compressor', 'compressors') as SchemaEntity,
108
+ reporters: pipelineSchema('reporter', 'reporters') as SchemaEntity,
109
+ runtimes: pipelineSchema('runtime', 'runtimes') as SchemaEntity,
113
110
  filePath: {
114
111
  type: 'string',
115
112
  },