@atlaspack/core 2.16.2-canary.27 → 2.16.2-canary.270

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/CHANGELOG.md +665 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +658 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +108 -0
  6. package/dist/BundleGraph.js +1635 -0
  7. package/dist/CommittedAsset.js +142 -0
  8. package/dist/Dependency.js +125 -0
  9. package/dist/Environment.js +132 -0
  10. package/dist/EnvironmentManager.js +108 -0
  11. package/dist/IdentifierRegistry.js +38 -0
  12. package/dist/InternalConfig.js +37 -0
  13. package/dist/PackagerRunner.js +545 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1360 -0
  16. package/dist/SymbolPropagation.js +620 -0
  17. package/dist/TargetDescriptor.schema.js +143 -0
  18. package/dist/Transformation.js +490 -0
  19. package/dist/UncommittedAsset.js +315 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +305 -0
  22. package/dist/assetUtils.js +168 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +70 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +57 -0
  25. package/dist/atlaspack-v3/fs.js +52 -0
  26. package/dist/atlaspack-v3/index.js +25 -0
  27. package/dist/atlaspack-v3/jsCallable.js +16 -0
  28. package/dist/atlaspack-v3/worker/compat/asset-symbols.js +190 -0
  29. package/dist/atlaspack-v3/worker/compat/bitflags.js +94 -0
  30. package/dist/atlaspack-v3/worker/compat/dependency.js +43 -0
  31. package/dist/atlaspack-v3/worker/compat/environment.js +57 -0
  32. package/dist/atlaspack-v3/worker/compat/index.js +25 -0
  33. package/dist/atlaspack-v3/worker/compat/mutable-asset.js +152 -0
  34. package/dist/atlaspack-v3/worker/compat/plugin-config.js +76 -0
  35. package/dist/atlaspack-v3/worker/compat/plugin-logger.js +26 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-options.js +122 -0
  37. package/dist/atlaspack-v3/worker/compat/plugin-tracer.js +10 -0
  38. package/dist/atlaspack-v3/worker/compat/target.js +14 -0
  39. package/dist/atlaspack-v3/worker/worker.js +297 -0
  40. package/dist/constants.js +17 -0
  41. package/dist/dumpGraphToGraphViz.js +281 -0
  42. package/dist/index.js +62 -0
  43. package/dist/loadAtlaspackPlugin.js +128 -0
  44. package/dist/loadDotEnv.js +41 -0
  45. package/dist/projectPath.js +83 -0
  46. package/dist/public/Asset.js +279 -0
  47. package/dist/public/Bundle.js +224 -0
  48. package/dist/public/BundleGraph.js +359 -0
  49. package/dist/public/BundleGroup.js +53 -0
  50. package/dist/public/Config.js +286 -0
  51. package/dist/public/Dependency.js +138 -0
  52. package/dist/public/Environment.js +278 -0
  53. package/dist/public/MutableBundleGraph.js +277 -0
  54. package/dist/public/PluginOptions.js +80 -0
  55. package/dist/public/Symbols.js +248 -0
  56. package/dist/public/Target.js +69 -0
  57. package/dist/registerCoreWithSerializer.js +38 -0
  58. package/dist/requests/AssetGraphRequest.js +429 -0
  59. package/dist/requests/AssetGraphRequestRust.js +262 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +65 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  63. package/dist/requests/BundleGraphRequest.js +445 -0
  64. package/dist/requests/ConfigRequest.js +222 -0
  65. package/dist/requests/DevDepRequest.js +204 -0
  66. package/dist/requests/EntryRequest.js +314 -0
  67. package/dist/requests/PackageRequest.js +62 -0
  68. package/dist/requests/PathRequest.js +349 -0
  69. package/dist/requests/TargetRequest.js +1311 -0
  70. package/dist/requests/ValidationRequest.js +49 -0
  71. package/dist/requests/WriteBundleRequest.js +254 -0
  72. package/dist/requests/WriteBundlesRequest.js +184 -0
  73. package/dist/requests/asset-graph-diff.js +128 -0
  74. package/dist/requests/asset-graph-dot.js +131 -0
  75. package/dist/resolveOptions.js +268 -0
  76. package/dist/rustWorkerThreadDylibHack.js +19 -0
  77. package/dist/serializerCore.browser.js +43 -0
  78. package/dist/summarizeRequest.js +39 -0
  79. package/dist/types.js +31 -0
  80. package/dist/utils.js +172 -0
  81. package/dist/worker.js +123 -0
  82. package/lib/AssetGraph.js +111 -14
  83. package/lib/Atlaspack.js +81 -37
  84. package/lib/AtlaspackConfig.js +15 -3
  85. package/lib/AtlaspackConfig.schema.js +7 -5
  86. package/lib/BundleGraph.js +90 -32
  87. package/lib/CommittedAsset.js +6 -0
  88. package/lib/Dependency.js +8 -2
  89. package/lib/Environment.js +15 -8
  90. package/lib/EnvironmentManager.js +143 -0
  91. package/lib/IdentifierRegistry.js +1 -3
  92. package/lib/InternalConfig.js +3 -2
  93. package/lib/PackagerRunner.js +90 -27
  94. package/lib/ReporterRunner.js +6 -9
  95. package/lib/RequestTracker.js +266 -156
  96. package/lib/SymbolPropagation.js +42 -18
  97. package/lib/TargetDescriptor.schema.js +7 -1
  98. package/lib/Transformation.js +26 -10
  99. package/lib/UncommittedAsset.js +30 -9
  100. package/lib/Validation.js +18 -2
  101. package/lib/applyRuntimes.js +9 -1
  102. package/lib/assetUtils.js +7 -4
  103. package/lib/atlaspack-v3/AtlaspackV3.js +32 -7
  104. package/lib/atlaspack-v3/NapiWorkerPool.js +3 -0
  105. package/lib/atlaspack-v3/fs.js +3 -1
  106. package/lib/atlaspack-v3/index.js +28 -1
  107. package/lib/atlaspack-v3/jsCallable.js +0 -2
  108. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  109. package/lib/atlaspack-v3/worker/compat/bitflags.js +7 -6
  110. package/lib/atlaspack-v3/worker/compat/dependency.js +3 -0
  111. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  112. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +14 -9
  113. package/lib/atlaspack-v3/worker/compat/plugin-config.js +8 -10
  114. package/lib/atlaspack-v3/worker/compat/plugin-options.js +1 -0
  115. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  116. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  117. package/lib/atlaspack-v3/worker/index.js +3 -0
  118. package/lib/atlaspack-v3/worker/worker.js +43 -7
  119. package/lib/constants.js +0 -1
  120. package/lib/dumpGraphToGraphViz.js +71 -16
  121. package/lib/index.js +45 -1
  122. package/lib/loadDotEnv.js +4 -1
  123. package/lib/projectPath.js +5 -0
  124. package/lib/public/Asset.js +21 -11
  125. package/lib/public/Bundle.js +15 -16
  126. package/lib/public/BundleGraph.js +10 -4
  127. package/lib/public/BundleGroup.js +4 -5
  128. package/lib/public/Config.js +118 -17
  129. package/lib/public/Dependency.js +8 -6
  130. package/lib/public/Environment.js +12 -7
  131. package/lib/public/MutableBundleGraph.js +54 -12
  132. package/lib/public/PluginOptions.js +2 -2
  133. package/lib/public/Symbols.js +11 -11
  134. package/lib/public/Target.js +7 -6
  135. package/lib/registerCoreWithSerializer.js +5 -3
  136. package/lib/requests/AssetGraphRequest.js +42 -5
  137. package/lib/requests/AssetGraphRequestRust.js +126 -62
  138. package/lib/requests/AssetRequest.js +23 -6
  139. package/lib/requests/AtlaspackBuildRequest.js +10 -4
  140. package/lib/requests/AtlaspackConfigRequest.js +27 -16
  141. package/lib/requests/BundleGraphRequest.js +34 -19
  142. package/lib/requests/ConfigRequest.js +28 -4
  143. package/lib/requests/DevDepRequest.js +31 -5
  144. package/lib/requests/EntryRequest.js +2 -0
  145. package/lib/requests/PackageRequest.js +2 -1
  146. package/lib/requests/PathRequest.js +24 -3
  147. package/lib/requests/TargetRequest.js +122 -57
  148. package/lib/requests/ValidationRequest.js +5 -1
  149. package/lib/requests/WriteBundleRequest.js +39 -11
  150. package/lib/requests/WriteBundlesRequest.js +51 -4
  151. package/lib/requests/asset-graph-diff.js +12 -7
  152. package/lib/requests/asset-graph-dot.js +1 -7
  153. package/lib/resolveOptions.js +36 -10
  154. package/lib/rustWorkerThreadDylibHack.js +0 -1
  155. package/lib/types/AssetGraph.d.ts +80 -0
  156. package/lib/types/Atlaspack.d.ts +52 -0
  157. package/lib/types/AtlaspackConfig.d.ts +65 -0
  158. package/lib/types/AtlaspackConfig.schema.d.ts +46 -0
  159. package/lib/types/BundleGraph.d.ts +182 -0
  160. package/lib/types/CommittedAsset.d.ts +23 -0
  161. package/lib/types/Dependency.d.ts +44 -0
  162. package/lib/types/Environment.d.ts +11 -0
  163. package/lib/types/EnvironmentManager.d.ts +37 -0
  164. package/lib/types/IdentifierRegistry.d.ts +6 -0
  165. package/lib/types/InternalConfig.d.ts +24 -0
  166. package/lib/types/PackagerRunner.d.ts +85 -0
  167. package/lib/types/ReporterRunner.d.ts +25 -0
  168. package/lib/types/RequestTracker.d.ts +385 -0
  169. package/lib/types/SymbolPropagation.d.ts +11 -0
  170. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  171. package/lib/types/Transformation.d.ts +72 -0
  172. package/lib/types/UncommittedAsset.d.ts +61 -0
  173. package/lib/types/Validation.d.ts +37 -0
  174. package/lib/types/applyRuntimes.d.ts +25 -0
  175. package/lib/types/assetUtils.d.ts +42 -0
  176. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +26 -0
  177. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +12 -0
  178. package/lib/types/atlaspack-v3/fs.d.ts +12 -0
  179. package/lib/types/atlaspack-v3/index.d.ts +5 -0
  180. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  181. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  182. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +15 -0
  183. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  184. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  185. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
  186. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  187. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +37 -0
  188. package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
  189. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +22 -0
  190. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  191. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  192. package/lib/types/atlaspack-v3/worker/worker.d.ts +60 -0
  193. package/lib/types/constants.d.ts +13 -0
  194. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  195. package/lib/types/index.d.ts +8 -0
  196. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  197. package/lib/types/loadDotEnv.d.ts +3 -0
  198. package/lib/types/projectPath.d.ts +19 -0
  199. package/lib/types/public/Asset.d.ts +74 -0
  200. package/lib/types/public/Bundle.d.ts +45 -0
  201. package/lib/types/public/BundleGraph.d.ts +70 -0
  202. package/lib/types/public/BundleGroup.d.ts +12 -0
  203. package/lib/types/public/Config.d.ts +75 -0
  204. package/lib/types/public/Dependency.d.ts +32 -0
  205. package/lib/types/public/Environment.d.ts +34 -0
  206. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  207. package/lib/types/public/PluginOptions.d.ts +25 -0
  208. package/lib/types/public/Symbols.d.ts +81 -0
  209. package/lib/types/public/Target.d.ts +16 -0
  210. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  211. package/lib/types/requests/AssetGraphRequest.d.ts +74 -0
  212. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  213. package/lib/types/requests/AssetRequest.d.ts +16 -0
  214. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  215. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  216. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  217. package/lib/types/requests/ConfigRequest.d.ts +59 -0
  218. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  219. package/lib/types/requests/EntryRequest.d.ts +36 -0
  220. package/lib/types/requests/PackageRequest.d.ts +27 -0
  221. package/lib/types/requests/PathRequest.d.ts +48 -0
  222. package/lib/types/requests/TargetRequest.d.ts +48 -0
  223. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  224. package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
  225. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  226. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  227. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  228. package/lib/types/resolveOptions.d.ts +3 -0
  229. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  230. package/lib/types/serializerCore.browser.d.ts +3 -0
  231. package/lib/types/summarizeRequest.d.ts +10 -0
  232. package/lib/types/types.d.ts +493 -0
  233. package/lib/types/utils.d.ts +23 -0
  234. package/lib/types/worker.d.ts +44 -0
  235. package/lib/types.js +8 -1
  236. package/lib/utils.js +17 -2
  237. package/lib/worker.js +29 -13
  238. package/package.json +24 -34
  239. package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
  240. package/src/{Atlaspack.js → Atlaspack.ts} +114 -61
  241. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +16 -19
  242. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  243. package/src/{BundleGraph.js → BundleGraph.ts} +231 -140
  244. package/src/{CommittedAsset.js → CommittedAsset.ts} +14 -12
  245. package/src/{Dependency.js → Dependency.ts} +59 -42
  246. package/src/{Environment.js → Environment.ts} +24 -15
  247. package/src/EnvironmentManager.ts +154 -0
  248. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  249. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  250. package/src/{PackagerRunner.js → PackagerRunner.ts} +178 -86
  251. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  252. package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
  253. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
  254. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  255. package/src/{Transformation.js → Transformation.ts} +71 -62
  256. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +57 -36
  257. package/src/{Validation.js → Validation.ts} +32 -17
  258. package/src/{applyRuntimes.js → applyRuntimes.ts} +35 -26
  259. package/src/{assetUtils.js → assetUtils.ts} +47 -35
  260. package/src/atlaspack-v3/AtlaspackV3.ts +122 -0
  261. package/src/atlaspack-v3/{NapiWorkerPool.js → NapiWorkerPool.ts} +10 -5
  262. package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
  263. package/src/atlaspack-v3/{index.js → index.ts} +2 -4
  264. package/src/atlaspack-v3/jsCallable.ts +14 -0
  265. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  266. package/src/atlaspack-v3/worker/compat/{bitflags.js → bitflags.ts} +9 -10
  267. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +12 -12
  268. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  269. package/src/atlaspack-v3/worker/compat/index.ts +9 -0
  270. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +20 -19
  271. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +27 -26
  272. package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
  273. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +4 -5
  274. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  275. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  276. package/src/atlaspack-v3/worker/index.js +2 -1
  277. package/src/atlaspack-v3/worker/{worker.js → worker.ts} +102 -66
  278. package/src/{constants.js → constants.ts} +0 -3
  279. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  280. package/src/index.ts +18 -0
  281. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  282. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  283. package/src/{projectPath.js → projectPath.ts} +20 -9
  284. package/src/public/{Asset.js → Asset.ts} +40 -27
  285. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  286. package/src/public/{BundleGraph.js → BundleGraph.ts} +81 -50
  287. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  288. package/src/public/{Config.js → Config.ts} +171 -33
  289. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  290. package/src/public/{Environment.js → Environment.ts} +28 -17
  291. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  292. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  293. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  294. package/src/public/{Target.js → Target.ts} +10 -8
  295. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  296. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +84 -49
  297. package/src/requests/AssetGraphRequestRust.ts +352 -0
  298. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  299. package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +46 -32
  300. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  301. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +71 -58
  302. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +71 -50
  303. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  304. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  305. package/src/requests/{PackageRequest.js → PackageRequest.ts} +20 -22
  306. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  307. package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
  308. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  309. package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
  310. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
  311. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  312. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  313. package/src/{resolveOptions.js → resolveOptions.ts} +56 -24
  314. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  315. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  316. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  317. package/src/types.ts +647 -0
  318. package/src/{utils.js → utils.ts} +52 -21
  319. package/src/{worker.js → worker.ts} +49 -41
  320. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
  321. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  322. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  323. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +75 -15
  324. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  325. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  326. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  327. package/test/Environment.test.ts +153 -0
  328. package/test/EnvironmentManager.test.ts +188 -0
  329. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  330. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  331. package/test/PackagerRunner.test.ts +0 -0
  332. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  333. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  334. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  335. package/test/PublicEnvironment.test.ts +49 -0
  336. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  337. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
  338. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  339. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
  340. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  341. package/test/fixtures/custom-targets/package.json +6 -0
  342. package/test/public/Config.test.ts +104 -0
  343. package/test/requests/{AssetGraphRequestRust.test.js → AssetGraphRequestRust.test.ts} +164 -134
  344. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  345. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  346. package/test/{test-utils.js → test-utils.ts} +4 -11
  347. package/test/{utils.test.js → utils.test.ts} +1 -3
  348. package/tsconfig.json +57 -0
  349. package/tsconfig.tsbuildinfo +1 -0
  350. package/index.d.ts +0 -30
  351. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  352. package/src/atlaspack-v3/jsCallable.js +0 -18
  353. package/src/index.js +0 -13
  354. package/src/requests/AssetGraphRequestRust.js +0 -263
  355. package/src/types.js +0 -600
  356. package/test/Environment.test.js +0 -119
  357. package/test/PackagerRunner.test.js +0 -27
  358. package/test/PublicEnvironment.test.js +0 -27
@@ -26,9 +26,7 @@ class IdentifierRegistry {
26
26
  });
27
27
  this.#createdDirectory = true;
28
28
  }
29
- _fs().default.appendFile('./.atlaspack/atlaspack-identifiers.txt',
30
- // $FlowFixMe
31
- `${type} ${identifier} ${JSON.stringify(data)}\n`, () => {});
29
+ _fs().default.appendFile('./.atlaspack/atlaspack-identifiers.txt', `${type} ${identifier} ${JSON.stringify(data)}\n`, () => {});
32
30
  }
33
31
  }
34
32
  }
@@ -14,6 +14,7 @@ function _rust() {
14
14
  return data;
15
15
  }
16
16
  var _IdentifierRegistry = require("./IdentifierRegistry");
17
+ var _EnvironmentManager = require("./EnvironmentManager");
17
18
  function createConfig({
18
19
  plugin,
19
20
  isSource,
@@ -30,11 +31,11 @@ function createConfig({
30
31
  invalidateOnBuild
31
32
  }) {
32
33
  let environment = env ?? (0, _Environment.createEnvironment)();
33
- const configId = (0, _rust().hashString)(plugin + (0, _projectPath.fromProjectPathRelative)(searchPath) + environment.id + String(isSource));
34
+ const configId = (0, _rust().hashString)(plugin + (0, _projectPath.fromProjectPathRelative)(searchPath) + (0, _EnvironmentManager.toEnvironmentId)(environment) + String(isSource));
34
35
  _IdentifierRegistry.identifierRegistry.addIdentifier('config_request', configId, {
35
36
  plugin,
36
37
  searchPath,
37
- environmentId: environment.id,
38
+ environmentId: (0, _EnvironmentManager.toEnvironmentId)(environment),
38
39
  isSource
39
40
  });
40
41
  return {
@@ -92,6 +92,14 @@ function _profiler() {
92
92
  };
93
93
  return data;
94
94
  }
95
+ var _EnvironmentManager = require("./EnvironmentManager");
96
+ function _featureFlags() {
97
+ const data = require("@atlaspack/feature-flags");
98
+ _featureFlags = function () {
99
+ return data;
100
+ };
101
+ return data;
102
+ }
95
103
  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); }
96
104
  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; }
97
105
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -101,6 +109,10 @@ const BOUNDARY_LENGTH = _constants.HASH_REF_PREFIX.length + 32 - 1;
101
109
  // load them once per build.
102
110
  const pluginConfigs = (0, _buildCache().createBuildCache)();
103
111
  class PackagerRunner {
112
+ // @ts-expect-error TS2564
113
+
114
+ // @ts-expect-error TS2564
115
+
104
116
  constructor({
105
117
  config,
106
118
  options,
@@ -165,6 +177,7 @@ class PackagerRunner {
165
177
  // Only load config for a plugin once per build.
166
178
  let existing = pluginConfigs.get(plugin.name);
167
179
  if (existing != null) {
180
+ // @ts-expect-error TS2345
168
181
  configs.set(plugin.name, existing);
169
182
  } else {
170
183
  if (plugin.plugin.loadConfig != null) {
@@ -217,7 +230,8 @@ class PackagerRunner {
217
230
  let {
218
231
  type,
219
232
  contents,
220
- map
233
+ map,
234
+ scopeHoistingStats
221
235
  } = await this.getBundleResult(bundle, bundleGraph, configs, bundleConfigs);
222
236
 
223
237
  // Recompute cache keys as they may have changed due to dev dependencies.
@@ -227,7 +241,14 @@ class PackagerRunner {
227
241
  map: PackagerRunner.getMapKey(cacheKey),
228
242
  info: PackagerRunner.getInfoKey(cacheKey)
229
243
  };
230
- return this.writeToCache(cacheKeys, type, contents, map);
244
+ let cachedResult = await this.writeToCache(cacheKeys, type, contents, map);
245
+ if (_utils().debugTools['scope-hoisting-stats']) {
246
+ return {
247
+ ...cachedResult,
248
+ scopeHoistingStats
249
+ };
250
+ }
251
+ return cachedResult;
231
252
  }
232
253
  async getBundleResult(bundle, bundleGraph, configs, bundleConfigs) {
233
254
  let packaged = await this.package(bundle, bundleGraph, configs, bundleConfigs);
@@ -237,11 +258,12 @@ class PackagerRunner {
237
258
  return {
238
259
  type: res.type ?? type,
239
260
  contents: res.contents,
240
- map
261
+ map,
262
+ scopeHoistingStats: packaged.scopeHoistingStats
241
263
  };
242
264
  }
243
265
  getSourceMapReference(bundle, map) {
244
- if (map && bundle.env.sourceMap && bundle.bundleBehavior !== 'inline') {
266
+ if (map && bundle.env.sourceMap && bundle.bundleBehavior !== 'inline' && bundle.bundleBehavior !== 'inlineIsolated') {
245
267
  if (bundle.env.sourceMap && bundle.env.sourceMap.inline) {
246
268
  return this.generateSourceMap((0, _Bundle.bundleToInternalBundle)(bundle), map);
247
269
  } else {
@@ -287,14 +309,14 @@ class PackagerRunner {
287
309
  category: 'package'
288
310
  }),
289
311
  getInlineBundleContents: async (bundle, bundleGraph) => {
290
- if (bundle.bundleBehavior !== 'inline') {
312
+ if (bundle.bundleBehavior !== 'inline' && bundle.bundleBehavior !== 'inlineIsolated') {
291
313
  throw new Error('Bundle is not inline and unable to retrieve contents');
292
314
  }
293
- let res = await this.getBundleResult((0, _Bundle.bundleToInternalBundle)(bundle),
294
- // $FlowFixMe
295
- (0, _BundleGraph.bundleGraphToInternalBundleGraph)(bundleGraph), configs, bundleConfigs);
315
+ let {
316
+ contents
317
+ } = await this.getBundleResult((0, _Bundle.bundleToInternalBundle)(bundle), (0, _BundleGraph.bundleGraphToInternalBundleGraph)(bundleGraph), configs, bundleConfigs);
296
318
  return {
297
- contents: res.contents
319
+ contents
298
320
  };
299
321
  }
300
322
  });
@@ -390,23 +412,34 @@ class PackagerRunner {
390
412
  let fullPath = (0, _projectPath.fromProjectPath)(this.options.projectRoot, filePath);
391
413
  let sourceRoot = _path().default.relative(_path().default.dirname(fullPath), this.options.projectRoot);
392
414
  let inlineSources = false;
415
+ const bundleEnv = (0, _EnvironmentManager.fromEnvironmentId)(bundle.env);
393
416
  if (bundle.target) {
394
- if (bundle.env.sourceMap && bundle.env.sourceMap.sourceRoot !== undefined) {
395
- sourceRoot = bundle.env.sourceMap.sourceRoot;
396
- } else if (this.options.serveOptions && bundle.target.env.context === 'browser') {
417
+ const bundleTargetEnv = (0, _EnvironmentManager.fromEnvironmentId)(bundle.target.env);
418
+ if (bundleEnv.sourceMap && bundleEnv.sourceMap.sourceRoot !== undefined) {
419
+ sourceRoot = bundleEnv.sourceMap.sourceRoot;
420
+ } else if (this.options.serveOptions && bundleTargetEnv.context === 'browser') {
397
421
  sourceRoot = '/__parcel_source_root';
398
422
  }
399
- if (bundle.env.sourceMap && bundle.env.sourceMap.inlineSources !== undefined) {
400
- inlineSources = bundle.env.sourceMap.inlineSources;
401
- } else if (bundle.target.env.context !== 'node') {
423
+ if (bundleEnv.sourceMap && bundleEnv.sourceMap.inlineSources !== undefined) {
424
+ inlineSources = bundleEnv.sourceMap.inlineSources;
425
+ } else if (bundleTargetEnv.context !== 'node') {
402
426
  // inlining should only happen in production for browser targets by default
403
427
  inlineSources = this.options.mode === 'production';
404
428
  }
405
429
  }
406
- let isInlineMap = bundle.env.sourceMap && bundle.env.sourceMap.inline;
430
+ let mapFilename = fullPath + '.map';
431
+ let isInlineMap = bundleEnv.sourceMap && bundleEnv.sourceMap.inline;
432
+ if ((0, _featureFlags().getFeatureFlag)('omitSourcesContentInMemory') && !isInlineMap) {
433
+ if (!(bundleEnv.sourceMap && bundleEnv.sourceMap.inlineSources === false)) {
434
+ /*
435
+ We're omitting sourcesContent during transformation to allow GC to run.
436
+ Ensure sources are still inlined into the final source maps written to disk. UNLESS the user explicitly disabled inlineSources.
437
+ */
438
+ inlineSources = true;
439
+ }
440
+ }
407
441
  let stringified = await map.stringify({
408
- file: _path().default.basename(fullPath + '.map'),
409
- // $FlowFixMe
442
+ file: _path().default.basename(mapFilename),
410
443
  fs: this.options.inputFS,
411
444
  rootDir: this.options.projectRoot,
412
445
  sourceRoot: !inlineSources ? _url().default.format(_url().default.parse(sourceRoot + '/')) : undefined,
@@ -434,6 +467,10 @@ class PackagerRunner {
434
467
  devDepHashes += await this.getDevDepHashes(inlineBundle);
435
468
  }
436
469
  let invalidationHash = await (0, _assetUtils.getInvalidationHash)(invalidations, this.options);
470
+ if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
471
+ const hash = (0, _rust().hashString)(_constants.ATLASPACK_VERSION + devDepHashes + invalidationHash + bundle.target.publicUrl + bundleGraph.getHash(bundle) + JSON.stringify(configResults) + JSON.stringify(globalInfoResults) + this.options.mode + (this.options.shouldBuildLazily ? 'lazy' : 'eager'));
472
+ return _path().default.join(bundle.displayName ?? bundle.name ?? bundle.id, hash);
473
+ }
437
474
  return (0, _rust().hashString)(_constants.ATLASPACK_VERSION + devDepHashes + invalidationHash + bundle.target.publicUrl + bundleGraph.getHash(bundle) + JSON.stringify(configResults) + JSON.stringify(globalInfoResults) + this.options.mode + (this.options.shouldBuildLazily ? 'lazy' : 'eager'));
438
475
  }
439
476
  async getDevDepHashes(bundle) {
@@ -457,28 +494,33 @@ class PackagerRunner {
457
494
  let contentKey = PackagerRunner.getContentKey(cacheKey);
458
495
  let mapKey = PackagerRunner.getMapKey(cacheKey);
459
496
  let isLargeBlob = await this.options.cache.hasLargeBlob(contentKey);
460
- let contentExists = isLargeBlob || (await this.options.cache.has(contentKey));
497
+ let contentExists = (0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements') ? isLargeBlob : isLargeBlob || (await this.options.cache.has(contentKey));
461
498
  if (!contentExists) {
462
499
  return null;
463
500
  }
464
- let mapExists = await this.options.cache.has(mapKey);
501
+ let mapExists = (0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements') ? await this.options.cache.hasLargeBlob(mapKey) : await this.options.cache.has(mapKey);
465
502
  return {
466
503
  contents: isLargeBlob ? this.options.cache.getStream(contentKey) : (0, _utils().blobToStream)(await this.options.cache.getBlob(contentKey)),
467
- map: mapExists ? (0, _utils().blobToStream)(await this.options.cache.getBlob(mapKey)) : null
504
+ map: mapExists ? (0, _utils().blobToStream)((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements') ? await this.options.cache.getLargeBlob(mapKey) : await this.options.cache.getBlob(mapKey)) : null
468
505
  };
469
506
  }
470
507
  async writeToCache(cacheKeys, type, contents, map) {
471
508
  let size = 0;
472
509
  let hash;
510
+ // @ts-expect-error TS2702
473
511
  let hashReferences = [];
474
- let isLargeBlob = false;
512
+ let isLargeBlob = (0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements');
475
513
 
476
514
  // TODO: don't replace hash references in binary files??
477
515
  if (contents instanceof _stream().Readable) {
478
- isLargeBlob = true;
516
+ if (!(0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
517
+ isLargeBlob = true;
518
+ }
479
519
  let boundaryStr = '';
480
520
  let h = new (_rust().Hash)();
481
- await this.options.cache.setStream(cacheKeys.content, (0, _utils().blobToStream)(contents).pipe(new (_utils().TapStream)(buf => {
521
+ await this.options.cache.setStream(cacheKeys.content, (0, _utils().blobToStream)(contents).pipe(
522
+ // @ts-expect-error TS2554
523
+ new (_utils().TapStream)(buf => {
482
524
  let str = boundaryStr + buf.toString();
483
525
  hashReferences = hashReferences.concat(str.match(_constants.HASH_REF_REGEX) ?? []);
484
526
  size += buf.length;
@@ -491,15 +533,27 @@ class PackagerRunner {
491
533
  size = buffer.byteLength;
492
534
  hash = (0, _rust().hashBuffer)(buffer);
493
535
  hashReferences = contents.match(_constants.HASH_REF_REGEX) ?? [];
494
- await this.options.cache.setBlob(cacheKeys.content, buffer);
536
+ if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
537
+ await this.options.cache.setLargeBlob(cacheKeys.content, buffer);
538
+ } else {
539
+ await this.options.cache.setBlob(cacheKeys.content, buffer);
540
+ }
495
541
  } else {
496
542
  size = contents.length;
497
543
  hash = (0, _rust().hashBuffer)(contents);
498
544
  hashReferences = contents.toString().match(_constants.HASH_REF_REGEX) ?? [];
499
- await this.options.cache.setBlob(cacheKeys.content, contents);
545
+ if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
546
+ await this.options.cache.setLargeBlob(cacheKeys.content, contents);
547
+ } else {
548
+ await this.options.cache.setBlob(cacheKeys.content, contents);
549
+ }
500
550
  }
501
551
  if (map != null) {
502
- await this.options.cache.setBlob(cacheKeys.map, map);
552
+ if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
553
+ await this.options.cache.setLargeBlob(cacheKeys.map, map);
554
+ } else {
555
+ await this.options.cache.setBlob(cacheKeys.map, map);
556
+ }
503
557
  }
504
558
  let info = {
505
559
  type,
@@ -513,12 +567,21 @@ class PackagerRunner {
513
567
  return info;
514
568
  }
515
569
  static getContentKey(cacheKey) {
570
+ if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
571
+ return `PackagerRunner/${_constants.ATLASPACK_VERSION}/${cacheKey}/content`;
572
+ }
516
573
  return (0, _rust().hashString)(`${cacheKey}:content`);
517
574
  }
518
575
  static getMapKey(cacheKey) {
576
+ if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
577
+ return `PackagerRunner/${_constants.ATLASPACK_VERSION}/${cacheKey}/map`;
578
+ }
519
579
  return (0, _rust().hashString)(`${cacheKey}:map`);
520
580
  }
521
581
  static getInfoKey(cacheKey) {
582
+ if ((0, _featureFlags().getFeatureFlag)('cachePerformanceImprovements')) {
583
+ return `PackagerRunner/${_constants.ATLASPACK_VERSION}/${cacheKey}/info`;
584
+ }
522
585
  return (0, _rust().hashString)(`${cacheKey}:info`);
523
586
  }
524
587
  }
@@ -15,7 +15,7 @@ function _assert() {
15
15
  }
16
16
  var _Bundle = require("./public/Bundle");
17
17
  function _workers() {
18
- const data = _interopRequireWildcard(require("@atlaspack/workers"));
18
+ const data = require("@atlaspack/workers");
19
19
  _workers = function () {
20
20
  return data;
21
21
  };
@@ -67,17 +67,14 @@ class ReporterRunner {
67
67
  }
68
68
  eventHandler = event => {
69
69
  if (event.type === 'buildProgress' && (event.phase === 'optimizing' || event.phase === 'packaging') && !(event.bundle instanceof _Bundle.NamedBundle)) {
70
- // $FlowFixMe[prop-missing]
70
+ // @ts-expect-error TS2339
71
71
  let bundleGraphRef = event.bundleGraphRef;
72
- // $FlowFixMe[incompatible-exact]
72
+ // @ts-expect-error TS2739
73
73
  let bundle = event.bundle;
74
74
  // Convert any internal bundles back to their public equivalents as reporting
75
75
  // is public api
76
- let bundleGraph = this.workerFarm.workerApi.getSharedReference(
77
- // $FlowFixMe
78
- bundleGraphRef);
76
+ let bundleGraph = this.workerFarm.workerApi.getSharedReference(bundleGraphRef);
79
77
  (0, _assert().default)(bundleGraph instanceof _BundleGraph.default);
80
- // $FlowFixMe[incompatible-call]
81
78
  this.report({
82
79
  ...event,
83
80
  bundle: _Bundle.NamedBundle.get(bundle, bundleGraph, this.options)
@@ -88,11 +85,12 @@ class ReporterRunner {
88
85
  };
89
86
  async report(unsanitisedEvent) {
90
87
  let event = unsanitisedEvent;
88
+ // @ts-expect-error TS2339
91
89
  if (event.diagnostics) {
92
90
  // Sanitise input before passing to reporters
93
- // $FlowFixMe too complex to narrow down by type
94
91
  event = {
95
92
  ...event,
93
+ // @ts-expect-error TS2322
96
94
  diagnostics: (0, _diagnostic().anyToDiagnostic)(event.diagnostics)
97
95
  };
98
96
  }
@@ -105,7 +103,6 @@ class ReporterRunner {
105
103
  measurement = _profiler().tracer.createMeasurement(reporter.name, 'reporter');
106
104
  }
107
105
  await reporter.plugin.report({
108
- // $FlowFixMe
109
106
  event,
110
107
  options: this.pluginOptions,
111
108
  logger: new (_logger().PluginLogger)({