@atlaspack/core 2.16.2-canary.48 → 2.16.2-canary.481

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +1324 -0
  2. package/dist/AssetGraph.js +523 -0
  3. package/dist/Atlaspack.js +701 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1906 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +470 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1297 -0
  16. package/dist/SymbolPropagation.js +624 -0
  17. package/dist/TargetDescriptor.schema.js +146 -0
  18. package/dist/Transformation.js +514 -0
  19. package/dist/UncommittedAsset.js +310 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +384 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +83 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +114 -0
  25. package/dist/atlaspack-v3/fs.js +53 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +98 -0
  30. package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
  31. package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
  32. package/dist/atlaspack-v3/worker/compat/index.js +24 -0
  33. package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
  34. package/dist/atlaspack-v3/worker/compat/plugin-config.js +64 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  37. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  38. package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
  39. package/dist/atlaspack-v3/worker/worker.js +398 -0
  40. package/dist/constants.js +17 -0
  41. package/dist/dumpGraphToGraphViz.js +281 -0
  42. package/dist/index.js +62 -0
  43. package/dist/loadAtlaspackPlugin.js +128 -0
  44. package/dist/loadDotEnv.js +41 -0
  45. package/dist/projectPath.js +83 -0
  46. package/dist/public/Asset.js +279 -0
  47. package/dist/public/Bundle.js +224 -0
  48. package/dist/public/BundleGraph.js +371 -0
  49. package/dist/public/BundleGroup.js +53 -0
  50. package/dist/public/Config.js +286 -0
  51. package/dist/public/Dependency.js +138 -0
  52. package/dist/public/Environment.js +278 -0
  53. package/dist/public/MutableBundleGraph.js +277 -0
  54. package/dist/public/PluginOptions.js +80 -0
  55. package/dist/public/Symbols.js +248 -0
  56. package/dist/public/Target.js +69 -0
  57. package/dist/registerCoreWithSerializer.js +38 -0
  58. package/dist/requests/AssetGraphRequest.js +430 -0
  59. package/dist/requests/AssetGraphRequestRust.js +471 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +98 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  63. package/dist/requests/BundleGraphRequest.js +381 -0
  64. package/dist/requests/BundleGraphRequestRust.js +324 -0
  65. package/dist/requests/BundleGraphRequestUtils.js +262 -0
  66. package/dist/requests/ConfigRequest.js +246 -0
  67. package/dist/requests/DevDepRequest.js +204 -0
  68. package/dist/requests/EntryRequest.js +314 -0
  69. package/dist/requests/PackageRequest.js +89 -0
  70. package/dist/requests/PathRequest.js +349 -0
  71. package/dist/requests/TargetRequest.js +1316 -0
  72. package/dist/requests/ValidationRequest.js +49 -0
  73. package/dist/requests/WriteBundleRequest.js +522 -0
  74. package/dist/requests/WriteBundlesRequest.js +190 -0
  75. package/dist/requests/asset-graph-diff.js +128 -0
  76. package/dist/requests/asset-graph-dot.js +131 -0
  77. package/dist/resolveOptions.js +267 -0
  78. package/dist/rustWorkerThreadDylibHack.js +19 -0
  79. package/dist/serializerCore.browser.js +43 -0
  80. package/dist/summarizeRequest.js +39 -0
  81. package/dist/types.js +31 -0
  82. package/dist/utils.js +172 -0
  83. package/dist/worker.js +123 -0
  84. package/lib/AssetGraph.js +53 -15
  85. package/lib/Atlaspack.js +140 -56
  86. package/lib/AtlaspackConfig.js +17 -6
  87. package/lib/AtlaspackConfig.schema.js +16 -5
  88. package/lib/BundleGraph.js +390 -43
  89. package/lib/CommittedAsset.js +8 -2
  90. package/lib/Dependency.js +9 -3
  91. package/lib/Environment.js +16 -10
  92. package/lib/EnvironmentManager.js +143 -0
  93. package/lib/IdentifierRegistry.js +2 -4
  94. package/lib/InternalConfig.js +3 -2
  95. package/lib/PackagerRunner.js +46 -82
  96. package/lib/ReporterRunner.js +8 -12
  97. package/lib/RequestTracker.js +191 -152
  98. package/lib/SymbolPropagation.js +52 -29
  99. package/lib/TargetDescriptor.schema.js +10 -1
  100. package/lib/Transformation.js +68 -19
  101. package/lib/UncommittedAsset.js +17 -24
  102. package/lib/Validation.js +20 -5
  103. package/lib/applyRuntimes.js +98 -7
  104. package/lib/assetUtils.js +16 -6
  105. package/lib/atlaspack-v3/AtlaspackV3.js +58 -15
  106. package/lib/atlaspack-v3/NapiWorkerPool.js +63 -2
  107. package/lib/atlaspack-v3/fs.js +4 -1
  108. package/lib/atlaspack-v3/index.js +28 -1
  109. package/lib/atlaspack-v3/jsCallable.js +0 -2
  110. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  111. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  112. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  113. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  114. package/lib/atlaspack-v3/worker/compat/index.js +0 -11
  115. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +16 -11
  116. package/lib/atlaspack-v3/worker/compat/plugin-config.js +14 -35
  117. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -2
  118. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  119. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  120. package/lib/atlaspack-v3/worker/index.js +3 -0
  121. package/lib/atlaspack-v3/worker/side-effect-detector.js +214 -0
  122. package/lib/atlaspack-v3/worker/worker.js +231 -79
  123. package/lib/constants.js +0 -1
  124. package/lib/dumpGraphToGraphViz.js +72 -17
  125. package/lib/index.js +46 -3
  126. package/lib/loadAtlaspackPlugin.js +2 -3
  127. package/lib/loadDotEnv.js +5 -2
  128. package/lib/projectPath.js +6 -1
  129. package/lib/public/Asset.js +22 -12
  130. package/lib/public/Bundle.js +16 -18
  131. package/lib/public/BundleGraph.js +27 -25
  132. package/lib/public/BundleGroup.js +5 -6
  133. package/lib/public/Config.js +118 -18
  134. package/lib/public/Dependency.js +9 -7
  135. package/lib/public/Environment.js +13 -8
  136. package/lib/public/MutableBundleGraph.js +56 -15
  137. package/lib/public/PluginOptions.js +2 -2
  138. package/lib/public/Symbols.js +12 -12
  139. package/lib/public/Target.js +8 -7
  140. package/lib/registerCoreWithSerializer.js +7 -4
  141. package/lib/requests/AssetGraphRequest.js +61 -40
  142. package/lib/requests/AssetGraphRequestRust.js +314 -82
  143. package/lib/requests/AssetRequest.js +24 -7
  144. package/lib/requests/AtlaspackBuildRequest.js +53 -7
  145. package/lib/requests/AtlaspackConfigRequest.js +29 -19
  146. package/lib/requests/BundleGraphRequest.js +61 -130
  147. package/lib/requests/BundleGraphRequestRust.js +381 -0
  148. package/lib/requests/BundleGraphRequestUtils.js +280 -0
  149. package/lib/requests/ConfigRequest.js +55 -7
  150. package/lib/requests/DevDepRequest.js +32 -6
  151. package/lib/requests/EntryRequest.js +4 -3
  152. package/lib/requests/PackageRequest.js +56 -12
  153. package/lib/requests/PathRequest.js +26 -6
  154. package/lib/requests/TargetRequest.js +129 -60
  155. package/lib/requests/ValidationRequest.js +6 -2
  156. package/lib/requests/WriteBundleRequest.js +329 -20
  157. package/lib/requests/WriteBundlesRequest.js +64 -10
  158. package/lib/requests/asset-graph-diff.js +13 -8
  159. package/lib/requests/asset-graph-dot.js +2 -8
  160. package/lib/resolveOptions.js +37 -14
  161. package/lib/rustWorkerThreadDylibHack.js +0 -1
  162. package/lib/serializerCore.browser.js +1 -2
  163. package/lib/summarizeRequest.js +1 -1
  164. package/lib/types/AssetGraph.d.ts +55 -0
  165. package/lib/types/Atlaspack.d.ts +52 -0
  166. package/lib/types/AtlaspackConfig.d.ts +65 -0
  167. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  168. package/lib/types/BundleGraph.d.ts +232 -0
  169. package/lib/types/CommittedAsset.d.ts +23 -0
  170. package/lib/types/Dependency.d.ts +44 -0
  171. package/lib/types/Environment.d.ts +11 -0
  172. package/lib/types/EnvironmentManager.d.ts +37 -0
  173. package/lib/types/IdentifierRegistry.d.ts +6 -0
  174. package/lib/types/InternalConfig.d.ts +23 -0
  175. package/lib/types/PackagerRunner.d.ts +85 -0
  176. package/lib/types/ReporterRunner.d.ts +25 -0
  177. package/lib/types/RequestTracker.d.ts +385 -0
  178. package/lib/types/SymbolPropagation.d.ts +11 -0
  179. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  180. package/lib/types/Transformation.d.ts +72 -0
  181. package/lib/types/UncommittedAsset.d.ts +61 -0
  182. package/lib/types/Validation.d.ts +37 -0
  183. package/lib/types/applyRuntimes.d.ts +25 -0
  184. package/lib/types/assetUtils.d.ts +42 -0
  185. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +35 -0
  186. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  187. package/lib/types/atlaspack-v3/fs.d.ts +13 -0
  188. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  189. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  190. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  191. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  192. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  193. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  194. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -2
  195. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  196. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  197. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  198. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  199. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  200. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  201. package/lib/types/atlaspack-v3/worker/worker.d.ts +81 -0
  202. package/lib/types/constants.d.ts +13 -0
  203. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  204. package/lib/types/index.d.ts +8 -0
  205. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  206. package/lib/types/loadDotEnv.d.ts +3 -0
  207. package/lib/types/projectPath.d.ts +19 -0
  208. package/lib/types/public/Asset.d.ts +74 -0
  209. package/lib/types/public/Bundle.d.ts +45 -0
  210. package/lib/types/public/BundleGraph.d.ts +72 -0
  211. package/lib/types/public/BundleGroup.d.ts +12 -0
  212. package/lib/types/public/Config.d.ts +75 -0
  213. package/lib/types/public/Dependency.d.ts +32 -0
  214. package/lib/types/public/Environment.d.ts +34 -0
  215. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  216. package/lib/types/public/PluginOptions.d.ts +25 -0
  217. package/lib/types/public/Symbols.d.ts +81 -0
  218. package/lib/types/public/Target.d.ts +16 -0
  219. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  220. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  221. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  222. package/lib/types/requests/AssetRequest.d.ts +16 -0
  223. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  224. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  225. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  226. package/lib/types/requests/BundleGraphRequestRust.d.ts +34 -0
  227. package/lib/types/requests/BundleGraphRequestUtils.d.ts +38 -0
  228. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  229. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  230. package/lib/types/requests/EntryRequest.d.ts +36 -0
  231. package/lib/types/requests/PackageRequest.d.ts +27 -0
  232. package/lib/types/requests/PathRequest.d.ts +48 -0
  233. package/lib/types/requests/TargetRequest.d.ts +48 -0
  234. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  235. package/lib/types/requests/WriteBundleRequest.d.ts +80 -0
  236. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  237. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  238. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  239. package/lib/types/resolveOptions.d.ts +3 -0
  240. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  241. package/lib/types/serializerCore.browser.d.ts +3 -0
  242. package/lib/types/summarizeRequest.d.ts +10 -0
  243. package/lib/types/types.d.ts +496 -0
  244. package/lib/types/utils.d.ts +23 -0
  245. package/lib/types/worker.d.ts +44 -0
  246. package/lib/types.js +8 -1
  247. package/lib/utils.js +18 -3
  248. package/lib/worker.js +32 -15
  249. package/package.json +26 -36
  250. package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
  251. package/src/{Atlaspack.js → Atlaspack.ts} +181 -72
  252. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  253. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  254. package/src/{BundleGraph.js → BundleGraph.ts} +575 -145
  255. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  256. package/src/{Dependency.js → Dependency.ts} +59 -42
  257. package/src/{Environment.js → Environment.ts} +24 -15
  258. package/src/EnvironmentManager.ts +154 -0
  259. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  260. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  261. package/src/{PackagerRunner.js → PackagerRunner.ts} +114 -159
  262. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  263. package/src/{RequestTracker.js → RequestTracker.ts} +444 -355
  264. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +178 -61
  265. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +10 -1
  266. package/src/{Transformation.js → Transformation.ts} +110 -65
  267. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +45 -49
  268. package/src/{Validation.js → Validation.ts} +32 -17
  269. package/src/{applyRuntimes.js → applyRuntimes.ts} +135 -26
  270. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  271. package/src/atlaspack-v3/AtlaspackV3.ts +183 -0
  272. package/src/atlaspack-v3/NapiWorkerPool.ts +129 -0
  273. package/src/atlaspack-v3/{fs.js → fs.ts} +8 -4
  274. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  275. package/src/atlaspack-v3/jsCallable.ts +14 -0
  276. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  277. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  278. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  279. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  280. package/src/atlaspack-v3/worker/compat/index.ts +8 -0
  281. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  282. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  283. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  284. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  285. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  286. package/src/atlaspack-v3/worker/index.js +2 -1
  287. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  288. package/src/atlaspack-v3/worker/worker.ts +548 -0
  289. package/src/{constants.js → constants.ts} +0 -3
  290. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  291. package/src/index.ts +18 -0
  292. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  293. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  294. package/src/{projectPath.js → projectPath.ts} +20 -9
  295. package/src/public/{Asset.js → Asset.ts} +41 -28
  296. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  297. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  298. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  299. package/src/public/{Config.js → Config.ts} +171 -33
  300. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  301. package/src/public/{Environment.js → Environment.ts} +28 -17
  302. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  303. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  304. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  305. package/src/public/{Target.js → Target.ts} +10 -8
  306. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  307. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +117 -90
  308. package/src/requests/AssetGraphRequestRust.ts +557 -0
  309. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  310. package/src/requests/AtlaspackBuildRequest.ts +168 -0
  311. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  312. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +119 -199
  313. package/src/requests/BundleGraphRequestRust.ts +470 -0
  314. package/src/requests/BundleGraphRequestUtils.ts +323 -0
  315. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  316. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  317. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  318. package/src/requests/{PackageRequest.js → PackageRequest.ts} +52 -25
  319. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  320. package/src/requests/{TargetRequest.js → TargetRequest.ts} +265 -179
  321. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  322. package/src/requests/WriteBundleRequest.ts +734 -0
  323. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +134 -50
  324. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  325. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  326. package/src/{resolveOptions.js → resolveOptions.ts} +57 -27
  327. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  328. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  329. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  330. package/src/types.ts +651 -0
  331. package/src/{utils.js → utils.ts} +52 -21
  332. package/src/{worker.js → worker.ts} +50 -42
  333. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +5 -8
  334. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  335. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  336. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  337. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  338. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  339. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  340. package/test/Environment.test.ts +153 -0
  341. package/test/EnvironmentManager.test.ts +188 -0
  342. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  343. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  344. package/test/PackagerRunner.test.ts +0 -0
  345. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  346. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  347. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  348. package/test/PublicEnvironment.test.ts +49 -0
  349. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  350. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +136 -58
  351. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  352. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +91 -92
  353. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  354. package/test/fixtures/custom-targets/package.json +6 -0
  355. package/test/public/Config.test.ts +104 -0
  356. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  357. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  358. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  359. package/test/requests/WriteBundleRequest.test.ts +602 -0
  360. package/test/{test-utils.js → test-utils.ts} +3 -4
  361. package/test/{utils.test.js → utils.test.ts} +1 -3
  362. package/tsconfig.json +60 -0
  363. package/tsconfig.tsbuildinfo +1 -0
  364. package/index.d.ts +0 -30
  365. package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
  366. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  367. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  368. package/src/atlaspack-v3/jsCallable.js +0 -18
  369. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  370. package/src/atlaspack-v3/worker/compat/plugin-logger.js +0 -47
  371. package/src/atlaspack-v3/worker/worker.js +0 -369
  372. package/src/index.js +0 -13
  373. package/src/requests/AssetGraphRequestRust.js +0 -263
  374. package/src/requests/AtlaspackBuildRequest.js +0 -111
  375. package/src/requests/WriteBundleRequest.js +0 -369
  376. package/src/types.js +0 -600
  377. package/test/Environment.test.js +0 -119
  378. package/test/PackagerRunner.test.js +0 -27
  379. package/test/PublicEnvironment.test.js +0 -27
  380. package/test/requests/AssetGraphRequestRust.test.js +0 -411
@@ -1,10 +1,12 @@
1
- // @flow strict-local
2
-
3
1
  import assert from 'assert';
4
2
  import nullthrows from 'nullthrows';
5
3
  import RequestTracker, {
6
- type RunAPI,
4
+ RunAPI,
7
5
  cleanUpOrphans,
6
+ runInvalidation,
7
+ getBiggestFSEventsInvalidations,
8
+ invalidateRequestGraphFSEvents,
9
+ requestTypes,
8
10
  } from '../src/RequestTracker';
9
11
  import {Graph} from '@atlaspack/graph';
10
12
  import {LMDBLiteCache} from '@atlaspack/cache';
@@ -14,14 +16,26 @@ import {FILE_CREATE, FILE_UPDATE, INITIAL_BUILD} from '../src/constants';
14
16
  import {makeDeferredWithPromise} from '@atlaspack/utils';
15
17
  import {toProjectPath} from '../src/projectPath';
16
18
  import {DEFAULT_FEATURE_FLAGS, setFeatureFlags} from '../../feature-flags/src';
19
+ import sinon from 'sinon';
20
+ import type {AtlaspackOptions} from '../src/types';
21
+ import createAtlaspackBuildRequest from '../src/requests/AtlaspackBuildRequest';
22
+ import Atlaspack from '../src/Atlaspack';
23
+ import {MemoryFS, NodeFS} from '@atlaspack/fs';
24
+ import {OverlayFS} from '../../fs/src/OverlayFS';
25
+ import path from 'path';
26
+ import createAssetGraphRequest from '../src/requests/AssetGraphRequest';
17
27
 
18
28
  const options = {
19
29
  ...DEFAULT_OPTIONS,
20
30
  cache: new LMDBLiteCache(DEFAULT_OPTIONS.cacheDir),
21
- };
22
- const farm = new WorkerFarm({workerPath: require.resolve('../src/worker')});
31
+ } as const;
23
32
 
24
33
  describe('RequestTracker', () => {
34
+ let farm: any;
35
+ before(() => {
36
+ farm = new WorkerFarm({workerPath: require.resolve('../src/worker')});
37
+ });
38
+
25
39
  beforeEach(async () => {
26
40
  await options.cache.ensure();
27
41
 
@@ -30,6 +44,10 @@ describe('RequestTracker', () => {
30
44
  }
31
45
  });
32
46
 
47
+ after(() => {
48
+ farm.end();
49
+ });
50
+
33
51
  it('should not run requests that have not been invalidated', async () => {
34
52
  let tracker = new RequestTracker({farm, options});
35
53
  await tracker.runRequest({
@@ -79,7 +97,7 @@ describe('RequestTracker', () => {
79
97
  await tracker.runRequest({
80
98
  id: 'abc',
81
99
  type: 7,
82
- run: async ({api}) => {
100
+ run: async ({api}: any) => {
83
101
  await api.runRequest({
84
102
  id: 'xyz',
85
103
  type: 7,
@@ -96,7 +114,7 @@ describe('RequestTracker', () => {
96
114
  assert(
97
115
  tracker
98
116
  .getInvalidRequests()
99
- .map((req) => req.id)
117
+ .map((req: any) => req.id)
100
118
  .includes('abc'),
101
119
  );
102
120
  });
@@ -119,7 +137,7 @@ describe('RequestTracker', () => {
119
137
  assert(
120
138
  tracker
121
139
  .getInvalidRequests()
122
- .map((req) => req.id)
140
+ .map((req: any) => req.id)
123
141
  .includes('abc'),
124
142
  );
125
143
  });
@@ -129,7 +147,7 @@ describe('RequestTracker', () => {
129
147
  await tracker.runRequest({
130
148
  id: 'abc',
131
149
  type: 7,
132
- run: async ({api}) => {
150
+ run: async ({api}: any) => {
133
151
  await api.runRequest({
134
152
  id: 'xyz',
135
153
  type: 7,
@@ -144,7 +162,7 @@ describe('RequestTracker', () => {
144
162
  await tracker.runRequest({
145
163
  id: 'abc',
146
164
  type: 7,
147
- run: async ({api}) => {
165
+ run: async ({api}: any) => {
148
166
  await api.runRequest({
149
167
  id: '123',
150
168
  type: 7,
@@ -162,8 +180,7 @@ describe('RequestTracker', () => {
162
180
  await tracker.runRequest({
163
181
  id: 'abc',
164
182
  type: 7,
165
- // $FlowFixMe string isn't a valid result
166
- run: async ({api}: {api: RunAPI<string | void>, ...}) => {
183
+ run: async ({api}: {api: RunAPI<string | undefined>}) => {
167
184
  let result = await Promise.resolve('hello');
168
185
  api.storeResult(result);
169
186
  },
@@ -178,39 +195,13 @@ describe('RequestTracker', () => {
178
195
  assert(result === 'hello');
179
196
  });
180
197
 
181
- it('should reject all in progress requests when the abort controller aborts', async () => {
182
- let tracker = new RequestTracker({farm, options});
183
- let p = tracker
184
- .runRequest({
185
- id: 'abc',
186
- type: 7,
187
- run: async () => {
188
- await Promise.resolve('hello');
189
- },
190
- input: null,
191
- })
192
- .then(null, () => {
193
- /* do nothing */
194
- });
195
- // $FlowFixMe
196
- tracker.setSignal({aborted: true});
197
- await p;
198
- assert(
199
- tracker
200
- .getInvalidRequests()
201
- .map((req) => req.id)
202
- .includes('abc'),
203
- );
204
- });
205
-
206
198
  it('should write cache to disk and store index', async () => {
207
199
  let tracker = new RequestTracker({farm, options});
208
200
 
209
201
  await tracker.runRequest({
210
202
  id: 'abc',
211
203
  type: 7,
212
- // $FlowFixMe string isn't a valid result
213
- run: async ({api}: {api: RunAPI<string | void>, ...}) => {
204
+ run: async ({api}: {api: RunAPI<string | undefined>}) => {
214
205
  let result = await Promise.resolve();
215
206
  api.storeResult(result);
216
207
  },
@@ -242,8 +233,7 @@ describe('RequestTracker', () => {
242
233
  let requestA = tracker.runRequest({
243
234
  id: 'abc',
244
235
  type: 7,
245
- // $FlowFixMe string isn't a valid result
246
- run: async ({api}: {api: RunAPI<string>, ...}) => {
236
+ run: async ({api}: {api: RunAPI<string>}) => {
247
237
  await lockA.promise;
248
238
  api.storeResult('a');
249
239
  return 'a';
@@ -255,8 +245,7 @@ describe('RequestTracker', () => {
255
245
  let requestB = tracker.runRequest({
256
246
  id: 'abc',
257
247
  type: 7,
258
- // $FlowFixMe string isn't a valid result
259
- run: async ({api}: {api: RunAPI<string>, ...}) => {
248
+ run: async ({api}: {api: RunAPI<string>}) => {
260
249
  calledB = true;
261
250
  await lockB.promise;
262
251
  api.storeResult('b');
@@ -305,8 +294,7 @@ describe('RequestTracker', () => {
305
294
  let requestB = tracker.runRequest({
306
295
  id: 'abc',
307
296
  type: 7,
308
- // $FlowFixMe string isn't a valid result
309
- run: async ({api}: {api: RunAPI<string | void>, ...}) => {
297
+ run: async ({api}: {api: RunAPI<string | undefined>}) => {
310
298
  await lockB.promise;
311
299
  api.storeResult('b');
312
300
  },
@@ -408,8 +396,7 @@ describe('RequestTracker', () => {
408
396
  await tracker.runRequest({
409
397
  id: contentKey,
410
398
  type: 7,
411
- // $FlowFixMe string isn't a valid result
412
- run: async ({api}: {api: RunAPI<string | void>, ...}) => {
399
+ run: async ({api}: {api: RunAPI<string | undefined>}) => {
413
400
  let result = await Promise.resolve('a');
414
401
  api.storeResult(result);
415
402
  },
@@ -422,8 +409,7 @@ describe('RequestTracker', () => {
422
409
  {
423
410
  id: contentKey,
424
411
  type: 7,
425
- // $FlowFixMe string isn't a valid result
426
- run: async ({api}: {api: RunAPI<string | void>, ...}) => {
412
+ run: async ({api}: {api: RunAPI<string | undefined>}) => {
427
413
  let result = await Promise.resolve('b');
428
414
  api.storeResult(result);
429
415
  },
@@ -465,7 +451,7 @@ describe('RequestTracker', () => {
465
451
  });
466
452
 
467
453
  describe('respondToFSEvents', () => {
468
- [true, false].forEach((value) => {
454
+ [true, false].forEach((value: any) => {
469
455
  beforeEach(() => {
470
456
  setFeatureFlags({
471
457
  ...DEFAULT_FEATURE_FLAGS,
@@ -485,8 +471,7 @@ describe('RequestTracker', () => {
485
471
  await tracker.runRequest({
486
472
  id: 'abc',
487
473
  type: 7,
488
- // $FlowFixMe string isn't a valid result
489
- run: async ({api}: {api: RunAPI<string | void>, ...}) => {
474
+ run: async ({api}: {api: RunAPI<string | undefined>}) => {
490
475
  api.invalidateOnFileUpdate(toProjectPath('', 'my-file'));
491
476
  let result = await Promise.resolve('hello');
492
477
  api.storeResult(result);
@@ -494,7 +479,7 @@ describe('RequestTracker', () => {
494
479
  input: null,
495
480
  });
496
481
  const requestId = tracker.graph.getNodeIdByContentKey('abc');
497
- const invalidated = await tracker.respondToFSEvents(
482
+ const {didInvalidate: invalidated} = await tracker.respondToFSEvents(
498
483
  [
499
484
  {
500
485
  type: 'update',
@@ -518,8 +503,7 @@ describe('RequestTracker', () => {
518
503
  await tracker.runRequest({
519
504
  id: 'abc',
520
505
  type: 7,
521
- // $FlowFixMe string isn't a valid result
522
- run: async ({api}: {api: RunAPI<string | void>, ...}) => {
506
+ run: async ({api}: {api: RunAPI<string | undefined>}) => {
523
507
  api.invalidateOnFileCreate({
524
508
  fileName: 'package.json',
525
509
  aboveFilePath: toProjectPath(
@@ -533,7 +517,7 @@ describe('RequestTracker', () => {
533
517
  input: null,
534
518
  });
535
519
  const requestId = tracker.graph.getNodeIdByContentKey('abc');
536
- const invalidated = await tracker.respondToFSEvents(
520
+ const {didInvalidate: invalidated} = await tracker.respondToFSEvents(
537
521
  [
538
522
  {
539
523
  type: 'create',
@@ -574,8 +558,8 @@ root --- node1 --- node2 ----------- orphan1 --- orphan2
574
558
 
575
559
  */
576
560
 
577
- const getNonNullNodes = (graph) =>
578
- graph.nodes.filter((node) => node != null);
561
+ const getNonNullNodes = (graph: any) =>
562
+ graph.nodes.filter((node: any) => node != null);
579
563
 
580
564
  graph.addEdge(root, node1);
581
565
  graph.addEdge(node1, node2);
@@ -596,3 +580,97 @@ root --- node1 --- node2 ----------- orphan1 --- orphan2
596
580
  assert.equal(Array.from(graph.getAllEdges()).length, 3);
597
581
  });
598
582
  });
583
+
584
+ describe('runInvalidation', () => {
585
+ it('calls an invalidationFn and tracks the number of invalidated nodes', async () => {
586
+ const mockRequestTracker = {
587
+ getInvalidNodeCount: sinon.stub(),
588
+ } as const;
589
+
590
+ mockRequestTracker.getInvalidNodeCount.returns(10000);
591
+ const result = await runInvalidation(mockRequestTracker, {
592
+ key: 'fsEvents',
593
+ fn: () => {
594
+ mockRequestTracker.getInvalidNodeCount.returns(30000);
595
+ return {
596
+ biggestInvalidations: [{path: 'my-file', count: 10000}],
597
+ };
598
+ },
599
+ });
600
+
601
+ assert.equal(result.key, 'fsEvents');
602
+ assert.equal(result.count, 20000);
603
+ assert.deepEqual(result.detail, {
604
+ biggestInvalidations: [{path: 'my-file', count: 10000}],
605
+ });
606
+ assert(result.duration > 0, 'Duration was not reported');
607
+ });
608
+ });
609
+
610
+ describe('invalidateRequestGraphFSEvents', () => {
611
+ it('calls requestGraph.respondToFSEvents and returns the biggest invalidations', async () => {
612
+ const requestGraph = {
613
+ respondToFSEvents: sinon.stub(),
614
+ } as const;
615
+
616
+ requestGraph.respondToFSEvents.returns({
617
+ invalidationsByPath: new Map([
618
+ ['file-1', 10],
619
+ ['file-2', 5000],
620
+ ['file-3', 8000],
621
+ ]),
622
+ });
623
+ const options: AtlaspackOptions = {
624
+ unstableFileInvalidations: undefined,
625
+ };
626
+
627
+ const result = await invalidateRequestGraphFSEvents(requestGraph, options, [
628
+ {
629
+ path: 'file-1',
630
+ type: 'create',
631
+ },
632
+ {
633
+ path: 'file-2',
634
+ type: 'update',
635
+ },
636
+ {
637
+ path: 'file-3',
638
+ type: 'delete',
639
+ },
640
+ ]);
641
+
642
+ assert.deepEqual(result.biggestInvalidations, [
643
+ {path: 'file-3', count: 8000},
644
+ {path: 'file-2', count: 5000},
645
+ {path: 'file-1', count: 10},
646
+ ]);
647
+ assert.equal(requestGraph.respondToFSEvents.callCount, 1);
648
+ assert.deepEqual(requestGraph.respondToFSEvents.args[0], [
649
+ [
650
+ {path: 'file-1', type: 'create'},
651
+ {path: 'file-2', type: 'update'},
652
+ {path: 'file-3', type: 'delete'},
653
+ ],
654
+ options,
655
+ 10000,
656
+ true,
657
+ ]);
658
+ });
659
+ });
660
+
661
+ describe('getBiggestFSEventsInvalidations', () => {
662
+ it('returns the paths that invalidated the most nodes', () => {
663
+ const invalidationsByPath = new Map([
664
+ ['file-1', 10],
665
+ ['file-2', 5000],
666
+ ['file-3', 8000],
667
+ ['file-4', 1000],
668
+ ['file-5', 1000],
669
+ ]);
670
+
671
+ assert.deepEqual(getBiggestFSEventsInvalidations(invalidationsByPath, 2), [
672
+ {path: 'file-3', count: 8000},
673
+ {path: 'file-2', count: 5000},
674
+ ]);
675
+ });
676
+ });