@atlaspack/core 2.16.2-canary.37 → 2.16.2-canary.371

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 (367) hide show
  1. package/CHANGELOG.md +941 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +666 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +117 -0
  6. package/dist/BundleGraph.js +1740 -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 +514 -0
  19. package/dist/UncommittedAsset.js +315 -0
  20. package/dist/Validation.js +196 -0
  21. package/dist/applyRuntimes.js +383 -0
  22. package/dist/assetUtils.js +169 -0
  23. package/dist/atlaspack-v3/AtlaspackV3.js +74 -0
  24. package/dist/atlaspack-v3/NapiWorkerPool.js +81 -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 +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 +25 -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-logger.js +26 -0
  36. package/dist/atlaspack-v3/worker/compat/plugin-options.js +137 -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/side-effect-detector.js +243 -0
  40. package/dist/atlaspack-v3/worker/worker.js +381 -0
  41. package/dist/constants.js +17 -0
  42. package/dist/dumpGraphToGraphViz.js +281 -0
  43. package/dist/index.js +62 -0
  44. package/dist/loadAtlaspackPlugin.js +128 -0
  45. package/dist/loadDotEnv.js +41 -0
  46. package/dist/projectPath.js +83 -0
  47. package/dist/public/Asset.js +279 -0
  48. package/dist/public/Bundle.js +224 -0
  49. package/dist/public/BundleGraph.js +371 -0
  50. package/dist/public/BundleGroup.js +53 -0
  51. package/dist/public/Config.js +286 -0
  52. package/dist/public/Dependency.js +138 -0
  53. package/dist/public/Environment.js +278 -0
  54. package/dist/public/MutableBundleGraph.js +277 -0
  55. package/dist/public/PluginOptions.js +80 -0
  56. package/dist/public/Symbols.js +248 -0
  57. package/dist/public/Target.js +69 -0
  58. package/dist/registerCoreWithSerializer.js +38 -0
  59. package/dist/requests/AssetGraphRequest.js +439 -0
  60. package/dist/requests/AssetGraphRequestRust.js +273 -0
  61. package/dist/requests/AssetRequest.js +130 -0
  62. package/dist/requests/AtlaspackBuildRequest.js +92 -0
  63. package/dist/requests/AtlaspackConfigRequest.js +493 -0
  64. package/dist/requests/BundleGraphRequest.js +447 -0
  65. package/dist/requests/ConfigRequest.js +246 -0
  66. package/dist/requests/DevDepRequest.js +204 -0
  67. package/dist/requests/EntryRequest.js +314 -0
  68. package/dist/requests/PackageRequest.js +72 -0
  69. package/dist/requests/PathRequest.js +349 -0
  70. package/dist/requests/TargetRequest.js +1311 -0
  71. package/dist/requests/ValidationRequest.js +49 -0
  72. package/dist/requests/WriteBundleRequest.js +254 -0
  73. package/dist/requests/WriteBundlesRequest.js +184 -0
  74. package/dist/requests/asset-graph-diff.js +128 -0
  75. package/dist/requests/asset-graph-dot.js +131 -0
  76. package/dist/resolveOptions.js +269 -0
  77. package/dist/rustWorkerThreadDylibHack.js +19 -0
  78. package/dist/serializerCore.browser.js +43 -0
  79. package/dist/summarizeRequest.js +39 -0
  80. package/dist/types.js +31 -0
  81. package/dist/utils.js +172 -0
  82. package/dist/worker.js +123 -0
  83. package/lib/AssetGraph.js +111 -14
  84. package/lib/Atlaspack.js +94 -41
  85. package/lib/AtlaspackConfig.js +15 -3
  86. package/lib/AtlaspackConfig.schema.js +16 -5
  87. package/lib/BundleGraph.js +197 -32
  88. package/lib/CommittedAsset.js +7 -1
  89. package/lib/Dependency.js +8 -2
  90. package/lib/Environment.js +15 -8
  91. package/lib/EnvironmentManager.js +143 -0
  92. package/lib/IdentifierRegistry.js +1 -3
  93. package/lib/InternalConfig.js +3 -2
  94. package/lib/PackagerRunner.js +90 -27
  95. package/lib/ReporterRunner.js +6 -9
  96. package/lib/RequestTracker.js +266 -156
  97. package/lib/SymbolPropagation.js +42 -18
  98. package/lib/TargetDescriptor.schema.js +7 -1
  99. package/lib/Transformation.js +66 -15
  100. package/lib/UncommittedAsset.js +33 -12
  101. package/lib/Validation.js +18 -2
  102. package/lib/applyRuntimes.js +96 -4
  103. package/lib/assetUtils.js +15 -5
  104. package/lib/atlaspack-v3/AtlaspackV3.js +52 -14
  105. package/lib/atlaspack-v3/NapiWorkerPool.js +28 -1
  106. package/lib/atlaspack-v3/fs.js +3 -1
  107. package/lib/atlaspack-v3/index.js +28 -1
  108. package/lib/atlaspack-v3/jsCallable.js +0 -2
  109. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +7 -4
  110. package/lib/atlaspack-v3/worker/compat/bitflags.js +31 -25
  111. package/lib/atlaspack-v3/worker/compat/dependency.js +4 -1
  112. package/lib/atlaspack-v3/worker/compat/environment.js +10 -7
  113. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +15 -10
  114. package/lib/atlaspack-v3/worker/compat/plugin-config.js +13 -34
  115. package/lib/atlaspack-v3/worker/compat/plugin-options.js +16 -0
  116. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +3 -0
  117. package/lib/atlaspack-v3/worker/compat/target.js +2 -0
  118. package/lib/atlaspack-v3/worker/index.js +3 -0
  119. package/lib/atlaspack-v3/worker/side-effect-detector.js +215 -0
  120. package/lib/atlaspack-v3/worker/worker.js +199 -71
  121. package/lib/constants.js +0 -1
  122. package/lib/dumpGraphToGraphViz.js +71 -16
  123. package/lib/index.js +45 -1
  124. package/lib/loadDotEnv.js +4 -1
  125. package/lib/projectPath.js +5 -0
  126. package/lib/public/Asset.js +21 -11
  127. package/lib/public/Bundle.js +15 -16
  128. package/lib/public/BundleGraph.js +25 -22
  129. package/lib/public/BundleGroup.js +4 -5
  130. package/lib/public/Config.js +118 -17
  131. package/lib/public/Dependency.js +8 -6
  132. package/lib/public/Environment.js +12 -7
  133. package/lib/public/MutableBundleGraph.js +54 -12
  134. package/lib/public/PluginOptions.js +2 -2
  135. package/lib/public/Symbols.js +11 -11
  136. package/lib/public/Target.js +7 -6
  137. package/lib/registerCoreWithSerializer.js +5 -3
  138. package/lib/requests/AssetGraphRequest.js +74 -27
  139. package/lib/requests/AssetGraphRequestRust.js +140 -64
  140. package/lib/requests/AssetRequest.js +23 -6
  141. package/lib/requests/AtlaspackBuildRequest.js +43 -4
  142. package/lib/requests/AtlaspackConfigRequest.js +27 -16
  143. package/lib/requests/BundleGraphRequest.js +41 -24
  144. package/lib/requests/ConfigRequest.js +53 -4
  145. package/lib/requests/DevDepRequest.js +31 -5
  146. package/lib/requests/EntryRequest.js +2 -0
  147. package/lib/requests/PackageRequest.js +16 -2
  148. package/lib/requests/PathRequest.js +24 -3
  149. package/lib/requests/TargetRequest.js +122 -57
  150. package/lib/requests/ValidationRequest.js +5 -1
  151. package/lib/requests/WriteBundleRequest.js +39 -11
  152. package/lib/requests/WriteBundlesRequest.js +51 -4
  153. package/lib/requests/asset-graph-diff.js +12 -7
  154. package/lib/requests/asset-graph-dot.js +1 -7
  155. package/lib/resolveOptions.js +38 -11
  156. package/lib/rustWorkerThreadDylibHack.js +0 -1
  157. package/lib/types/AssetGraph.d.ts +80 -0
  158. package/lib/types/Atlaspack.d.ts +52 -0
  159. package/lib/types/AtlaspackConfig.d.ts +65 -0
  160. package/lib/types/AtlaspackConfig.schema.d.ts +53 -0
  161. package/lib/types/BundleGraph.d.ts +184 -0
  162. package/lib/types/CommittedAsset.d.ts +23 -0
  163. package/lib/types/Dependency.d.ts +44 -0
  164. package/lib/types/Environment.d.ts +11 -0
  165. package/lib/types/EnvironmentManager.d.ts +37 -0
  166. package/lib/types/IdentifierRegistry.d.ts +6 -0
  167. package/lib/types/InternalConfig.d.ts +23 -0
  168. package/lib/types/PackagerRunner.d.ts +85 -0
  169. package/lib/types/ReporterRunner.d.ts +25 -0
  170. package/lib/types/RequestTracker.d.ts +385 -0
  171. package/lib/types/SymbolPropagation.d.ts +11 -0
  172. package/lib/types/TargetDescriptor.schema.d.ts +5 -0
  173. package/lib/types/Transformation.d.ts +72 -0
  174. package/lib/types/UncommittedAsset.d.ts +61 -0
  175. package/lib/types/Validation.d.ts +37 -0
  176. package/lib/types/applyRuntimes.d.ts +25 -0
  177. package/lib/types/assetUtils.d.ts +42 -0
  178. package/lib/types/atlaspack-v3/AtlaspackV3.d.ts +34 -0
  179. package/lib/types/atlaspack-v3/NapiWorkerPool.d.ts +13 -0
  180. package/lib/types/atlaspack-v3/fs.d.ts +12 -0
  181. package/lib/types/atlaspack-v3/index.d.ts +6 -0
  182. package/lib/types/atlaspack-v3/jsCallable.d.ts +1 -0
  183. package/lib/types/atlaspack-v3/worker/compat/asset-symbols.d.ts +51 -0
  184. package/lib/types/atlaspack-v3/worker/compat/bitflags.d.ts +14 -0
  185. package/lib/types/atlaspack-v3/worker/compat/dependency.d.ts +25 -0
  186. package/lib/types/atlaspack-v3/worker/compat/environment.d.ts +27 -0
  187. package/{src/atlaspack-v3/worker/compat/index.js → lib/types/atlaspack-v3/worker/compat/index.d.ts} +0 -1
  188. package/lib/types/atlaspack-v3/worker/compat/mutable-asset.d.ts +49 -0
  189. package/lib/types/atlaspack-v3/worker/compat/plugin-config.d.ts +29 -0
  190. package/lib/types/atlaspack-v3/worker/compat/plugin-logger.d.ts +9 -0
  191. package/lib/types/atlaspack-v3/worker/compat/plugin-options.d.ts +23 -0
  192. package/lib/types/atlaspack-v3/worker/compat/plugin-tracer.d.ts +5 -0
  193. package/lib/types/atlaspack-v3/worker/compat/target.d.ts +11 -0
  194. package/lib/types/atlaspack-v3/worker/side-effect-detector.d.ts +76 -0
  195. package/lib/types/atlaspack-v3/worker/worker.d.ts +80 -0
  196. package/lib/types/constants.d.ts +13 -0
  197. package/lib/types/dumpGraphToGraphViz.d.ts +10 -0
  198. package/lib/types/index.d.ts +8 -0
  199. package/lib/types/loadAtlaspackPlugin.d.ts +8 -0
  200. package/lib/types/loadDotEnv.d.ts +3 -0
  201. package/lib/types/projectPath.d.ts +19 -0
  202. package/lib/types/public/Asset.d.ts +74 -0
  203. package/lib/types/public/Bundle.d.ts +45 -0
  204. package/lib/types/public/BundleGraph.d.ts +72 -0
  205. package/lib/types/public/BundleGroup.d.ts +12 -0
  206. package/lib/types/public/Config.d.ts +75 -0
  207. package/lib/types/public/Dependency.d.ts +32 -0
  208. package/lib/types/public/Environment.d.ts +34 -0
  209. package/lib/types/public/MutableBundleGraph.d.ts +26 -0
  210. package/lib/types/public/PluginOptions.d.ts +25 -0
  211. package/lib/types/public/Symbols.d.ts +81 -0
  212. package/lib/types/public/Target.d.ts +16 -0
  213. package/lib/types/registerCoreWithSerializer.d.ts +2 -0
  214. package/lib/types/requests/AssetGraphRequest.d.ts +76 -0
  215. package/lib/types/requests/AssetGraphRequestRust.d.ts +21 -0
  216. package/lib/types/requests/AssetRequest.d.ts +16 -0
  217. package/lib/types/requests/AtlaspackBuildRequest.d.ts +33 -0
  218. package/lib/types/requests/AtlaspackConfigRequest.d.ts +45 -0
  219. package/lib/types/requests/BundleGraphRequest.d.ts +28 -0
  220. package/lib/types/requests/ConfigRequest.d.ts +67 -0
  221. package/lib/types/requests/DevDepRequest.d.ts +30 -0
  222. package/lib/types/requests/EntryRequest.d.ts +36 -0
  223. package/lib/types/requests/PackageRequest.d.ts +27 -0
  224. package/lib/types/requests/PathRequest.d.ts +48 -0
  225. package/lib/types/requests/TargetRequest.d.ts +48 -0
  226. package/lib/types/requests/ValidationRequest.d.ts +20 -0
  227. package/lib/types/requests/WriteBundleRequest.d.ts +28 -0
  228. package/lib/types/requests/WriteBundlesRequest.d.ts +32 -0
  229. package/lib/types/requests/asset-graph-diff.d.ts +1 -0
  230. package/lib/types/requests/asset-graph-dot.d.ts +9 -0
  231. package/lib/types/resolveOptions.d.ts +3 -0
  232. package/lib/types/rustWorkerThreadDylibHack.d.ts +9 -0
  233. package/lib/types/serializerCore.browser.d.ts +3 -0
  234. package/lib/types/summarizeRequest.d.ts +10 -0
  235. package/lib/types/types.d.ts +495 -0
  236. package/lib/types/utils.d.ts +23 -0
  237. package/lib/types/worker.d.ts +44 -0
  238. package/lib/types.js +8 -1
  239. package/lib/utils.js +17 -2
  240. package/lib/worker.js +30 -14
  241. package/package.json +25 -35
  242. package/src/{AssetGraph.js → AssetGraph.ts} +156 -52
  243. package/src/{Atlaspack.js → Atlaspack.ts} +134 -67
  244. package/src/{AtlaspackConfig.schema.js → AtlaspackConfig.schema.ts} +25 -19
  245. package/src/{AtlaspackConfig.js → AtlaspackConfig.ts} +78 -54
  246. package/src/{BundleGraph.js → BundleGraph.ts} +383 -140
  247. package/src/{CommittedAsset.js → CommittedAsset.ts} +15 -13
  248. package/src/{Dependency.js → Dependency.ts} +59 -42
  249. package/src/{Environment.js → Environment.ts} +24 -15
  250. package/src/EnvironmentManager.ts +154 -0
  251. package/src/{IdentifierRegistry.js → IdentifierRegistry.ts} +1 -4
  252. package/src/{InternalConfig.js → InternalConfig.ts} +22 -23
  253. package/src/{PackagerRunner.js → PackagerRunner.ts} +179 -87
  254. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  255. package/src/{RequestTracker.js → RequestTracker.ts} +572 -357
  256. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +165 -57
  257. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  258. package/src/{Transformation.js → Transformation.ts} +110 -65
  259. package/src/{UncommittedAsset.js → UncommittedAsset.ts} +60 -39
  260. package/src/{Validation.js → Validation.ts} +32 -17
  261. package/src/{applyRuntimes.js → applyRuntimes.ts} +133 -26
  262. package/src/{assetUtils.js → assetUtils.ts} +49 -36
  263. package/src/atlaspack-v3/AtlaspackV3.ts +143 -0
  264. package/src/atlaspack-v3/NapiWorkerPool.ts +91 -0
  265. package/src/atlaspack-v3/{fs.js → fs.ts} +3 -4
  266. package/src/atlaspack-v3/{index.js → index.ts} +3 -4
  267. package/src/atlaspack-v3/jsCallable.ts +14 -0
  268. package/src/atlaspack-v3/worker/compat/{asset-symbols.js → asset-symbols.ts} +40 -30
  269. package/src/atlaspack-v3/worker/compat/bitflags.ts +102 -0
  270. package/src/atlaspack-v3/worker/compat/{dependency.js → dependency.ts} +13 -13
  271. package/src/atlaspack-v3/worker/compat/{environment.js → environment.ts} +13 -9
  272. package/src/atlaspack-v3/worker/compat/index.ts +9 -0
  273. package/src/atlaspack-v3/worker/compat/{mutable-asset.js → mutable-asset.ts} +21 -20
  274. package/src/atlaspack-v3/worker/compat/{plugin-config.js → plugin-config.ts} +25 -56
  275. package/src/atlaspack-v3/worker/compat/{plugin-logger.js → plugin-logger.ts} +0 -2
  276. package/src/atlaspack-v3/worker/compat/{plugin-options.js → plugin-options.ts} +19 -5
  277. package/src/atlaspack-v3/worker/compat/{plugin-tracer.js → plugin-tracer.ts} +2 -2
  278. package/src/atlaspack-v3/worker/compat/{target.js → target.ts} +3 -4
  279. package/src/atlaspack-v3/worker/index.js +2 -1
  280. package/src/atlaspack-v3/worker/side-effect-detector.ts +298 -0
  281. package/src/atlaspack-v3/worker/worker.ts +531 -0
  282. package/src/{constants.js → constants.ts} +0 -3
  283. package/src/{dumpGraphToGraphViz.js → dumpGraphToGraphViz.ts} +73 -28
  284. package/src/index.ts +18 -0
  285. package/src/{loadAtlaspackPlugin.js → loadAtlaspackPlugin.ts} +8 -9
  286. package/src/{loadDotEnv.js → loadDotEnv.ts} +2 -2
  287. package/src/{projectPath.js → projectPath.ts} +20 -9
  288. package/src/public/{Asset.js → Asset.ts} +41 -28
  289. package/src/public/{Bundle.js → Bundle.ts} +28 -29
  290. package/src/public/{BundleGraph.js → BundleGraph.ts} +103 -68
  291. package/src/public/{BundleGroup.js → BundleGroup.ts} +7 -10
  292. package/src/public/{Config.js → Config.ts} +171 -33
  293. package/src/public/{Dependency.js → Dependency.ts} +20 -17
  294. package/src/public/{Environment.js → Environment.ts} +28 -17
  295. package/src/public/{MutableBundleGraph.js → MutableBundleGraph.ts} +55 -24
  296. package/src/public/{PluginOptions.js → PluginOptions.ts} +6 -6
  297. package/src/public/{Symbols.js → Symbols.ts} +75 -36
  298. package/src/public/{Target.js → Target.ts} +10 -8
  299. package/src/{registerCoreWithSerializer.js → registerCoreWithSerializer.ts} +9 -7
  300. package/src/requests/{AssetGraphRequest.js → AssetGraphRequest.ts} +129 -80
  301. package/src/requests/AssetGraphRequestRust.ts +364 -0
  302. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  303. package/src/requests/AtlaspackBuildRequest.ts +163 -0
  304. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +72 -58
  305. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +97 -79
  306. package/src/requests/{ConfigRequest.js → ConfigRequest.ts} +110 -50
  307. package/src/requests/{DevDepRequest.js → DevDepRequest.ts} +60 -35
  308. package/src/requests/{EntryRequest.js → EntryRequest.ts} +36 -31
  309. package/src/requests/{PackageRequest.js → PackageRequest.ts} +34 -22
  310. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  311. package/src/requests/{TargetRequest.js → TargetRequest.ts} +260 -179
  312. package/src/requests/{ValidationRequest.js → ValidationRequest.ts} +18 -17
  313. package/src/requests/{WriteBundleRequest.js → WriteBundleRequest.ts} +77 -49
  314. package/src/requests/{WriteBundlesRequest.js → WriteBundlesRequest.ts} +109 -37
  315. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +25 -21
  316. package/src/requests/{asset-graph-dot.js → asset-graph-dot.ts} +8 -12
  317. package/src/{resolveOptions.js → resolveOptions.ts} +59 -25
  318. package/src/{rustWorkerThreadDylibHack.js → rustWorkerThreadDylibHack.ts} +1 -4
  319. package/src/{serializerCore.browser.js → serializerCore.browser.ts} +2 -3
  320. package/src/{summarizeRequest.js → summarizeRequest.ts} +17 -5
  321. package/src/types.ts +650 -0
  322. package/src/{utils.js → utils.ts} +52 -21
  323. package/src/{worker.js → worker.ts} +50 -42
  324. package/test/{AssetGraph.test.js → AssetGraph.test.ts} +37 -8
  325. package/test/{Atlaspack.test.js → Atlaspack.test.ts} +5 -10
  326. package/test/{AtlaspackConfig.test.js → AtlaspackConfig.test.ts} +0 -5
  327. package/test/{AtlaspackConfigRequest.test.js → AtlaspackConfigRequest.test.ts} +76 -16
  328. package/test/{BundleGraph.test.js → BundleGraph.test.ts} +8 -13
  329. package/test/{Dependency.test.js → Dependency.test.ts} +2 -3
  330. package/test/{EntryRequest.test.js → EntryRequest.test.ts} +1 -6
  331. package/test/Environment.test.ts +153 -0
  332. package/test/EnvironmentManager.test.ts +188 -0
  333. package/test/{IdentifierRegistry.test.js → IdentifierRegistry.test.ts} +2 -4
  334. package/test/{InternalAsset.test.js → InternalAsset.test.ts} +2 -7
  335. package/test/PackagerRunner.test.ts +0 -0
  336. package/test/{PublicAsset.test.js → PublicAsset.test.ts} +2 -7
  337. package/test/{PublicBundle.test.js → PublicBundle.test.ts} +1 -2
  338. package/test/{PublicDependency.test.js → PublicDependency.test.ts} +0 -2
  339. package/test/PublicEnvironment.test.ts +49 -0
  340. package/test/{PublicMutableBundleGraph.test.js → PublicMutableBundleGraph.test.ts} +6 -11
  341. package/test/{RequestTracker.test.js → RequestTracker.test.ts} +314 -59
  342. package/test/{SymbolPropagation.test.js → SymbolPropagation.test.ts} +124 -74
  343. package/test/{TargetRequest.test.js → TargetRequest.test.ts} +66 -92
  344. package/test/fixtures/config-with-reporters/.parcelrc +7 -0
  345. package/test/fixtures/custom-targets/package.json +6 -0
  346. package/test/public/Config.test.ts +104 -0
  347. package/test/requests/AssetGraphRequestRust.test.ts +443 -0
  348. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  349. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  350. package/test/{test-utils.js → test-utils.ts} +4 -11
  351. package/test/{utils.test.js → utils.test.ts} +1 -3
  352. package/tsconfig.json +60 -0
  353. package/tsconfig.tsbuildinfo +1 -0
  354. package/index.d.ts +0 -30
  355. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  356. package/src/atlaspack-v3/NapiWorkerPool.js +0 -53
  357. package/src/atlaspack-v3/jsCallable.js +0 -18
  358. package/src/atlaspack-v3/worker/compat/bitflags.js +0 -100
  359. package/src/atlaspack-v3/worker/worker.js +0 -362
  360. package/src/index.js +0 -13
  361. package/src/requests/AssetGraphRequestRust.js +0 -263
  362. package/src/requests/AtlaspackBuildRequest.js +0 -111
  363. package/src/types.js +0 -600
  364. package/test/Environment.test.js +0 -119
  365. package/test/PackagerRunner.test.js +0 -27
  366. package/test/PublicEnvironment.test.js +0 -27
  367. package/test/requests/AssetGraphRequestRust.test.js +0 -411
@@ -1,4 +1,3 @@
1
- // @flow strict-local
2
1
  import type {
3
2
  Asset,
4
3
  AsyncSubscription,
@@ -44,21 +43,26 @@ import createPathRequest from './requests/PathRequest';
44
43
  import {createEnvironment} from './Environment';
45
44
  import {createDependency} from './Dependency';
46
45
  import {Disposable} from '@atlaspack/events';
47
- import {init as initSourcemaps} from '@parcel/source-map';
46
+ import {init as initSourcemaps} from '@atlaspack/source-map';
48
47
  import {LMDBLiteCache} from '@atlaspack/cache';
49
48
  import {
49
+ // @ts-expect-error TS2305
50
50
  init as initRust,
51
51
  initializeMonitoring,
52
52
  closeMonitoring,
53
- type Lmdb,
53
+ Lmdb,
54
54
  } from '@atlaspack/rust';
55
55
  import {
56
56
  fromProjectPath,
57
57
  toProjectPath,
58
58
  fromProjectPathRelative,
59
59
  } from './projectPath';
60
- import {tracer} from '@atlaspack/profiler';
61
- import {setFeatureFlags, DEFAULT_FEATURE_FLAGS} from '@atlaspack/feature-flags';
60
+ import {tracer, NativeProfiler} from '@atlaspack/profiler';
61
+ import {
62
+ setFeatureFlags,
63
+ DEFAULT_FEATURE_FLAGS,
64
+ getFeatureFlag,
65
+ } from '@atlaspack/feature-flags';
62
66
  import {AtlaspackV3, FileSystemV3} from './atlaspack-v3';
63
67
  import createAssetGraphRequestJS from './requests/AssetGraphRequest';
64
68
  import {createAssetGraphRequestRust} from './requests/AssetGraphRequestRust';
@@ -69,39 +73,53 @@ registerCoreWithSerializer();
69
73
 
70
74
  export const INTERNAL_TRANSFORM: symbol = Symbol('internal_transform');
71
75
  export const INTERNAL_RESOLVE: symbol = Symbol('internal_resolve');
72
- export const WORKER_PATH: string = path.join(__dirname, 'worker.js');
76
+ export let WORKER_PATH: string = path.join(__dirname, 'worker.js');
77
+ if (__filename.endsWith('.ts')) {
78
+ WORKER_PATH = path.join(__dirname, 'worker.ts');
79
+ }
73
80
 
74
81
  export default class Atlaspack {
75
- #requestTracker /*: RequestTracker*/;
76
- #config /*: AtlaspackConfig*/;
77
- #farm /*: WorkerFarm*/;
78
- #initialized /*: boolean*/ = false;
79
- #disposable /*: Disposable */;
80
- #initialOptions /*: InitialAtlaspackOptions */;
81
- #reporterRunner /*: ReporterRunner*/;
82
- #resolvedOptions /*: ?AtlaspackOptions*/ = null;
83
- #optionsRef /*: SharedReference */;
84
- #watchAbortController /*: AbortController*/;
85
- #watchQueue /*: PromiseQueue<?BuildEvent>*/ = new PromiseQueue<?BuildEvent>({
82
+ // @ts-expect-error TS2564
83
+ #requestTracker: RequestTracker;
84
+ // @ts-expect-error TS2564
85
+ #config: AtlaspackConfig;
86
+ // @ts-expect-error TS2564
87
+ #farm: WorkerFarm;
88
+ #initialized: boolean = false;
89
+ // @ts-expect-error TS2564
90
+ #disposable: Disposable;
91
+ #initialOptions: InitialAtlaspackOptions;
92
+ // @ts-expect-error TS2564
93
+ #reporterRunner: ReporterRunner;
94
+ #resolvedOptions: AtlaspackOptions | null | undefined = null;
95
+ // @ts-expect-error TS2564
96
+ #optionsRef: SharedReference;
97
+ // @ts-expect-error TS2564
98
+ #watchAbortController: AbortController;
99
+ #watchQueue: PromiseQueue<BuildEvent | null | undefined> = new PromiseQueue<
100
+ BuildEvent | null | undefined
101
+ >({
86
102
  maxConcurrent: 1,
87
103
  });
88
- #watchEvents /*: ValueEmitter<
89
- | {|
90
- +error: Error,
91
- +buildEvent?: void,
92
- |}
93
- | {|
94
- +buildEvent: BuildEvent,
95
- +error?: void,
96
- |},
97
- > */;
98
- #watcherSubscription /*: ?AsyncSubscription*/;
99
- #watcherCount /*: number*/ = 0;
100
- #requestedAssetIds /*: Set<string>*/ = new Set();
101
-
102
- rustAtlaspack: AtlaspackV3 | null | void;
103
-
104
- isProfiling /*: boolean */;
104
+ // @ts-expect-error TS2564
105
+ #watchEvents: ValueEmitter<
106
+ | {
107
+ readonly error: Error;
108
+ readonly buildEvent?: undefined;
109
+ }
110
+ | {
111
+ readonly buildEvent: BuildEvent;
112
+ readonly error?: undefined;
113
+ }
114
+ >;
115
+ #watcherSubscription: AsyncSubscription | null | undefined;
116
+ #watcherCount: number = 0;
117
+ #requestedAssetIds: Set<string> = new Set();
118
+
119
+ rustAtlaspack: AtlaspackV3 | null | undefined;
120
+
121
+ // @ts-expect-error TS2564
122
+ isProfiling: boolean;
105
123
 
106
124
  constructor(options: InitialAtlaspackOptions) {
107
125
  this.#initialOptions = options;
@@ -115,7 +133,7 @@ export default class Atlaspack {
115
133
  const featureFlags = {
116
134
  ...DEFAULT_FEATURE_FLAGS,
117
135
  ...this.#initialOptions.featureFlags,
118
- };
136
+ } as const;
119
137
  setFeatureFlags(featureFlags);
120
138
 
121
139
  loadRustWorkerThreadDylibHack();
@@ -138,7 +156,7 @@ export default class Atlaspack {
138
156
  process.off('exit', onExit);
139
157
  onExit();
140
158
  });
141
- } catch (e) {
159
+ } catch (e: any) {
142
160
  // Fallthrough
143
161
  // eslint-disable-next-line no-console
144
162
  console.warn(e);
@@ -151,7 +169,10 @@ export default class Atlaspack {
151
169
  this.#resolvedOptions = resolvedOptions;
152
170
 
153
171
  let rustAtlaspack: AtlaspackV3;
154
- if (resolvedOptions.featureFlags.atlaspackV3) {
172
+ if (
173
+ resolvedOptions.featureFlags.atlaspackV3 ||
174
+ resolvedOptions.featureFlags.nativePackager
175
+ ) {
155
176
  // eslint-disable-next-line no-unused-vars
156
177
  let {entries, inputFS, outputFS, ...options} = this.#initialOptions;
157
178
 
@@ -161,7 +182,6 @@ export default class Atlaspack {
161
182
 
162
183
  const lmdb: Lmdb = resolvedOptions.cache.getNativeRef();
163
184
 
164
- // $FlowFixMe
165
185
  const version = require('../package.json').version;
166
186
  await lmdb.put('current_session_version', Buffer.from(version));
167
187
 
@@ -174,20 +194,26 @@ export default class Atlaspack {
174
194
 
175
195
  rustAtlaspack = await AtlaspackV3.create({
176
196
  ...options,
197
+ // @ts-expect-error TS2353
177
198
  corePath: path.join(__dirname, '..'),
178
199
  threads,
179
200
  entries: Array.isArray(entries)
180
201
  ? entries
181
202
  : entries == null
182
- ? undefined
183
- : [entries],
203
+ ? undefined
204
+ : [entries],
184
205
  env: resolvedOptions.env,
185
206
  fs: inputFS && new FileSystemV3(inputFS),
186
- // $FlowFixMe ProjectPath is a string
187
207
  defaultTargetOptions: resolvedOptions.defaultTargetOptions,
208
+ serveOptions: resolvedOptions.serveOptions,
188
209
  lmdb,
210
+ featureFlags: resolvedOptions.featureFlags,
211
+ });
212
+ this.#disposable.add(() => {
213
+ rustAtlaspack.end();
189
214
  });
190
215
  }
216
+ // @ts-expect-error TS2454
191
217
  this.rustAtlaspack = rustAtlaspack;
192
218
 
193
219
  let {config} = await loadAtlaspackConfig(resolvedOptions);
@@ -238,6 +264,7 @@ export default class Atlaspack {
238
264
  this.#requestTracker = await RequestTracker.init({
239
265
  farm: this.#farm,
240
266
  options: resolvedOptions,
267
+ // @ts-expect-error TS2454
241
268
  rustAtlaspack,
242
269
  });
243
270
 
@@ -279,7 +306,7 @@ export default class Atlaspack {
279
306
 
280
307
  try {
281
308
  await this.#requestTracker.writeToCache(abortController.signal);
282
- } catch (err) {
309
+ } catch (err: any) {
283
310
  if (!abortController.signal.aborted) {
284
311
  // We expect abort errors if we interrupt the cache write
285
312
  throw err;
@@ -290,7 +317,7 @@ export default class Atlaspack {
290
317
  }
291
318
  }
292
319
 
293
- async _startNextBuild(): Promise<?BuildEvent> {
320
+ async _startNextBuild(): Promise<BuildEvent | null | undefined> {
294
321
  this.#watchAbortController = new AbortController();
295
322
  await this.clearBuildCaches();
296
323
 
@@ -304,7 +331,7 @@ export default class Atlaspack {
304
331
  });
305
332
 
306
333
  return buildEvent;
307
- } catch (err) {
334
+ } catch (err: any) {
308
335
  // Ignore BuildAbortErrors and only emit critical errors.
309
336
  if (!(err instanceof BuildAbortError)) {
310
337
  throw err;
@@ -316,12 +343,13 @@ export default class Atlaspack {
316
343
  }
317
344
 
318
345
  async watch(
319
- cb?: (err: ?Error, buildEvent?: BuildEvent) => mixed,
346
+ cb?: (err?: Error | null | undefined, buildEvent?: BuildEvent) => unknown,
320
347
  ): Promise<AsyncSubscription> {
321
348
  if (!this.#initialized) {
322
349
  await this._init();
323
350
  }
324
351
 
352
+ // @ts-expect-error TS7034
325
353
  let watchEventsDisposable;
326
354
  if (cb) {
327
355
  watchEventsDisposable = this.#watchEvents.addListener(
@@ -341,8 +369,10 @@ export default class Atlaspack {
341
369
 
342
370
  this.#watcherCount++;
343
371
 
372
+ // @ts-expect-error TS7034
344
373
  let unsubscribePromise;
345
374
  const unsubscribe = async () => {
375
+ // @ts-expect-error TS7005
346
376
  if (watchEventsDisposable) {
347
377
  watchEventsDisposable.dispose();
348
378
  }
@@ -360,10 +390,12 @@ export default class Atlaspack {
360
390
 
361
391
  return {
362
392
  unsubscribe() {
393
+ // @ts-expect-error TS7005
363
394
  if (unsubscribePromise == null) {
364
395
  unsubscribePromise = unsubscribe();
365
396
  }
366
397
 
398
+ // @ts-expect-error TS7005
367
399
  return unsubscribePromise;
368
400
  },
369
401
  };
@@ -372,20 +404,28 @@ export default class Atlaspack {
372
404
  async _build({
373
405
  signal,
374
406
  startTime = Date.now(),
375
- }: {|
376
- signal?: AbortSignal,
377
- startTime?: number,
378
- |} = {
407
+ }: {
408
+ signal?: AbortSignal;
409
+ startTime?: number;
410
+ } = {
379
411
  /*::...null*/
380
412
  }): Promise<BuildEvent> {
381
- this.#requestTracker.setSignal(signal);
382
413
  let options = nullthrows(this.#resolvedOptions);
383
414
  try {
384
415
  if (options.shouldProfile) {
385
416
  await this.startProfiling();
386
417
  }
418
+ if (options.nativeProfiler) {
419
+ const nativeProfiler = new NativeProfiler();
420
+ await nativeProfiler.startProfiling(options.nativeProfiler);
421
+ }
387
422
  if (options.shouldTrace) {
388
423
  tracer.enable();
424
+ // We need to ensure the tracer is disabled when Atlaspack is disposed as it is a module level object.
425
+ // While rare (except for tests), if another instance is created later it should not have tracing enabled.
426
+ this.#disposable.add(() => {
427
+ tracer.disable();
428
+ });
389
429
  }
390
430
  await this.#reporterRunner.report({
391
431
  type: 'buildStart',
@@ -399,13 +439,18 @@ export default class Atlaspack {
399
439
  signal,
400
440
  });
401
441
 
402
- let {bundleGraph, bundleInfo, changedAssets, assetRequests} =
403
- await this.#requestTracker.runRequest(request, {force: true});
442
+ let {
443
+ bundleGraph,
444
+ bundleInfo,
445
+ changedAssets,
446
+ assetRequests,
447
+ scopeHoistingStats,
448
+ } = await this.#requestTracker.runRequest(request, {force: true});
404
449
 
405
450
  this.#requestedAssetIds.clear();
406
451
 
407
452
  await dumpGraphToGraphViz(
408
- // $FlowFixMe
453
+ // @ts-expect-error TS2345
409
454
  this.#requestTracker.graph,
410
455
  'RequestGraph',
411
456
  requestGraphEdgeTypes,
@@ -414,14 +459,20 @@ export default class Atlaspack {
414
459
  let event = {
415
460
  type: 'buildSuccess',
416
461
  changedAssets: new Map(
417
- Array.from(changedAssets).map(([id, asset]) => [
462
+ Array.from(changedAssets).map(([id, asset]: [any, any]) => [
418
463
  id,
419
464
  assetFromValue(asset, options),
420
465
  ]),
421
466
  ),
422
467
  bundleGraph: new BundleGraph<IPackagedBundle>(
423
468
  bundleGraph,
424
- (bundle, bundleGraph, options) =>
469
+ (
470
+ // @ts-expect-error TS2304
471
+ bundle: Bundle,
472
+ // @ts-expect-error TS2314
473
+ bundleGraph: BundleGraph,
474
+ options: AtlaspackOptions,
475
+ ) =>
425
476
  PackagedBundle.getWithInfo(
426
477
  bundle,
427
478
  bundleGraph,
@@ -431,6 +482,7 @@ export default class Atlaspack {
431
482
  options,
432
483
  ),
433
484
  buildTime: Date.now() - startTime,
485
+ // @ts-expect-error TS7006
434
486
  requestBundle: async (bundle) => {
435
487
  let bundleNode = bundleGraph._graph.getNodeByContentKey(bundle.id);
436
488
  invariant(bundleNode?.type === 'bundle', 'Bundle does not exist');
@@ -444,6 +496,7 @@ export default class Atlaspack {
444
496
  buildTime: 0,
445
497
  requestBundle: event.requestBundle,
446
498
  unstable_requestStats: {},
499
+ scopeHoistingStats: event.scopeHoistingStats,
447
500
  };
448
501
  }
449
502
 
@@ -461,17 +514,23 @@ export default class Atlaspack {
461
514
 
462
515
  let results = await this.#watchQueue.run();
463
516
  let result = results.filter(Boolean).pop();
517
+ // @ts-expect-error TS18049
464
518
  if (result.type === 'buildFailure') {
519
+ // @ts-expect-error TS18049
465
520
  throw new BuildError(result.diagnostics);
466
521
  }
467
522
 
468
523
  return result;
469
524
  },
470
525
  unstable_requestStats: this.#requestTracker.flushStats(),
526
+ nativeCacheStats: await this.rustAtlaspack?.completeCacheSession(),
527
+ scopeHoistingStats,
471
528
  };
472
529
 
530
+ // @ts-expect-error TS2345
473
531
  await this.#reporterRunner.report(event);
474
532
  await this.#requestTracker.runRequest(
533
+ // @ts-expect-error TS2345
475
534
  createValidationRequest({optionsRef: this.#optionsRef, assetRequests}),
476
535
  {force: assetRequests.length > 0},
477
536
  );
@@ -480,8 +539,9 @@ export default class Atlaspack {
480
539
  throw this.#reporterRunner.errors;
481
540
  }
482
541
 
542
+ // @ts-expect-error TS2322
483
543
  return event;
484
- } catch (e) {
544
+ } catch (e: any) {
485
545
  if (e instanceof BuildAbortError) {
486
546
  throw e;
487
547
  }
@@ -491,9 +551,12 @@ export default class Atlaspack {
491
551
  type: 'buildFailure',
492
552
  diagnostics: Array.isArray(diagnostic) ? diagnostic : [diagnostic],
493
553
  unstable_requestStats: this.#requestTracker.flushStats(),
554
+ nativeCacheStats: await this.rustAtlaspack?.completeCacheSession(),
494
555
  };
495
556
 
557
+ // @ts-expect-error TS2345
496
558
  await this.#reporterRunner.report(event);
559
+ // @ts-expect-error TS2322
497
560
  return event;
498
561
  } finally {
499
562
  if (this.isProfiling) {
@@ -529,14 +592,15 @@ export default class Atlaspack {
529
592
  });
530
593
 
531
594
  let nativeInvalid = false;
532
- if (this.rustAtlaspack) {
595
+ if (getFeatureFlag('atlaspackV3') && this.rustAtlaspack) {
533
596
  nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
534
597
  }
535
598
 
536
- let isInvalid = await this.#requestTracker.respondToFSEvents(
537
- events,
538
- Number.POSITIVE_INFINITY,
539
- );
599
+ let {didInvalidate: isInvalid} =
600
+ await this.#requestTracker.respondToFSEvents(
601
+ events,
602
+ Number.POSITIVE_INFINITY,
603
+ );
540
604
 
541
605
  if (
542
606
  (nativeInvalid || isInvalid) &&
@@ -620,13 +684,15 @@ export default class Atlaspack {
620
684
  lazyIncludes: [],
621
685
  lazyExcludes: [],
622
686
  requestedAssetIds: this.#requestedAssetIds,
623
- };
687
+ } as const;
624
688
 
625
689
  const start = Date.now();
626
690
  const result = await this.#requestTracker.runRequest(
627
- this.rustAtlaspack != null
628
- ? createAssetGraphRequestRust(this.rustAtlaspack)(input)
629
- : createAssetGraphRequestJS(input),
691
+ getFeatureFlag('atlaspackV3') && this.rustAtlaspack != null
692
+ ? // @ts-expect-error TS2345
693
+ createAssetGraphRequestRust(this.rustAtlaspack)(input)
694
+ : // @ts-expect-error TS2345
695
+ createAssetGraphRequestJS(input),
630
696
  {force: true},
631
697
  );
632
698
 
@@ -694,7 +760,7 @@ export default class Atlaspack {
694
760
 
695
761
  async unstable_resolve(
696
762
  request: AtlaspackResolveOptions,
697
- ): Promise<?AtlaspackResolveResult> {
763
+ ): Promise<AtlaspackResolveResult | null | undefined> {
698
764
  if (!this.#initialized) {
699
765
  await this._init();
700
766
  }
@@ -733,6 +799,7 @@ export default class Atlaspack {
733
799
  }
734
800
 
735
801
  return {
802
+ // @ts-expect-error TS2322
736
803
  filePath: fromProjectPath(projectRoot, res.filePath),
737
804
  code: res.code,
738
805
  query: res.query,
@@ -749,7 +816,7 @@ export class BuildError extends ThrowableDiagnostic {
749
816
  }
750
817
 
751
818
  export function createWorkerFarm(
752
- options: $Shape<FarmOptions> = {},
819
+ options: Partial<FarmOptions> = {},
753
820
  ): WorkerFarm {
754
821
  return new WorkerFarm({
755
822
  ...options,
@@ -1,19 +1,14 @@
1
- // @flow strict-local
2
1
  import type {PackageName} from '@atlaspack/types';
3
2
  import type {SchemaEntity} from '@atlaspack/utils';
4
3
 
5
4
  // Parcel validates plugin package names due to:
6
- //
7
5
  // * https://github.com/parcel-bundler/parcel/issues/3397#issuecomment-521353931
8
- //
9
6
  // Ultimately:
10
- //
11
7
  // * We do not care about package names
12
8
  // * Validation makes interop between parcel/atlaspack confusing.
13
- //
14
9
  export function validatePackageName(
15
10
  // eslint-disable-next-line no-unused-vars
16
- pkg: ?PackageName,
11
+ pkg: PackageName | null | undefined,
17
12
  // eslint-disable-next-line no-unused-vars
18
13
  pluginType: string,
19
14
  // eslint-disable-next-line no-unused-vars
@@ -27,7 +22,7 @@ const validatePluginName = (pluginType: string, key: string) => {
27
22
 
28
23
  try {
29
24
  validatePackageName(val, pluginType, key);
30
- } catch (e) {
25
+ } catch (e: any) {
31
26
  return e.message;
32
27
  }
33
28
  };
@@ -39,7 +34,7 @@ const validateExtends = (val: string): void => {
39
34
 
40
35
  try {
41
36
  validatePackageName(val, 'config', 'extends');
42
- } catch (e) {
37
+ } catch (e: any) {
43
38
  return e.message;
44
39
  }
45
40
  };
@@ -96,20 +91,31 @@ export default {
96
91
  },
97
92
  bundler: {
98
93
  type: 'string',
99
- __validate: (validatePluginName('bundler', 'bundler'): (string) => void),
94
+ __validate: validatePluginName('bundler', 'bundler') as (
95
+ arg1: string,
96
+ ) => void,
100
97
  },
101
- resolvers: (pipelineSchema('resolver', 'resolvers'): SchemaEntity),
102
- transformers: (mapPipelineSchema(
98
+ resolvers: pipelineSchema('resolver', 'resolvers') as SchemaEntity,
99
+ transformers: mapPipelineSchema(
103
100
  'transformer',
104
101
  'transformers',
105
- ): SchemaEntity),
106
- validators: (mapPipelineSchema('validator', 'validators'): SchemaEntity),
107
- namers: (pipelineSchema('namer', 'namers'): SchemaEntity),
108
- packagers: (mapStringSchema('packager', 'packagers'): SchemaEntity),
109
- optimizers: (mapPipelineSchema('optimizer', 'optimizers'): SchemaEntity),
110
- compressors: (mapPipelineSchema('compressor', 'compressors'): SchemaEntity),
111
- reporters: (pipelineSchema('reporter', 'reporters'): SchemaEntity),
112
- runtimes: (pipelineSchema('runtime', 'runtimes'): SchemaEntity),
102
+ ) as SchemaEntity,
103
+ validators: mapPipelineSchema('validator', 'validators') as SchemaEntity,
104
+ namers: pipelineSchema('namer', 'namers') as SchemaEntity,
105
+ packagers: mapStringSchema('packager', 'packagers') as SchemaEntity,
106
+ optimizers: mapPipelineSchema('optimizer', 'optimizers') as SchemaEntity,
107
+ compressors: mapPipelineSchema('compressor', 'compressors') as SchemaEntity,
108
+ reporters: pipelineSchema('reporter', 'reporters') as SchemaEntity,
109
+ runtimes: pipelineSchema('runtime', 'runtimes') as SchemaEntity,
110
+ // This isn't currently supported in V2, however we need to allow it to
111
+ // parse as even V3 builds need the AtlaspackConfigRequest
112
+ unstable_alias: {
113
+ type: 'object',
114
+ properties: {},
115
+ additionalProperties: {
116
+ type: 'string',
117
+ },
118
+ },
113
119
  filePath: {
114
120
  type: 'string',
115
121
  },