@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
2
1
  import type {
3
2
  Dependency as IDependency,
4
3
  Environment as IEnvironment,
@@ -27,6 +26,7 @@ import {
27
26
  } from '../types';
28
27
  import {fromProjectPath} from '../projectPath';
29
28
  import {fromInternalSourceLocation} from '../utils';
29
+ import {fromEnvironmentId} from '../EnvironmentManager';
30
30
 
31
31
  const SpecifierTypeNames = Object.keys(SpecifierTypeMap);
32
32
  const PriorityNames = Object.keys(Priority);
@@ -37,7 +37,7 @@ const internalDependencyToDependency: WeakMap<InternalDependency, Dependency> =
37
37
  new WeakMap();
38
38
  const _dependencyToInternalDependency: WeakMap<
39
39
  IDependency,
40
- InternalDependency,
40
+ InternalDependency
41
41
  > = new WeakMap();
42
42
  export function dependencyToInternalDependency(
43
43
  dependency: IDependency,
@@ -58,10 +58,10 @@ export function getPublicDependency(
58
58
  }
59
59
 
60
60
  export default class Dependency implements IDependency {
61
- #dep /*: InternalDependency */;
62
- #options /*: AtlaspackOptions */;
61
+ #dep: InternalDependency;
62
+ #options: AtlaspackOptions;
63
63
 
64
- constructor(dep: InternalDependency, options: AtlaspackOptions): Dependency {
64
+ constructor(dep: InternalDependency, options: AtlaspackOptions) {
65
65
  this.#dep = dep;
66
66
  this.#options = options;
67
67
  _dependencyToInternalDependency.set(this, dep);
@@ -69,7 +69,6 @@ export default class Dependency implements IDependency {
69
69
  return this;
70
70
  }
71
71
 
72
- // $FlowFixMe
73
72
  [inspect](): string {
74
73
  return `Dependency(${String(this.sourcePath)} -> ${this.specifier})`;
75
74
  }
@@ -83,10 +82,12 @@ export default class Dependency implements IDependency {
83
82
  }
84
83
 
85
84
  get specifierType(): SpecifierType {
85
+ // @ts-expect-error TS2322
86
86
  return SpecifierTypeNames[this.#dep.specifierType];
87
87
  }
88
88
 
89
89
  get priority(): DependencyPriority {
90
+ // @ts-expect-error TS2322
90
91
  return PriorityNames[this.#dep.priority];
91
92
  }
92
93
 
@@ -94,7 +95,7 @@ export default class Dependency implements IDependency {
94
95
  return this.#dep.needsStableName;
95
96
  }
96
97
 
97
- get bundleBehavior(): ?BundleBehavior {
98
+ get bundleBehavior(): BundleBehavior | null | undefined {
98
99
  let bundleBehavior = this.#dep.bundleBehavior;
99
100
  return bundleBehavior == null ? null : BundleBehaviorNames[bundleBehavior];
100
101
  }
@@ -107,15 +108,15 @@ export default class Dependency implements IDependency {
107
108
  return this.#dep.isOptional;
108
109
  }
109
110
 
110
- get loc(): ?SourceLocation {
111
+ get loc(): SourceLocation | null | undefined {
111
112
  return fromInternalSourceLocation(this.#options.projectRoot, this.#dep.loc);
112
113
  }
113
114
 
114
115
  get env(): IEnvironment {
115
- return new Environment(this.#dep.env, this.#options);
116
+ return new Environment(fromEnvironmentId(this.#dep.env), this.#options);
116
117
  }
117
118
 
118
- get packageConditions(): ?Array<string> {
119
+ get packageConditions(): Array<string> | null | undefined {
119
120
  // Merge custom conditions with conditions stored as bitflags.
120
121
  // Order is not important because exports conditions are resolved
121
122
  // in the order they are declared in the package.json.
@@ -123,6 +124,7 @@ export default class Dependency implements IDependency {
123
124
  if (this.#dep.packageConditions) {
124
125
  conditions = conditions ? [...conditions] : [];
125
126
  for (let key in ExportsCondition) {
127
+ // @ts-expect-error TS7053
126
128
  if (this.#dep.packageConditions & ExportsCondition[key]) {
127
129
  conditions.push(key);
128
130
  }
@@ -137,40 +139,41 @@ export default class Dependency implements IDependency {
137
139
  }
138
140
 
139
141
  get symbols(): IMutableDependencySymbols {
142
+ // @ts-expect-error TS2322
140
143
  return new MutableDependencySymbols(this.#options, this.#dep);
141
144
  }
142
145
 
143
- get target(): ?Target {
146
+ get target(): Target | null | undefined {
144
147
  let target = this.#dep.target;
145
148
  return target ? new Target(target, this.#options) : null;
146
149
  }
147
150
 
148
- get sourceAssetId(): ?string {
151
+ get sourceAssetId(): string | null | undefined {
149
152
  // TODO: does this need to be public?
150
153
  return this.#dep.sourceAssetId;
151
154
  }
152
155
 
153
- get sourcePath(): ?FilePath {
156
+ get sourcePath(): FilePath | null | undefined {
154
157
  // TODO: does this need to be public?
155
158
  return fromProjectPath(this.#options.projectRoot, this.#dep.sourcePath);
156
159
  }
157
160
 
158
- get sourceAssetType(): ?string {
161
+ get sourceAssetType(): string | null | undefined {
159
162
  return this.#dep.sourceAssetType;
160
163
  }
161
164
 
162
- get resolveFrom(): ?string {
165
+ get resolveFrom(): string | null | undefined {
163
166
  return fromProjectPath(
164
167
  this.#options.projectRoot,
165
168
  this.#dep.resolveFrom ?? this.#dep.sourcePath,
166
169
  );
167
170
  }
168
171
 
169
- get range(): ?string {
172
+ get range(): string | null | undefined {
170
173
  return this.#dep.range;
171
174
  }
172
175
 
173
- get pipeline(): ?string {
176
+ get pipeline(): string | null | undefined {
174
177
  return this.#dep.pipeline;
175
178
  }
176
179
  }
@@ -1,4 +1,3 @@
1
- // @flow strict-local
2
1
  import type {
3
2
  Environment as IEnvironment,
4
3
  EnvironmentContext,
@@ -10,6 +9,7 @@ import type {
10
9
  SourceLocation,
11
10
  SourceType,
12
11
  TargetSourceMapOptions,
12
+ EnvMap,
13
13
  } from '@atlaspack/types';
14
14
  import type {
15
15
  Environment as InternalEnvironment,
@@ -27,12 +27,17 @@ export const BROWSER_ENVS: Set<string> = new Set<string>([
27
27
  'web-worker',
28
28
  'service-worker',
29
29
  'worklet',
30
+ 'tesseract',
30
31
  'electron-renderer',
31
32
  ]);
32
33
  const ELECTRON_ENVS = new Set(['electron-main', 'electron-renderer']);
33
34
  const NODE_ENVS = new Set(['node', ...ELECTRON_ENVS]);
34
35
  const WORKER_ENVS = new Set(['web-worker', 'service-worker']);
35
- export const ISOLATED_ENVS: Set<string> = new Set([...WORKER_ENVS, 'worklet']);
36
+ export const ISOLATED_ENVS: Set<string> = new Set([
37
+ ...WORKER_ENVS,
38
+ 'worklet',
39
+ 'tesseract',
40
+ ]);
36
41
 
37
42
  const ALL_BROWSERS = [
38
43
  'chrome',
@@ -139,15 +144,15 @@ const supportData = {
139
144
  android: '71',
140
145
  samsung: '10.1',
141
146
  },
142
- };
147
+ } as const;
143
148
 
144
149
  const internalEnvironmentToEnvironment: WeakMap<
145
150
  InternalEnvironment,
146
- Environment,
151
+ Environment
147
152
  > = new WeakMap();
148
153
  const _environmentToInternalEnvironment: WeakMap<
149
154
  IEnvironment,
150
- InternalEnvironment,
155
+ InternalEnvironment
151
156
  > = new WeakMap();
152
157
  export function environmentToInternalEnvironment(
153
158
  environment: IEnvironment,
@@ -156,13 +161,12 @@ export function environmentToInternalEnvironment(
156
161
  }
157
162
 
158
163
  export default class Environment implements IEnvironment {
159
- #environment /*: InternalEnvironment */;
160
- #options /*: AtlaspackOptions */;
164
+ // @ts-expect-error TS2564
165
+ #environment: InternalEnvironment;
166
+ // @ts-expect-error TS2564
167
+ #options: AtlaspackOptions;
161
168
 
162
- constructor(
163
- env: InternalEnvironment,
164
- options: AtlaspackOptions,
165
- ): Environment {
169
+ constructor(env: InternalEnvironment, options: AtlaspackOptions) {
166
170
  let existing = internalEnvironmentToEnvironment.get(env);
167
171
  if (existing != null) {
168
172
  return existing;
@@ -190,7 +194,7 @@ export default class Environment implements IEnvironment {
190
194
  get includeNodeModules():
191
195
  | boolean
192
196
  | Array<PackageName>
193
- | {[PackageName]: boolean, ...} {
197
+ | Partial<Record<PackageName, boolean>> {
194
198
  return this.#environment.includeNodeModules;
195
199
  }
196
200
 
@@ -214,11 +218,11 @@ export default class Environment implements IEnvironment {
214
218
  return this.#environment.shouldScopeHoist;
215
219
  }
216
220
 
217
- get sourceMap(): ?TargetSourceMapOptions {
221
+ get sourceMap(): TargetSourceMapOptions | null | undefined {
218
222
  return this.#environment.sourceMap;
219
223
  }
220
224
 
221
- get loc(): ?SourceLocation {
225
+ get loc(): SourceLocation | null | undefined {
222
226
  return fromInternalSourceLocation(
223
227
  this.#options.projectRoot,
224
228
  this.#environment.loc,
@@ -229,7 +233,10 @@ export default class Environment implements IEnvironment {
229
233
  return this.#environment.unstableSingleFileOutput;
230
234
  }
231
235
 
232
- // $FlowFixMe[unsupported-syntax]
236
+ get customEnv(): EnvMap | null | undefined {
237
+ return this.#environment.customEnv;
238
+ }
239
+
233
240
  [inspect](): string {
234
241
  return `Env(${this.#environment.context})`;
235
242
  }
@@ -258,9 +265,13 @@ export default class Environment implements IEnvironment {
258
265
  return this.#environment.context === 'worklet';
259
266
  }
260
267
 
268
+ isTesseract(): boolean {
269
+ return this.#environment.context === 'tesseract';
270
+ }
271
+
261
272
  matchesEngines(
262
273
  minVersions: VersionMap,
263
- defaultValue?: boolean = false,
274
+ defaultValue: boolean = false,
264
275
  ): boolean {
265
276
  // Determine if the environment matches some minimum version requirements.
266
277
  // For browsers, we run a browserslist query with and without the minimum
@@ -306,7 +317,7 @@ export default class Environment implements IEnvironment {
306
317
  }
307
318
 
308
319
  function getExcludedBrowsers(minVersions: VersionMap) {
309
- let browsers = [];
320
+ let browsers: Array<string> = [];
310
321
  for (let browser of ALL_BROWSERS) {
311
322
  let version = minVersions[browser];
312
323
  if (version) {
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {
4
2
  Asset as IAsset,
5
3
  Bundle as IBundle,
@@ -11,6 +9,7 @@ import type {
11
9
  } from '@atlaspack/types';
12
10
  import type {
13
11
  AtlaspackOptions,
12
+ BundleGraphNode,
14
13
  BundleGroup as InternalBundleGroup,
15
14
  BundleNode,
16
15
  } from '../types';
@@ -32,13 +31,16 @@ import {BundleBehavior} from '../types';
32
31
  import BundleGroup, {bundleGroupToInternalBundleGroup} from './BundleGroup';
33
32
  import type {ProjectPath} from '../projectPath';
34
33
  import {identifierRegistry} from '../IdentifierRegistry';
35
-
36
- function createBundleId(data: {|
37
- entryAssetId: string | null,
38
- uniqueKey: string | null,
39
- distDir: ProjectPath,
40
- bundleBehavior: string | null,
41
- |}): string {
34
+ import {toEnvironmentRef} from '../EnvironmentManager';
35
+ import {getFeatureFlag} from '@atlaspack/feature-flags';
36
+ import type {ContentKey} from '@atlaspack/graph';
37
+
38
+ function createBundleId(data: {
39
+ entryAssetId: string | null;
40
+ uniqueKey: string | null;
41
+ distDir: ProjectPath;
42
+ bundleBehavior: string | null;
43
+ }): string {
42
44
  const {entryAssetId, uniqueKey, distDir, bundleBehavior} = data;
43
45
  const id = hashString(
44
46
  `bundle:${String(
@@ -53,9 +55,9 @@ export default class MutableBundleGraph
53
55
  extends BundleGraph<IBundle>
54
56
  implements IMutableBundleGraph
55
57
  {
56
- #graph /*: InternalBundleGraph */;
57
- #options /*: AtlaspackOptions */;
58
- #bundlePublicIds /*: Set<string> */ = new Set<string>();
58
+ #graph: InternalBundleGraph;
59
+ #options: AtlaspackOptions;
60
+ #bundlePublicIds: Set<string> = new Set<string>();
59
61
 
60
62
  constructor(graph: InternalBundleGraph, options: AtlaspackOptions) {
61
63
  super(graph, Bundle.get.bind(Bundle), options);
@@ -73,13 +75,16 @@ export default class MutableBundleGraph
73
75
  addAssetGraphToBundle(
74
76
  asset: IAsset,
75
77
  bundle: IBundle,
76
- shouldSkipDependency?: (IDependency) => boolean,
78
+ shouldSkipDependency?: (arg1: IDependency) => boolean,
77
79
  ) {
78
80
  this.#graph.addAssetGraphToBundle(
79
81
  assetToAssetValue(asset),
80
82
  bundleToInternalBundle(bundle),
83
+ // @ts-expect-error TS2345
81
84
  shouldSkipDependency
82
- ? (d) => shouldSkipDependency(new Dependency(d, this.#options))
85
+ ? (d: Dependency) =>
86
+ // @ts-expect-error TS2345
87
+ shouldSkipDependency(new Dependency(d, this.#options))
83
88
  : undefined,
84
89
  );
85
90
  }
@@ -87,13 +92,16 @@ export default class MutableBundleGraph
87
92
  addEntryToBundle(
88
93
  asset: IAsset,
89
94
  bundle: IBundle,
90
- shouldSkipDependency?: (IDependency) => boolean,
95
+ shouldSkipDependency?: (arg1: IDependency) => boolean,
91
96
  ) {
92
97
  this.#graph.addEntryToBundle(
93
98
  assetToAssetValue(asset),
94
99
  bundleToInternalBundle(bundle),
100
+ // @ts-expect-error TS2345
95
101
  shouldSkipDependency
96
- ? (d) => shouldSkipDependency(new Dependency(d, this.#options))
102
+ ? (d: Dependency) =>
103
+ // @ts-expect-error TS2345
104
+ shouldSkipDependency(new Dependency(d, this.#options))
97
105
  : undefined,
98
106
  );
99
107
  }
@@ -194,19 +202,23 @@ export default class MutableBundleGraph
194
202
  }
195
203
 
196
204
  createBundle(opts: CreateBundleOpts): Bundle {
205
+ // @ts-expect-error TS2339
197
206
  let entryAsset = opts.entryAsset
198
- ? assetToAssetValue(opts.entryAsset)
207
+ ? // @ts-expect-error TS2339
208
+ assetToAssetValue(opts.entryAsset)
199
209
  : null;
200
210
 
201
211
  let target = targetToInternalTarget(opts.target);
202
212
  let bundleId = createBundleId({
203
213
  entryAssetId: entryAsset?.id ?? null,
214
+ // @ts-expect-error TS2339
204
215
  uniqueKey: opts.uniqueKey ?? null,
205
216
  distDir: target.distDir,
206
217
  bundleBehavior: opts.bundleBehavior ?? null,
207
218
  });
208
219
 
209
- let existing = this.#graph._graph.getNodeByContentKey(bundleId);
220
+ let existing: BundleGraphNode | null | undefined =
221
+ this.#graph._graph.getNodeByContentKey(bundleId);
210
222
  if (existing != null) {
211
223
  invariant(existing.type === 'bundle');
212
224
  return Bundle.get(existing.value, this.#graph, this.#options);
@@ -226,6 +238,18 @@ export default class MutableBundleGraph
226
238
  isPlaceholder = entryAssetNode.requested === false;
227
239
  }
228
240
 
241
+ let entryAssetIds: Array<ContentKey> | Array<ContentKey | string> = [];
242
+ if (entryAsset) {
243
+ entryAssetIds = [entryAsset.id];
244
+ if (getFeatureFlag('supportWebpackChunkName')) {
245
+ // @ts-expect-error TS2339
246
+ let bundleRoots = opts.bundleRoots ?? [entryAsset];
247
+ let bundleRootIds = bundleRoots
248
+ .map(({id}: any) => id)
249
+ .filter((assetId: any) => assetId !== entryAsset.id);
250
+ entryAssetIds.push(...bundleRootIds);
251
+ }
252
+ }
229
253
  let bundleNode: BundleNode = {
230
254
  type: 'bundle',
231
255
  id: bundleId,
@@ -234,21 +258,28 @@ export default class MutableBundleGraph
234
258
  hashReference: this.#options.shouldContentHash
235
259
  ? HASH_REF_PREFIX + bundleId
236
260
  : bundleId.slice(-8),
261
+ // @ts-expect-error TS2339
237
262
  type: opts.entryAsset ? opts.entryAsset.type : opts.type,
263
+ // @ts-expect-error TS2339
238
264
  env: opts.env
239
- ? environmentToInternalEnvironment(opts.env)
265
+ ? // @ts-expect-error TS2339
266
+ toEnvironmentRef(environmentToInternalEnvironment(opts.env))
240
267
  : nullthrows(entryAsset).env,
241
- entryAssetIds: entryAsset ? [entryAsset.id] : [],
268
+ entryAssetIds,
242
269
  mainEntryId: entryAsset?.id,
270
+ // @ts-expect-error TS2339
243
271
  pipeline: opts.entryAsset ? opts.entryAsset.pipeline : opts.pipeline,
244
272
  needsStableName: opts.needsStableName,
245
273
  bundleBehavior:
246
274
  opts.bundleBehavior != null
247
275
  ? BundleBehavior[opts.bundleBehavior]
248
276
  : null,
277
+ // @ts-expect-error TS2339
249
278
  isSplittable: opts.entryAsset
250
- ? opts.entryAsset.isBundleSplittable
251
- : opts.isSplittable,
279
+ ? // @ts-expect-error TS2339
280
+ opts.entryAsset.isBundleSplittable
281
+ : // @ts-expect-error TS2339
282
+ opts.isSplittable,
252
283
  isPlaceholder,
253
284
  target,
254
285
  name: null,
@@ -263,10 +294,10 @@ export default class MutableBundleGraph
263
294
  bundleNode,
264
295
  );
265
296
 
266
- if (opts.entryAsset) {
297
+ for (let assetId of entryAssetIds) {
267
298
  this.#graph._graph.addEdge(
268
299
  bundleNodeId,
269
- this.#graph._graph.getNodeIdByContentKey(opts.entryAsset.id),
300
+ this.#graph._graph.getNodeIdByContentKey(assetId),
270
301
  );
271
302
  }
272
303
  return Bundle.get(bundleNode.value, this.#graph, this.#options);
@@ -1,4 +1,3 @@
1
- // @flow
2
1
  import type {
3
2
  BuildMode,
4
3
  EnvMap,
@@ -12,15 +11,16 @@ import type {
12
11
  import type {FileSystem} from '@atlaspack/fs';
13
12
  import type {PackageManager} from '@atlaspack/package-manager';
14
13
  import type {AtlaspackOptions} from '../types';
15
- import {type FeatureFlags} from '@atlaspack/feature-flags';
14
+ import {FeatureFlags} from '@atlaspack/feature-flags';
16
15
 
17
16
  let parcelOptionsToPluginOptions: WeakMap<AtlaspackOptions, PluginOptions> =
18
17
  new WeakMap();
19
18
 
20
19
  export default class PluginOptions implements IPluginOptions {
21
- #options /*: AtlaspackOptions */;
20
+ // @ts-expect-error TS2564
21
+ #options: AtlaspackOptions;
22
22
 
23
- constructor(options: AtlaspackOptions): PluginOptions {
23
+ constructor(options: AtlaspackOptions) {
24
24
  let existing = parcelOptionsToPluginOptions.get(options);
25
25
  if (existing != null) {
26
26
  return existing;
@@ -47,7 +47,7 @@ export default class PluginOptions implements IPluginOptions {
47
47
  return this.#options.parcelVersion;
48
48
  }
49
49
 
50
- get hmrOptions(): ?HMROptions {
50
+ get hmrOptions(): HMROptions | null | undefined {
51
51
  return this.#options.hmrOptions;
52
52
  }
53
53
 
@@ -89,7 +89,7 @@ export default class PluginOptions implements IPluginOptions {
89
89
  return this.#options.packageManager;
90
90
  }
91
91
 
92
- get detailedReport(): ?DetailedReportOptions {
92
+ get detailedReport(): DetailedReportOptions | null | undefined {
93
93
  return this.#options.detailedReport;
94
94
  }
95
95