@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 {FilePath} from '@atlaspack/types';
3
2
  import path from 'path';
4
3
  import {relativePath, normalizeSeparators} from '@atlaspack/utils';
@@ -7,7 +6,7 @@ import {getFeatureFlagValue} from '@atlaspack/feature-flags';
7
6
  /**
8
7
  * A path that's relative to the project root.
9
8
  */
10
- export opaque type ProjectPath = string;
9
+ export type ProjectPath = string;
11
10
 
12
11
  /**
13
12
  * Converts a file path to a project-relative path.
@@ -46,15 +45,24 @@ function toProjectPath_(projectRoot: FilePath, p: FilePath): ProjectPath {
46
45
  return relative;
47
46
  }
48
47
 
48
+ // @ts-expect-error TS2322
49
49
  export const toProjectPath: ((
50
50
  projectRoot: FilePath,
51
51
  p: FilePath,
52
52
  ) => ProjectPath) &
53
- ((projectRoot: FilePath, p: FilePath | void) => ProjectPath | void) &
54
- // $FlowFixMe Not sure how to type properly
55
- ((projectRoot: FilePath, p: ?FilePath) => ?ProjectPath) = toProjectPath_;
56
-
57
- function fromProjectPath_(projectRoot: FilePath, p: ?ProjectPath): ?FilePath {
53
+ ((
54
+ projectRoot: FilePath,
55
+ p: FilePath | undefined,
56
+ ) => ProjectPath | undefined) &
57
+ ((
58
+ projectRoot: FilePath,
59
+ p?: FilePath | null | undefined,
60
+ ) => ProjectPath | null | undefined) = toProjectPath_;
61
+
62
+ function fromProjectPath_(
63
+ projectRoot: FilePath,
64
+ p?: ProjectPath | null,
65
+ ): FilePath | null | undefined {
58
66
  if (p == null) {
59
67
  return null;
60
68
  }
@@ -76,12 +84,15 @@ function fromProjectPath_(projectRoot: FilePath, p: ?ProjectPath): ?FilePath {
76
84
  return projectRoot + projectPath;
77
85
  }
78
86
 
87
+ // @ts-expect-error TS2322
79
88
  export const fromProjectPath: ((
80
89
  projectRoot: FilePath,
81
90
  p: ProjectPath,
82
91
  ) => FilePath) &
83
- // $FlowFixMe Not sure how to type properly
84
- ((projectRoot: FilePath, p: ?ProjectPath) => ?FilePath) = fromProjectPath_;
92
+ ((
93
+ projectRoot: FilePath,
94
+ p?: ProjectPath | null | undefined,
95
+ ) => FilePath | null | undefined) = fromProjectPath_;
85
96
 
86
97
  /**
87
98
  * Returns a path relative to the project root. This should be used when computing cache keys
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type SourceMap from '@parcel/source-map';
4
2
  import type {Readable} from 'stream';
5
3
  import type {FileSystem} from '@atlaspack/fs';
@@ -36,6 +34,7 @@ import {
36
34
  BundleBehaviorNames,
37
35
  } from '../types';
38
36
  import {toInternalSourceLocation} from '../utils';
37
+ import {fromEnvironmentId} from '../EnvironmentManager';
39
38
 
40
39
  const inspect = Symbol.for('nodejs.util.inspect.custom');
41
40
 
@@ -46,12 +45,12 @@ const assetValueToMutableAsset: WeakMap<AssetValue, MutableAsset> =
46
45
 
47
46
  const _assetToAssetValue: WeakMap<
48
47
  IAsset | IMutableAsset | BaseAsset,
49
- AssetValue,
48
+ AssetValue
50
49
  > = new WeakMap();
51
50
 
52
51
  const _mutableAssetToUncommittedAsset: WeakMap<
53
52
  IMutableAsset,
54
- UncommittedAsset,
53
+ UncommittedAsset
55
54
  > = new WeakMap();
56
55
 
57
56
  export function assetToAssetValue(asset: IAsset | IMutableAsset): AssetValue {
@@ -80,14 +79,13 @@ export function assetFromValue(
80
79
 
81
80
  class BaseAsset {
82
81
  #asset: CommittedAsset | UncommittedAsset;
83
- #query /*: ?URLSearchParams */;
82
+ #query: URLSearchParams | null | undefined;
84
83
 
85
84
  constructor(asset: CommittedAsset | UncommittedAsset) {
86
85
  this.#asset = asset;
87
86
  _assetToAssetValue.set(this, asset.value);
88
87
  }
89
88
 
90
- // $FlowFixMe[unsupported-syntax]
91
89
  [inspect](): string {
92
90
  return `Asset(${this.filePath})`;
93
91
  }
@@ -101,7 +99,10 @@ class BaseAsset {
101
99
  }
102
100
 
103
101
  get env(): IEnvironment {
104
- return new Environment(this.#asset.value.env, this.#asset.options);
102
+ return new Environment(
103
+ fromEnvironmentId(this.#asset.value.env),
104
+ this.#asset.options,
105
+ );
105
106
  }
106
107
 
107
108
  get fs(): FileSystem {
@@ -126,7 +127,7 @@ class BaseAsset {
126
127
  return this.#asset.value.meta;
127
128
  }
128
129
 
129
- get bundleBehavior(): ?BundleBehavior {
130
+ get bundleBehavior(): BundleBehavior | null | undefined {
130
131
  let bundleBehavior = this.#asset.value.bundleBehavior;
131
132
  return bundleBehavior == null ? null : BundleBehaviorNames[bundleBehavior];
132
133
  }
@@ -144,22 +145,23 @@ class BaseAsset {
144
145
  }
145
146
 
146
147
  get symbols(): IAssetSymbols {
148
+ // @ts-expect-error TS2322
147
149
  return new AssetSymbols(this.#asset.options, this.#asset.value);
148
150
  }
149
151
 
150
- get uniqueKey(): ?string {
152
+ get uniqueKey(): string | null | undefined {
151
153
  return this.#asset.value.uniqueKey;
152
154
  }
153
155
 
154
- get astGenerator(): ?ASTGenerator {
156
+ get astGenerator(): ASTGenerator | null | undefined {
155
157
  return this.#asset.value.astGenerator;
156
158
  }
157
159
 
158
- get pipeline(): ?string {
160
+ get pipeline(): string | null | undefined {
159
161
  return this.#asset.value.pipeline;
160
162
  }
161
163
 
162
- getDependencies(): $ReadOnlyArray<IDependency> {
164
+ getDependencies(): ReadonlyArray<IDependency> {
163
165
  return this.#asset
164
166
  .getDependencies()
165
167
  .map((dep) => getPublicDependency(dep, this.#asset.options));
@@ -177,24 +179,25 @@ class BaseAsset {
177
179
  return this.#asset.getStream();
178
180
  }
179
181
 
180
- getMap(): Promise<?SourceMap> {
182
+ getMap(): Promise<SourceMap | null | undefined> {
181
183
  return this.#asset.getMap();
182
184
  }
183
185
 
184
- getAST(): Promise<?AST> {
186
+ getAST(): Promise<AST | null | undefined> {
185
187
  return this.#asset.getAST();
186
188
  }
187
189
 
188
- getMapBuffer(): Promise<?Buffer> {
190
+ getMapBuffer(): Promise<Buffer | null | undefined> {
189
191
  return this.#asset.getMapBuffer();
190
192
  }
191
193
  }
192
194
 
193
195
  export class Asset extends BaseAsset implements IAsset {
194
- #asset /*: CommittedAsset | UncommittedAsset */;
195
- #env /*: ?Environment */;
196
+ // @ts-expect-error TS2564
197
+ #asset: CommittedAsset | UncommittedAsset;
198
+ #env: Environment | null | undefined;
196
199
 
197
- constructor(asset: CommittedAsset | UncommittedAsset): Asset {
200
+ constructor(asset: CommittedAsset | UncommittedAsset) {
198
201
  let assetValueToAsset = asset.value.committed
199
202
  ? committedAssetValueToAsset
200
203
  : uncommittedAssetValueToAsset;
@@ -210,7 +213,10 @@ export class Asset extends BaseAsset implements IAsset {
210
213
  }
211
214
 
212
215
  get env(): IEnvironment {
213
- this.#env ??= new Environment(this.#asset.value.env, this.#asset.options);
216
+ this.#env ??= new Environment(
217
+ fromEnvironmentId(this.#asset.value.env),
218
+ this.#asset.options,
219
+ );
214
220
  return this.#env;
215
221
  }
216
222
 
@@ -220,9 +226,10 @@ export class Asset extends BaseAsset implements IAsset {
220
226
  }
221
227
 
222
228
  export class MutableAsset extends BaseAsset implements IMutableAsset {
223
- #asset /*: UncommittedAsset */;
229
+ // @ts-expect-error TS2564
230
+ #asset: UncommittedAsset;
224
231
 
225
- constructor(asset: UncommittedAsset): MutableAsset {
232
+ constructor(asset: UncommittedAsset) {
226
233
  let existing = assetValueToMutableAsset.get(asset.value);
227
234
  if (existing != null) {
228
235
  return existing;
@@ -235,7 +242,7 @@ export class MutableAsset extends BaseAsset implements IMutableAsset {
235
242
  return this;
236
243
  }
237
244
 
238
- setMap(map: ?SourceMap): void {
245
+ setMap(map?: SourceMap | null): void {
239
246
  this.#asset.setMap(map);
240
247
  }
241
248
 
@@ -243,6 +250,7 @@ export class MutableAsset extends BaseAsset implements IMutableAsset {
243
250
  return this.#asset.value.type;
244
251
  }
245
252
 
253
+ // @ts-expect-error TS1095
246
254
  set type(type: string): void {
247
255
  if (type !== this.#asset.value.type) {
248
256
  this.#asset.value.type = type;
@@ -250,12 +258,13 @@ export class MutableAsset extends BaseAsset implements IMutableAsset {
250
258
  }
251
259
  }
252
260
 
253
- get bundleBehavior(): ?BundleBehavior {
261
+ get bundleBehavior(): BundleBehavior | null | undefined {
254
262
  let bundleBehavior = this.#asset.value.bundleBehavior;
255
263
  return bundleBehavior == null ? null : BundleBehaviorNames[bundleBehavior];
256
264
  }
257
265
 
258
- set bundleBehavior(bundleBehavior: ?BundleBehavior): void {
266
+ // @ts-expect-error TS1095
267
+ set bundleBehavior(bundleBehavior?: BundleBehavior | null): void {
259
268
  this.#asset.value.bundleBehavior = bundleBehavior
260
269
  ? BundleBehaviorMap[bundleBehavior]
261
270
  : null;
@@ -265,6 +274,7 @@ export class MutableAsset extends BaseAsset implements IMutableAsset {
265
274
  return this.#asset.value.isBundleSplittable;
266
275
  }
267
276
 
277
+ // @ts-expect-error TS1095
268
278
  set isBundleSplittable(isBundleSplittable: boolean): void {
269
279
  this.#asset.value.isBundleSplittable = isBundleSplittable;
270
280
  }
@@ -273,15 +283,17 @@ export class MutableAsset extends BaseAsset implements IMutableAsset {
273
283
  return this.#asset.value.sideEffects;
274
284
  }
275
285
 
286
+ // @ts-expect-error TS1095
276
287
  set sideEffects(sideEffects: boolean): void {
277
288
  this.#asset.value.sideEffects = sideEffects;
278
289
  }
279
290
 
280
- get uniqueKey(): ?string {
291
+ get uniqueKey(): string | null | undefined {
281
292
  return this.#asset.value.uniqueKey;
282
293
  }
283
294
 
284
- set uniqueKey(uniqueKey: ?string): void {
295
+ // @ts-expect-error TS1095
296
+ set uniqueKey(uniqueKey?: string | null): void {
285
297
  if (this.#asset.value.uniqueKey != null) {
286
298
  throw new Error(
287
299
  "Cannot change an asset's uniqueKey after it has been set.",
@@ -291,6 +303,7 @@ export class MutableAsset extends BaseAsset implements IMutableAsset {
291
303
  }
292
304
 
293
305
  get symbols(): IMutableAssetSymbols {
306
+ // @ts-expect-error TS2322
294
307
  return new MutableAssetSymbols(this.#asset.options, this.#asset.value);
295
308
  }
296
309
 
@@ -340,7 +353,7 @@ export class MutableAsset extends BaseAsset implements IMutableAsset {
340
353
  return this.#asset.setAST(ast);
341
354
  }
342
355
 
343
- addURLDependency(url: string, opts: $Shape<DependencyOptions>): string {
356
+ addURLDependency(url: string, opts: Partial<DependencyOptions>): string {
344
357
  return this.addDependency({
345
358
  specifier: url,
346
359
  specifierType: 'url',
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {
4
2
  Bundle as InternalBundle,
5
3
  AtlaspackOptions,
@@ -34,20 +32,21 @@ import {
34
32
  import Target from './Target';
35
33
  import {BundleBehaviorNames} from '../types';
36
34
  import {fromProjectPath} from '../projectPath';
35
+ import {fromEnvironmentId} from '../EnvironmentManager';
37
36
 
38
37
  const inspect = Symbol.for('nodejs.util.inspect.custom');
39
38
 
40
39
  const internalBundleToBundle: DefaultWeakMap<
41
40
  AtlaspackOptions,
42
- DefaultWeakMap<BundleGraph, WeakMap<InternalBundle, Bundle>>,
41
+ DefaultWeakMap<BundleGraph, WeakMap<InternalBundle, Bundle>>
43
42
  > = new DefaultWeakMap(() => new DefaultWeakMap(() => new WeakMap()));
44
43
  const internalBundleToNamedBundle: DefaultWeakMap<
45
44
  AtlaspackOptions,
46
- DefaultWeakMap<BundleGraph, WeakMap<InternalBundle, NamedBundle>>,
45
+ DefaultWeakMap<BundleGraph, WeakMap<InternalBundle, NamedBundle>>
47
46
  > = new DefaultWeakMap(() => new DefaultWeakMap(() => new WeakMap()));
48
47
  const internalBundleToPackagedBundle: DefaultWeakMap<
49
48
  AtlaspackOptions,
50
- DefaultWeakMap<BundleGraph, WeakMap<InternalBundle, PackagedBundle>>,
49
+ DefaultWeakMap<BundleGraph, WeakMap<InternalBundle, PackagedBundle>>
51
50
  > = new DefaultWeakMap(() => new DefaultWeakMap(() => new WeakMap()));
52
51
 
53
52
  // Friendly access for other modules within this package that need access
@@ -64,20 +63,19 @@ export function bundleToInternalBundleGraph(bundle: IBundle): BundleGraph {
64
63
 
65
64
  // Require this private object to be present when invoking these constructors,
66
65
  // preventing others from using them. They should use the static `get` method.
67
- let _private = {};
66
+ let _private: Record<string, any> = {};
68
67
 
69
68
  export class Bundle implements IBundle {
70
- #bundle /*: InternalBundle */;
71
- #bundleGraph /*: BundleGraph */;
72
- #options /*: AtlaspackOptions */;
69
+ #bundle: InternalBundle;
70
+ #bundleGraph: BundleGraph;
71
+ #options: AtlaspackOptions;
73
72
 
74
- // $FlowFixMe
75
73
  [inspect]() {
76
74
  return `Bundle(${this.#bundle.id})`;
77
75
  }
78
76
 
79
77
  constructor(
80
- sentinel: mixed,
78
+ sentinel: unknown,
81
79
  bundle: InternalBundle,
82
80
  bundleGraph: BundleGraph,
83
81
  options: AtlaspackOptions,
@@ -123,23 +121,23 @@ export class Bundle implements IBundle {
123
121
  }
124
122
 
125
123
  get env(): IEnvironment {
126
- return new Environment(this.#bundle.env, this.#options);
124
+ return new Environment(fromEnvironmentId(this.#bundle.env), this.#options);
127
125
  }
128
126
 
129
- get needsStableName(): ?boolean {
127
+ get needsStableName(): boolean | null | undefined {
130
128
  return this.#bundle.needsStableName;
131
129
  }
132
130
 
133
- get bundleBehavior(): ?BundleBehavior {
131
+ get bundleBehavior(): BundleBehavior | null | undefined {
134
132
  let bundleBehavior = this.#bundle.bundleBehavior;
135
133
  return bundleBehavior != null ? BundleBehaviorNames[bundleBehavior] : null;
136
134
  }
137
135
 
138
- get isSplittable(): ?boolean {
136
+ get isSplittable(): boolean | null | undefined {
139
137
  return this.#bundle.isSplittable;
140
138
  }
141
139
 
142
- get manualSharedBundle(): ?string {
140
+ get manualSharedBundle(): string | null | undefined {
143
141
  return this.#bundle.manualSharedBundle;
144
142
  }
145
143
 
@@ -169,7 +167,7 @@ export class Bundle implements IBundle {
169
167
  });
170
168
  }
171
169
 
172
- getMainEntry(): ?IAsset {
170
+ getMainEntry(): IAsset | null | undefined {
173
171
  if (this.#bundle.mainEntryId != null) {
174
172
  let assetNode = this.#bundleGraph._graph.getNodeByContentKey(
175
173
  this.#bundle.mainEntryId,
@@ -181,9 +179,10 @@ export class Bundle implements IBundle {
181
179
 
182
180
  traverse<TContext>(
183
181
  visit: GraphVisitor<BundleTraversable, TContext>,
184
- ): ?TContext {
182
+ ): TContext | null | undefined {
185
183
  return this.#bundleGraph.traverseBundle(
186
184
  this.#bundle,
185
+ // @ts-expect-error TS2345
187
186
  mapVisitor((node) => {
188
187
  if (node.type === 'asset') {
189
188
  return {
@@ -203,7 +202,7 @@ export class Bundle implements IBundle {
203
202
  traverseAssets<TContext>(
204
203
  visit: GraphVisitor<IAsset, TContext>,
205
204
  startAsset?: IAsset,
206
- ): ?TContext {
205
+ ): TContext | null | undefined {
207
206
  return this.#bundleGraph.traverseAssets(
208
207
  this.#bundle,
209
208
  mapVisitor((asset) => assetFromValue(asset, this.#options), visit),
@@ -213,12 +212,12 @@ export class Bundle implements IBundle {
213
212
  }
214
213
 
215
214
  export class NamedBundle extends Bundle implements INamedBundle {
216
- #bundle /*: InternalBundle */;
217
- #bundleGraph /*: BundleGraph */;
218
- #options /*: AtlaspackOptions */;
215
+ #bundle: InternalBundle;
216
+ #bundleGraph: BundleGraph;
217
+ #options: AtlaspackOptions;
219
218
 
220
219
  constructor(
221
- sentinel: mixed,
220
+ sentinel: unknown,
222
221
  bundle: InternalBundle,
223
222
  bundleGraph: BundleGraph,
224
223
  options: AtlaspackOptions,
@@ -267,13 +266,13 @@ export class NamedBundle extends Bundle implements INamedBundle {
267
266
  }
268
267
 
269
268
  export class PackagedBundle extends NamedBundle implements IPackagedBundle {
270
- #bundle /*: InternalBundle */;
271
- #bundleGraph /*: BundleGraph */;
272
- #options /*: AtlaspackOptions */;
273
- #bundleInfo /*: ?PackagedBundleInfo */;
269
+ #bundle: InternalBundle;
270
+ #bundleGraph: BundleGraph;
271
+ #options: AtlaspackOptions;
272
+ #bundleInfo: PackagedBundleInfo | null | undefined;
274
273
 
275
274
  constructor(
276
- sentinel: mixed,
275
+ sentinel: unknown,
277
276
  bundle: InternalBundle,
278
277
  bundleGraph: BundleGraph,
279
278
  options: AtlaspackOptions,
@@ -314,7 +313,7 @@ export class PackagedBundle extends NamedBundle implements IPackagedBundle {
314
313
  internalBundle: InternalBundle,
315
314
  bundleGraph: BundleGraph,
316
315
  options: AtlaspackOptions,
317
- bundleInfo: ?PackagedBundleInfo,
316
+ bundleInfo?: PackagedBundleInfo | null,
318
317
  ): PackagedBundle {
319
318
  let packagedBundle = PackagedBundle.get(
320
319
  internalBundle,