@atlaspack/core 2.16.2-canary.21 → 2.16.2-canary.211

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 (355) hide show
  1. package/CHANGELOG.md +561 -0
  2. package/dist/AssetGraph.js +591 -0
  3. package/dist/Atlaspack.js +656 -0
  4. package/dist/AtlaspackConfig.js +324 -0
  5. package/dist/AtlaspackConfig.schema.js +108 -0
  6. package/dist/BundleGraph.js +1628 -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 +531 -0
  14. package/dist/ReporterRunner.js +151 -0
  15. package/dist/RequestTracker.js +1368 -0
  16. package/dist/SymbolPropagation.js +617 -0
  17. package/dist/TargetDescriptor.schema.js +143 -0
  18. package/dist/Transformation.js +487 -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 +292 -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 +246 -0
  60. package/dist/requests/AssetRequest.js +130 -0
  61. package/dist/requests/AtlaspackBuildRequest.js +60 -0
  62. package/dist/requests/AtlaspackConfigRequest.js +490 -0
  63. package/dist/requests/BundleGraphRequest.js +441 -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 +65 -0
  68. package/dist/requests/PathRequest.js +349 -0
  69. package/dist/requests/TargetRequest.js +1310 -0
  70. package/dist/requests/ValidationRequest.js +49 -0
  71. package/dist/requests/WriteBundleRequest.js +254 -0
  72. package/dist/requests/WriteBundlesRequest.js +165 -0
  73. package/dist/requests/asset-graph-diff.js +126 -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 +82 -35
  84. package/lib/AtlaspackConfig.js +15 -3
  85. package/lib/AtlaspackConfig.schema.js +7 -5
  86. package/lib/BundleGraph.js +83 -30
  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 +66 -23
  94. package/lib/ReporterRunner.js +6 -9
  95. package/lib/RequestTracker.js +256 -139
  96. package/lib/SymbolPropagation.js +22 -3
  97. package/lib/TargetDescriptor.schema.js +7 -1
  98. package/lib/Transformation.js +16 -9
  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 +34 -6
  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 +41 -4
  137. package/lib/requests/AssetGraphRequestRust.js +29 -14
  138. package/lib/requests/AssetRequest.js +23 -6
  139. package/lib/requests/AtlaspackBuildRequest.js +6 -2
  140. package/lib/requests/AtlaspackConfigRequest.js +12 -11
  141. package/lib/requests/BundleGraphRequest.js +29 -18
  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 +7 -2
  146. package/lib/requests/PathRequest.js +24 -3
  147. package/lib/requests/TargetRequest.js +120 -56
  148. package/lib/requests/ValidationRequest.js +5 -1
  149. package/lib/requests/WriteBundleRequest.js +39 -11
  150. package/lib/requests/WriteBundlesRequest.js +24 -2
  151. package/lib/requests/asset-graph-diff.js +8 -3
  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 +80 -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 +58 -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 +29 -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 +26 -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} +113 -60
  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} +213 -133
  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} +149 -81
  251. package/src/{ReporterRunner.js → ReporterRunner.ts} +13 -18
  252. package/src/{RequestTracker.js → RequestTracker.ts} +558 -336
  253. package/src/{SymbolPropagation.js → SymbolPropagation.ts} +137 -39
  254. package/src/{TargetDescriptor.schema.js → TargetDescriptor.schema.ts} +7 -1
  255. package/src/{Transformation.js → Transformation.ts} +67 -61
  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} +94 -65
  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} +83 -48
  297. package/src/requests/{AssetGraphRequestRust.js → AssetGraphRequestRust.ts} +36 -29
  298. package/src/requests/{AssetRequest.js → AssetRequest.ts} +24 -18
  299. package/src/requests/{AtlaspackBuildRequest.js → AtlaspackBuildRequest.ts} +30 -31
  300. package/src/requests/{AtlaspackConfigRequest.js → AtlaspackConfigRequest.ts} +58 -51
  301. package/src/requests/{BundleGraphRequest.js → BundleGraphRequest.ts} +66 -57
  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} +21 -21
  306. package/src/requests/{PathRequest.js → PathRequest.ts} +47 -37
  307. package/src/requests/{TargetRequest.js → TargetRequest.ts} +259 -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} +77 -34
  311. package/src/requests/{asset-graph-diff.js → asset-graph-diff.ts} +14 -14
  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} +3 -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} +54 -92
  340. package/test/public/Config.test.ts +104 -0
  341. package/test/requests/{AssetGraphRequestRust.test.js → AssetGraphRequestRust.test.ts} +163 -134
  342. package/test/requests/{ConfigRequest.test.js → ConfigRequest.test.ts} +202 -13
  343. package/test/requests/{DevDepRequest.test.js → DevDepRequest.test.ts} +0 -2
  344. package/test/{test-utils.js → test-utils.ts} +4 -11
  345. package/test/{utils.test.js → utils.test.ts} +1 -3
  346. package/tsconfig.json +57 -0
  347. package/tsconfig.tsbuildinfo +1 -0
  348. package/index.d.ts +0 -30
  349. package/src/atlaspack-v3/AtlaspackV3.js +0 -87
  350. package/src/atlaspack-v3/jsCallable.js +0 -18
  351. package/src/index.js +0 -13
  352. package/src/types.js +0 -600
  353. package/test/Environment.test.js +0 -119
  354. package/test/PackagerRunner.test.js +0 -27
  355. package/test/PublicEnvironment.test.js +0 -27
@@ -54,7 +54,7 @@ class MutableDependencySymbols {
54
54
  }
55
55
 
56
56
  /*:: @@iterator(): Iterator<[Symbol, DependencyAssetSymbol]> { return ({}: any); } */
57
- // $FlowFixMe Flow can't do computed properties
57
+ // @ts-expect-error TS2416
58
58
  [Symbol.iterator]() {
59
59
  return this.#symbols.values();
60
60
  }
@@ -102,7 +102,7 @@ class AssetSymbols {
102
102
  }
103
103
 
104
104
  /*:: @@iterator(): Iterator<[Symbol, AssetSymbol]> { return ({}: any); } */
105
- // $FlowFixMe Flow can't do computed properties
105
+ // @ts-expect-error TS2416
106
106
  [Symbol.iterator]() {
107
107
  return this.#symbols.values();
108
108
  }
@@ -122,10 +122,12 @@ class MutableAssetSymbols {
122
122
  loc,
123
123
  local,
124
124
  isEsmExport,
125
- selfReferenced
125
+ selfReferenced,
126
+ isStaticBindingSafe
126
127
  } of inner || []) {
127
128
  this.set(exported, local, loc, {
128
129
  isEsm: isEsmExport,
130
+ isStaticBindingSafe,
129
131
  selfReferenced
130
132
  });
131
133
  }
@@ -152,6 +154,7 @@ class MutableAssetSymbols {
152
154
  }
153
155
  } : undefined,
154
156
  isEsmExport: Boolean(meta === null || meta === void 0 ? void 0 : meta.isEsm),
157
+ isStaticBindingSafe: Boolean(meta === null || meta === void 0 ? void 0 : meta.isStaticBindingSafe),
155
158
  isWeak: false,
156
159
  selfReferenced: Boolean(meta === null || meta === void 0 ? void 0 : meta.selfReferenced)
157
160
  });
@@ -189,7 +192,7 @@ class MutableAssetSymbols {
189
192
  }
190
193
 
191
194
  /*:: @@iterator(): Iterator<[Symbol, AssetSymbol]> { return ({}: any); } */
192
- // $FlowFixMe Flow can't do computed properties
195
+ // @ts-expect-error TS2416
193
196
  [Symbol.iterator]() {
194
197
  return this.#symbols.values();
195
198
  }
@@ -6,18 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.specifierTypeMap = exports.packageConditionsMap = exports.dependencyPriorityMap = exports.bundleBehaviorMap = exports.BitFlags = void 0;
7
7
  /// BitFlags is used to map number/string types from napi types
8
8
  class BitFlags {
9
+ // @ts-expect-error TS2344
9
10
  #kv;
11
+ // @ts-expect-error TS2344
10
12
  #vk;
13
+
14
+ // @ts-expect-error TS2344
11
15
  constructor(source) {
12
16
  this.#kv = source;
13
- this.#vk = Object.fromEntries(
14
- // $FlowFixMe
15
- Object.entries(source).map(a => a.reverse()));
17
+ this.#vk = Object.fromEntries(Object.entries(source).map(a => a.reverse()));
16
18
  }
17
19
  into(key) {
18
20
  const found = this.#kv[key];
19
21
  if (found === undefined) {
20
- // $FlowFixMe
21
22
  throw new Error(`Invalid BundleBehavior(${key})`);
22
23
  }
23
24
  return found;
@@ -34,7 +35,6 @@ class BitFlags {
34
35
  from(key) {
35
36
  const found = this.#vk[key];
36
37
  if (found === undefined) {
37
- // $FlowFixMe
38
38
  throw new Error(`Invalid BundleBehavior(${key})`);
39
39
  }
40
40
  return found;
@@ -52,7 +52,8 @@ class BitFlags {
52
52
  exports.BitFlags = BitFlags;
53
53
  const bundleBehaviorMap = exports.bundleBehaviorMap = new BitFlags({
54
54
  inline: 0,
55
- isolated: 1
55
+ isolated: 1,
56
+ inlineIsolated: 2
56
57
  });
57
58
  const dependencyPriorityMap = exports.dependencyPriorityMap = new BitFlags({
58
59
  sync: 0,
@@ -7,6 +7,8 @@ exports.Dependency = void 0;
7
7
  var _target = require("./target");
8
8
  var _assetSymbols = require("./asset-symbols");
9
9
  var _bitflags = require("./bitflags");
10
+ // @ts-expect-error TS2305
11
+
10
12
  class Dependency {
11
13
  get id() {
12
14
  throw new Error('Dependency.id');
@@ -24,6 +26,7 @@ class Dependency {
24
26
  this.bundleBehavior = _bitflags.bundleBehaviorMap.from(inner.bundleBehavior);
25
27
  }
26
28
  this.bundleBehavior = undefined;
29
+ // @ts-expect-error TS2322
27
30
  this.symbols = new _assetSymbols.MutableDependencySymbols(inner.symbols || []);
28
31
  this.specifier = inner.specifier;
29
32
  this.specifierType = _bitflags.specifierTypeMap.from(inner.specifierType);
@@ -4,17 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Environment = void 0;
7
+ // @ts-expect-error TS2724
8
+
7
9
  class Environment {
8
10
  constructor(inner) {
9
11
  // TODO
10
12
  this.id = '';
11
13
  this.includeNodeModules = inner.includeNodeModules;
12
- // $FlowFixMe
13
14
  this.context = inner.context;
14
15
  this.engines = inner.engines;
15
- // $FlowFixMe
16
16
  this.outputFormat = inner.outputFormat;
17
- // $FlowFixMe
18
17
  this.sourceType = inner.sourceType;
19
18
  this.isLibrary = inner.isLibrary;
20
19
  this.shouldOptimize = inner.shouldOptimize;
@@ -22,9 +21,10 @@ class Environment {
22
21
  this.sourceMap = inner.sourceMap;
23
22
  this.loc = inner.loc;
24
23
  this.unstableSingleFileOutput = false;
24
+ this.customEnv = inner.customEnv;
25
25
  }
26
26
  isBrowser() {
27
- return this.context === 'browser' || this.isWorker() || this.isWorklet() || this.context === 'electron-renderer';
27
+ return this.context === 'browser' || this.isWorker() || this.isTesseract() || this.isWorklet() || this.context === 'electron-renderer';
28
28
  }
29
29
  isNode() {
30
30
  return this.context === 'node' || this.isElectron();
@@ -38,19 +38,22 @@ class Environment {
38
38
  isWorklet() {
39
39
  return this.context === 'worklet';
40
40
  }
41
+ isTesseract() {
42
+ return this.context === 'tesseract';
43
+ }
41
44
  isIsolated() {
42
- return this.isWorker() || this.isWorklet();
45
+ return this.isWorker() || this.isTesseract() || this.isWorklet();
43
46
  }
44
47
 
45
48
  // TODO
46
49
  // eslint-disable-next-line no-unused-vars
47
- matchesEngines() {
50
+ matchesEngines(minVersions, defaultValue) {
48
51
  return true;
49
52
  }
50
53
 
51
54
  // TODO
52
55
  // eslint-disable-next-line no-unused-vars
53
- supports() {
56
+ supports(feature, defaultValue) {
54
57
  return true;
55
58
  }
56
59
  }
@@ -20,10 +20,14 @@ function _stream() {
20
20
  }
21
21
  var _bitflags = require("./bitflags");
22
22
  var _assetSymbols = require("./asset-symbols");
23
- 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); }
24
- 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; }
25
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ // @ts-expect-error TS2694
25
+
26
26
  class MutableAsset {
27
+ // @ts-expect-error TS2564
28
+
29
+ // @ts-expect-error TS2416
30
+
27
31
  #astDirty;
28
32
  #ast;
29
33
  #contents;
@@ -34,6 +38,8 @@ class MutableAsset {
34
38
  get astGenerator() {
35
39
  throw new Error('get MutableAsset.astGenerator');
36
40
  }
41
+
42
+ // @ts-expect-error TS1051
37
43
  set astGenerator(value) {
38
44
  throw new Error('set MutableAsset.astGenerator');
39
45
  }
@@ -106,7 +112,6 @@ class MutableAsset {
106
112
  // Only create the source map if it is requested
107
113
  if (!this.#sourceMap && this.#map && typeof this.#map === 'string') {
108
114
  let sourceMap = new (_sourceMap().default)(this.#projectRoot);
109
- // $FlowFixMe Flow is dumb
110
115
  sourceMap.addVLQMap(JSON.parse(this.#map));
111
116
  this.#sourceMap = sourceMap;
112
117
  }
@@ -126,32 +131,32 @@ class MutableAsset {
126
131
  }
127
132
 
128
133
  // eslint-disable-next-line no-unused-vars
129
- addDependency() {
134
+ addDependency(options) {
130
135
  throw new Error('MutableAsset.addDependency()');
131
136
  }
132
137
 
133
138
  // eslint-disable-next-line no-unused-vars
134
- addURLDependency() {
139
+ addURLDependency(url, opts) {
135
140
  throw new Error('MutableAsset.addURLDependency()');
136
141
  }
137
142
 
138
143
  // eslint-disable-next-line no-unused-vars
139
- setEnvironment() {
144
+ setEnvironment(opts) {
140
145
  throw new Error('MutableAsset.setEnvironment()');
141
146
  }
142
147
 
143
148
  // eslint-disable-next-line no-unused-vars
144
- invalidateOnFileChange() {
149
+ invalidateOnFileChange(invalidation) {
145
150
  // TODO: Forward invalidations to Rust
146
151
  }
147
152
 
148
153
  // eslint-disable-next-line no-unused-vars
149
- invalidateOnFileCreate() {
154
+ invalidateOnFileCreate(invalidation) {
150
155
  // TODO: Forward invalidations to Rust
151
156
  }
152
157
 
153
158
  // eslint-disable-next-line no-unused-vars
154
- invalidateOnEnvChange() {
159
+ invalidateOnEnvChange(invalidation) {
155
160
  // TODO: Forward invalidations to Rust
156
161
  }
157
162
  invalidateOnStartup() {
@@ -7,6 +7,7 @@ exports.PluginConfig = void 0;
7
7
  var _Config = _interopRequireDefault(require("../../../public/Config"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  class PluginConfig {
10
+ // @ts-expect-error TS2564
10
11
  #projectRoot;
11
12
  #inner;
12
13
  constructor({
@@ -21,17 +22,14 @@ class PluginConfig {
21
22
  this.isSource = isSource;
22
23
  this.searchPath = searchPath;
23
24
  this.#inner = new _Config.default(
24
- // $FlowFixMe
25
+ // @ts-expect-error TS2345
25
26
  {
26
27
  invalidateOnConfigKeyChange: [],
27
28
  invalidateOnFileCreate: [],
28
29
  invalidateOnFileChange: new Set(),
29
30
  devDeps: [],
30
- // $FlowFixMe
31
31
  searchPath: searchPath.replace(projectRoot + '/', '')
32
- },
33
- // $FlowFixMe
34
- {
32
+ }, {
35
33
  projectRoot,
36
34
  inputFS: fs,
37
35
  outputFS: fs,
@@ -40,21 +38,21 @@ class PluginConfig {
40
38
  }
41
39
 
42
40
  // eslint-disable-next-line no-unused-vars
43
- invalidateOnFileChange() {}
41
+ invalidateOnFileChange(filePath) {}
44
42
 
45
43
  // eslint-disable-next-line no-unused-vars
46
- invalidateOnFileCreate() {}
44
+ invalidateOnFileCreate(invalidations) {}
47
45
 
48
46
  // eslint-disable-next-line no-unused-vars
49
- invalidateOnEnvChange() {}
47
+ invalidateOnEnvChange(invalidation) {}
50
48
  invalidateOnStartup() {}
51
49
  invalidateOnBuild() {}
52
50
 
53
51
  // eslint-disable-next-line no-unused-vars
54
- addDevDependency() {}
52
+ addDevDependency(options) {}
55
53
 
56
54
  // eslint-disable-next-line no-unused-vars
57
- setCacheKey() {}
55
+ setCacheKey(key) {}
58
56
  getConfig(
59
57
  // eslint-disable-next-line no-unused-vars
60
58
  filePaths,
@@ -107,6 +107,7 @@ class PluginOptions {
107
107
  return this.#options.featureFlags;
108
108
  }
109
109
  constructor(options) {
110
+ // @ts-expect-error TS2322
110
111
  this.#options = options;
111
112
  }
112
113
  }
@@ -5,6 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.PluginTracer = void 0;
7
7
  class PluginTracer {
8
+ // @ts-expect-error TS2564
9
+
10
+ // @ts-expect-error TS2416
8
11
  createMeasurement() {
9
12
  throw new Error('PluginTracer.createMeasurement');
10
13
  }
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Target = void 0;
7
+ // @ts-expect-error TS2305
8
+
7
9
  class Target {
8
10
  constructor(inner, env) {
9
11
  this.distDir = inner.distDir;
@@ -1,3 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ if (process.env.ATLASPACK_SOURCES === 'true' || process.env.ATLASPACK_BUILD_ENV === 'test' || process.env.ATLASPACK_SELF_BUILD) {
4
+ require('@atlaspack/babel-register');
5
+ }
3
6
  require('./worker');
@@ -51,6 +51,8 @@ var _compat = require("./compat");
51
51
  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); }
52
52
  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; }
53
53
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
54
+ // @ts-expect-error TS2305
55
+
54
56
  const CONFIG = Symbol.for('parcel-plugin-config');
55
57
  class AtlaspackWorker {
56
58
  #resolvers;
@@ -68,7 +70,6 @@ class AtlaspackWorker {
68
70
  }) => {
69
71
  let customRequire = _module().createRequire(resolveFrom);
70
72
  let resolvedPath = customRequire.resolve(specifier);
71
- // $FlowFixMe
72
73
  let resolvedModule = await import(resolvedPath);
73
74
  let instance = undefined;
74
75
  if (resolvedModule.default && resolvedModule.default[CONFIG]) {
@@ -122,6 +123,7 @@ class AtlaspackWorker {
122
123
  };
123
124
  if (!('config' in state)) {
124
125
  var _state$resolver$loadC, _state$resolver;
126
+ // @ts-expect-error TS2345
125
127
  state.config = await ((_state$resolver$loadC = (_state$resolver = state.resolver).loadConfig) === null || _state$resolver$loadC === void 0 ? void 0 : _state$resolver$loadC.call(_state$resolver, {
126
128
  config: new _compat.PluginConfig({
127
129
  env,
@@ -134,6 +136,8 @@ class AtlaspackWorker {
134
136
  ...defaultOptions
135
137
  }));
136
138
  }
139
+
140
+ // @ts-expect-error TS2345
137
141
  const result = await state.resolver.resolve({
138
142
  specifier,
139
143
  dependency,
@@ -149,6 +153,14 @@ class AtlaspackWorker {
149
153
  }
150
154
  };
151
155
  }
156
+ if (result.isExcluded) {
157
+ return {
158
+ invalidations: [],
159
+ resolution: {
160
+ type: 'excluded'
161
+ }
162
+ };
163
+ }
152
164
  return {
153
165
  invalidations: [],
154
166
  resolution: {
@@ -187,7 +199,9 @@ class AtlaspackWorker {
187
199
  return Promise.resolve(resolvedPath);
188
200
  };
189
201
  const env = new _compat.Environment(napiEnv);
190
- const mutableAsset = new _compat.MutableAsset(innerAsset, contents, env, this.#fs, map, options.projectRoot);
202
+ const mutableAsset = new _compat.MutableAsset(innerAsset,
203
+ // @ts-expect-error TS2345
204
+ contents, env, this.#fs, map, options.projectRoot);
191
205
  const defaultOptions = {
192
206
  logger: new _compat.PluginLogger(),
193
207
  tracer: new _compat.PluginTracer(),
@@ -199,6 +213,8 @@ class AtlaspackWorker {
199
213
  outputFS: this.#fs
200
214
  })
201
215
  };
216
+
217
+ // @ts-expect-error TS2345
202
218
  const config = await ((_transformer$loadConf = transformer.loadConfig) === null || _transformer$loadConf === void 0 ? void 0 : _transformer$loadConf.call(transformer, {
203
219
  config: new _compat.PluginConfig({
204
220
  env,
@@ -212,6 +228,7 @@ class AtlaspackWorker {
212
228
  }));
213
229
  if (transformer.parse) {
214
230
  const ast = await transformer.parse({
231
+ // @ts-expect-error TS2322
215
232
  asset: mutableAsset,
216
233
  config,
217
234
  resolve: resolveFunc,
@@ -222,6 +239,7 @@ class AtlaspackWorker {
222
239
  }
223
240
  }
224
241
  const result = await state.transformer.transform({
242
+ // @ts-expect-error TS2322
225
243
  asset: mutableAsset,
226
244
  config,
227
245
  resolve: resolveFunc,
@@ -230,8 +248,8 @@ class AtlaspackWorker {
230
248
  if (transformer.generate) {
231
249
  const ast = await mutableAsset.getAST();
232
250
  if (ast) {
233
- // $FlowFixMe "Cannot call `transformer.generate` because undefined [1] is not a function." 🤷‍♀️
234
251
  const output = await transformer.generate({
252
+ // @ts-expect-error TS2322
235
253
  asset: mutableAsset,
236
254
  ast,
237
255
  ...defaultOptions
@@ -241,6 +259,7 @@ class AtlaspackWorker {
241
259
  } else if (output.content instanceof Buffer) {
242
260
  mutableAsset.setBuffer(output.content);
243
261
  } else {
262
+ // @ts-expect-error TS2345
244
263
  mutableAsset.setStream(output.content);
245
264
  }
246
265
  if (output.map) {
@@ -250,6 +269,13 @@ class AtlaspackWorker {
250
269
  }
251
270
  (0, _assert().default)(result.length === 1, '[V3] Unimplemented: Multiple asset return from Node transformer');
252
271
  (0, _assert().default)(result[0] === mutableAsset, '[V3] Unimplemented: New asset returned from Node transformer');
272
+ let assetBuffer = await mutableAsset.getBuffer();
273
+
274
+ // If the asset has no code, we set the buffer to null, which we can
275
+ // detect in Rust, to avoid passing back an empty buffer, which we can't.
276
+ if (assetBuffer.length === 0) {
277
+ assetBuffer = null;
278
+ }
253
279
  return [{
254
280
  id: mutableAsset.id,
255
281
  bundleBehavior: _compat.bundleBehaviorMap.intoNullable(mutableAsset.bundleBehavior),
@@ -265,10 +291,10 @@ class AtlaspackWorker {
265
291
  symbols: mutableAsset.symbols.intoNapi(),
266
292
  type: mutableAsset.type,
267
293
  uniqueKey: mutableAsset.uniqueKey
268
- }, await mutableAsset.getBuffer(),
294
+ }, assetBuffer,
269
295
  // Only send back the map if it has changed
270
296
  mutableAsset.isMapDirty ?
271
- // $FlowFixMe A dirty map means this will be valid
297
+ // @ts-expect-error TS2533
272
298
  JSON.stringify((await mutableAsset.getMap()).toVLQ()) : ''];
273
299
  });
274
300
  }
@@ -277,4 +303,6 @@ class AtlaspackWorker {
277
303
  exports.AtlaspackWorker = AtlaspackWorker;
278
304
  const worker = new AtlaspackWorker();
279
305
  const napiWorker = napi().newNodejsWorker(worker);
280
- _worker_threads().parentPort === null || _worker_threads().parentPort === void 0 || _worker_threads().parentPort.postMessage(napiWorker);
306
+ _worker_threads().parentPort === null || _worker_threads().parentPort === void 0 || _worker_threads().parentPort.postMessage(napiWorker);
307
+
308
+ // @ts-expect-error TS2694
package/lib/constants.js CHANGED
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.VALID = exports.STARTUP = exports.OPTION_CHANGE = exports.INITIAL_BUILD = exports.HASH_REF_REGEX = exports.HASH_REF_PREFIX = exports.HASH_REF_HASH_LEN = exports.FILE_UPDATE = exports.FILE_DELETE = exports.FILE_CREATE = exports.ERROR = exports.ENV_CHANGE = exports.ATLASPACK_VERSION = void 0;
7
7
  var _package = require("../package.json");
8
- // $FlowFixMe
9
8
  const ATLASPACK_VERSION = exports.ATLASPACK_VERSION = _package.version;
10
9
  const HASH_REF_PREFIX = exports.HASH_REF_PREFIX = 'HASH_REF_';
11
10
  const HASH_REF_HASH_LEN = exports.HASH_REF_HASH_LEN = 16;