@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
@@ -41,9 +41,8 @@ function _diagnostic() {
41
41
  }
42
42
  var _types = require("./types");
43
43
  var _projectPath = require("./projectPath");
44
- 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); }
45
- 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; }
46
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
+ 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); }
45
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
47
46
  function propagateSymbols({
48
47
  options,
49
48
  assetGraph,
@@ -72,6 +71,11 @@ function propagateSymbols({
72
71
 
73
72
  // Propagate the requested symbols down from the root to the leaves
74
73
  propagateSymbolsDown(assetGraph, changedAssets, assetGroupsWithRemovedParents, (assetNode, incomingDeps, outgoingDeps) => {
74
+ if (assetNode.value.meta.emptyFileStarReexport && incomingDeps.every(d => d.value.specifierType === _types.SpecifierType.esm)) {
75
+ var _assetNode$value$symb;
76
+ (_assetNode$value$symb = assetNode.value.symbols) === null || _assetNode$value$symb === void 0 || _assetNode$value$symb.delete('*');
77
+ }
78
+
75
79
  // exportSymbol -> identifier
76
80
  let assetSymbols = assetNode.value.symbols;
77
81
  // identifier -> exportSymbol
@@ -90,8 +94,8 @@ function propagateSymbols({
90
94
  }
91
95
  }
92
96
  let hasNamespaceOutgoingDeps = outgoingDeps.some(d => {
93
- var _d$value$symbols;
94
- return ((_d$value$symbols = d.value.symbols) === null || _d$value$symbols === void 0 || (_d$value$symbols = _d$value$symbols.get('*')) === null || _d$value$symbols === void 0 ? void 0 : _d$value$symbols.local) === '*';
97
+ var _d$value$symbols, _d$value$meta;
98
+ return ((_d$value$symbols = d.value.symbols) === null || _d$value$symbols === void 0 || (_d$value$symbols = _d$value$symbols.get('*')) === null || _d$value$symbols === void 0 ? void 0 : _d$value$symbols.local) === '*' || ((_d$value$meta = d.value.meta) === null || _d$value$meta === void 0 ? void 0 : _d$value$meta.hasExportStar);
95
99
  });
96
100
 
97
101
  // 1) Determine what the incomingDeps requests from the asset
@@ -151,6 +155,7 @@ function propagateSymbols({
151
155
  for (let dep of outgoingDeps) {
152
156
  let depUsedSymbolsDownOld = dep.usedSymbolsDown;
153
157
  let depUsedSymbolsDown = new Set();
158
+ // @ts-expect-error TS2322
154
159
  dep.usedSymbolsDown = depUsedSymbolsDown;
155
160
  if (assetNode.value.sideEffects ||
156
161
  // Incoming dependency with cleared symbols
@@ -163,10 +168,10 @@ function propagateSymbols({
163
168
  // lib/index.js: `export * from "./foo.js"; export * from "./bar.js";`
164
169
  // lib/foo.js: `import { data } from "./bar.js"; export const foo = data + " esm2";`
165
170
  assetNode.usedSymbols.size > 0 || namespaceReexportedSymbols.size > 0) {
166
- var _depSymbols$get;
171
+ var _depSymbols$get, _dep$value$meta;
167
172
  let depSymbols = dep.value.symbols;
168
173
  if (!depSymbols) continue;
169
- if (((_depSymbols$get = depSymbols.get('*')) === null || _depSymbols$get === void 0 ? void 0 : _depSymbols$get.local) === '*') {
174
+ if (((_depSymbols$get = depSymbols.get('*')) === null || _depSymbols$get === void 0 ? void 0 : _depSymbols$get.local) === '*' || (_dep$value$meta = dep.value.meta) !== null && _dep$value$meta !== void 0 && _dep$value$meta.hasExportStar) {
170
175
  if (addAll) {
171
176
  depUsedSymbolsDown.add('*');
172
177
  } else {
@@ -253,7 +258,7 @@ function propagateSymbols({
253
258
  // analyzable exports
254
259
  let reexportedSymbolsSource = new Map();
255
260
  for (let outgoingDep of outgoingDeps) {
256
- var _outgoingDepSymbols$g;
261
+ var _outgoingDepSymbols$g, _outgoingDep$value$me;
257
262
  let outgoingDepSymbols = outgoingDep.value.symbols;
258
263
  if (!outgoingDepSymbols) continue;
259
264
  let isExcluded = assetGraph.getNodeIdsConnectedFrom(assetGraph.getNodeIdByContentKey(outgoingDep.id)).length === 0;
@@ -261,7 +266,7 @@ function propagateSymbols({
261
266
  if (isExcluded) {
262
267
  outgoingDep.usedSymbolsDown.forEach((_, s) => outgoingDep.usedSymbolsUp.set(s, null));
263
268
  }
264
- if (((_outgoingDepSymbols$g = outgoingDepSymbols.get('*')) === null || _outgoingDepSymbols$g === void 0 ? void 0 : _outgoingDepSymbols$g.local) === '*') {
269
+ if (((_outgoingDepSymbols$g = outgoingDepSymbols.get('*')) === null || _outgoingDepSymbols$g === void 0 ? void 0 : _outgoingDepSymbols$g.local) === '*' || (_outgoingDep$value$me = outgoingDep.value.meta) !== null && _outgoingDep$value$me !== void 0 && _outgoingDep$value$me.hasExportStar) {
265
270
  outgoingDep.usedSymbolsUp.forEach((sResolved, s) => {
266
271
  if (s === 'default') {
267
272
  return;
@@ -329,12 +334,12 @@ function propagateSymbols({
329
334
  current.set(s, value);
330
335
  }
331
336
  for (let incomingDep of incomingDeps) {
332
- var _incomingDepSymbols$g;
337
+ var _incomingDepSymbols$g, _incomingDep$value$me;
333
338
  let incomingDepUsedSymbolsUpOld = incomingDep.usedSymbolsUp;
334
339
  incomingDep.usedSymbolsUp = new Map();
335
340
  let incomingDepSymbols = incomingDep.value.symbols;
336
341
  if (!incomingDepSymbols) continue;
337
- let hasNamespaceReexport = ((_incomingDepSymbols$g = incomingDepSymbols.get('*')) === null || _incomingDepSymbols$g === void 0 ? void 0 : _incomingDepSymbols$g.local) === '*';
342
+ let hasNamespaceReexport = ((_incomingDepSymbols$g = incomingDepSymbols.get('*')) === null || _incomingDepSymbols$g === void 0 ? void 0 : _incomingDepSymbols$g.local) === '*' || ((_incomingDep$value$me = incomingDep.value.meta) === null || _incomingDep$value$me === void 0 ? void 0 : _incomingDep$value$me.hasExportStar);
338
343
  for (let s of incomingDep.usedSymbolsDown) {
339
344
  if (assetSymbols == null ||
340
345
  // Assume everything could be provided if symbols are cleared
@@ -359,7 +364,9 @@ function propagateSymbols({
359
364
  let resolution = (0, _nullthrows().default)(assetGraph.getNode(resolutionNodeId));
360
365
  (0, _assert().default)(resolution && (resolution.type === 'asset_group' || resolution.type === 'asset'));
361
366
  errors.push({
362
- message: (0, _diagnostic().md)`${(0, _projectPath.fromProjectPathRelative)(resolution.value.filePath)} does not export '${s}'`,
367
+ message: (0, _diagnostic().md)`${(0, _projectPath.fromProjectPathRelative)(
368
+ // @ts-expect-error TS2345
369
+ resolution.value.filePath)} does not export '${s}'`,
363
370
  origin: '@atlaspack/core',
364
371
  codeFrames: loc ? [{
365
372
  filePath: (0, _projectPath.fromProjectPath)(options.projectRoot, loc === null || loc === void 0 ? void 0 : loc.filePath) ?? undefined,
@@ -375,15 +382,15 @@ function propagateSymbols({
375
382
  }
376
383
  incomingDep.excluded = false;
377
384
  if (incomingDep.value.symbols != null && incomingDep.usedSymbolsUp.size === 0) {
378
- let assetGroups = assetGraph.getNodeIdsConnectedFrom(assetGraph.getNodeIdByContentKey(incomingDep.id));
379
- if (assetGroups.length === 1) {
380
- let [assetGroupId] = assetGroups;
381
- let assetGroup = (0, _nullthrows().default)(assetGraph.getNode(assetGroupId));
382
- if (assetGroup.type === 'asset_group' && assetGroup.value.sideEffects === false) {
383
- incomingDep.excluded = true;
384
- }
385
- } else {
386
- (0, _assert().default)(assetGroups.length === 0);
385
+ let connectedNodeIds = assetGraph.getNodeIdsConnectedFrom(assetGraph.getNodeIdByContentKey(incomingDep.id));
386
+ let sideEffectFree = connectedNodeIds.every(nodeId => {
387
+ let connectedNode = (0, _nullthrows().default)(assetGraph.getNode(nodeId));
388
+ // Dependencies should only connect to asset_groups or assets
389
+ (0, _assert().default)(connectedNode.type === 'asset' || connectedNode.type === 'asset_group');
390
+ return connectedNode.value.sideEffects === false;
391
+ });
392
+ if (sideEffectFree) {
393
+ incomingDep.excluded = true;
387
394
  }
388
395
  }
389
396
  }
@@ -394,7 +401,9 @@ function propagateSymbols({
394
401
  // This ensures a consistent ordering of these symbols when packaging.
395
402
  // See https://github.com/parcel-bundler/parcel/pull/8212
396
403
  for (let dep of changedDeps) {
397
- dep.usedSymbolsUp = new Map([...dep.usedSymbolsUp].sort(([a], [b]) => a.localeCompare(b)));
404
+ dep.usedSymbolsUp = new Map(
405
+ // @ts-expect-error TS2345
406
+ [...dep.usedSymbolsUp].sort(([a], [b]) => a.localeCompare(b)));
398
407
  }
399
408
  return errors;
400
409
  });
@@ -475,6 +484,7 @@ function propagateSymbolsUp(assetGraph, changedAssets, changedDepsUsedSymbolsUpD
475
484
 
476
485
  let errors = previousErrors ?
477
486
  // Some nodes might have been removed since the last build
487
+ // @ts-expect-error TS2769
478
488
  new Map([...previousErrors].filter(([n]) => assetGraph.hasNode(n))) : new Map();
479
489
  let changedDepsUsedSymbolsUpDirtyDownAssets = new Set([...[...changedDepsUsedSymbolsUpDirtyDown].reverse().flatMap(id => getDependencyResolution(assetGraph, id)), ...changedAssets]);
480
490
 
@@ -484,6 +494,8 @@ function propagateSymbolsUp(assetGraph, changedAssets, changedDepsUsedSymbolsUpD
484
494
  // If there are n nodes in the graph, then the asset count is approximately
485
495
  // n/6 (for every asset, there are ~4 dependencies and ~1 asset_group).
486
496
  assetGraph.nodes.length * (1 / 6) * 0.5 < changedDepsUsedSymbolsUpDirtyDownAssets.size;
497
+
498
+ // @ts-expect-error TS7034
487
499
  let dirtyDeps;
488
500
  if (runFullPass) {
489
501
  dirtyDeps = new Set();
@@ -518,13 +530,16 @@ function propagateSymbolsUp(assetGraph, changedAssets, changedDepsUsedSymbolsUpD
518
530
  } else {
519
531
  if (node.type === 'dependency') {
520
532
  if (node.usedSymbolsUpDirtyUp) {
533
+ // @ts-expect-error TS7005
521
534
  dirtyDeps.add(nodeId);
522
535
  } else {
536
+ // @ts-expect-error TS7005
523
537
  dirtyDeps.delete(nodeId);
524
538
  }
525
539
  }
526
540
  }
527
541
  };
542
+ // @ts-expect-error TS2345
528
543
  assetGraph.postOrderDfsFast(nodeVisitor, rootNodeId);
529
544
  }
530
545
  let queue = dirtyDeps ?? changedDepsUsedSymbolsUpDirtyDownAssets;
@@ -564,6 +579,7 @@ function propagateSymbolsUp(assetGraph, changedAssets, changedDepsUsedSymbolsUpD
564
579
  } else {
565
580
  let connectedNodes = assetGraph.getNodeIdsConnectedTo(queuedNodeId);
566
581
  if (connectedNodes.length > 0) {
582
+ // @ts-expect-error TS2556
567
583
  queue.add(...connectedNodes);
568
584
  }
569
585
  }
@@ -573,17 +589,22 @@ function propagateSymbolsUp(assetGraph, changedAssets, changedDepsUsedSymbolsUpD
573
589
  function getDependencyResolution(graph, depId) {
574
590
  let depNodeId = graph.getNodeIdByContentKey(depId);
575
591
  let connected = graph.getNodeIdsConnectedFrom(depNodeId);
576
- (0, _assert().default)(connected.length <= 1);
577
- let child = connected[0];
578
- if (child) {
592
+ let resolvedNodeIds = [];
593
+
594
+ // If any of the resolved nodes is an asset_group, we need to resolve its
595
+ // assets here.
596
+ for (let child of connected) {
597
+ if (!child) {
598
+ continue;
599
+ }
579
600
  let childNode = (0, _nullthrows().default)(graph.getNode(child));
580
601
  if (childNode.type === 'asset_group') {
581
- return graph.getNodeIdsConnectedFrom(child);
602
+ resolvedNodeIds.push(...graph.getNodeIdsConnectedFrom(child));
582
603
  } else {
583
- return [child];
604
+ resolvedNodeIds.push(child);
584
605
  }
585
606
  }
586
- return [];
607
+ return resolvedNodeIds;
587
608
  }
588
609
  function equalMap(a, b) {
589
610
  if (a.size !== b.size) return false;
@@ -609,7 +630,9 @@ function dependencyNodesFromIds(assetGraph, dependencyIds) {
609
630
  return depNode;
610
631
  });
611
632
  }
612
- function incomingDependencyNodesFromAsset(assetGraph, assetNodeValue) {
633
+ function incomingDependencyNodesFromAsset(assetGraph,
634
+ // @ts-expect-error TS2552
635
+ assetNodeValue) {
613
636
  return assetGraph.getIncomingDependencies(assetNodeValue).map(d => {
614
637
  let n = assetGraph.getNodeByContentKey(d.id);
615
638
  (0, _assert().default)(n && n.type === 'dependency');
@@ -28,7 +28,7 @@ const PACKAGE_DESCRIPTOR_SCHEMA = exports.PACKAGE_DESCRIPTOR_SCHEMA = {
28
28
  properties: {
29
29
  context: {
30
30
  type: 'string',
31
- enum: ['node', 'browser', 'web-worker', 'electron-main', 'electron-renderer', 'service-worker']
31
+ enum: ['node', 'browser', 'web-worker', 'electron-main', 'electron-renderer', 'service-worker', 'tesseract']
32
32
  },
33
33
  includeNodeModules: {
34
34
  oneOf: [{
@@ -98,6 +98,15 @@ const PACKAGE_DESCRIPTOR_SCHEMA = exports.PACKAGE_DESCRIPTOR_SCHEMA = {
98
98
  },
99
99
  __unstable_singleFileOutput: {
100
100
  type: 'boolean'
101
+ },
102
+ env: {
103
+ type: 'object',
104
+ additionalProperties: {
105
+ type: 'string'
106
+ }
107
+ },
108
+ inlineRequires: {
109
+ type: 'boolean'
101
110
  }
102
111
  },
103
112
  additionalProperties: false
@@ -47,7 +47,6 @@ function _utils() {
47
47
  return data;
48
48
  }
49
49
  var _Dependency = require("./Dependency");
50
- var _AtlaspackConfig = require("./AtlaspackConfig");
51
50
  var _PathRequest = require("./requests/PathRequest");
52
51
  var _Asset = require("./public/Asset");
53
52
  var _UncommittedAsset = _interopRequireDefault(require("./UncommittedAsset"));
@@ -73,10 +72,34 @@ function _profiler() {
73
72
  };
74
73
  return data;
75
74
  }
76
- 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); }
77
- 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; }
78
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
75
+ function _sourceMap() {
76
+ const data = _interopRequireDefault(require("@atlaspack/source-map"));
77
+ _sourceMap = function () {
78
+ return data;
79
+ };
80
+ return data;
81
+ }
82
+ function _featureFlags() {
83
+ const data = require("@atlaspack/feature-flags");
84
+ _featureFlags = function () {
85
+ return data;
86
+ };
87
+ return data;
88
+ }
89
+ function _buildCache() {
90
+ const data = require("@atlaspack/build-cache");
91
+ _buildCache = function () {
92
+ return data;
93
+ };
94
+ return data;
95
+ }
96
+ 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); }
97
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
79
98
  // TODO: eventually call path request as sub requests
99
+
100
+ // Global setup config are not file-specific, so we only need to
101
+ // load them once per build.
102
+ const setupConfig = (0, _buildCache().createBuildCache)();
80
103
  class Transformation {
81
104
  constructor({
82
105
  request,
@@ -127,10 +150,14 @@ class Transformation {
127
150
  // If no existing sourcemap was found, initialize asset.sourceContent
128
151
  // with the original contents. This will be used when the transformer
129
152
  // calls setMap to ensure the source content is in the sourcemap.
130
- asset.sourceContent = await asset.getCode();
153
+ if (!(0, _featureFlags().getFeatureFlag)('omitSourcesContentInMemory')) {
154
+ asset.sourceContent = await asset.getCode();
155
+ }
131
156
  }
132
157
  (0, _DevDepRequest.invalidateDevDeps)(this.request.invalidDevDeps, this.options, this.atlaspackConfig);
133
- let pipeline = await this.loadPipeline(this.request.filePath, asset.value.isSource, asset.value.pipeline);
158
+ let pipeline = await this.loadPipeline(
159
+ // @ts-expect-error TS2345
160
+ this.request.filePath, asset.value.isSource, asset.value.pipeline);
134
161
  let assets, error;
135
162
  try {
136
163
  let results = await this.runPipelines(pipeline, asset);
@@ -141,9 +168,8 @@ class Transformation {
141
168
  }
142
169
  let configRequests = (0, _ConfigRequest.getConfigRequests)([...this.configs.values(), ...this.resolverRunner.configs.values()]);
143
170
  let devDepRequests = (0, _DevDepRequest.getWorkerDevDepRequests)([...this.devDepRequests.values(), ...this.resolverRunner.devDepRequests.values()]);
144
-
145
- // $FlowFixMe because of $$raw
146
171
  return {
172
+ // @ts-expect-error TS2353
147
173
  $$raw: true,
148
174
  assets,
149
175
  configRequests,
@@ -168,19 +194,23 @@ class Transformation {
168
194
  size,
169
195
  isSource: summarizedIsSource
170
196
  } = await (0, _summarizeRequest.default)(this.options.inputFS, {
197
+ // @ts-expect-error TS2322
171
198
  filePath: (0, _projectPath.fromProjectPath)(this.options.projectRoot, filePath),
172
199
  code
173
200
  });
174
201
 
175
202
  // Prefer `isSource` originating from the AssetRequest.
176
-
203
+ let isSource = isSourceOverride ?? summarizedIsSource;
177
204
  return new _UncommittedAsset.default({
178
205
  value: (0, _assetUtils.createAsset)(this.options.projectRoot, {
179
206
  code,
207
+ // @ts-expect-error TS2322
180
208
  filePath,
181
- isSource: isSourceOverride ?? summarizedIsSource,
209
+ isSource,
210
+ // @ts-expect-error TS2345
182
211
  type: _path().default.extname((0, _projectPath.fromProjectPathRelative)(filePath)).slice(1),
183
212
  pipeline,
213
+ // @ts-expect-error TS2322
184
214
  env,
185
215
  query,
186
216
  stats: {
@@ -329,10 +359,9 @@ class Transformation {
329
359
  // generate all assets in a large bundle during packaging.
330
360
  await Promise.all(resultingAssets.filter(asset => asset.ast != null && !(this.options.mode === 'production' && asset.value.type === 'css' && asset.value.symbols)).map(async asset => {
331
361
  if (asset.isASTDirty && asset.generate) {
332
- var _output$map;
333
362
  let output = await asset.generate();
334
363
  asset.content = output.content;
335
- asset.mapBuffer = (_output$map = output.map) === null || _output$map === void 0 ? void 0 : _output$map.toBuffer();
364
+ asset.mapBuffer = _sourceMap().default.safeToBuffer(output.map);
336
365
  }
337
366
  asset.clearAST();
338
367
  }));
@@ -379,13 +408,34 @@ class Transformation {
379
408
  return nextPipeline;
380
409
  }
381
410
  async loadTransformerConfig(transformer, isSource) {
411
+ // Only load setup config for a transformer once per build.
412
+ let config = setupConfig.get(transformer.name);
413
+ if (config == null && transformer.plugin.setup != null) {
414
+ config = (0, _InternalConfig.createConfig)({
415
+ plugin: transformer.name,
416
+ searchPath: (0, _projectPath.toProjectPathUnsafe)('index'),
417
+ // Consider project setup config as source
418
+ isSource: true
419
+ });
420
+ await (0, _ConfigRequest.loadPluginSetup)(transformer.name, transformer.plugin.setup, config, this.options);
421
+ setupConfig.set(transformer.name, config);
422
+ }
423
+ if (config != null) {
424
+ for (let devDep of config.devDeps) {
425
+ await this.addDevDependency(devDep);
426
+ }
427
+
428
+ // `loadConfig` is not called for setup configs
429
+ return config;
430
+ }
382
431
  let loadConfig = transformer.plugin.loadConfig;
383
432
  if (!loadConfig) {
384
433
  return;
385
434
  }
386
- let config = (0, _InternalConfig.createConfig)({
435
+ config = (0, _InternalConfig.createConfig)({
387
436
  plugin: transformer.name,
388
437
  isSource,
438
+ // @ts-expect-error TS2322
389
439
  searchPath: this.request.filePath,
390
440
  env: this.request.env
391
441
  });
@@ -425,6 +475,8 @@ class Transformation {
425
475
  diagnostic: result.diagnostics
426
476
  });
427
477
  }
478
+
479
+ // @ts-expect-error TS2322
428
480
  return (0, _projectPath.fromProjectPath)(this.options.projectRoot, (0, _nullthrows().default)(result.assetGroup).filePath);
429
481
  };
430
482
 
@@ -436,10 +488,9 @@ class Transformation {
436
488
  logger,
437
489
  tracer
438
490
  })) && asset.generate) {
439
- var _output$map2;
440
491
  let output = await asset.generate();
441
492
  asset.content = output.content;
442
- asset.mapBuffer = (_output$map2 = output.map) === null || _output$map2 === void 0 ? void 0 : _output$map2.toBuffer();
493
+ asset.mapBuffer = _sourceMap().default.safeToBuffer(output.map);
443
494
  }
444
495
 
445
496
  // Load config for the transformer.
@@ -463,9 +514,8 @@ class Transformation {
463
514
  }
464
515
 
465
516
  // Transform.
466
- let transfomerResult =
467
- // $FlowFixMe the returned IMutableAsset really is a MutableAsset
468
- await transformer.transform({
517
+ // @ts-expect-error TS2322
518
+ let transfomerResult = await transformer.transform({
469
519
  asset: new _Asset.MutableAsset(asset),
470
520
  config,
471
521
  options: pipeline.pluginOptions,
@@ -507,7 +557,6 @@ class Transformation {
507
557
  )));
508
558
  };
509
559
  }
510
-
511
560
  return results;
512
561
  }
513
562
  }
@@ -19,7 +19,7 @@ function _stream() {
19
19
  return data;
20
20
  }
21
21
  function _sourceMap() {
22
- const data = _interopRequireDefault(require("@parcel/source-map"));
22
+ const data = _interopRequireDefault(require("@atlaspack/source-map"));
23
23
  _sourceMap = function () {
24
24
  return data;
25
25
  };
@@ -53,14 +53,8 @@ var _assetUtils = require("./assetUtils");
53
53
  var _types = require("./types");
54
54
  var _utils2 = require("./utils");
55
55
  var _projectPath = require("./projectPath");
56
- function _featureFlags() {
57
- const data = require("@atlaspack/feature-flags");
58
- _featureFlags = function () {
59
- return data;
60
- };
61
- return data;
62
- }
63
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
56
+ var _EnvironmentManager = require("./EnvironmentManager");
57
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
64
58
  class UncommittedAsset {
65
59
  constructor({
66
60
  value,
@@ -123,7 +117,9 @@ class UncommittedAsset {
123
117
  let size = 0;
124
118
  if (content instanceof _stream().Readable) {
125
119
  let hash = new (_rust().Hash)();
126
- await this.options.cache.setStream(contentKey, content.pipe(new (_utils().TapStream)(buf => {
120
+ await this.options.cache.setStream(contentKey, content.pipe(
121
+ // @ts-expect-error TS2554
122
+ new (_utils().TapStream)(buf => {
127
123
  hash.writeBuffer(buf);
128
124
  size += buf.length;
129
125
  })));
@@ -156,6 +152,7 @@ class UncommittedAsset {
156
152
  if (typeof content === 'string' || content instanceof Buffer) {
157
153
  return content.toString();
158
154
  } else if (content != null) {
155
+ // @ts-expect-error TS2345
159
156
  this.content = (0, _utils().bufferStream)(content);
160
157
  return (await this.content).toString();
161
158
  }
@@ -170,6 +167,8 @@ class UncommittedAsset {
170
167
  } else if (typeof content === 'string') {
171
168
  return Buffer.from(content);
172
169
  }
170
+
171
+ // @ts-expect-error TS2345
173
172
  this.content = (0, _utils().bufferStream)(content);
174
173
  return this.content;
175
174
  }
@@ -212,7 +211,7 @@ class UncommittedAsset {
212
211
  });
213
212
  if (map) {
214
213
  this.map = map;
215
- this.mapBuffer = map.toBuffer();
214
+ this.mapBuffer = _sourceMap().default.safeToBuffer(map);
216
215
  this.setCode(code.replace(_utils().SOURCEMAP_RE, ''));
217
216
  }
218
217
  return this.map;
@@ -236,9 +235,7 @@ class UncommittedAsset {
236
235
  // a previous source map. Ensure that the map set by the transformer has the original
237
236
  // source content available.
238
237
  if (map != null && this.sourceContent != null) {
239
- map.setSourceContent((0, _projectPath.fromProjectPath)(this.options.projectRoot, this.value.filePath),
240
- // $FlowFixMe
241
- this.sourceContent);
238
+ map.setSourceContent((0, _projectPath.fromProjectPath)(this.options.projectRoot, this.value.filePath), this.sourceContent);
242
239
  this.sourceContent = null;
243
240
  }
244
241
  this.map = map;
@@ -261,10 +258,6 @@ class UncommittedAsset {
261
258
  this.value.astGenerator = null;
262
259
  }
263
260
  getCacheKey(key) {
264
- if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
265
- const filePath = (0, _projectPath.fromProjectPathRelative)(this.value.filePath);
266
- return `Asset/${_constants.ATLASPACK_VERSION}/${filePath}/${this.value.id}/${key}`;
267
- }
268
261
  return (0, _rust().hashString)(_constants.ATLASPACK_VERSION + key + this.value.id);
269
262
  }
270
263
  addDependency(opts) {
@@ -276,9 +269,9 @@ class UncommittedAsset {
276
269
  } = opts;
277
270
  let dep = (0, _Dependency.createDependency)(this.options.projectRoot, {
278
271
  ...rest,
279
- // $FlowFixMe "convert" the $ReadOnlyMaps to the interal mutable one
272
+ // @ts-expect-error TS2322
280
273
  symbols,
281
- env: (0, _Environment.mergeEnvironments)(this.options.projectRoot, this.value.env, env),
274
+ env: (0, _Environment.mergeEnvironments)(this.options.projectRoot, (0, _EnvironmentManager.fromEnvironmentId)(this.value.env), env),
282
275
  sourceAssetId: this.value.id,
283
276
  sourcePath: (0, _projectPath.fromProjectPath)(this.options.projectRoot, this.value.filePath)
284
277
  });
@@ -318,7 +311,7 @@ class UncommittedAsset {
318
311
  bundleBehavior: result.bundleBehavior ?? (this.value.bundleBehavior == null ? null : _types.BundleBehaviorNames[this.value.bundleBehavior]),
319
312
  isBundleSplittable: result.isBundleSplittable ?? this.value.isBundleSplittable,
320
313
  isSource: this.value.isSource,
321
- env: (0, _Environment.mergeEnvironments)(this.options.projectRoot, this.value.env, result.env),
314
+ env: (0, _Environment.mergeEnvironments)(this.options.projectRoot, (0, _EnvironmentManager.fromEnvironmentId)(this.value.env), result.env),
322
315
  dependencies: this.value.type === result.type ? new Map(this.value.dependencies) : new Map(),
323
316
  meta: {
324
317
  ...this.value.meta,
@@ -329,7 +322,7 @@ class UncommittedAsset {
329
322
  time: 0,
330
323
  size: this.value.stats.size
331
324
  },
332
- // $FlowFixMe
325
+ // @ts-expect-error TS2322
333
326
  symbols: result.symbols,
334
327
  sideEffects: result.sideEffects ?? this.value.sideEffects,
335
328
  uniqueKey: result.uniqueKey,
@@ -345,7 +338,7 @@ class UncommittedAsset {
345
338
  content,
346
339
  ast: result.ast,
347
340
  isASTDirty: result.ast === this.ast ? this.isASTDirty : true,
348
- mapBuffer: result.map ? result.map.toBuffer() : null,
341
+ mapBuffer: _sourceMap().default.safeToBuffer(result.map),
349
342
  code: this.code,
350
343
  invalidations: this.invalidations
351
344
  });
@@ -358,7 +351,7 @@ class UncommittedAsset {
358
351
  return asset;
359
352
  }
360
353
  updateId() {
361
- // $FlowFixMe - this is fine
354
+ // @ts-expect-error TS2345
362
355
  this.value.id = (0, _assetUtils.createAssetIdFromOptions)(this.value);
363
356
  }
364
357
  }
package/lib/Validation.js CHANGED
@@ -32,7 +32,6 @@ function _diagnostic() {
32
32
  };
33
33
  return data;
34
34
  }
35
- var _AtlaspackConfig = require("./AtlaspackConfig");
36
35
  var _UncommittedAsset = _interopRequireDefault(require("./UncommittedAsset"));
37
36
  var _assetUtils = require("./assetUtils");
38
37
  var _Asset = require("./public/Asset");
@@ -46,12 +45,14 @@ function _profiler() {
46
45
  };
47
46
  return data;
48
47
  }
49
- 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); }
50
- 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; }
51
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
48
+ 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); }
49
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
52
50
  class Validation {
53
51
  allAssets = {};
54
52
  allValidators = {};
53
+
54
+ // @ts-expect-error TS2564
55
+
55
56
  constructor({
56
57
  config,
57
58
  dedicatedThread,
@@ -84,7 +85,9 @@ class Validation {
84
85
  let validatorResults = [];
85
86
  try {
86
87
  // If the plugin supports the single-threading validateAll method, pass all assets to it.
88
+ // @ts-expect-error TS2339
87
89
  if (plugin.validateAll && this.dedicatedThread) {
90
+ // @ts-expect-error TS2339
88
91
  validatorResults = await plugin.validateAll({
89
92
  assets: assets.map(asset => new _Asset.Asset(asset)),
90
93
  options: pluginOptions,
@@ -95,11 +98,14 @@ class Validation {
95
98
  }
96
99
 
97
100
  // Otherwise, pass the assets one-at-a-time
101
+ // @ts-expect-error TS2339
98
102
  else if (plugin.validate && !this.dedicatedThread) {
99
103
  await Promise.all(assets.map(async input => {
100
104
  let config = null;
101
105
  let publicAsset = new _Asset.Asset(input);
106
+ // @ts-expect-error TS2339
102
107
  if (plugin.getConfig) {
108
+ // @ts-expect-error TS2339
103
109
  config = await plugin.getConfig({
104
110
  asset: publicAsset,
105
111
  options: pluginOptions,
@@ -108,6 +114,8 @@ class Validation {
108
114
  resolveConfig: configNames => (0, _utils().resolveConfig)(this.options.inputFS, publicAsset.filePath, configNames, this.options.projectRoot)
109
115
  });
110
116
  }
117
+
118
+ // @ts-expect-error TS2339
111
119
  let validatorResult = await plugin.validate({
112
120
  asset: publicAsset,
113
121
  options: pluginOptions,
@@ -134,10 +142,13 @@ class Validation {
134
142
  await Promise.all(this.requests.map(async request => {
135
143
  this.report({
136
144
  type: 'validation',
145
+ // @ts-expect-error TS2322
137
146
  filePath: (0, _projectPath.fromProjectPath)(this.options.projectRoot, request.filePath)
138
147
  });
139
148
  let asset = await this.loadAsset(request);
140
- let validators = await this.atlaspackConfig.getValidators(request.filePath);
149
+ let validators = await this.atlaspackConfig.getValidators(
150
+ // @ts-expect-error TS2345
151
+ request.filePath);
141
152
  for (let validator of validators) {
142
153
  this.allValidators[validator.name] = validator.plugin;
143
154
  if (this.allAssets[validator.name]) {
@@ -179,15 +190,19 @@ class Validation {
179
190
  size,
180
191
  isSource
181
192
  } = await (0, _summarizeRequest.default)(this.options.inputFS, {
193
+ // @ts-expect-error TS2322
182
194
  filePath: (0, _projectPath.fromProjectPath)(this.options.projectRoot, request.filePath)
183
195
  });
184
196
  return new _UncommittedAsset.default({
185
197
  value: (0, _assetUtils.createAsset)(this.options.projectRoot, {
186
198
  code,
199
+ // @ts-expect-error TS2322
187
200
  filePath: filePath,
188
201
  isSource,
202
+ // @ts-expect-error TS2345
189
203
  type: _path().default.extname((0, _projectPath.fromProjectPathRelative)(filePath)).slice(1),
190
204
  query,
205
+ // @ts-expect-error TS2322
191
206
  env: env,
192
207
  stats: {
193
208
  time: 0,