@atlaspack/core 2.16.2-canary.49 → 2.16.2-canary.491

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 +1348 -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 +113 -41
  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 +27 -37
  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} +24 -59
  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} +160 -56
  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,21 +28,80 @@ function _utils() {
27
28
  }
28
29
  var _Environment = _interopRequireDefault(require("./Environment"));
29
30
  var _projectPath = require("../projectPath");
30
- function _featureFlags() {
31
- const data = require("@atlaspack/feature-flags");
32
- _featureFlags = function () {
33
- return data;
31
+ var _EnvironmentManager = require("../EnvironmentManager");
32
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
33
+ const internalConfigToConfig = new (_utils().DefaultWeakMap)(() => new WeakMap());
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);
34
75
  };
35
- return data;
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, []);
36
97
  }
37
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38
- const internalConfigToConfig = new (_utils().DefaultWeakMap)(() => new WeakMap());
39
98
  class PublicConfig {
40
- #config /*: Config */;
41
- #pkg /*: ?PackageJSON */;
42
- #pkgFilePath /*: ?FilePath */;
43
- #options /*: AtlaspackOptions */;
44
-
99
+ // @ts-expect-error TS2564
100
+ #config;
101
+ #pkg;
102
+ #pkgFilePath;
103
+ // @ts-expect-error TS2564
104
+ #options;
45
105
  constructor(config, options) {
46
106
  let existing = internalConfigToConfig.get(options).get(config);
47
107
  if (existing != null) {
@@ -53,7 +113,7 @@ class PublicConfig {
53
113
  return this;
54
114
  }
55
115
  get env() {
56
- return new _Environment.default(this.#config.env, this.#options);
116
+ return new _Environment.default((0, _EnvironmentManager.fromEnvironmentId)(this.#config.env), this.#options);
57
117
  }
58
118
  get searchPath() {
59
119
  return (0, _projectPath.fromProjectPath)(this.#options.projectRoot, this.#config.searchPath);
@@ -64,8 +124,6 @@ class PublicConfig {
64
124
  get isSource() {
65
125
  return this.#config.isSource;
66
126
  }
67
-
68
- // $FlowFixMe
69
127
  setResult(result) {
70
128
  this.#config.result = result;
71
129
  }
@@ -93,19 +151,25 @@ class PublicConfig {
93
151
  });
94
152
  }
95
153
  invalidateOnFileCreate(invalidation) {
154
+ // @ts-expect-error TS2339
96
155
  if (invalidation.glob != null) {
97
- // $FlowFixMe
98
156
  this.#config.invalidateOnFileCreate.push(invalidation);
157
+ // @ts-expect-error TS2339
99
158
  } else if (invalidation.filePath != null) {
100
159
  this.#config.invalidateOnFileCreate.push({
101
- 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)
102
163
  });
103
164
  } else {
165
+ // @ts-expect-error TS2339
104
166
  (0, _assert().default)(invalidation.aboveFilePath != null);
105
167
  this.#config.invalidateOnFileCreate.push({
106
- // $FlowFixMe
168
+ // @ts-expect-error TS2339
107
169
  fileName: invalidation.fileName,
108
- 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)
109
173
  });
110
174
  }
111
175
  }
@@ -119,41 +183,45 @@ class PublicConfig {
119
183
  this.#config.invalidateOnBuild = true;
120
184
  }
121
185
  async getConfigFrom(searchPath, fileNames, options) {
186
+ // @ts-expect-error TS2339
122
187
  let packageKey = options === null || options === void 0 ? void 0 : options.packageKey;
123
188
  if (packageKey != null) {
124
189
  let pkg = await this.getConfigFrom(searchPath, ['package.json'], {
125
190
  exclude: true
126
191
  });
192
+
193
+ // @ts-expect-error TS18046
127
194
  if (pkg && pkg.contents[packageKey]) {
128
195
  // Invalidate only when the package key changes
129
- this.invalidateOnConfigKeyChange(pkg.filePath, packageKey);
196
+ this.invalidateOnConfigKeyChange(pkg.filePath, [packageKey]);
130
197
  return {
198
+ // @ts-expect-error TS18046
131
199
  contents: pkg.contents[packageKey],
132
200
  filePath: pkg.filePath
133
201
  };
134
202
  }
135
203
  }
136
- if ((0, _featureFlags().getFeatureFlag)('granularTsConfigInvalidation')) {
137
- const configKey = options === null || options === void 0 ? void 0 : options.configKey;
138
- if (configKey != null) {
139
- for (let fileName of fileNames) {
140
- let config = await this.getConfigFrom(searchPath, [fileName], {
141
- exclude: true
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
142
219
  });
143
- if (config && config.contents[configKey]) {
144
- // Invalidate only when the package key changes
145
- this.invalidateOnConfigKeyChange(config.filePath, configKey);
146
- return {
147
- contents: config.contents[configKey],
148
- filePath: config.filePath
149
- };
150
- }
151
220
  }
152
-
153
- // fall through so that file above invalidations are registered
154
221
  }
155
- }
156
222
 
223
+ // fall through so that file above invalidations are registered
224
+ }
157
225
  if (fileNames.length === 0) {
158
226
  return null;
159
227
  }
@@ -165,11 +233,15 @@ class PublicConfig {
165
233
  aboveFilePath: searchPath
166
234
  });
167
235
  }
236
+
237
+ // @ts-expect-error TS2339
168
238
  let parse = options && options.parse;
169
239
  let configFilePath = await (0, _utils().resolveConfig)(this.#options.inputFS, searchPath, fileNames, this.#options.projectRoot);
170
240
  if (configFilePath == null) {
171
241
  return null;
172
242
  }
243
+
244
+ // @ts-expect-error TS2339
173
245
  if (!options || !options.exclude) {
174
246
  this.invalidateOnFileChange(configFilePath);
175
247
  }
@@ -189,9 +261,7 @@ class PublicConfig {
189
261
  // e.g. uses unknown environment variables, reads from the filesystem, etc.
190
262
  this.invalidateOnStartup();
191
263
  let config = await this.#options.packageManager.require(specifier, searchPath);
192
- if (
193
- // $FlowFixMe
194
- Object.prototype.toString.call(config) === '[object Module]' && config.default != null) {
264
+ if (Object.prototype.toString.call(config) === '[object Module]' && config.default != null) {
195
265
  // Native ESM config. Try to use a default export, otherwise fall back to the whole namespace.
196
266
  config = config.default;
197
267
  }
@@ -218,7 +288,9 @@ class PublicConfig {
218
288
  if (this.#pkg) {
219
289
  return this.#pkg;
220
290
  }
221
- let pkgConfig = await this.getConfig(['package.json']);
291
+ let pkgConfig = await this.getConfig(['package.json'], {
292
+ readTracking: true
293
+ });
222
294
  if (!pkgConfig) {
223
295
  return null;
224
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) {