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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +1324 -0
  2. package/dist/AssetGraph.js +523 -0
  3. package/dist/Atlaspack.js +701 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1906 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +470 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1297 -0
  16. package/dist/SymbolPropagation.js +624 -0
  17. package/dist/TargetDescriptor.schema.js +146 -0
  18. package/dist/Transformation.js +514 -0
  19. package/dist/UncommittedAsset.js +310 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +384 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +83 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +114 -0
  25. package/dist/atlaspack-v3/fs.js +53 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +98 -0
  30. package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
  31. package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
  32. package/dist/atlaspack-v3/worker/compat/index.js +24 -0
  33. package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
  34. package/dist/atlaspack-v3/worker/compat/plugin-config.js +64 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  37. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  38. package/dist/atlaspack-v3/worker/side-effect-detector.js +243 -0
  39. package/dist/atlaspack-v3/worker/worker.js +398 -0
  40. package/dist/constants.js +17 -0
  41. package/dist/dumpGraphToGraphViz.js +281 -0
  42. package/dist/index.js +62 -0
  43. package/dist/loadAtlaspackPlugin.js +128 -0
  44. package/dist/loadDotEnv.js +41 -0
  45. package/dist/projectPath.js +83 -0
  46. package/dist/public/Asset.js +279 -0
  47. package/dist/public/Bundle.js +224 -0
  48. package/dist/public/BundleGraph.js +371 -0
  49. package/dist/public/BundleGroup.js +53 -0
  50. package/dist/public/Config.js +286 -0
  51. package/dist/public/Dependency.js +138 -0
  52. package/dist/public/Environment.js +278 -0
  53. package/dist/public/MutableBundleGraph.js +277 -0
  54. package/dist/public/PluginOptions.js +80 -0
  55. package/dist/public/Symbols.js +248 -0
  56. package/dist/public/Target.js +69 -0
  57. package/dist/registerCoreWithSerializer.js +38 -0
  58. package/dist/requests/AssetGraphRequest.js +430 -0
  59. package/dist/requests/AssetGraphRequestRust.js +471 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +98 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  63. package/dist/requests/BundleGraphRequest.js +381 -0
  64. package/dist/requests/BundleGraphRequestRust.js +324 -0
  65. package/dist/requests/BundleGraphRequestUtils.js +262 -0
  66. package/dist/requests/ConfigRequest.js +246 -0
  67. package/dist/requests/DevDepRequest.js +204 -0
  68. package/dist/requests/EntryRequest.js +314 -0
  69. package/dist/requests/PackageRequest.js +89 -0
  70. package/dist/requests/PathRequest.js +349 -0
  71. package/dist/requests/TargetRequest.js +1316 -0
  72. package/dist/requests/ValidationRequest.js +49 -0
  73. package/dist/requests/WriteBundleRequest.js +522 -0
  74. package/dist/requests/WriteBundlesRequest.js +190 -0
  75. package/dist/requests/asset-graph-diff.js +128 -0
  76. package/dist/requests/asset-graph-dot.js +131 -0
  77. package/dist/resolveOptions.js +267 -0
  78. package/dist/rustWorkerThreadDylibHack.js +19 -0
  79. package/dist/serializerCore.browser.js +43 -0
  80. package/dist/summarizeRequest.js +39 -0
  81. package/dist/types.js +31 -0
  82. package/dist/utils.js +172 -0
  83. package/dist/worker.js +123 -0
  84. package/lib/AssetGraph.js +53 -15
  85. package/lib/Atlaspack.js +140 -56
  86. package/lib/AtlaspackConfig.js +17 -6
  87. package/lib/AtlaspackConfig.schema.js +16 -5
  88. package/lib/BundleGraph.js +390 -43
  89. package/lib/CommittedAsset.js +8 -2
  90. package/lib/Dependency.js +9 -3
  91. package/lib/Environment.js +16 -10
  92. package/lib/EnvironmentManager.js +143 -0
  93. package/lib/IdentifierRegistry.js +2 -4
  94. package/lib/InternalConfig.js +3 -2
  95. package/lib/PackagerRunner.js +46 -82
  96. package/lib/ReporterRunner.js +8 -12
  97. package/lib/RequestTracker.js +191 -152
  98. package/lib/SymbolPropagation.js +52 -29
  99. package/lib/TargetDescriptor.schema.js +10 -1
  100. package/lib/Transformation.js +68 -19
  101. package/lib/UncommittedAsset.js +17 -24
  102. package/lib/Validation.js +20 -5
  103. package/lib/applyRuntimes.js +98 -7
  104. package/lib/assetUtils.js +16 -6
  105. package/lib/atlaspack-v3/AtlaspackV3.js +58 -15
  106. package/lib/atlaspack-v3/NapiWorkerPool.js +63 -2
  107. package/lib/atlaspack-v3/fs.js +4 -1
  108. package/lib/atlaspack-v3/index.js +28 -1
  109. package/lib/atlaspack-v3/jsCallable.js +0 -2
  110. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  111. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  112. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  113. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  114. package/lib/atlaspack-v3/worker/compat/index.js +0 -11
  115. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +16 -11
  116. package/lib/atlaspack-v3/worker/compat/plugin-config.js +14 -35
  117. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -2
  118. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  119. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  120. package/lib/atlaspack-v3/worker/index.js +3 -0
  121. package/lib/atlaspack-v3/worker/side-effect-detector.js +214 -0
  122. package/lib/atlaspack-v3/worker/worker.js +231 -79
  123. package/lib/constants.js +0 -1
  124. package/lib/dumpGraphToGraphViz.js +72 -17
  125. package/lib/index.js +46 -3
  126. package/lib/loadAtlaspackPlugin.js +2 -3
  127. package/lib/loadDotEnv.js +5 -2
  128. package/lib/projectPath.js +6 -1
  129. package/lib/public/Asset.js +22 -12
  130. package/lib/public/Bundle.js +16 -18
  131. package/lib/public/BundleGraph.js +27 -25
  132. package/lib/public/BundleGroup.js +5 -6
  133. package/lib/public/Config.js +118 -18
  134. package/lib/public/Dependency.js +9 -7
  135. package/lib/public/Environment.js +13 -8
  136. package/lib/public/MutableBundleGraph.js +56 -15
  137. package/lib/public/PluginOptions.js +2 -2
  138. package/lib/public/Symbols.js +12 -12
  139. package/lib/public/Target.js +8 -7
  140. package/lib/registerCoreWithSerializer.js +7 -4
  141. package/lib/requests/AssetGraphRequest.js +61 -40
  142. package/lib/requests/AssetGraphRequestRust.js +314 -82
  143. package/lib/requests/AssetRequest.js +24 -7
  144. package/lib/requests/AtlaspackBuildRequest.js +53 -7
  145. package/lib/requests/AtlaspackConfigRequest.js +29 -19
  146. package/lib/requests/BundleGraphRequest.js +61 -130
  147. package/lib/requests/BundleGraphRequestRust.js +381 -0
  148. package/lib/requests/BundleGraphRequestUtils.js +280 -0
  149. package/lib/requests/ConfigRequest.js +55 -7
  150. package/lib/requests/DevDepRequest.js +32 -6
  151. package/lib/requests/EntryRequest.js +4 -3
  152. package/lib/requests/PackageRequest.js +56 -12
  153. package/lib/requests/PathRequest.js +26 -6
  154. package/lib/requests/TargetRequest.js +129 -60
  155. package/lib/requests/ValidationRequest.js +6 -2
  156. package/lib/requests/WriteBundleRequest.js +329 -20
  157. package/lib/requests/WriteBundlesRequest.js +64 -10
  158. package/lib/requests/asset-graph-diff.js +13 -8
  159. package/lib/requests/asset-graph-dot.js +2 -8
  160. package/lib/resolveOptions.js +37 -14
  161. package/lib/rustWorkerThreadDylibHack.js +0 -1
  162. package/lib/serializerCore.browser.js +1 -2
  163. package/lib/summarizeRequest.js +1 -1
  164. package/lib/types/AssetGraph.d.ts +55 -0
  165. package/lib/types/Atlaspack.d.ts +52 -0
  166. package/lib/types/AtlaspackConfig.d.ts +65 -0
  167. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  168. package/lib/types/BundleGraph.d.ts +232 -0
  169. package/lib/types/CommittedAsset.d.ts +23 -0
  170. package/lib/types/Dependency.d.ts +44 -0
  171. package/lib/types/Environment.d.ts +11 -0
  172. package/lib/types/EnvironmentManager.d.ts +37 -0
  173. package/lib/types/IdentifierRegistry.d.ts +6 -0
  174. package/lib/types/InternalConfig.d.ts +23 -0
  175. package/lib/types/PackagerRunner.d.ts +85 -0
  176. package/lib/types/ReporterRunner.d.ts +25 -0
  177. package/lib/types/RequestTracker.d.ts +385 -0
  178. package/lib/types/SymbolPropagation.d.ts +11 -0
  179. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  180. package/lib/types/Transformation.d.ts +72 -0
  181. package/lib/types/UncommittedAsset.d.ts +61 -0
  182. package/lib/types/Validation.d.ts +37 -0
  183. package/lib/types/applyRuntimes.d.ts +25 -0
  184. package/lib/types/assetUtils.d.ts +42 -0
  185. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +35 -0
  186. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  187. package/lib/types/atlaspack-v3/fs.d.ts +13 -0
  188. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  189. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  190. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  191. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  192. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  193. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  194. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -2
  195. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  196. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  197. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  198. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  199. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  200. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  201. package/lib/types/atlaspack-v3/worker/worker.d.ts +81 -0
  202. package/lib/types/constants.d.ts +13 -0
  203. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  204. package/lib/types/index.d.ts +8 -0
  205. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  206. package/lib/types/loadDotEnv.d.ts +3 -0
  207. package/lib/types/projectPath.d.ts +19 -0
  208. package/lib/types/public/Asset.d.ts +74 -0
  209. package/lib/types/public/Bundle.d.ts +45 -0
  210. package/lib/types/public/BundleGraph.d.ts +72 -0
  211. package/lib/types/public/BundleGroup.d.ts +12 -0
  212. package/lib/types/public/Config.d.ts +75 -0
  213. package/lib/types/public/Dependency.d.ts +32 -0
  214. package/lib/types/public/Environment.d.ts +34 -0
  215. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  216. package/lib/types/public/PluginOptions.d.ts +25 -0
  217. package/lib/types/public/Symbols.d.ts +81 -0
  218. package/lib/types/public/Target.d.ts +16 -0
  219. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  220. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  221. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  222. package/lib/types/requests/AssetRequest.d.ts +16 -0
  223. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  224. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  225. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  226. package/lib/types/requests/BundleGraphRequestRust.d.ts +34 -0
  227. package/lib/types/requests/BundleGraphRequestUtils.d.ts +38 -0
  228. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  229. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  230. package/lib/types/requests/EntryRequest.d.ts +36 -0
  231. package/lib/types/requests/PackageRequest.d.ts +27 -0
  232. package/lib/types/requests/PathRequest.d.ts +48 -0
  233. package/lib/types/requests/TargetRequest.d.ts +48 -0
  234. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  235. package/lib/types/requests/WriteBundleRequest.d.ts +80 -0
  236. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  237. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  238. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  239. package/lib/types/resolveOptions.d.ts +3 -0
  240. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  241. package/lib/types/serializerCore.browser.d.ts +3 -0
  242. package/lib/types/summarizeRequest.d.ts +10 -0
  243. package/lib/types/types.d.ts +496 -0
  244. package/lib/types/utils.d.ts +23 -0
  245. package/lib/types/worker.d.ts +44 -0
  246. package/lib/types.js +8 -1
  247. package/lib/utils.js +18 -3
  248. package/lib/worker.js +32 -15
  249. package/package.json +26 -36
  250. package/src/{AssetGraph.js → AssetGraph.ts} +87 -51
  251. package/src/{Atlaspack.js → Atlaspack.ts} +181 -72
  252. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  253. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  254. package/src/{BundleGraph.js → BundleGraph.ts} +575 -145
  255. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  256. package/src/{Dependency.js → Dependency.ts} +59 -42
  257. package/src/{Environment.js → Environment.ts} +24 -15
  258. package/src/EnvironmentManager.ts +154 -0
  259. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  260. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  261. package/src/{PackagerRunner.js → PackagerRunner.ts} +114 -159
  262. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  263. package/src/{RequestTracker.js → RequestTracker.ts} +444 -355
  264. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +178 -61
  265. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +10 -1
  266. package/src/{Transformation.js → Transformation.ts} +110 -65
  267. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +45 -49
  268. package/src/{Validation.js → Validation.ts} +32 -17
  269. package/src/{applyRuntimes.js → applyRuntimes.ts} +135 -26
  270. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  271. package/src/atlaspack-v3/AtlaspackV3.ts +183 -0
  272. package/src/atlaspack-v3/NapiWorkerPool.ts +129 -0
  273. package/src/atlaspack-v3/{fs.js → fs.ts} +8 -4
  274. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  275. package/src/atlaspack-v3/jsCallable.ts +14 -0
  276. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  277. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  278. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  279. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  280. package/src/atlaspack-v3/worker/compat/index.ts +8 -0
  281. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  282. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  283. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  284. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  285. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  286. package/src/atlaspack-v3/worker/index.js +2 -1
  287. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  288. package/src/atlaspack-v3/worker/worker.ts +548 -0
  289. package/src/{constants.js → constants.ts} +0 -3
  290. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  291. package/src/index.ts +18 -0
  292. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  293. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  294. package/src/{projectPath.js → projectPath.ts} +20 -9
  295. package/src/public/{Asset.js → Asset.ts} +41 -28
  296. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  297. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  298. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  299. package/src/public/{Config.js → Config.ts} +171 -33
  300. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  301. package/src/public/{Environment.js → Environment.ts} +28 -17
  302. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  303. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  304. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  305. package/src/public/{Target.js → Target.ts} +10 -8
  306. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  307. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +117 -90
  308. package/src/requests/AssetGraphRequestRust.ts +557 -0
  309. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  310. package/src/requests/AtlaspackBuildRequest.ts +168 -0
  311. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  312. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +119 -199
  313. package/src/requests/BundleGraphRequestRust.ts +470 -0
  314. package/src/requests/BundleGraphRequestUtils.ts +323 -0
  315. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  316. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  317. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  318. package/src/requests/{PackageRequest.js → PackageRequest.ts} +52 -25
  319. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  320. package/src/requests/{TargetRequest.js → TargetRequest.ts} +265 -179
  321. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  322. package/src/requests/WriteBundleRequest.ts +734 -0
  323. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +134 -50
  324. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  325. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  326. package/src/{resolveOptions.js → resolveOptions.ts} +57 -27
  327. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  328. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  329. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  330. package/src/types.ts +651 -0
  331. package/src/{utils.js → utils.ts} +52 -21
  332. package/src/{worker.js → worker.ts} +50 -42
  333. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +5 -8
  334. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  335. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  336. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  337. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  338. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  339. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  340. package/test/Environment.test.ts +153 -0
  341. package/test/EnvironmentManager.test.ts +188 -0
  342. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  343. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  344. package/test/PackagerRunner.test.ts +0 -0
  345. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  346. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  347. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  348. package/test/PublicEnvironment.test.ts +49 -0
  349. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  350. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +136 -58
  351. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  352. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +91 -92
  353. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  354. package/test/fixtures/custom-targets/package.json +6 -0
  355. package/test/public/Config.test.ts +104 -0
  356. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  357. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  358. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  359. package/test/requests/WriteBundleRequest.test.ts +602 -0
  360. package/test/{test-utils.js → test-utils.ts} +3 -4
  361. package/test/{utils.test.js → utils.test.ts} +1 -3
  362. package/tsconfig.json +60 -0
  363. package/tsconfig.tsbuildinfo +1 -0
  364. package/index.d.ts +0 -30
  365. package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
  366. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  367. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  368. package/src/atlaspack-v3/jsCallable.js +0 -18
  369. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  370. package/src/atlaspack-v3/worker/compat/plugin-logger.js +0 -47
  371. package/src/atlaspack-v3/worker/worker.js +0 -369
  372. package/src/index.js +0 -13
  373. package/src/requests/AssetGraphRequestRust.js +0 -263
  374. package/src/requests/AtlaspackBuildRequest.js +0 -111
  375. package/src/requests/WriteBundleRequest.js +0 -369
  376. package/src/types.js +0 -600
  377. package/test/Environment.test.js +0 -119
  378. package/test/PackagerRunner.test.js +0 -27
  379. package/test/PublicEnvironment.test.js +0 -27
  380. package/test/requests/AssetGraphRequestRust.test.js +0 -411
@@ -32,16 +32,8 @@ var _Dependency = _interopRequireWildcard(require("./Dependency"));
32
32
  var _Target = require("./Target");
33
33
  var _utils = require("../utils");
34
34
  var _BundleGroup = _interopRequireWildcard(require("./BundleGroup"));
35
- function _featureFlags() {
36
- const data = require("@atlaspack/feature-flags");
37
- _featureFlags = function () {
38
- return data;
39
- };
40
- return data;
41
- }
42
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
43
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
44
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
36
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
45
37
  // Friendly access for other modules within this package that need access
46
38
  // to the internal bundle.
47
39
  const _bundleGraphToInternalBundleGraph = new WeakMap();
@@ -56,7 +48,6 @@ class BundleGraph {
56
48
  this.#graph = graph;
57
49
  this.#options = options;
58
50
  this.#createBundle = createBundle;
59
- // $FlowFixMe
60
51
  _bundleGraphToInternalBundleGraph.set(this, graph);
61
52
  }
62
53
  getAssetById(id) {
@@ -122,6 +113,19 @@ class BundleGraph {
122
113
  isAssetReferenced(bundle, asset) {
123
114
  return this.#graph.isAssetReferenced((0, _Bundle.bundleToInternalBundle)(bundle), (0, _Asset.assetToAssetValue)(asset));
124
115
  }
116
+ isAssetReferencedFastCheck(bundle, asset) {
117
+ return this.#graph.isAssetReferencedFastCheck((0, _Bundle.bundleToInternalBundle)(bundle), (0, _Asset.assetToAssetValue)(asset));
118
+ }
119
+ getReferencedAssets(bundle) {
120
+ let internalReferencedAssets = this.#graph.getReferencedAssets((0, _Bundle.bundleToInternalBundle)(bundle));
121
+
122
+ // Convert internal assets to public assets
123
+ let publicReferencedAssets = new Set();
124
+ for (let internalAsset of internalReferencedAssets) {
125
+ publicReferencedAssets.add((0, _Asset.assetFromValue)(internalAsset, this.#options));
126
+ }
127
+ return publicReferencedAssets;
128
+ }
125
129
  hasParentBundleOfType(bundle, type) {
126
130
  return this.#graph.hasParentBundleOfType((0, _Bundle.bundleToInternalBundle)(bundle), type);
127
131
  }
@@ -160,7 +164,9 @@ class BundleGraph {
160
164
  }));
161
165
  }
162
166
  traverse(visit, start, opts) {
163
- return this.#graph.traverse((0, _graph().mapVisitor)((node, actions) => {
167
+ return this.#graph.traverse(
168
+ // @ts-expect-error TS2345
169
+ (0, _graph().mapVisitor)((node, actions) => {
164
170
  // Skipping unused dependencies here is faster than doing an isDependencySkipped check inside the visitor
165
171
  // because the node needs to be re-looked up by id from the hashmap.
166
172
  if (opts !== null && opts !== void 0 && opts.skipUnusedDependencies && node.type === 'dependency' && (node.hasDeferred || node.excluded)) {
@@ -234,6 +240,8 @@ class BundleGraph {
234
240
  });
235
241
  }
236
242
  }
243
+
244
+ // @ts-expect-error TS2322
237
245
  return conditions;
238
246
  }
239
247
 
@@ -265,25 +273,19 @@ class BundleGraph {
265
273
  (0, _assert().default)(resolved.type === 'bundle_group');
266
274
  return this.getBundlesInBundleGroup(resolved.value);
267
275
  };
276
+ // @ts-expect-error TS2345
268
277
  ifTrueBundles.push(...depToBundles(cond.ifTrueDependency));
278
+ // @ts-expect-error TS2345
269
279
  ifFalseBundles.push(...depToBundles(cond.ifFalseDependency));
270
280
  }
271
281
  for (let bundle of bundles) {
272
282
  const conditions = bundleConditions.get(bundle.id) ?? new Map();
273
283
  const currentCondition = conditions.get(cond.key);
274
- if ((0, _featureFlags().getFeatureFlag)('conditionalBundlingReporterSameConditionFix')) {
275
- conditions.set(cond.key, {
276
- bundle,
277
- ifTrueBundles: [...((currentCondition === null || currentCondition === void 0 ? void 0 : currentCondition.ifTrueBundles) ?? []), ...ifTrueBundles],
278
- ifFalseBundles: [...((currentCondition === null || currentCondition === void 0 ? void 0 : currentCondition.ifFalseBundles) ?? []), ...ifFalseBundles]
279
- });
280
- } else {
281
- conditions.set(cond.key, {
282
- bundle,
283
- ifTrueBundles,
284
- ifFalseBundles
285
- });
286
- }
284
+ conditions.set(cond.key, {
285
+ bundle,
286
+ ifTrueBundles: [...((currentCondition === null || currentCondition === void 0 ? void 0 : currentCondition.ifTrueBundles) ?? []), ...ifTrueBundles],
287
+ ifFalseBundles: [...((currentCondition === null || currentCondition === void 0 ? void 0 : currentCondition.ifFalseBundles) ?? []), ...ifFalseBundles]
288
+ });
287
289
  bundleConditions.set(bundle.id, conditions);
288
290
  }
289
291
  }
@@ -13,7 +13,7 @@ function _nullthrows() {
13
13
  return data;
14
14
  }
15
15
  var _Target = _interopRequireDefault(require("./Target"));
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
17
  const internalBundleGroupToBundleGroup = new WeakMap();
18
18
  const _bundleGroupToInternalBundleGroup = new WeakMap();
19
19
  function bundleGroupToInternalBundleGroup(target) {
@@ -21,9 +21,10 @@ function bundleGroupToInternalBundleGroup(target) {
21
21
  }
22
22
  const inspect = Symbol.for('nodejs.util.inspect.custom');
23
23
  class BundleGroup {
24
- #bundleGroup /*: InternalBundleGroup */;
25
- #options /*: AtlaspackOptions */;
26
-
24
+ // @ts-expect-error TS2564
25
+ #bundleGroup;
26
+ // @ts-expect-error TS2564
27
+ #options;
27
28
  constructor(bundleGroup, options) {
28
29
  let existing = internalBundleGroupToBundleGroup.get(bundleGroup);
29
30
  if (existing != null) {
@@ -41,8 +42,6 @@ class BundleGroup {
41
42
  get entryAssetId() {
42
43
  return this.#bundleGroup.entryAssetId;
43
44
  }
44
-
45
- // $FlowFixMe
46
45
  [inspect]() {
47
46
  return `BundleGroup(${this.entryAssetId})`;
48
47
  }
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ exports.makeConfigProxy = makeConfigProxy;
7
8
  function _assert() {
8
9
  const data = _interopRequireDefault(require("assert"));
9
10
  _assert = function () {
@@ -27,14 +28,80 @@ function _utils() {
27
28
  }
28
29
  var _Environment = _interopRequireDefault(require("./Environment"));
29
30
  var _projectPath = require("../projectPath");
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+ var _EnvironmentManager = require("../EnvironmentManager");
32
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
31
33
  const internalConfigToConfig = new (_utils().DefaultWeakMap)(() => new WeakMap());
32
- class PublicConfig {
33
- #config /*: Config */;
34
- #pkg /*: ?PackageJSON */;
35
- #pkgFilePath /*: ?FilePath */;
36
- #options /*: AtlaspackOptions */;
37
34
 
35
+ /**
36
+ * Implements read tracking over an object.
37
+ *
38
+ * Calling this function with a non-trivial object like a class instance will fail to work.
39
+ *
40
+ * We track reads to fields that resolve to:
41
+ *
42
+ * - primitive values
43
+ * - arrays
44
+ *
45
+ * That is, reading a nested field `a.b.c` will make a single call to `onRead` with the path
46
+ * `['a', 'b', 'c']`.
47
+ *
48
+ * In case the value is null or an array, we will track the read as well.
49
+ *
50
+ * Iterating over `Object.keys(obj.field)` will register a read for the `['field']` path.
51
+ * Other reads work normally.
52
+ *
53
+ * @example
54
+ *
55
+ * const usedPaths = new Set();
56
+ * const onRead = (path) => {
57
+ * usedPaths.add(path);
58
+ * };
59
+ *
60
+ * const config = makeConfigProxy(onRead, {a: {b: {c: 'd'}}})
61
+ * console.log(config.a.b.c);
62
+ * console.log(Array.from(usedPaths));
63
+ * // We get a single read for the path
64
+ * // ['a', 'b', 'c']
65
+ *
66
+ */
67
+ function makeConfigProxy(onRead, config) {
68
+ const reportedPaths = new Set();
69
+ const reportPath = path => {
70
+ if (reportedPaths.has(path)) {
71
+ return;
72
+ }
73
+ reportedPaths.add(path);
74
+ onRead(path);
75
+ };
76
+ const makeProxy = (target, path) => {
77
+ // @ts-expect-error TS2345
78
+ return new Proxy(target, {
79
+ ownKeys(target) {
80
+ reportPath(path);
81
+ return Object.getOwnPropertyNames(target);
82
+ },
83
+ get(target, prop) {
84
+ // @ts-expect-error TS7053
85
+ const value = target[prop];
86
+ if (typeof value === 'object' && value != null && !Array.isArray(value)) {
87
+ return makeProxy(value, [...path, prop]);
88
+ }
89
+ reportPath([...path, prop]);
90
+ return value;
91
+ }
92
+ });
93
+ };
94
+
95
+ // @ts-expect-error TS2322
96
+ return makeProxy(config, []);
97
+ }
98
+ class PublicConfig {
99
+ // @ts-expect-error TS2564
100
+ #config;
101
+ #pkg;
102
+ #pkgFilePath;
103
+ // @ts-expect-error TS2564
104
+ #options;
38
105
  constructor(config, options) {
39
106
  let existing = internalConfigToConfig.get(options).get(config);
40
107
  if (existing != null) {
@@ -46,7 +113,7 @@ class PublicConfig {
46
113
  return this;
47
114
  }
48
115
  get env() {
49
- return new _Environment.default(this.#config.env, this.#options);
116
+ return new _Environment.default((0, _EnvironmentManager.fromEnvironmentId)(this.#config.env), this.#options);
50
117
  }
51
118
  get searchPath() {
52
119
  return (0, _projectPath.fromProjectPath)(this.#options.projectRoot, this.#config.searchPath);
@@ -57,8 +124,6 @@ class PublicConfig {
57
124
  get isSource() {
58
125
  return this.#config.isSource;
59
126
  }
60
-
61
- // $FlowFixMe
62
127
  setResult(result) {
63
128
  this.#config.result = result;
64
129
  }
@@ -86,19 +151,25 @@ class PublicConfig {
86
151
  });
87
152
  }
88
153
  invalidateOnFileCreate(invalidation) {
154
+ // @ts-expect-error TS2339
89
155
  if (invalidation.glob != null) {
90
- // $FlowFixMe
91
156
  this.#config.invalidateOnFileCreate.push(invalidation);
157
+ // @ts-expect-error TS2339
92
158
  } else if (invalidation.filePath != null) {
93
159
  this.#config.invalidateOnFileCreate.push({
94
- filePath: (0, _projectPath.toProjectPath)(this.#options.projectRoot, invalidation.filePath)
160
+ filePath: (0, _projectPath.toProjectPath)(this.#options.projectRoot,
161
+ // @ts-expect-error TS2339
162
+ invalidation.filePath)
95
163
  });
96
164
  } else {
165
+ // @ts-expect-error TS2339
97
166
  (0, _assert().default)(invalidation.aboveFilePath != null);
98
167
  this.#config.invalidateOnFileCreate.push({
99
- // $FlowFixMe
168
+ // @ts-expect-error TS2339
100
169
  fileName: invalidation.fileName,
101
- aboveFilePath: (0, _projectPath.toProjectPath)(this.#options.projectRoot, invalidation.aboveFilePath)
170
+ aboveFilePath: (0, _projectPath.toProjectPath)(this.#options.projectRoot,
171
+ // @ts-expect-error TS2339
172
+ invalidation.aboveFilePath)
102
173
  });
103
174
  }
104
175
  }
@@ -112,20 +183,45 @@ class PublicConfig {
112
183
  this.#config.invalidateOnBuild = true;
113
184
  }
114
185
  async getConfigFrom(searchPath, fileNames, options) {
186
+ // @ts-expect-error TS2339
115
187
  let packageKey = options === null || options === void 0 ? void 0 : options.packageKey;
116
188
  if (packageKey != null) {
117
189
  let pkg = await this.getConfigFrom(searchPath, ['package.json'], {
118
190
  exclude: true
119
191
  });
192
+
193
+ // @ts-expect-error TS18046
120
194
  if (pkg && pkg.contents[packageKey]) {
121
195
  // Invalidate only when the package key changes
122
- this.invalidateOnConfigKeyChange(pkg.filePath, packageKey);
196
+ this.invalidateOnConfigKeyChange(pkg.filePath, [packageKey]);
123
197
  return {
198
+ // @ts-expect-error TS18046
124
199
  contents: pkg.contents[packageKey],
125
200
  filePath: pkg.filePath
126
201
  };
127
202
  }
128
203
  }
204
+
205
+ // @ts-expect-error TS2339
206
+ const readTracking = options === null || options === void 0 ? void 0 : options.readTracking;
207
+ if (readTracking === true) {
208
+ for (let fileName of fileNames) {
209
+ const config = await this.getConfigFrom(searchPath, [fileName], {
210
+ exclude: true
211
+ });
212
+ if (config != null) {
213
+ // @ts-expect-error TS2322
214
+ return Promise.resolve({
215
+ contents: makeConfigProxy(keyPath => {
216
+ this.invalidateOnConfigKeyChange(config.filePath, keyPath);
217
+ }, config.contents),
218
+ filePath: config.filePath
219
+ });
220
+ }
221
+ }
222
+
223
+ // fall through so that file above invalidations are registered
224
+ }
129
225
  if (fileNames.length === 0) {
130
226
  return null;
131
227
  }
@@ -137,11 +233,15 @@ class PublicConfig {
137
233
  aboveFilePath: searchPath
138
234
  });
139
235
  }
236
+
237
+ // @ts-expect-error TS2339
140
238
  let parse = options && options.parse;
141
239
  let configFilePath = await (0, _utils().resolveConfig)(this.#options.inputFS, searchPath, fileNames, this.#options.projectRoot);
142
240
  if (configFilePath == null) {
143
241
  return null;
144
242
  }
243
+
244
+ // @ts-expect-error TS2339
145
245
  if (!options || !options.exclude) {
146
246
  this.invalidateOnFileChange(configFilePath);
147
247
  }
@@ -161,9 +261,7 @@ class PublicConfig {
161
261
  // e.g. uses unknown environment variables, reads from the filesystem, etc.
162
262
  this.invalidateOnStartup();
163
263
  let config = await this.#options.packageManager.require(specifier, searchPath);
164
- if (
165
- // $FlowFixMe
166
- Object.prototype.toString.call(config) === '[object Module]' && config.default != null) {
264
+ if (Object.prototype.toString.call(config) === '[object Module]' && config.default != null) {
167
265
  // Native ESM config. Try to use a default export, otherwise fall back to the whole namespace.
168
266
  config = config.default;
169
267
  }
@@ -190,7 +288,9 @@ class PublicConfig {
190
288
  if (this.#pkg) {
191
289
  return this.#pkg;
192
290
  }
193
- let pkgConfig = await this.getConfig(['package.json']);
291
+ let pkgConfig = await this.getConfig(['package.json'], {
292
+ readTracking: true
293
+ });
194
294
  if (!pkgConfig) {
195
295
  return null;
196
296
  }
@@ -19,7 +19,8 @@ var _Target = _interopRequireDefault(require("./Target"));
19
19
  var _Symbols = require("./Symbols");
20
20
  var _projectPath = require("../projectPath");
21
21
  var _utils = require("../utils");
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ var _EnvironmentManager = require("../EnvironmentManager");
23
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
24
  const SpecifierTypeNames = Object.keys(_types.SpecifierType);
24
25
  const PriorityNames = Object.keys(_types.Priority);
25
26
  const inspect = Symbol.for('nodejs.util.inspect.custom');
@@ -36,9 +37,8 @@ function getPublicDependency(dep, options) {
36
37
  return new Dependency(dep, options);
37
38
  }
38
39
  class Dependency {
39
- #dep /*: InternalDependency */;
40
- #options /*: AtlaspackOptions */;
41
-
40
+ #dep;
41
+ #options;
42
42
  constructor(dep, options) {
43
43
  this.#dep = dep;
44
44
  this.#options = options;
@@ -46,8 +46,6 @@ class Dependency {
46
46
  internalDependencyToDependency.set(dep, this);
47
47
  return this;
48
48
  }
49
-
50
- // $FlowFixMe
51
49
  [inspect]() {
52
50
  return `Dependency(${String(this.sourcePath)} -> ${this.specifier})`;
53
51
  }
@@ -58,9 +56,11 @@ class Dependency {
58
56
  return this.#dep.specifier;
59
57
  }
60
58
  get specifierType() {
59
+ // @ts-expect-error TS2322
61
60
  return SpecifierTypeNames[this.#dep.specifierType];
62
61
  }
63
62
  get priority() {
63
+ // @ts-expect-error TS2322
64
64
  return PriorityNames[this.#dep.priority];
65
65
  }
66
66
  get needsStableName() {
@@ -80,7 +80,7 @@ class Dependency {
80
80
  return (0, _utils.fromInternalSourceLocation)(this.#options.projectRoot, this.#dep.loc);
81
81
  }
82
82
  get env() {
83
- return new _Environment.default(this.#dep.env, this.#options);
83
+ return new _Environment.default((0, _EnvironmentManager.fromEnvironmentId)(this.#dep.env), this.#options);
84
84
  }
85
85
  get packageConditions() {
86
86
  // Merge custom conditions with conditions stored as bitflags.
@@ -90,6 +90,7 @@ class Dependency {
90
90
  if (this.#dep.packageConditions) {
91
91
  conditions = conditions ? [...conditions] : [];
92
92
  for (let key in _types.ExportsCondition) {
93
+ // @ts-expect-error TS7053
93
94
  if (this.#dep.packageConditions & _types.ExportsCondition[key]) {
94
95
  conditions.push(key);
95
96
  }
@@ -101,6 +102,7 @@ class Dependency {
101
102
  return this.#dep.meta;
102
103
  }
103
104
  get symbols() {
105
+ // @ts-expect-error TS2322
104
106
  return new _Symbols.MutableDependencySymbols(this.#options, this.#dep);
105
107
  }
106
108
  get target() {
@@ -27,13 +27,13 @@ function _semver() {
27
27
  return data;
28
28
  }
29
29
  var _utils = require("../utils");
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
31
31
  const inspect = Symbol.for('nodejs.util.inspect.custom');
32
- const BROWSER_ENVS = exports.BROWSER_ENVS = new Set(['browser', 'web-worker', 'service-worker', 'worklet', 'electron-renderer']);
32
+ const BROWSER_ENVS = exports.BROWSER_ENVS = new Set(['browser', 'web-worker', 'service-worker', 'worklet', 'tesseract', 'electron-renderer']);
33
33
  const ELECTRON_ENVS = new Set(['electron-main', 'electron-renderer']);
34
34
  const NODE_ENVS = new Set(['node', ...ELECTRON_ENVS]);
35
35
  const WORKER_ENVS = new Set(['web-worker', 'service-worker']);
36
- const ISOLATED_ENVS = exports.ISOLATED_ENVS = new Set([...WORKER_ENVS, 'worklet']);
36
+ const ISOLATED_ENVS = exports.ISOLATED_ENVS = new Set([...WORKER_ENVS, 'worklet', 'tesseract']);
37
37
  const ALL_BROWSERS = ['chrome', 'and_chr', 'edge', 'firefox', 'and_ff', 'safari', 'ios', 'samsung', 'opera', 'ie', 'op_mini', 'blackberry', 'op_mob', 'ie_mob', 'and_uc', 'and_qq', 'baidu', 'kaios'];
38
38
 
39
39
  // See require("caniuse-api").getSupport(<feature name>)
@@ -127,9 +127,10 @@ function environmentToInternalEnvironment(environment) {
127
127
  return (0, _nullthrows().default)(_environmentToInternalEnvironment.get(environment));
128
128
  }
129
129
  class Environment {
130
- #environment /*: InternalEnvironment */;
131
- #options /*: AtlaspackOptions */;
132
-
130
+ // @ts-expect-error TS2564
131
+ #environment;
132
+ // @ts-expect-error TS2564
133
+ #options;
133
134
  constructor(env, options) {
134
135
  let existing = internalEnvironmentToEnvironment.get(env);
135
136
  if (existing != null) {
@@ -177,8 +178,9 @@ class Environment {
177
178
  get unstableSingleFileOutput() {
178
179
  return this.#environment.unstableSingleFileOutput;
179
180
  }
180
-
181
- // $FlowFixMe[unsupported-syntax]
181
+ get customEnv() {
182
+ return this.#environment.customEnv;
183
+ }
182
184
  [inspect]() {
183
185
  return `Env(${this.#environment.context})`;
184
186
  }
@@ -200,6 +202,9 @@ class Environment {
200
202
  isWorklet() {
201
203
  return this.#environment.context === 'worklet';
202
204
  }
205
+ isTesseract() {
206
+ return this.#environment.context === 'tesseract';
207
+ }
203
208
  matchesEngines(minVersions, defaultValue = false) {
204
209
  // Determine if the environment matches some minimum version requirements.
205
210
  // For browsers, we run a browserslist query with and without the minimum
@@ -26,7 +26,7 @@ function _rust() {
26
26
  return data;
27
27
  }
28
28
  var _BundleGraph = _interopRequireDefault(require("./BundleGraph"));
29
- var _BundleGraph2 = _interopRequireWildcard(require("../BundleGraph"));
29
+ var _BundleGraph2 = require("../BundleGraph");
30
30
  var _Bundle = require("./Bundle");
31
31
  var _Asset = require("./Asset");
32
32
  var _utils = require("../utils");
@@ -38,9 +38,16 @@ var _projectPath = require("../projectPath");
38
38
  var _types = require("../types");
39
39
  var _BundleGroup = _interopRequireWildcard(require("./BundleGroup"));
40
40
  var _IdentifierRegistry = require("../IdentifierRegistry");
41
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
42
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
43
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
+ var _EnvironmentManager = require("../EnvironmentManager");
42
+ function _featureFlags() {
43
+ const data = require("@atlaspack/feature-flags");
44
+ _featureFlags = function () {
45
+ return data;
46
+ };
47
+ return data;
48
+ }
49
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
50
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
44
51
  function createBundleId(data) {
45
52
  const {
46
53
  entryAssetId,
@@ -53,9 +60,9 @@ function createBundleId(data) {
53
60
  return id;
54
61
  }
55
62
  class MutableBundleGraph extends _BundleGraph.default {
56
- #graph /*: InternalBundleGraph */;
57
- #options /*: AtlaspackOptions */;
58
- #bundlePublicIds /*: Set<string> */ = new Set();
63
+ #graph;
64
+ #options;
65
+ #bundlePublicIds = new Set();
59
66
  constructor(graph, options) {
60
67
  super(graph, _Bundle.Bundle.get.bind(_Bundle.Bundle), options);
61
68
  this.#graph = graph;
@@ -65,10 +72,18 @@ class MutableBundleGraph extends _BundleGraph.default {
65
72
  this.#graph.addAssetToBundle((0, _Asset.assetToAssetValue)(asset), (0, _Bundle.bundleToInternalBundle)(bundle));
66
73
  }
67
74
  addAssetGraphToBundle(asset, bundle, shouldSkipDependency) {
68
- this.#graph.addAssetGraphToBundle((0, _Asset.assetToAssetValue)(asset), (0, _Bundle.bundleToInternalBundle)(bundle), shouldSkipDependency ? d => shouldSkipDependency(new _Dependency.default(d, this.#options)) : undefined);
75
+ this.#graph.addAssetGraphToBundle((0, _Asset.assetToAssetValue)(asset), (0, _Bundle.bundleToInternalBundle)(bundle),
76
+ // @ts-expect-error TS2345
77
+ shouldSkipDependency ? d =>
78
+ // @ts-expect-error TS2345
79
+ shouldSkipDependency(new _Dependency.default(d, this.#options)) : undefined);
69
80
  }
70
81
  addEntryToBundle(asset, bundle, shouldSkipDependency) {
71
- this.#graph.addEntryToBundle((0, _Asset.assetToAssetValue)(asset), (0, _Bundle.bundleToInternalBundle)(bundle), shouldSkipDependency ? d => shouldSkipDependency(new _Dependency.default(d, this.#options)) : undefined);
82
+ this.#graph.addEntryToBundle((0, _Asset.assetToAssetValue)(asset), (0, _Bundle.bundleToInternalBundle)(bundle),
83
+ // @ts-expect-error TS2345
84
+ shouldSkipDependency ? d =>
85
+ // @ts-expect-error TS2345
86
+ shouldSkipDependency(new _Dependency.default(d, this.#options)) : undefined);
72
87
  }
73
88
  createBundleGroup(dependency, target) {
74
89
  let dependencyNode = this.#graph._graph.getNodeByContentKey(dependency.id);
@@ -121,10 +136,14 @@ class MutableBundleGraph extends _BundleGraph.default {
121
136
  this.#graph.internalizeAsyncDependency((0, _Bundle.bundleToInternalBundle)(bundle), (0, _Dependency.dependencyToInternalDependency)(dependency));
122
137
  }
123
138
  createBundle(opts) {
124
- let entryAsset = opts.entryAsset ? (0, _Asset.assetToAssetValue)(opts.entryAsset) : null;
139
+ // @ts-expect-error TS2339
140
+ let entryAsset = opts.entryAsset ?
141
+ // @ts-expect-error TS2339
142
+ (0, _Asset.assetToAssetValue)(opts.entryAsset) : null;
125
143
  let target = (0, _Target.targetToInternalTarget)(opts.target);
126
144
  let bundleId = createBundleId({
127
145
  entryAssetId: (entryAsset === null || entryAsset === void 0 ? void 0 : entryAsset.id) ?? null,
146
+ // @ts-expect-error TS2339
128
147
  uniqueKey: opts.uniqueKey ?? null,
129
148
  distDir: target.distDir,
130
149
  bundleBehavior: opts.bundleBehavior ?? null
@@ -142,20 +161,42 @@ class MutableBundleGraph extends _BundleGraph.default {
142
161
  (0, _assert().default)((entryAssetNode === null || entryAssetNode === void 0 ? void 0 : entryAssetNode.type) === 'asset', 'Entry asset does not exist');
143
162
  isPlaceholder = entryAssetNode.requested === false;
144
163
  }
164
+ let entryAssetIds = [];
165
+ if (entryAsset) {
166
+ entryAssetIds = [entryAsset.id];
167
+ if ((0, _featureFlags().getFeatureFlag)('supportWebpackChunkName')) {
168
+ // @ts-expect-error TS2339
169
+ let bundleRoots = opts.bundleRoots ?? [entryAsset];
170
+ let bundleRootIds = bundleRoots.map(({
171
+ id
172
+ }) => id).filter(assetId => assetId !== entryAsset.id);
173
+ entryAssetIds.push(...bundleRootIds);
174
+ }
175
+ }
145
176
  let bundleNode = {
146
177
  type: 'bundle',
147
178
  id: bundleId,
148
179
  value: {
149
180
  id: bundleId,
150
181
  hashReference: this.#options.shouldContentHash ? _constants.HASH_REF_PREFIX + bundleId : bundleId.slice(-8),
182
+ // @ts-expect-error TS2339
151
183
  type: opts.entryAsset ? opts.entryAsset.type : opts.type,
152
- env: opts.env ? (0, _Environment.environmentToInternalEnvironment)(opts.env) : (0, _nullthrows().default)(entryAsset).env,
153
- entryAssetIds: entryAsset ? [entryAsset.id] : [],
184
+ // @ts-expect-error TS2339
185
+ env: opts.env ?
186
+ // @ts-expect-error TS2339
187
+ (0, _EnvironmentManager.toEnvironmentRef)((0, _Environment.environmentToInternalEnvironment)(opts.env)) : (0, _nullthrows().default)(entryAsset).env,
188
+ entryAssetIds,
154
189
  mainEntryId: entryAsset === null || entryAsset === void 0 ? void 0 : entryAsset.id,
190
+ // @ts-expect-error TS2339
155
191
  pipeline: opts.entryAsset ? opts.entryAsset.pipeline : opts.pipeline,
156
192
  needsStableName: opts.needsStableName,
157
193
  bundleBehavior: opts.bundleBehavior != null ? _types.BundleBehavior[opts.bundleBehavior] : null,
158
- isSplittable: opts.entryAsset ? opts.entryAsset.isBundleSplittable : opts.isSplittable,
194
+ // @ts-expect-error TS2339
195
+ isSplittable: opts.entryAsset ?
196
+ // @ts-expect-error TS2339
197
+ opts.entryAsset.isBundleSplittable :
198
+ // @ts-expect-error TS2339
199
+ opts.isSplittable,
159
200
  isPlaceholder,
160
201
  target,
161
202
  name: null,
@@ -165,8 +206,8 @@ class MutableBundleGraph extends _BundleGraph.default {
165
206
  }
166
207
  };
167
208
  let bundleNodeId = this.#graph._graph.addNodeByContentKey(bundleId, bundleNode);
168
- if (opts.entryAsset) {
169
- this.#graph._graph.addEdge(bundleNodeId, this.#graph._graph.getNodeIdByContentKey(opts.entryAsset.id));
209
+ for (let assetId of entryAssetIds) {
210
+ this.#graph._graph.addEdge(bundleNodeId, this.#graph._graph.getNodeIdByContentKey(assetId));
170
211
  }
171
212
  return _Bundle.Bundle.get(bundleNode.value, this.#graph, this.#options);
172
213
  }
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  let parcelOptionsToPluginOptions = new WeakMap();
8
8
  class PluginOptions {
9
- #options /*: AtlaspackOptions */;
10
-
9
+ // @ts-expect-error TS2564
10
+ #options;
11
11
  constructor(options) {
12
12
  let existing = parcelOptionsToPluginOptions.get(options);
13
13
  if (existing != null) {