@atlaspack/core 2.16.2-canary.21 → 2.16.2-canary.211

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 (355) hide show
  1. package/CHANGELOG.md +561 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +656 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +108 -0
  6. package/dist/BundleGraph.js +1628 -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 +531 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1368 -0
  16. package/dist/SymbolPropagation.js +617 -0
  17. package/dist/TargetDescriptor.schema.js +143 -0
  18. package/dist/Transformation.js +487 -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 +292 -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 +246 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +60 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +490 -0
  63. package/dist/requests/BundleGraphRequest.js +441 -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 +65 -0
  68. package/dist/requests/PathRequest.js +349 -0
  69. package/dist/requests/TargetRequest.js +1310 -0
  70. package/dist/requests/ValidationRequest.js +49 -0
  71. package/dist/requests/WriteBundleRequest.js +254 -0
  72. package/dist/requests/WriteBundlesRequest.js +165 -0
  73. package/dist/requests/asset-graph-diff.js +126 -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 +82 -35
  84. package/lib/AtlaspackConfig.js +15 -3
  85. package/lib/AtlaspackConfig.schema.js +7 -5
  86. package/lib/BundleGraph.js +83 -30
  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 +66 -23
  94. package/lib/ReporterRunner.js +6 -9
  95. package/lib/RequestTracker.js +256 -139
  96. package/lib/SymbolPropagation.js +22 -3
  97. package/lib/TargetDescriptor.schema.js +7 -1
  98. package/lib/Transformation.js +16 -9
  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 +34 -6
  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 +41 -4
  137. package/lib/requests/AssetGraphRequestRust.js +29 -14
  138. package/lib/requests/AssetRequest.js +23 -6
  139. package/lib/requests/AtlaspackBuildRequest.js +6 -2
  140. package/lib/requests/AtlaspackConfigRequest.js +12 -11
  141. package/lib/requests/BundleGraphRequest.js +29 -18
  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 +7 -2
  146. package/lib/requests/PathRequest.js +24 -3
  147. package/lib/requests/TargetRequest.js +120 -56
  148. package/lib/requests/ValidationRequest.js +5 -1
  149. package/lib/requests/WriteBundleRequest.js +39 -11
  150. package/lib/requests/WriteBundlesRequest.js +24 -2
  151. package/lib/requests/asset-graph-diff.js +8 -3
  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 +80 -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 +58 -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 +29 -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 +26 -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} +113 -60
  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} +213 -133
  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} +149 -81
  251. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  252. package/src/{RequestTracker.js → RequestTracker.ts} +558 -336
  253. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +137 -39
  254. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  255. package/src/{Transformation.js → Transformation.ts} +67 -61
  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} +94 -65
  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} +83 -48
  297. package/src/requests/{AssetGraphRequestRust.js → AssetGraphRequestRust.ts} +36 -29
  298. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  299. package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +30 -31
  300. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +58 -51
  301. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +66 -57
  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} +21 -21
  306. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  307. package/src/requests/{TargetRequest.js → TargetRequest.ts} +259 -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} +77 -34
  311. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +14 -14
  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} +3 -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} +54 -92
  340. package/test/public/Config.test.ts +104 -0
  341. package/test/requests/{AssetGraphRequestRust.test.js → AssetGraphRequestRust.test.ts} +163 -134
  342. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  343. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  344. package/test/{test-utils.js → test-utils.ts} +4 -11
  345. package/test/{utils.test.js → utils.test.ts} +1 -3
  346. package/tsconfig.json +57 -0
  347. package/tsconfig.tsbuildinfo +1 -0
  348. package/index.d.ts +0 -30
  349. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  350. package/src/atlaspack-v3/jsCallable.js +0 -18
  351. package/src/index.js +0 -13
  352. package/src/types.js +0 -600
  353. package/test/Environment.test.js +0 -119
  354. package/test/PackagerRunner.test.js +0 -27
  355. package/test/PublicEnvironment.test.js +0 -27
@@ -1,5 +1,3 @@
1
- // @flow
2
-
3
1
  import type {Asset, BundleBehavior} from '@atlaspack/types';
4
2
  import type {Graph} from '@atlaspack/graph';
5
3
  import type {AssetGraphNode, BundleGraphNode, Environment} from './types';
@@ -18,7 +16,7 @@ const COLORS = {
18
16
  transformer_request: 'cyan',
19
17
  file: 'gray',
20
18
  default: 'white',
21
- };
19
+ } as const;
22
20
 
23
21
  const TYPE_COLORS = {
24
22
  // bundle graph
@@ -33,16 +31,16 @@ const TYPE_COLORS = {
33
31
  invalidated_by_create_above: 'orange',
34
32
  invalidate_by_update: 'cyan',
35
33
  invalidated_by_delete: 'red',
36
- };
34
+ } as const;
37
35
 
38
36
  export default async function dumpGraphToGraphViz(
39
37
  graph:
40
38
  | Graph<AssetGraphNode>
41
- | Graph<{|
42
- assets: Set<Asset>,
43
- sourceBundles: Set<number>,
44
- bundleBehavior?: ?BundleBehavior,
45
- |}>
39
+ | Graph<{
40
+ assets: Set<Asset>;
41
+ sourceBundles: Set<number>;
42
+ bundleBehavior?: BundleBehavior | null | undefined;
43
+ }>
46
44
  | Graph<BundleGraphNode>,
47
45
  name: string,
48
46
  edgeTypes?: typeof bundleGraphEdgeTypes | typeof requestGraphEdgeTypes,
@@ -54,12 +52,12 @@ export default async function dumpGraphToGraphViz(
54
52
  return;
55
53
  }
56
54
 
57
- let mode: ?string = process.env.ATLASPACK_BUILD_REPL
58
- ? // $FlowFixMe
55
+ let mode: string | null | undefined = process.env.ATLASPACK_BUILD_REPL
56
+ ? // @ts-expect-error TS7017
59
57
  globalThis.ATLASPACK_DUMP_GRAPHVIZ?.mode
60
58
  : process.env.ATLASPACK_DUMP_GRAPHVIZ;
61
59
 
62
- // $FlowFixMe[invalid-compare]
60
+ // @ts-expect-error TS2367
63
61
  if (mode == null || mode == false) {
64
62
  return;
65
63
  }
@@ -69,74 +67,96 @@ export default async function dumpGraphToGraphViz(
69
67
  let GraphVizGraph = require('graphviz/lib/deps/graph').Graph;
70
68
  let g = new GraphVizGraph(null, 'G');
71
69
  g.type = 'digraph';
72
- // $FlowFixMe
73
70
  for (let [id, node] of graph.nodes.entries()) {
74
71
  if (node == null) continue;
75
72
  let n = g.addNode(nodeId(id));
76
- // $FlowFixMe default is fine. Not every type needs to be in the map.
73
+ // @ts-expect-error TS7053
77
74
  n.set('color', COLORS[node.type || 'default']);
78
75
  n.set('shape', 'box');
79
76
  n.set('style', 'filled');
80
77
  let label;
81
78
  if (typeof node === 'string') {
82
79
  label = node;
80
+ // @ts-expect-error TS2339
83
81
  } else if (node.assets) {
82
+ // @ts-expect-error TS2339
84
83
  label = `(${nodeId(id)}), (assetIds: ${[...node.assets]
85
84
  .map((a) => {
86
85
  let arr = a.filePath.split('/');
87
86
  return arr[arr.length - 1];
88
87
  })
88
+ // @ts-expect-error TS2339
89
89
  .join(', ')}) (sourceBundles: ${[...node.sourceBundles].join(
90
90
  ', ',
91
+ // @ts-expect-error TS2339
91
92
  )}) (bb ${node.bundleBehavior ?? 'none'})`;
93
+ // @ts-expect-error TS2339
92
94
  } else if (node.type) {
95
+ // @ts-expect-error TS2339
93
96
  label = `[${fromNodeId(id)}] ${node.type || 'No Type'}: [${node.id}]: `;
97
+ // @ts-expect-error TS2339
94
98
  if (node.type === 'dependency') {
99
+ // @ts-expect-error TS2339
95
100
  label += node.value.specifier;
96
- let parts = [];
101
+ let parts: Array<undefined | string> = [];
102
+ // @ts-expect-error TS2339
97
103
  if (node.value.priority !== Priority.sync) {
98
104
  parts.push(
99
105
  Object.entries(Priority).find(
100
- ([, v]) => v === node.value.priority,
106
+ // @ts-expect-error TS2339
107
+ ([, v]: [any, any]) => v === node.value.priority,
101
108
  )?.[0],
102
109
  );
103
110
  }
111
+ // @ts-expect-error TS2339
104
112
  if (node.value.isOptional) parts.push('optional');
113
+ // @ts-expect-error TS2339
105
114
  if (node.value.specifierType === SpecifierType.url) parts.push('url');
115
+ // @ts-expect-error TS2339
106
116
  if (node.hasDeferred) parts.push('deferred');
117
+ // @ts-expect-error TS2339
107
118
  if (node.deferred) parts.push('deferred');
119
+ // @ts-expect-error TS2339
108
120
  if (node.excluded) parts.push('excluded');
109
121
  if (parts.length) label += ' (' + parts.join(', ') + ')';
122
+ // @ts-expect-error TS2339
110
123
  if (node.value.env) label += ` (${getEnvDescription(node.value.env)})`;
124
+ // @ts-expect-error TS2339
111
125
  let depSymbols = node.value.symbols;
112
126
  if (detailedSymbols) {
113
127
  if (depSymbols) {
114
128
  if (depSymbols.size) {
115
129
  label +=
116
130
  '\\nsymbols: ' +
117
- [...depSymbols].map(([e, {local}]) => [e, local]).join(';');
131
+ [...depSymbols]
132
+ .map(([e, {local}]: [any, any]) => [e, local])
133
+ .join(';');
118
134
  }
119
135
  let weakSymbols = [...depSymbols]
120
- .filter(([, {isWeak}]) => isWeak)
121
- .map(([s]) => s);
136
+ .filter(([, {isWeak}]: [any, any]) => isWeak)
137
+ .map(([s]: [any]) => s);
122
138
  if (weakSymbols.length) {
123
139
  label += '\\nweakSymbols: ' + weakSymbols.join(',');
124
140
  }
141
+ // @ts-expect-error TS2339
125
142
  if (node.usedSymbolsUp.size > 0) {
126
143
  label +=
127
144
  '\\nusedSymbolsUp: ' +
145
+ // @ts-expect-error TS2339
128
146
  [...node.usedSymbolsUp]
129
- .map(([s, sAsset]) =>
147
+ .map(([s, sAsset]: [any, any]) =>
130
148
  sAsset
131
149
  ? `${s}(${sAsset.asset}.${sAsset.symbol ?? ''})`
132
150
  : sAsset === null
133
- ? `${s}(external)`
134
- : `${s}(ambiguous)`,
151
+ ? `${s}(external)`
152
+ : `${s}(ambiguous)`,
135
153
  )
136
154
  .join(',');
137
155
  }
156
+ // @ts-expect-error TS2339
138
157
  if (node.usedSymbolsDown.size > 0) {
139
158
  label +=
159
+ // @ts-expect-error TS2339
140
160
  '\\nusedSymbolsDown: ' + [...node.usedSymbolsDown].join(',');
141
161
  }
142
162
  // if (node.usedSymbolsDownDirty) label += '\\nusedSymbolsDownDirty';
@@ -147,22 +167,30 @@ export default async function dumpGraphToGraphViz(
147
167
  label += '\\nsymbols: cleared';
148
168
  }
149
169
  }
170
+ // @ts-expect-error TS2339
150
171
  } else if (node.type === 'asset') {
151
172
  label +=
173
+ // @ts-expect-error TS2339
152
174
  path.basename(fromProjectPathRelative(node.value.filePath)) +
153
175
  '#' +
176
+ // @ts-expect-error TS2339
154
177
  node.value.type;
155
178
  if (detailedSymbols) {
179
+ // @ts-expect-error TS2339
156
180
  if (!node.value.symbols) {
157
181
  label += '\\nsymbols: cleared';
182
+ // @ts-expect-error TS2339
158
183
  } else if (node.value.symbols.size) {
159
184
  label +=
160
185
  '\\nsymbols: ' +
186
+ // @ts-expect-error TS2339
161
187
  [...node.value.symbols]
162
- .map(([e, {local}]) => [e, local])
188
+ .map(([e, {local}]: [any, any]) => [e, local])
163
189
  .join(';');
164
190
  }
191
+ // @ts-expect-error TS2339
165
192
  if (node.usedSymbols.size) {
193
+ // @ts-expect-error TS2339
166
194
  label += '\\nusedSymbols: ' + [...node.usedSymbols].join(',');
167
195
  }
168
196
  // if (node.usedSymbolsDownDirty) label += '\\nusedSymbolsDownDirty';
@@ -170,23 +198,38 @@ export default async function dumpGraphToGraphViz(
170
198
  } else {
171
199
  label += '\\nsymbols: cleared';
172
200
  }
201
+ // @ts-expect-error TS2339
173
202
  } else if (node.type === 'asset_group') {
203
+ // @ts-expect-error TS2339
174
204
  if (node.deferred) label += '(deferred)';
205
+ // @ts-expect-error TS2339
175
206
  } else if (node.type === 'file') {
207
+ // @ts-expect-error TS2339
176
208
  label += path.basename(node.id);
209
+ // @ts-expect-error TS2339
177
210
  } else if (node.type === 'transformer_request') {
178
211
  label +=
212
+ // @ts-expect-error TS2339
179
213
  path.basename(node.value.filePath) +
214
+ // @ts-expect-error TS2339
180
215
  ` (${getEnvDescription(node.value.env)})`;
216
+ // @ts-expect-error TS2339
181
217
  } else if (node.type === 'bundle') {
182
- let parts = [];
218
+ let parts: Array<string> = [];
219
+ // @ts-expect-error TS2339
183
220
  if (node.value.needsStableName) parts.push('stable name');
221
+ // @ts-expect-error TS2339
184
222
  parts.push(node.value.name);
223
+ // @ts-expect-error TS2339
185
224
  parts.push('bb:' + (node.value.bundleBehavior ?? 'null'));
225
+ // @ts-expect-error TS2339
186
226
  if (node.value.isPlaceholder) parts.push('placeholder');
187
227
  if (parts.length) label += ' (' + parts.join(', ') + ')';
228
+ // @ts-expect-error TS2339
188
229
  if (node.value.env) label += ` (${getEnvDescription(node.value.env)})`;
230
+ // @ts-expect-error TS2339
189
231
  } else if (node.type === 'request') {
232
+ // @ts-expect-error TS2339
190
233
  label = node.requestType + ':' + node.id;
191
234
  }
192
235
  }
@@ -196,14 +239,16 @@ export default async function dumpGraphToGraphViz(
196
239
  let edgeNames;
197
240
  if (edgeTypes) {
198
241
  edgeNames = Object.fromEntries(
199
- Object.entries(edgeTypes).map(([k, v]) => [v, k]),
242
+ Object.entries(edgeTypes).map(([k, v]: [any, any]) => [v, k]),
200
243
  );
201
244
  }
202
245
 
246
+ // @ts-expect-error TS2488
203
247
  for (let edge of graph.getAllEdges()) {
204
248
  let gEdge = g.addEdge(nodeId(edge.from), nodeId(edge.to));
205
249
  let color = null;
206
250
  if (edge.type != 1 && edgeNames) {
251
+ // @ts-expect-error TS7053
207
252
  color = TYPE_COLORS[edgeNames[edge.type]];
208
253
  }
209
254
  if (color != null) {
@@ -212,7 +257,7 @@ export default async function dumpGraphToGraphViz(
212
257
  }
213
258
 
214
259
  if (process.env.ATLASPACK_BUILD_REPL) {
215
- // $FlowFixMe
260
+ // @ts-expect-error TS7017
216
261
  globalThis.ATLASPACK_DUMP_GRAPHVIZ?.(name, g.to_dot());
217
262
  } else {
218
263
  const tempy = require('tempy');
@@ -223,8 +268,8 @@ export default async function dumpGraphToGraphViz(
223
268
  }
224
269
  }
225
270
 
226
- function nodeId(id) {
227
- // $FlowFixMe
271
+ // @ts-expect-error TS2552
272
+ function nodeId(id: NodeId | number) {
228
273
  return `node${id}`;
229
274
  }
230
275
 
package/src/index.ts ADDED
@@ -0,0 +1,18 @@
1
+ import * as EnvironmentManager from './EnvironmentManager';
2
+
3
+ export {
4
+ default,
5
+ default as Atlaspack,
6
+ default as Parcel,
7
+ BuildError,
8
+ createWorkerFarm,
9
+ INTERNAL_RESOLVE,
10
+ INTERNAL_TRANSFORM,
11
+ WORKER_PATH,
12
+ } from './Atlaspack';
13
+ export {ATLASPACK_VERSION} from './constants';
14
+ export {default as resolveOptions} from './resolveOptions';
15
+ export {createEnvironment} from './Environment';
16
+ export {default as Environment} from './public/Environment';
17
+ export * from './atlaspack-v3';
18
+ export {EnvironmentManager};
@@ -1,4 +1,3 @@
1
- // @flow
2
1
  import type {FilePath, PackageName, Semver} from '@atlaspack/types';
3
2
  import type {AtlaspackOptions} from './types';
4
3
 
@@ -9,7 +8,7 @@ import ThrowableDiagnostic, {
9
8
  md,
10
9
  } from '@atlaspack/diagnostic';
11
10
  import {findAlternativeNodeModules} from '@atlaspack/utils';
12
- import {type ProjectPath, toProjectPath} from './projectPath';
11
+ import {ProjectPath, toProjectPath} from './projectPath';
13
12
 
14
13
  const NODE_MODULES = `${path.sep}node_modules${path.sep}`;
15
14
  const CONFIG = Symbol.for('parcel-plugin-config');
@@ -17,13 +16,13 @@ const CONFIG = Symbol.for('parcel-plugin-config');
17
16
  export default async function loadPlugin<T>(
18
17
  pluginName: PackageName,
19
18
  configPath: FilePath,
20
- keyPath?: string,
19
+ keyPath: string | null | undefined,
21
20
  options: AtlaspackOptions,
22
- ): Promise<{|
23
- plugin: T,
24
- version: Semver,
25
- resolveFrom: ProjectPath,
26
- |}> {
21
+ ): Promise<{
22
+ plugin: T;
23
+ version: Semver;
24
+ resolveFrom: ProjectPath;
25
+ }> {
27
26
  let resolveFrom = configPath;
28
27
 
29
28
  // Config packages can reference plugins, but cannot contain other plugins within them.
@@ -58,7 +57,7 @@ export default async function loadPlugin<T>(
58
57
  ({pkg} = await options.packageManager.resolve(pluginName, resolveFrom, {
59
58
  shouldAutoInstall: options.shouldAutoInstall,
60
59
  }));
61
- } catch (err) {
60
+ } catch (err: any) {
62
61
  if (err.code !== 'MODULE_NOT_FOUND') {
63
62
  throw err;
64
63
  }
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {FileSystem} from '@atlaspack/fs';
4
2
  import type {EnvMap, FilePath} from '@atlaspack/types';
5
3
 
@@ -30,6 +28,7 @@ export default async function loadEnv(
30
28
  const envPath = await resolveConfig(
31
29
  fs,
32
30
  filePath,
31
+ // @ts-expect-error TS2322
33
32
  [dotenvFile],
34
33
  projectRoot,
35
34
  );
@@ -41,6 +40,7 @@ export default async function loadEnv(
41
40
  // https://github.com/motdotla/dotenv-expand/blob/ddb73d02322fe8522b4e05b73e1c1ad24ea7c14a/lib/main.js#L5
42
41
  let output = variableExpansion({
43
42
  parsed: dotenv.parse(await fs.readFile(envPath)),
43
+ // @ts-expect-error TS2353
44
44
  ignoreProcessEnv: true,
45
45
  });
46
46
 
@@ -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',