@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
@@ -5,6 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FileSystemV3 = void 0;
7
7
  var _jsCallable = require("./jsCallable");
8
+ // @ts-expect-error TS2305
9
+
10
+ // @ts-expect-error TS2420
8
11
  class FileSystemV3 {
9
12
  #fs;
10
13
  constructor(fs) {
@@ -29,7 +32,6 @@ class FileSystemV3 {
29
32
  };
30
33
  readFile = (0, _jsCallable.jsCallable)((path, encoding) => {
31
34
  if (!encoding) {
32
- // $FlowFixMe
33
35
  return [...this.#fs.readFileSync(path)];
34
36
  } else {
35
37
  return this.#fs.readFileSync(path, encoding);
@@ -3,6 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ FileSystemV3: true,
8
+ AtlaspackV3: true,
9
+ NapiWorkerPool: true
10
+ };
6
11
  Object.defineProperty(exports, "AtlaspackV3", {
7
12
  enumerable: true,
8
13
  get: function () {
@@ -23,4 +28,26 @@ Object.defineProperty(exports, "NapiWorkerPool", {
23
28
  });
24
29
  var _fs = require("./fs");
25
30
  var _AtlaspackV = require("./AtlaspackV3");
26
- var _NapiWorkerPool = require("./NapiWorkerPool");
31
+ Object.keys(_AtlaspackV).forEach(function (key) {
32
+ if (key === "default" || key === "__esModule") return;
33
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
34
+ if (key in exports && exports[key] === _AtlaspackV[key]) return;
35
+ Object.defineProperty(exports, key, {
36
+ enumerable: true,
37
+ get: function () {
38
+ return _AtlaspackV[key];
39
+ }
40
+ });
41
+ });
42
+ var _NapiWorkerPool = require("./NapiWorkerPool");
43
+ Object.keys(_NapiWorkerPool).forEach(function (key) {
44
+ if (key === "default" || key === "__esModule") return;
45
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
46
+ if (key in exports && exports[key] === _NapiWorkerPool[key]) return;
47
+ Object.defineProperty(exports, key, {
48
+ enumerable: true,
49
+ get: function () {
50
+ return _NapiWorkerPool[key];
51
+ }
52
+ });
53
+ });
@@ -7,10 +7,8 @@ exports.jsCallable = jsCallable;
7
7
  function jsCallable(fn) {
8
8
  return async (...args) => {
9
9
  try {
10
- // $FlowFixMe "await" is needed to log the error from
11
10
  // Promises and is safe to use on non-promises
12
11
  return await fn(...args);
13
- // $FlowFixMe
14
12
  } catch (error) {
15
13
  // eslint-disable-next-line no-console
16
14
  console.error(error);
@@ -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;
@@ -64,11 +66,11 @@ class AtlaspackWorker {
64
66
  loadPlugin = (0, _jsCallable.jsCallable)(async ({
65
67
  kind,
66
68
  specifier,
67
- resolveFrom
69
+ resolveFrom,
70
+ featureFlags
68
71
  }) => {
69
72
  let customRequire = _module().createRequire(resolveFrom);
70
73
  let resolvedPath = customRequire.resolve(specifier);
71
- // $FlowFixMe
72
74
  let resolvedModule = await import(resolvedPath);
73
75
  let instance = undefined;
74
76
  if (resolvedModule.default && resolvedModule.default[CONFIG]) {
@@ -78,6 +80,13 @@ class AtlaspackWorker {
78
80
  } else {
79
81
  throw new Error(`Plugin could not be resolved\n\t${kind}\n\t${resolveFrom}\n\t${specifier}`);
80
82
  }
83
+ // Set feature flags in the worker process
84
+ if (featureFlags) {
85
+ const {
86
+ setFeatureFlags
87
+ } = await import('@atlaspack/feature-flags');
88
+ setFeatureFlags(featureFlags);
89
+ }
81
90
  switch (kind) {
82
91
  case 'resolver':
83
92
  this.#resolvers.set(specifier, {
@@ -122,6 +131,7 @@ class AtlaspackWorker {
122
131
  };
123
132
  if (!('config' in state)) {
124
133
  var _state$resolver$loadC, _state$resolver;
134
+ // @ts-expect-error TS2345
125
135
  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
136
  config: new _compat.PluginConfig({
127
137
  env,
@@ -134,6 +144,8 @@ class AtlaspackWorker {
134
144
  ...defaultOptions
135
145
  }));
136
146
  }
147
+
148
+ // @ts-expect-error TS2345
137
149
  const result = await state.resolver.resolve({
138
150
  specifier,
139
151
  dependency,
@@ -149,6 +161,14 @@ class AtlaspackWorker {
149
161
  }
150
162
  };
151
163
  }
164
+ if (result.isExcluded) {
165
+ return {
166
+ invalidations: [],
167
+ resolution: {
168
+ type: 'excluded'
169
+ }
170
+ };
171
+ }
152
172
  return {
153
173
  invalidations: [],
154
174
  resolution: {
@@ -187,7 +207,9 @@ class AtlaspackWorker {
187
207
  return Promise.resolve(resolvedPath);
188
208
  };
189
209
  const env = new _compat.Environment(napiEnv);
190
- const mutableAsset = new _compat.MutableAsset(innerAsset, contents, env, this.#fs, map, options.projectRoot);
210
+ const mutableAsset = new _compat.MutableAsset(innerAsset,
211
+ // @ts-expect-error TS2345
212
+ contents, env, this.#fs, map, options.projectRoot);
191
213
  const defaultOptions = {
192
214
  logger: new _compat.PluginLogger(),
193
215
  tracer: new _compat.PluginTracer(),
@@ -199,6 +221,8 @@ class AtlaspackWorker {
199
221
  outputFS: this.#fs
200
222
  })
201
223
  };
224
+
225
+ // @ts-expect-error TS2345
202
226
  const config = await ((_transformer$loadConf = transformer.loadConfig) === null || _transformer$loadConf === void 0 ? void 0 : _transformer$loadConf.call(transformer, {
203
227
  config: new _compat.PluginConfig({
204
228
  env,
@@ -212,6 +236,7 @@ class AtlaspackWorker {
212
236
  }));
213
237
  if (transformer.parse) {
214
238
  const ast = await transformer.parse({
239
+ // @ts-expect-error TS2322
215
240
  asset: mutableAsset,
216
241
  config,
217
242
  resolve: resolveFunc,
@@ -222,6 +247,7 @@ class AtlaspackWorker {
222
247
  }
223
248
  }
224
249
  const result = await state.transformer.transform({
250
+ // @ts-expect-error TS2322
225
251
  asset: mutableAsset,
226
252
  config,
227
253
  resolve: resolveFunc,
@@ -230,8 +256,8 @@ class AtlaspackWorker {
230
256
  if (transformer.generate) {
231
257
  const ast = await mutableAsset.getAST();
232
258
  if (ast) {
233
- // $FlowFixMe "Cannot call `transformer.generate` because undefined [1] is not a function." 🤷‍♀️
234
259
  const output = await transformer.generate({
260
+ // @ts-expect-error TS2322
235
261
  asset: mutableAsset,
236
262
  ast,
237
263
  ...defaultOptions
@@ -241,6 +267,7 @@ class AtlaspackWorker {
241
267
  } else if (output.content instanceof Buffer) {
242
268
  mutableAsset.setBuffer(output.content);
243
269
  } else {
270
+ // @ts-expect-error TS2345
244
271
  mutableAsset.setStream(output.content);
245
272
  }
246
273
  if (output.map) {
@@ -250,6 +277,13 @@ class AtlaspackWorker {
250
277
  }
251
278
  (0, _assert().default)(result.length === 1, '[V3] Unimplemented: Multiple asset return from Node transformer');
252
279
  (0, _assert().default)(result[0] === mutableAsset, '[V3] Unimplemented: New asset returned from Node transformer');
280
+ let assetBuffer = await mutableAsset.getBuffer();
281
+
282
+ // If the asset has no code, we set the buffer to null, which we can
283
+ // detect in Rust, to avoid passing back an empty buffer, which we can't.
284
+ if (assetBuffer.length === 0) {
285
+ assetBuffer = null;
286
+ }
253
287
  return [{
254
288
  id: mutableAsset.id,
255
289
  bundleBehavior: _compat.bundleBehaviorMap.intoNullable(mutableAsset.bundleBehavior),
@@ -265,10 +299,10 @@ class AtlaspackWorker {
265
299
  symbols: mutableAsset.symbols.intoNapi(),
266
300
  type: mutableAsset.type,
267
301
  uniqueKey: mutableAsset.uniqueKey
268
- }, await mutableAsset.getBuffer(),
302
+ }, assetBuffer,
269
303
  // Only send back the map if it has changed
270
304
  mutableAsset.isMapDirty ?
271
- // $FlowFixMe A dirty map means this will be valid
305
+ // @ts-expect-error TS2533
272
306
  JSON.stringify((await mutableAsset.getMap()).toVLQ()) : ''];
273
307
  });
274
308
  }
@@ -277,4 +311,6 @@ class AtlaspackWorker {
277
311
  exports.AtlaspackWorker = AtlaspackWorker;
278
312
  const worker = new AtlaspackWorker();
279
313
  const napiWorker = napi().newNodejsWorker(worker);
280
- _worker_threads().parentPort === null || _worker_threads().parentPort === void 0 || _worker_threads().parentPort.postMessage(napiWorker);
314
+ _worker_threads().parentPort === null || _worker_threads().parentPort === void 0 || _worker_threads().parentPort.postMessage(napiWorker);
315
+
316
+ // @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;