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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/CHANGELOG.md +941 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +666 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1740 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +545 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1360 -0
  16. package/dist/SymbolPropagation.js +620 -0
  17. package/dist/TargetDescriptor.schema.js +143 -0
  18. package/dist/Transformation.js +514 -0
  19. package/dist/UncommittedAsset.js +315 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +383 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +74 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +81 -0
  25. package/dist/atlaspack-v3/fs.js +52 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +98 -0
  30. package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
  31. package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
  32. package/dist/atlaspack-v3/worker/compat/index.js +25 -0
  33. package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
  34. package/dist/atlaspack-v3/worker/compat/plugin-config.js +64 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
  37. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  38. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  39. package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
  40. package/dist/atlaspack-v3/worker/worker.js +381 -0
  41. package/dist/constants.js +17 -0
  42. package/dist/dumpGraphToGraphViz.js +281 -0
  43. package/dist/index.js +62 -0
  44. package/dist/loadAtlaspackPlugin.js +128 -0
  45. package/dist/loadDotEnv.js +41 -0
  46. package/dist/projectPath.js +83 -0
  47. package/dist/public/Asset.js +279 -0
  48. package/dist/public/Bundle.js +224 -0
  49. package/dist/public/BundleGraph.js +371 -0
  50. package/dist/public/BundleGroup.js +53 -0
  51. package/dist/public/Config.js +286 -0
  52. package/dist/public/Dependency.js +138 -0
  53. package/dist/public/Environment.js +278 -0
  54. package/dist/public/MutableBundleGraph.js +277 -0
  55. package/dist/public/PluginOptions.js +80 -0
  56. package/dist/public/Symbols.js +248 -0
  57. package/dist/public/Target.js +69 -0
  58. package/dist/registerCoreWithSerializer.js +38 -0
  59. package/dist/requests/AssetGraphRequest.js +439 -0
  60. package/dist/requests/AssetGraphRequestRust.js +273 -0
  61. package/dist/requests/AssetRequest.js +130 -0
  62. package/dist/requests/AtlaspackBuildRequest.js +92 -0
  63. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  64. package/dist/requests/BundleGraphRequest.js +447 -0
  65. package/dist/requests/ConfigRequest.js +246 -0
  66. package/dist/requests/DevDepRequest.js +204 -0
  67. package/dist/requests/EntryRequest.js +314 -0
  68. package/dist/requests/PackageRequest.js +72 -0
  69. package/dist/requests/PathRequest.js +349 -0
  70. package/dist/requests/TargetRequest.js +1311 -0
  71. package/dist/requests/ValidationRequest.js +49 -0
  72. package/dist/requests/WriteBundleRequest.js +254 -0
  73. package/dist/requests/WriteBundlesRequest.js +184 -0
  74. package/dist/requests/asset-graph-diff.js +128 -0
  75. package/dist/requests/asset-graph-dot.js +131 -0
  76. package/dist/resolveOptions.js +269 -0
  77. package/dist/rustWorkerThreadDylibHack.js +19 -0
  78. package/dist/serializerCore.browser.js +43 -0
  79. package/dist/summarizeRequest.js +39 -0
  80. package/dist/types.js +31 -0
  81. package/dist/utils.js +172 -0
  82. package/dist/worker.js +123 -0
  83. package/lib/AssetGraph.js +111 -14
  84. package/lib/Atlaspack.js +94 -41
  85. package/lib/AtlaspackConfig.js +15 -3
  86. package/lib/AtlaspackConfig.schema.js +16 -5
  87. package/lib/BundleGraph.js +197 -32
  88. package/lib/CommittedAsset.js +7 -1
  89. package/lib/Dependency.js +8 -2
  90. package/lib/Environment.js +15 -8
  91. package/lib/EnvironmentManager.js +143 -0
  92. package/lib/IdentifierRegistry.js +1 -3
  93. package/lib/InternalConfig.js +3 -2
  94. package/lib/PackagerRunner.js +90 -27
  95. package/lib/ReporterRunner.js +6 -9
  96. package/lib/RequestTracker.js +266 -156
  97. package/lib/SymbolPropagation.js +42 -18
  98. package/lib/TargetDescriptor.schema.js +7 -1
  99. package/lib/Transformation.js +66 -15
  100. package/lib/UncommittedAsset.js +33 -12
  101. package/lib/Validation.js +18 -2
  102. package/lib/applyRuntimes.js +96 -4
  103. package/lib/assetUtils.js +15 -5
  104. package/lib/atlaspack-v3/AtlaspackV3.js +52 -14
  105. package/lib/atlaspack-v3/NapiWorkerPool.js +28 -1
  106. package/lib/atlaspack-v3/fs.js +3 -1
  107. package/lib/atlaspack-v3/index.js +28 -1
  108. package/lib/atlaspack-v3/jsCallable.js +0 -2
  109. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  110. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  111. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  112. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  113. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +15 -10
  114. package/lib/atlaspack-v3/worker/compat/plugin-config.js +13 -34
  115. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -0
  116. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  117. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  118. package/lib/atlaspack-v3/worker/index.js +3 -0
  119. package/lib/atlaspack-v3/worker/side-effect-detector.js +215 -0
  120. package/lib/atlaspack-v3/worker/worker.js +199 -71
  121. package/lib/constants.js +0 -1
  122. package/lib/dumpGraphToGraphViz.js +71 -16
  123. package/lib/index.js +45 -1
  124. package/lib/loadDotEnv.js +4 -1
  125. package/lib/projectPath.js +5 -0
  126. package/lib/public/Asset.js +21 -11
  127. package/lib/public/Bundle.js +15 -16
  128. package/lib/public/BundleGraph.js +25 -22
  129. package/lib/public/BundleGroup.js +4 -5
  130. package/lib/public/Config.js +118 -17
  131. package/lib/public/Dependency.js +8 -6
  132. package/lib/public/Environment.js +12 -7
  133. package/lib/public/MutableBundleGraph.js +54 -12
  134. package/lib/public/PluginOptions.js +2 -2
  135. package/lib/public/Symbols.js +11 -11
  136. package/lib/public/Target.js +7 -6
  137. package/lib/registerCoreWithSerializer.js +5 -3
  138. package/lib/requests/AssetGraphRequest.js +74 -27
  139. package/lib/requests/AssetGraphRequestRust.js +140 -64
  140. package/lib/requests/AssetRequest.js +23 -6
  141. package/lib/requests/AtlaspackBuildRequest.js +43 -4
  142. package/lib/requests/AtlaspackConfigRequest.js +27 -16
  143. package/lib/requests/BundleGraphRequest.js +41 -24
  144. package/lib/requests/ConfigRequest.js +53 -4
  145. package/lib/requests/DevDepRequest.js +31 -5
  146. package/lib/requests/EntryRequest.js +2 -0
  147. package/lib/requests/PackageRequest.js +16 -2
  148. package/lib/requests/PathRequest.js +24 -3
  149. package/lib/requests/TargetRequest.js +122 -57
  150. package/lib/requests/ValidationRequest.js +5 -1
  151. package/lib/requests/WriteBundleRequest.js +39 -11
  152. package/lib/requests/WriteBundlesRequest.js +51 -4
  153. package/lib/requests/asset-graph-diff.js +12 -7
  154. package/lib/requests/asset-graph-dot.js +1 -7
  155. package/lib/resolveOptions.js +38 -11
  156. package/lib/rustWorkerThreadDylibHack.js +0 -1
  157. package/lib/types/AssetGraph.d.ts +80 -0
  158. package/lib/types/Atlaspack.d.ts +52 -0
  159. package/lib/types/AtlaspackConfig.d.ts +65 -0
  160. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  161. package/lib/types/BundleGraph.d.ts +184 -0
  162. package/lib/types/CommittedAsset.d.ts +23 -0
  163. package/lib/types/Dependency.d.ts +44 -0
  164. package/lib/types/Environment.d.ts +11 -0
  165. package/lib/types/EnvironmentManager.d.ts +37 -0
  166. package/lib/types/IdentifierRegistry.d.ts +6 -0
  167. package/lib/types/InternalConfig.d.ts +23 -0
  168. package/lib/types/PackagerRunner.d.ts +85 -0
  169. package/lib/types/ReporterRunner.d.ts +25 -0
  170. package/lib/types/RequestTracker.d.ts +385 -0
  171. package/lib/types/SymbolPropagation.d.ts +11 -0
  172. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  173. package/lib/types/Transformation.d.ts +72 -0
  174. package/lib/types/UncommittedAsset.d.ts +61 -0
  175. package/lib/types/Validation.d.ts +37 -0
  176. package/lib/types/applyRuntimes.d.ts +25 -0
  177. package/lib/types/assetUtils.d.ts +42 -0
  178. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +34 -0
  179. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  180. package/lib/types/atlaspack-v3/fs.d.ts +12 -0
  181. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  182. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  183. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  184. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  185. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  186. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  187. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
  188. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  189. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  190. package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
  191. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  192. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  193. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  194. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  195. package/lib/types/atlaspack-v3/worker/worker.d.ts +80 -0
  196. package/lib/types/constants.d.ts +13 -0
  197. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  198. package/lib/types/index.d.ts +8 -0
  199. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  200. package/lib/types/loadDotEnv.d.ts +3 -0
  201. package/lib/types/projectPath.d.ts +19 -0
  202. package/lib/types/public/Asset.d.ts +74 -0
  203. package/lib/types/public/Bundle.d.ts +45 -0
  204. package/lib/types/public/BundleGraph.d.ts +72 -0
  205. package/lib/types/public/BundleGroup.d.ts +12 -0
  206. package/lib/types/public/Config.d.ts +75 -0
  207. package/lib/types/public/Dependency.d.ts +32 -0
  208. package/lib/types/public/Environment.d.ts +34 -0
  209. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  210. package/lib/types/public/PluginOptions.d.ts +25 -0
  211. package/lib/types/public/Symbols.d.ts +81 -0
  212. package/lib/types/public/Target.d.ts +16 -0
  213. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  214. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  215. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  216. package/lib/types/requests/AssetRequest.d.ts +16 -0
  217. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  218. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  219. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  220. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  221. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  222. package/lib/types/requests/EntryRequest.d.ts +36 -0
  223. package/lib/types/requests/PackageRequest.d.ts +27 -0
  224. package/lib/types/requests/PathRequest.d.ts +48 -0
  225. package/lib/types/requests/TargetRequest.d.ts +48 -0
  226. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  227. package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
  228. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  229. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  230. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  231. package/lib/types/resolveOptions.d.ts +3 -0
  232. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  233. package/lib/types/serializerCore.browser.d.ts +3 -0
  234. package/lib/types/summarizeRequest.d.ts +10 -0
  235. package/lib/types/types.d.ts +495 -0
  236. package/lib/types/utils.d.ts +23 -0
  237. package/lib/types/worker.d.ts +44 -0
  238. package/lib/types.js +8 -1
  239. package/lib/utils.js +17 -2
  240. package/lib/worker.js +30 -14
  241. package/package.json +25 -35
  242. package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
  243. package/src/{Atlaspack.js → Atlaspack.ts} +134 -67
  244. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  245. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  246. package/src/{BundleGraph.js → BundleGraph.ts} +383 -140
  247. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  248. package/src/{Dependency.js → Dependency.ts} +59 -42
  249. package/src/{Environment.js → Environment.ts} +24 -15
  250. package/src/EnvironmentManager.ts +154 -0
  251. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  252. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  253. package/src/{PackagerRunner.js → PackagerRunner.ts} +179 -87
  254. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  255. package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
  256. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
  257. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  258. package/src/{Transformation.js → Transformation.ts} +110 -65
  259. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +60 -39
  260. package/src/{Validation.js → Validation.ts} +32 -17
  261. package/src/{applyRuntimes.js → applyRuntimes.ts} +133 -26
  262. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  263. package/src/atlaspack-v3/AtlaspackV3.ts +143 -0
  264. package/src/atlaspack-v3/NapiWorkerPool.ts +91 -0
  265. package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
  266. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  267. package/src/atlaspack-v3/jsCallable.ts +14 -0
  268. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  269. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  270. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  271. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  272. package/src/atlaspack-v3/worker/compat/index.ts +9 -0
  273. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  274. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  275. package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
  276. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  277. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  278. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  279. package/src/atlaspack-v3/worker/index.js +2 -1
  280. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  281. package/src/atlaspack-v3/worker/worker.ts +531 -0
  282. package/src/{constants.js → constants.ts} +0 -3
  283. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  284. package/src/index.ts +18 -0
  285. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  286. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  287. package/src/{projectPath.js → projectPath.ts} +20 -9
  288. package/src/public/{Asset.js → Asset.ts} +41 -28
  289. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  290. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  291. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  292. package/src/public/{Config.js → Config.ts} +171 -33
  293. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  294. package/src/public/{Environment.js → Environment.ts} +28 -17
  295. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  296. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  297. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  298. package/src/public/{Target.js → Target.ts} +10 -8
  299. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  300. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +129 -80
  301. package/src/requests/AssetGraphRequestRust.ts +364 -0
  302. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  303. package/src/requests/AtlaspackBuildRequest.ts +163 -0
  304. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  305. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +97 -79
  306. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  307. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  308. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  309. package/src/requests/{PackageRequest.js → PackageRequest.ts} +34 -22
  310. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  311. package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
  312. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  313. package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
  314. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
  315. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  316. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  317. package/src/{resolveOptions.js → resolveOptions.ts} +59 -25
  318. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  319. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  320. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  321. package/src/types.ts +650 -0
  322. package/src/{utils.js → utils.ts} +52 -21
  323. package/src/{worker.js → worker.ts} +50 -42
  324. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
  325. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  326. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  327. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  328. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  329. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  330. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  331. package/test/Environment.test.ts +153 -0
  332. package/test/EnvironmentManager.test.ts +188 -0
  333. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  334. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  335. package/test/PackagerRunner.test.ts +0 -0
  336. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  337. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  338. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  339. package/test/PublicEnvironment.test.ts +49 -0
  340. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  341. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
  342. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  343. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
  344. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  345. package/test/fixtures/custom-targets/package.json +6 -0
  346. package/test/public/Config.test.ts +104 -0
  347. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  348. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  349. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  350. package/test/{test-utils.js → test-utils.ts} +4 -11
  351. package/test/{utils.test.js → utils.test.ts} +1 -3
  352. package/tsconfig.json +60 -0
  353. package/tsconfig.tsbuildinfo +1 -0
  354. package/index.d.ts +0 -30
  355. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  356. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  357. package/src/atlaspack-v3/jsCallable.js +0 -18
  358. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  359. package/src/atlaspack-v3/worker/worker.js +0 -362
  360. package/src/index.js +0 -13
  361. package/src/requests/AssetGraphRequestRust.js +0 -263
  362. package/src/requests/AtlaspackBuildRequest.js +0 -111
  363. package/src/types.js +0 -600
  364. package/test/Environment.test.js +0 -119
  365. package/test/PackagerRunner.test.js +0 -27
  366. package/test/PublicEnvironment.test.js +0 -27
  367. package/test/requests/AssetGraphRequestRust.test.js +0 -411
@@ -1,13 +1,11 @@
1
- // @flow
2
1
  import path from 'path';
3
2
 
4
3
  import type {AssetGraphNode} from '../types';
5
4
  import AssetGraph from '../AssetGraph';
6
5
 
7
6
  export type AssetGraphToDotOptions = {
8
- style?: boolean,
9
- sort?: boolean,
10
- ...
7
+ style?: boolean;
8
+ sort?: boolean;
11
9
  };
12
10
 
13
11
  /** @description Renders AssetGraph into GraphViz Dot format */
@@ -15,8 +13,10 @@ export function assetGraphToDot(
15
13
  assetGraph: AssetGraph,
16
14
  {sort = false, style = true}: AssetGraphToDotOptions = {},
17
15
  ): string {
18
- const edges = [];
19
- const nodeStyles: {[key: string]: string} = {};
16
+ const edges: Array<string> = [];
17
+ const nodeStyles: {
18
+ [key: string]: string;
19
+ } = {};
20
20
 
21
21
  assetGraph.traverse((nodeId) => {
22
22
  let node: AssetGraphNode | null = assetGraph.getNode(nodeId) ?? null;
@@ -43,7 +43,6 @@ export function assetGraphToDot(
43
43
  }
44
44
  });
45
45
 
46
- // $FlowFixMe
47
46
  const nodeStylesList: Array<[string, string]> = Object.entries(nodeStyles);
48
47
  if (sort) {
49
48
  edges.sort();
@@ -53,7 +52,7 @@ export function assetGraphToDot(
53
52
  let digraph = `digraph {\n\tnode [shape=rectangle]\n`;
54
53
  if (style) {
55
54
  digraph += nodeStylesList
56
- .map(([node, style]) => `\t"${node}" [${style}]\n`)
55
+ .map(([node, style]: [any, any]) => `\t"${node}" [${style}]\n`)
57
56
  .join('');
58
57
  }
59
58
  digraph += edges.map((v) => `\t${v}\n`).join('');
@@ -94,18 +93,15 @@ function fromCwd(input: string): string {
94
93
 
95
94
  function getNodeName(node: AssetGraphNode): string {
96
95
  if (node.type === 'asset_group') {
97
- // $FlowFixMe
96
+ // @ts-expect-error TS2345
98
97
  return [`asset_group`, node.id, fromCwd(node.value.filePath)].join('\\n');
99
98
  } else if (node.type === 'asset') {
100
- // $FlowFixMe
101
99
  return [`asset`, node.id, fromCwd(node.value.filePath)].join('\\n');
102
100
  } else if (node.type === 'dependency') {
103
101
  return [`dependency`, node.id, node.value.specifier].join('\\n');
104
102
  } else if (node.type === 'entry_specifier') {
105
- // $FlowFixMe
106
103
  return [`entry_specifier`, node.value].join('\\n');
107
104
  } else if (node.type === 'entry_file') {
108
- // $FlowFixMe
109
105
  return [`entry_file`, fromCwd(node.value.filePath)].join('\\n');
110
106
  }
111
107
  return 'ROOT';
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {
4
2
  FilePath,
5
3
  InitialAtlaspackOptions,
@@ -93,6 +91,29 @@ export default async function resolveOptions(
93
91
  entries = [path.resolve(inputCwd, initialOptions.entries)];
94
92
  }
95
93
 
94
+ // When allowExplicitTargetEntries is enabled and no entries are provided,
95
+ // automatically derive entries from target sources
96
+ if (
97
+ getFeatureFlag('allowExplicitTargetEntries') &&
98
+ initialOptions.targets &&
99
+ !Array.isArray(initialOptions.targets) &&
100
+ entries.length === 0
101
+ ) {
102
+ const targetSources = new Set<string>();
103
+
104
+ for (const [, target] of Object.entries(initialOptions.targets)) {
105
+ if (target.source) {
106
+ const sources = Array.isArray(target.source)
107
+ ? target.source
108
+ : [target.source];
109
+ for (const source of sources) {
110
+ targetSources.add(source);
111
+ }
112
+ }
113
+ }
114
+ entries = Array.from(targetSources);
115
+ }
116
+
96
117
  let shouldMakeEntryReferFolder = false;
97
118
  if (entries.length === 1 && !isGlob(entries[0])) {
98
119
  let [entry] = entries;
@@ -103,20 +124,29 @@ export default async function resolveOptions(
103
124
  }
104
125
  }
105
126
 
106
- // getRootDir treats the input as files, so getRootDir(["/home/user/myproject"]) returns "/home/user".
107
- // Instead we need to make the the entry refer to some file inside the specified folders if entries refers to the directory.
108
- let entryRoot = getRootDir(
109
- shouldMakeEntryReferFolder ? [path.join(entries[0], 'index')] : entries,
110
- );
111
- let projectRootFile =
112
- (await resolveConfig(
113
- inputFS,
114
- path.join(entryRoot, 'index'),
115
- [...LOCK_FILE_NAMES, '.git', '.hg'],
116
- path.parse(entryRoot).root,
117
- )) || path.join(inputCwd, 'index'); // ? Should this just be rootDir
118
-
119
- let projectRoot = path.dirname(projectRootFile);
127
+ let projectRoot;
128
+ if (initialOptions.projectRoot) {
129
+ // Use explicitly provided projectRoot
130
+ if (!path.isAbsolute(initialOptions.projectRoot)) {
131
+ throw new Error('Specified project root must be an absolute path');
132
+ }
133
+ projectRoot = initialOptions.projectRoot;
134
+ } else {
135
+ // getRootDir treats the input as files, so getRootDir(["/home/user/myproject"]) returns "/home/user".
136
+ // Instead we need to make the the entry refer to some file inside the specified folders if entries refers to the directory.
137
+ let entryRoot = getRootDir(
138
+ shouldMakeEntryReferFolder ? [path.join(entries[0], 'index')] : entries,
139
+ );
140
+ let projectRootFile =
141
+ (await resolveConfig(
142
+ inputFS,
143
+ path.join(entryRoot, 'index'),
144
+ [...LOCK_FILE_NAMES, '.git', '.hg'],
145
+ path.parse(entryRoot).root,
146
+ )) || path.join(inputCwd, 'index'); // ? Should this just be rootDir
147
+
148
+ projectRoot = path.dirname(projectRootFile);
149
+ }
120
150
 
121
151
  const gitRoot = await findGitRepositoryRoot(inputFS, projectRoot);
122
152
  if (inputFS instanceof NodeVCSAwareFS) {
@@ -151,10 +181,13 @@ export default async function resolveOptions(
151
181
  return initialOptions.cache;
152
182
  }
153
183
 
154
- const needsRustLmdbCache = getFeatureFlag('atlaspackV3');
184
+ const needsRustLmdbCache =
185
+ getFeatureFlag('atlaspackV3') || getFeatureFlag('nativePackager');
155
186
 
156
- if (!needsRustLmdbCache && !(outputFS instanceof NodeFS)) {
157
- return new FSCache(outputFS, cacheDir);
187
+ if (!getFeatureFlag('cachePerformanceImprovements')) {
188
+ if (!needsRustLmdbCache && !(outputFS instanceof NodeFS)) {
189
+ return new FSCache(outputFS, cacheDir);
190
+ }
158
191
  }
159
192
 
160
193
  return new LMDBLiteCache(cacheDir);
@@ -237,6 +270,7 @@ export default async function resolveOptions(
237
270
  : false,
238
271
  shouldDisableCache: initialOptions.shouldDisableCache ?? false,
239
272
  shouldProfile: initialOptions.shouldProfile ?? false,
273
+ nativeProfiler: initialOptions.nativeProfiler,
240
274
  shouldTrace: initialOptions.shouldTrace ?? false,
241
275
  cacheDir,
242
276
  watchDir,
@@ -281,7 +315,7 @@ export default async function resolveOptions(
281
315
  function getRelativeConfigSpecifier(
282
316
  fs: FileSystem,
283
317
  projectRoot: FilePath,
284
- specifier: ?DependencySpecifier,
318
+ specifier?: DependencySpecifier | null,
285
319
  ) {
286
320
  if (specifier == null) {
287
321
  return undefined;
@@ -297,11 +331,11 @@ function getRelativeConfigSpecifier(
297
331
  }
298
332
 
299
333
  function determinePort(
300
- initialServerOptions: InitialServerOptions | false | void,
301
- portInEnv: string | void,
334
+ initialServerOptions?: InitialServerOptions | false,
335
+ portInEnv?: string,
302
336
  defaultPort: number = 1234,
303
337
  ): number {
304
- function parsePort(port: string): number | void {
338
+ function parsePort(port: string): number | undefined {
305
339
  let parsedPort = Number(port);
306
340
 
307
341
  // return undefined if port number defined in .env is not valid integer
@@ -313,7 +347,7 @@ function determinePort(
313
347
 
314
348
  if (!initialServerOptions) {
315
349
  return typeof portInEnv !== 'undefined'
316
- ? parsePort(portInEnv) ?? defaultPort
350
+ ? (parsePort(portInEnv) ?? defaultPort)
317
351
  : defaultPort;
318
352
  }
319
353
 
@@ -323,6 +357,6 @@ function determinePort(
323
357
  }
324
358
 
325
359
  return typeof portInEnv !== 'undefined'
326
- ? parsePort(portInEnv) ?? defaultPort
360
+ ? (parsePort(portInEnv) ?? defaultPort)
327
361
  : defaultPort;
328
362
  }
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  /**
4
2
  * This is a workaround for https://github.com/rust-lang/rust/issues/91979
5
3
  * when running atlaspack with parcel bindings, it is possible that the parcel
@@ -10,9 +8,8 @@
10
8
  */
11
9
  export function loadRustWorkerThreadDylibHack() {
12
10
  try {
13
- // $FlowFixMe
14
11
  require('@parcel/rust'); // eslint-disable-line
15
- } catch (err) {
12
+ } catch (err: any) {
16
13
  /* ignore */
17
14
  }
18
15
  }
@@ -1,9 +1,8 @@
1
- // @flow
2
1
  import {Buffer} from 'buffer';
3
2
  import * as msgpackr from 'msgpackr';
4
3
 
5
4
  let encoder = new msgpackr.Encoder({structuredClone: true});
6
5
 
7
- export let serializeRaw: (any) => Buffer = (v) =>
6
+ export let serializeRaw: (arg1?: any) => Buffer = (v) =>
8
7
  Buffer.from(encoder.encode(v));
9
- export let deserializeRaw: (Buffer) => any = (v) => encoder.decode(v);
8
+ export let deserializeRaw: (arg1: Buffer) => any = (v) => encoder.decode(v);
@@ -1,4 +1,3 @@
1
- // @flow strict-local
2
1
  import type {Blob, FilePath} from '@atlaspack/types';
3
2
  import type {FileSystem} from '@atlaspack/fs';
4
3
 
@@ -10,8 +9,15 @@ const BUFFER_LIMIT = 5000000; // 5mb
10
9
 
11
10
  export default async function summarizeRequest(
12
11
  fs: FileSystem,
13
- req: {|filePath: FilePath, code?: string|},
14
- ): Promise<{|content: Blob, size: number, isSource: boolean|}> {
12
+ req: {
13
+ filePath: FilePath;
14
+ code?: string;
15
+ },
16
+ ): Promise<{
17
+ content: Blob;
18
+ size: number;
19
+ isSource: boolean;
20
+ }> {
15
21
  let {content, size} = await summarizeDiskRequest(fs, req);
16
22
  let isSource = isFilePathSource(fs, req.filePath);
17
23
  return {content, size, isSource};
@@ -23,8 +29,14 @@ function isFilePathSource(fs: FileSystem, filePath: FilePath) {
23
29
 
24
30
  async function summarizeDiskRequest(
25
31
  fs: FileSystem,
26
- req: {|filePath: FilePath, code?: string|},
27
- ): Promise<{|content: Blob, size: number|}> {
32
+ req: {
33
+ filePath: FilePath;
34
+ code?: string;
35
+ },
36
+ ): Promise<{
37
+ content: Blob;
38
+ size: number;
39
+ }> {
28
40
  let code = req.code;
29
41
  let content: Blob;
30
42
  let size: number;