@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
@@ -1,5 +1,3 @@
1
- // @flow
2
-
3
1
  import type {
4
2
  BundleBehavior,
5
3
  DependencyPriority,
@@ -8,13 +6,15 @@ import type {
8
6
 
9
7
  /// BitFlags is used to map number/string types from napi types
10
8
  export class BitFlags<K, V> {
11
- #kv: {[key: K]: V};
12
- #vk: {[key: V]: K};
9
+ // @ts-expect-error TS2344
10
+ #kv: Partial<Record<K, V>>;
11
+ // @ts-expect-error TS2344
12
+ #vk: Partial<Record<V, K>>;
13
13
 
14
- constructor(source: {[key: K]: V}) {
14
+ // @ts-expect-error TS2344
15
+ constructor(source: Partial<Record<K, V>>) {
15
16
  this.#kv = source;
16
17
  this.#vk = Object.fromEntries(
17
- // $FlowFixMe
18
18
  Object.entries(source).map((a) => a.reverse()),
19
19
  );
20
20
  }
@@ -22,13 +22,12 @@ export class BitFlags<K, V> {
22
22
  into(key: K): V {
23
23
  const found = this.#kv[key];
24
24
  if (found === undefined) {
25
- // $FlowFixMe
26
25
  throw new Error(`Invalid BundleBehavior(${key})`);
27
26
  }
28
27
  return found;
29
28
  }
30
29
 
31
- intoNullable(key: ?K): ?V {
30
+ intoNullable(key?: K | null): V | null | undefined {
32
31
  if (key === undefined || key === null) {
33
32
  return undefined;
34
33
  }
@@ -42,13 +41,12 @@ export class BitFlags<K, V> {
42
41
  from(key: V): K {
43
42
  const found = this.#vk[key];
44
43
  if (found === undefined) {
45
- // $FlowFixMe
46
44
  throw new Error(`Invalid BundleBehavior(${key})`);
47
45
  }
48
46
  return found;
49
47
  }
50
48
 
51
- fromNullable(key: ?V): ?K {
49
+ fromNullable(key?: V | null): K | null | undefined {
52
50
  if (key === undefined || key === null) {
53
51
  return undefined;
54
52
  }
@@ -64,6 +62,7 @@ export const bundleBehaviorMap: BitFlags<BundleBehavior, number> = new BitFlags(
64
62
  {
65
63
  inline: 0,
66
64
  isolated: 1,
65
+ inlineIsolated: 2,
67
66
  },
68
67
  );
69
68
 
@@ -1,5 +1,4 @@
1
- // @flow
2
-
1
+ // @ts-expect-error TS2305
3
2
  import type {Dependency as NapiDependency} from '@atlaspack/rust';
4
3
  import type {
5
4
  Dependency as IDependency,
@@ -27,23 +26,23 @@ import {
27
26
  export class Dependency implements IDependency {
28
27
  env: IEnvironment;
29
28
  meta: Meta;
30
- target: ?ITarget;
29
+ target: ITarget | null | undefined;
31
30
  symbols: IMutableDependencySymbols;
32
31
  specifier: DependencySpecifier;
33
32
  specifierType: SpecifierType;
34
33
  priority: DependencyPriority;
35
- bundleBehavior: ?BundleBehavior;
34
+ bundleBehavior: BundleBehavior | null | undefined;
36
35
  needsStableName: boolean;
37
36
  isOptional: boolean;
38
37
  isEntry: boolean;
39
- loc: ?SourceLocation;
40
- packageConditions: ?Array<string>;
41
- sourceAssetId: ?string;
42
- sourcePath: ?FilePath;
43
- sourceAssetType: ?string;
44
- resolveFrom: ?FilePath;
45
- range: ?SemverRange;
46
- pipeline: ?string;
38
+ loc: SourceLocation | null | undefined;
39
+ packageConditions: Array<string> | null | undefined;
40
+ sourceAssetId: string | null | undefined;
41
+ sourcePath: FilePath | null | undefined;
42
+ sourceAssetType: string | null | undefined;
43
+ resolveFrom: FilePath | null | undefined;
44
+ range: SemverRange | null | undefined;
45
+ pipeline: string | null | undefined;
47
46
 
48
47
  get id(): string {
49
48
  throw new Error('Dependency.id');
@@ -62,6 +61,7 @@ export class Dependency implements IDependency {
62
61
  this.bundleBehavior = bundleBehaviorMap.from(inner.bundleBehavior);
63
62
  }
64
63
  this.bundleBehavior = undefined;
64
+ // @ts-expect-error TS2322
65
65
  this.symbols = new MutableDependencySymbols(inner.symbols || []);
66
66
  this.specifier = inner.specifier;
67
67
  this.specifierType = specifierTypeMap.from(inner.specifierType);
@@ -1,5 +1,4 @@
1
- // @flow
2
-
1
+ // @ts-expect-error TS2724
3
2
  import type {Environment as NapiEnvironment} from '@atlaspack/rust';
4
3
  import type {
5
4
  Environment as IEnvironment,
@@ -12,6 +11,7 @@ import type {
12
11
  SourceLocation,
13
12
  VersionMap,
14
13
  EnvironmentFeature,
14
+ EnvMap,
15
15
  } from '@atlaspack/types';
16
16
 
17
17
  export class Environment implements IEnvironment {
@@ -19,7 +19,7 @@ export class Environment implements IEnvironment {
19
19
  includeNodeModules:
20
20
  | boolean
21
21
  | Array<PackageName>
22
- | {[PackageName]: boolean, ...};
22
+ | Partial<Record<PackageName, boolean>>;
23
23
  context: EnvironmentContext;
24
24
  engines: Engines;
25
25
  outputFormat: OutputFormat;
@@ -27,20 +27,18 @@ export class Environment implements IEnvironment {
27
27
  isLibrary: boolean;
28
28
  shouldOptimize: boolean;
29
29
  shouldScopeHoist: boolean;
30
- sourceMap: ?TargetSourceMapOptions;
31
- loc: ?SourceLocation;
30
+ sourceMap: TargetSourceMapOptions | null | undefined;
31
+ loc: SourceLocation | null | undefined;
32
32
  unstableSingleFileOutput: boolean;
33
+ customEnv: EnvMap | null | undefined;
33
34
 
34
35
  constructor(inner: NapiEnvironment) {
35
36
  // TODO
36
37
  this.id = '';
37
38
  this.includeNodeModules = inner.includeNodeModules;
38
- // $FlowFixMe
39
39
  this.context = inner.context;
40
40
  this.engines = inner.engines;
41
- // $FlowFixMe
42
41
  this.outputFormat = inner.outputFormat;
43
- // $FlowFixMe
44
42
  this.sourceType = inner.sourceType;
45
43
  this.isLibrary = inner.isLibrary;
46
44
  this.shouldOptimize = inner.shouldOptimize;
@@ -48,12 +46,14 @@ export class Environment implements IEnvironment {
48
46
  this.sourceMap = inner.sourceMap;
49
47
  this.loc = inner.loc;
50
48
  this.unstableSingleFileOutput = false;
49
+ this.customEnv = inner.customEnv;
51
50
  }
52
51
 
53
52
  isBrowser(): boolean {
54
53
  return (
55
54
  this.context === 'browser' ||
56
55
  this.isWorker() ||
56
+ this.isTesseract() ||
57
57
  this.isWorklet() ||
58
58
  this.context === 'electron-renderer'
59
59
  );
@@ -77,8 +77,12 @@ export class Environment implements IEnvironment {
77
77
  return this.context === 'worklet';
78
78
  }
79
79
 
80
+ isTesseract(): boolean {
81
+ return this.context === 'tesseract';
82
+ }
83
+
80
84
  isIsolated(): boolean {
81
- return this.isWorker() || this.isWorklet();
85
+ return this.isWorker() || this.isTesseract() || this.isWorklet();
82
86
  }
83
87
 
84
88
  // TODO
@@ -0,0 +1,9 @@
1
+ export * from './bitflags';
2
+ export * from './dependency';
3
+ export * from './environment';
4
+ export * from './target';
5
+ export * from './plugin-config';
6
+ export * from './plugin-tracer';
7
+ export * from './plugin-logger';
8
+ export * from './plugin-options';
9
+ export * from './mutable-asset';
@@ -1,5 +1,3 @@
1
- // @flow
2
-
3
1
  import SourceMap from '@parcel/source-map';
4
2
  import * as napi from '@atlaspack/rust';
5
3
  import {Readable} from 'stream';
@@ -21,39 +19,43 @@ import type {
21
19
  import {bundleBehaviorMap} from './bitflags';
22
20
  import {MutableAssetSymbols} from './asset-symbols';
23
21
 
22
+ // @ts-expect-error TS2694
24
23
  export type InnerAsset = napi.Asset;
25
24
 
26
25
  export class MutableAsset implements IMutableAsset {
27
- bundleBehavior: ?BundleBehavior;
26
+ bundleBehavior: BundleBehavior | null | undefined;
28
27
  env: Environment;
29
28
  filePath: FilePath;
30
29
  fs: FileSystem;
31
30
  id: string;
32
31
  isBundleSplittable: boolean;
32
+ // @ts-expect-error TS2564
33
33
  isMapDirty: boolean;
34
34
  isSource: boolean;
35
35
  meta: Meta;
36
- pipeline: ?string;
36
+ pipeline: string | null | undefined;
37
37
  query: URLSearchParams;
38
38
  sideEffects: boolean;
39
39
  stats: Stats;
40
+ // @ts-expect-error TS2416
40
41
  symbols: MutableAssetSymbols;
41
42
  type: string;
42
- uniqueKey: ?string;
43
+ uniqueKey: string | null | undefined;
43
44
 
44
45
  #astDirty: boolean;
45
- #ast: ?AST;
46
+ #ast: AST | null | undefined;
46
47
  #contents: Buffer;
47
48
  #inner: InnerAsset;
48
- #map: ?string;
49
+ #map: string | null | undefined;
49
50
  #projectRoot: string;
50
- #sourceMap: ?SourceMap;
51
+ #sourceMap: SourceMap | null | undefined;
51
52
 
52
- get astGenerator(): ?ASTGenerator {
53
+ get astGenerator(): ASTGenerator | null | undefined {
53
54
  throw new Error('get MutableAsset.astGenerator');
54
55
  }
55
56
 
56
- set astGenerator(value: ?ASTGenerator) {
57
+ // @ts-expect-error TS1051
58
+ set astGenerator(value?: ASTGenerator | null) {
57
59
  throw new Error('set MutableAsset.astGenerator');
58
60
  }
59
61
 
@@ -62,7 +64,7 @@ export class MutableAsset implements IMutableAsset {
62
64
  contents: Buffer,
63
65
  env: Environment,
64
66
  fs: FileSystem,
65
- map: ?string,
67
+ map: string | null | undefined,
66
68
  projectRoot: string,
67
69
  ) {
68
70
  this.bundleBehavior = bundleBehaviorMap.fromNullable(asset.bundleBehavior);
@@ -89,7 +91,7 @@ export class MutableAsset implements IMutableAsset {
89
91
  }
90
92
 
91
93
  // eslint-disable-next-line require-await
92
- async getAST(): Promise<?AST> {
94
+ async getAST(): Promise<AST | null | undefined> {
93
95
  return this.#ast;
94
96
  }
95
97
 
@@ -125,7 +127,7 @@ export class MutableAsset implements IMutableAsset {
125
127
  }
126
128
 
127
129
  setStream(stream: Readable): void {
128
- const data = [];
130
+ const data: Array<Buffer> = [];
129
131
 
130
132
  stream.on('data', (chunk) => {
131
133
  data.push(chunk);
@@ -140,11 +142,10 @@ export class MutableAsset implements IMutableAsset {
140
142
  });
141
143
  }
142
144
 
143
- getMap(): Promise<?SourceMap> {
145
+ getMap(): Promise<SourceMap | null | undefined> {
144
146
  // Only create the source map if it is requested
145
147
  if (!this.#sourceMap && this.#map && typeof this.#map === 'string') {
146
148
  let sourceMap = new SourceMap(this.#projectRoot);
147
- // $FlowFixMe Flow is dumb
148
149
  sourceMap.addVLQMap(JSON.parse(this.#map));
149
150
  this.#sourceMap = sourceMap;
150
151
  }
@@ -153,18 +154,18 @@ export class MutableAsset implements IMutableAsset {
153
154
  }
154
155
 
155
156
  // eslint-disable-next-line no-unused-vars
156
- setMap(sourceMap: ?SourceMap): void {
157
+ setMap(sourceMap?: SourceMap | null): void {
157
158
  this.isMapDirty = true;
158
159
  this.#sourceMap = sourceMap;
159
160
  }
160
161
 
161
- getMapBuffer(): Promise<?Buffer> {
162
+ getMapBuffer(): Promise<Buffer | null | undefined> {
162
163
  throw new Error(
163
164
  'getMapBuffer() is considered an internal implementation detail, please use getMap() instead',
164
165
  );
165
166
  }
166
167
 
167
- getDependencies(): $ReadOnlyArray<Dependency> {
168
+ getDependencies(): ReadonlyArray<Dependency> {
168
169
  throw new Error('MutableAsset.getDependencies');
169
170
  }
170
171
 
@@ -174,7 +175,7 @@ export class MutableAsset implements IMutableAsset {
174
175
  }
175
176
 
176
177
  // eslint-disable-next-line no-unused-vars
177
- addURLDependency(url: string, opts: $Shape<DependencyOptions>): string {
178
+ addURLDependency(url: string, opts: Partial<DependencyOptions>): string {
178
179
  throw new Error('MutableAsset.addURLDependency()');
179
180
  }
180
181
 
@@ -1,5 +1,3 @@
1
- // @flow
2
-
3
1
  import type {
4
2
  Config as IPluginConfig,
5
3
  DevDepOptions,
@@ -14,18 +12,19 @@ import type {
14
12
  import type {FileSystem as IFileSystem} from '@atlaspack/fs';
15
13
  import ClassicPublicConfig from '../../../public/Config';
16
14
 
17
- export type PluginConfigOptions = {|
18
- isSource: boolean,
19
- searchPath: FilePath,
20
- projectRoot: FilePath,
21
- env: Environment,
22
- fs: IFileSystem,
23
- packageManager: IPackageManager,
24
- |};
15
+ export type PluginConfigOptions = {
16
+ isSource: boolean;
17
+ searchPath: FilePath;
18
+ projectRoot: FilePath;
19
+ env: Environment;
20
+ fs: IFileSystem;
21
+ packageManager: IPackageManager;
22
+ };
25
23
 
26
24
  export class PluginConfig implements IPluginConfig {
27
25
  isSource: boolean;
28
26
  searchPath: FilePath;
27
+ // @ts-expect-error TS2564
29
28
  #projectRoot: FilePath;
30
29
  env: Environment;
31
30
  #inner: ClassicPublicConfig;
@@ -43,16 +42,14 @@ export class PluginConfig implements IPluginConfig {
43
42
  this.searchPath = searchPath;
44
43
 
45
44
  this.#inner = new ClassicPublicConfig(
46
- // $FlowFixMe
45
+ // @ts-expect-error TS2345
47
46
  {
48
47
  invalidateOnConfigKeyChange: [],
49
48
  invalidateOnFileCreate: [],
50
49
  invalidateOnFileChange: new Set(),
51
50
  devDeps: [],
52
- // $FlowFixMe
53
51
  searchPath: searchPath.replace(projectRoot + '/', ''),
54
52
  },
55
- // $FlowFixMe
56
53
  {
57
54
  projectRoot,
58
55
  inputFS: fs,
@@ -85,12 +82,12 @@ export class PluginConfig implements IPluginConfig {
85
82
  // eslint-disable-next-line no-unused-vars
86
83
  filePaths: Array<FilePath>,
87
84
  // eslint-disable-next-line no-unused-vars
88
- options?: {|
89
- packageKey?: string,
90
- parse?: boolean,
91
- exclude?: boolean,
92
- |},
93
- ): Promise<?ConfigResultWithFilePath<T>> {
85
+ options?: {
86
+ packageKey?: string;
87
+ parse?: boolean;
88
+ exclude?: boolean;
89
+ },
90
+ ): Promise<ConfigResultWithFilePath<T> | null | undefined> {
94
91
  return this.#inner.getConfig(filePaths, options);
95
92
  }
96
93
 
@@ -100,16 +97,20 @@ export class PluginConfig implements IPluginConfig {
100
97
  // eslint-disable-next-line no-unused-vars
101
98
  filePaths: Array<FilePath>,
102
99
  // eslint-disable-next-line no-unused-vars
103
- options?: {|
104
- packageKey?: string,
105
- parse?: boolean,
106
- exclude?: boolean,
107
- |},
108
- ): Promise<?ConfigResultWithFilePath<T>> {
100
+ options?:
101
+ | {
102
+ packageKey?: string;
103
+ parse?: boolean;
104
+ exclude?: boolean;
105
+ }
106
+ | {
107
+ readTracking?: boolean;
108
+ },
109
+ ): Promise<ConfigResultWithFilePath<T> | null | undefined> {
109
110
  return this.#inner.getConfigFrom(searchPath, filePaths, options);
110
111
  }
111
112
 
112
- getPackage(): Promise<?PackageJSON> {
113
+ getPackage(): Promise<PackageJSON | null | undefined> {
113
114
  return this.#inner.getPackage();
114
115
  }
115
116
  }
@@ -1,5 +1,3 @@
1
- // @flow
2
-
3
1
  import type {PluginLogger as IPlguinLogger} from '@atlaspack/types';
4
2
  import type {
5
3
  Diagnostifiable,
@@ -1,5 +1,3 @@
1
- // @flow
2
-
3
1
  import type {
4
2
  PluginOptions as IPluginOptions,
5
3
  LogLevel,
@@ -54,7 +52,7 @@ export class PluginOptions implements IPluginOptions {
54
52
  return this.#options.parcelVersion;
55
53
  }
56
54
 
57
- get hmrOptions(): ?HMROptions {
55
+ get hmrOptions(): HMROptions | null | undefined {
58
56
  if (!('hmrOptions' in this.#options)) {
59
57
  throw new Error('PluginOptions.hmrOptions');
60
58
  }
@@ -117,7 +115,7 @@ export class PluginOptions implements IPluginOptions {
117
115
  return this.#options.instanceId;
118
116
  }
119
117
 
120
- get detailedReport(): ?DetailedReportOptions {
118
+ get detailedReport(): DetailedReportOptions | null | undefined {
121
119
  if (!('detailedReport' in this.#options)) {
122
120
  throw new Error('PluginOptions.detailedReport');
123
121
  }
@@ -131,7 +129,8 @@ export class PluginOptions implements IPluginOptions {
131
129
  return this.#options.featureFlags;
132
130
  }
133
131
 
134
- constructor(options: $Partial<IPluginOptions>) {
132
+ constructor(options: Partial<IPluginOptions>) {
133
+ // @ts-expect-error TS2322
135
134
  this.#options = options;
136
135
  }
137
136
  }
@@ -1,10 +1,10 @@
1
- // @flow
2
-
3
1
  import type {PluginTracer as IPluginTracer} from '@atlaspack/types';
4
2
 
5
3
  export class PluginTracer implements IPluginTracer {
4
+ // @ts-expect-error TS2564
6
5
  enabled: false;
7
6
 
7
+ // @ts-expect-error TS2416
8
8
  createMeasurement() {
9
9
  throw new Error('PluginTracer.createMeasurement');
10
10
  }
@@ -1,5 +1,4 @@
1
- // @flow
2
-
1
+ // @ts-expect-error TS2305
3
2
  import type {Target as NapiTarget} from '@atlaspack/rust';
4
3
  import type {
5
4
  Target as ITarget,
@@ -9,12 +8,12 @@ import type {
9
8
  } from '@atlaspack/types';
10
9
 
11
10
  export class Target implements ITarget {
12
- distEntry: ?FilePath;
11
+ distEntry: FilePath | null | undefined;
13
12
  distDir: FilePath;
14
13
  env: Environment;
15
14
  name: string;
16
15
  publicUrl: string;
17
- loc: ?SourceLocation;
16
+ loc: SourceLocation | null | undefined;
18
17
 
19
18
  constructor(inner: NapiTarget, env: Environment) {
20
19
  this.distDir = inner.distDir;
@@ -1,5 +1,6 @@
1
1
  if (
2
- process.env.ATLASPACK_BUILD_ENV !== 'production' ||
2
+ process.env.ATLASPACK_SOURCES === 'true' ||
3
+ process.env.ATLASPACK_BUILD_ENV === 'test' ||
3
4
  process.env.ATLASPACK_SELF_BUILD
4
5
  ) {
5
6
  require('@atlaspack/babel-register');