powerlines 0.10.2 → 0.12.0

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 (257) hide show
  1. package/dist/astro.cjs +8 -8
  2. package/dist/astro.d.cts +1 -1
  3. package/dist/astro.d.ts +1 -1
  4. package/dist/astro.js +5 -5
  5. package/dist/{chunk-5XYGZ3DC.cjs → chunk-22K72CJ5.cjs} +2 -2
  6. package/dist/{chunk-GPPJ2CRE.js → chunk-4HGQJ4KR.js} +2 -2
  7. package/dist/chunk-7MTW3KR2.cjs +12 -0
  8. package/dist/{chunk-VIRKTIPK.js → chunk-7UIYU6SC.js} +3 -3
  9. package/dist/chunk-7WMWRX2S.cjs +12 -0
  10. package/dist/{chunk-HVT7PBFF.js → chunk-A3BBPLTY.js} +3 -3
  11. package/dist/{chunk-S746E63M.js → chunk-BHP6KBGK.js} +3 -3
  12. package/dist/{chunk-ZU4IRZSQ.js → chunk-BOIEJ5I6.js} +3 -3
  13. package/dist/chunk-DELRP3WY.js +31 -0
  14. package/dist/{chunk-ZBDP43LG.cjs → chunk-ELHJY5WG.cjs} +4 -4
  15. package/dist/{chunk-UHCRNFFC.cjs → chunk-FANQC345.cjs} +4 -4
  16. package/dist/chunk-GV3S7ZR3.cjs +34 -0
  17. package/dist/{chunk-WCPY7HPU.js → chunk-L3DAMAEC.js} +4 -4
  18. package/dist/chunk-LC6FLEJS.cjs +12 -0
  19. package/dist/{chunk-N7NE3VOU.js → chunk-MAEKW52U.js} +3 -3
  20. package/dist/chunk-MXJWCZDP.cjs +12 -0
  21. package/dist/{chunk-EGSEJQCE.js → chunk-NGKWITCO.js} +3 -3
  22. package/dist/{chunk-L2SAK2JC.cjs → chunk-OC7CCD5M.cjs} +4 -4
  23. package/dist/{chunk-OYIM2M74.js → chunk-P4BOYWXT.js} +195 -6
  24. package/dist/{chunk-UTVZVGM3.cjs → chunk-PJRHRDLS.cjs} +204 -15
  25. package/dist/{chunk-5Y4JYQ66.js → chunk-RBRFT2R6.js} +3 -3
  26. package/dist/{chunk-66GXB2UY.cjs → chunk-RU6BHTIP.cjs} +4 -4
  27. package/dist/{chunk-WPVIF35O.js → chunk-SIZKRND7.js} +2 -2
  28. package/dist/chunk-SNARILEC.cjs +24 -0
  29. package/dist/{chunk-6UDHGAAI.js → chunk-SY7N6FC3.js} +3 -3
  30. package/dist/{chunk-QHGPZK2H.cjs → chunk-V5D5NVV7.cjs} +4 -4
  31. package/dist/{chunk-SDEBJQDT.js → chunk-V7LXFIGK.js} +3 -3
  32. package/dist/{chunk-2RHPFVYT.cjs → chunk-WCTOTE3T.cjs} +8 -8
  33. package/dist/chunk-WD4363UW.cjs +12 -0
  34. package/dist/{chunk-7IWH37DY.cjs → chunk-YIWHO6SW.cjs} +2 -2
  35. package/dist/{chunk-3Y5CCIJR.js → chunk-ZP5QLZQ2.js} +3 -3
  36. package/dist/{chunk-KYGEWAEG.js → chunk-ZQ7U35QZ.js} +3 -3
  37. package/dist/define-config.d.cts +1 -1
  38. package/dist/define-config.d.ts +1 -1
  39. package/dist/esbuild.cjs +7 -7
  40. package/dist/esbuild.d.cts +1 -1
  41. package/dist/esbuild.d.ts +1 -1
  42. package/dist/esbuild.js +4 -4
  43. package/dist/extend-plugin.d.cts +1 -1
  44. package/dist/extend-plugin.d.ts +1 -1
  45. package/dist/farm.cjs +4 -4
  46. package/dist/farm.d.cts +1 -1
  47. package/dist/farm.d.ts +1 -1
  48. package/dist/farm.js +3 -3
  49. package/dist/{hooks-BGYnc61f.d.ts → hooks-BmvalJZ4.d.ts} +1 -1
  50. package/dist/{hooks-gk8S8LFP.d.cts → hooks-BzFKq34L.d.cts} +1 -1
  51. package/dist/index.cjs +26 -26
  52. package/dist/index.d.cts +2 -2
  53. package/dist/index.d.ts +2 -2
  54. package/dist/index.js +17 -17
  55. package/dist/internal/api.cjs +3 -3
  56. package/dist/internal/api.d.cts +2 -2
  57. package/dist/internal/api.d.ts +2 -2
  58. package/dist/internal/api.js +2 -2
  59. package/dist/lib/build/esbuild.d.cts +12 -12
  60. package/dist/lib/build/esbuild.d.ts +12 -12
  61. package/dist/lib/build/index.cjs +18 -18
  62. package/dist/lib/build/index.d.cts +13 -13
  63. package/dist/lib/build/index.d.ts +13 -13
  64. package/dist/lib/build/index.js +3 -3
  65. package/dist/lib/build/rolldown.d.cts +12 -12
  66. package/dist/lib/build/rolldown.d.ts +12 -12
  67. package/dist/lib/build/rollup.d.cts +12 -12
  68. package/dist/lib/build/rollup.d.ts +12 -12
  69. package/dist/lib/build/rspack.d.cts +12 -12
  70. package/dist/lib/build/rspack.d.ts +12 -12
  71. package/dist/lib/build/tsup.d.cts +11 -11
  72. package/dist/lib/build/tsup.d.ts +11 -11
  73. package/dist/lib/build/unbuild.cjs +5 -5
  74. package/dist/lib/build/unbuild.d.cts +13 -13
  75. package/dist/lib/build/unbuild.d.ts +13 -13
  76. package/dist/lib/build/unbuild.js +2 -2
  77. package/dist/lib/build/vite.d.cts +12 -12
  78. package/dist/lib/build/vite.d.ts +12 -12
  79. package/dist/lib/build/webpack.d.cts +12 -12
  80. package/dist/lib/build/webpack.d.ts +12 -12
  81. package/dist/lib/bundle.cjs +16 -0
  82. package/dist/lib/bundle.cjs.map +1 -0
  83. package/dist/lib/bundle.d.cts +44 -0
  84. package/dist/lib/bundle.d.ts +44 -0
  85. package/dist/lib/bundle.js +7 -0
  86. package/dist/lib/bundle.js.map +1 -0
  87. package/dist/lib/chunk-2625RJNJ.cjs +41 -0
  88. package/dist/lib/chunk-2625RJNJ.cjs.map +1 -0
  89. package/dist/lib/{chunk-PIFE7MUZ.js → chunk-6BRTJXZ2.js} +195 -6
  90. package/dist/lib/chunk-6BRTJXZ2.js.map +1 -0
  91. package/dist/lib/chunk-6IJTWIVJ.cjs +107 -0
  92. package/dist/lib/chunk-6IJTWIVJ.cjs.map +1 -0
  93. package/dist/lib/{chunk-YVDJCVE5.cjs → chunk-BAC4AJEP.cjs} +3 -3
  94. package/dist/lib/{chunk-YVDJCVE5.cjs.map → chunk-BAC4AJEP.cjs.map} +1 -1
  95. package/dist/lib/{chunk-Q2RUDKWY.cjs → chunk-BW3VFCTS.cjs} +2 -2
  96. package/dist/lib/chunk-BW3VFCTS.cjs.map +1 -0
  97. package/dist/lib/chunk-ESYYL5UH.js +105 -0
  98. package/dist/lib/chunk-ESYYL5UH.js.map +1 -0
  99. package/dist/lib/chunk-GTQZYDA7.js +39 -0
  100. package/dist/lib/chunk-GTQZYDA7.js.map +1 -0
  101. package/dist/lib/{chunk-M7U5RMK7.js → chunk-KOCDKJDJ.js} +2 -2
  102. package/dist/lib/chunk-KOCDKJDJ.js.map +1 -0
  103. package/dist/lib/{chunk-M7WHFUKR.cjs → chunk-LYD5OTBI.cjs} +210 -21
  104. package/dist/lib/chunk-LYD5OTBI.cjs.map +1 -0
  105. package/dist/lib/{chunk-6U2UX2PX.cjs → chunk-RLMEYZ5I.cjs} +11 -15
  106. package/dist/lib/chunk-RLMEYZ5I.cjs.map +1 -0
  107. package/dist/lib/{chunk-CAPN4FSS.js → chunk-S4TGQD45.js} +3 -3
  108. package/dist/lib/{chunk-CAPN4FSS.js.map → chunk-S4TGQD45.js.map} +1 -1
  109. package/dist/lib/{chunk-KFE2IR3Y.js → chunk-V2T4H24I.js} +11 -15
  110. package/dist/lib/chunk-V2T4H24I.js.map +1 -0
  111. package/dist/lib/config-file.d.cts +11 -11
  112. package/dist/lib/config-file.d.ts +11 -11
  113. package/dist/lib/{config-AuIGsUck.d.cts → context-BI46yeFZ.d.cts} +617 -557
  114. package/dist/lib/{config-B_WTwd49.d.ts → context-tEqvC3yI.d.ts} +617 -557
  115. package/dist/lib/create-program.cjs +13 -0
  116. package/dist/lib/create-program.cjs.map +1 -0
  117. package/dist/lib/create-program.d.cts +42 -0
  118. package/dist/lib/create-program.d.ts +42 -0
  119. package/dist/lib/create-program.js +4 -0
  120. package/dist/lib/create-program.js.map +1 -0
  121. package/dist/lib/entry.d.cts +12 -12
  122. package/dist/lib/entry.d.ts +12 -12
  123. package/dist/lib/{hooks-DErK4Fv4.d.ts → hooks-C9_XPS6c.d.cts} +1 -1
  124. package/dist/lib/{hooks-4KkL9GD2.d.cts → hooks-DESiFNA6.d.ts} +1 -1
  125. package/dist/lib/index.cjs +47 -36
  126. package/dist/lib/index.d.cts +16 -13
  127. package/dist/lib/index.d.ts +16 -13
  128. package/dist/lib/index.js +10 -7
  129. package/dist/lib/logger.d.cts +12 -12
  130. package/dist/lib/logger.d.ts +12 -12
  131. package/dist/lib/typescript/compiler-host.cjs +46 -2
  132. package/dist/lib/typescript/compiler-host.cjs.map +1 -1
  133. package/dist/lib/typescript/compiler-host.d.cts +18 -13
  134. package/dist/lib/typescript/compiler-host.d.ts +18 -13
  135. package/dist/lib/typescript/compiler-host.js +45 -2
  136. package/dist/lib/typescript/compiler-host.js.map +1 -1
  137. package/dist/lib/typescript/import-transformer.d.cts +12 -12
  138. package/dist/lib/typescript/import-transformer.d.ts +12 -12
  139. package/dist/lib/typescript/index.cjs +6 -6
  140. package/dist/lib/typescript/index.d.cts +12 -12
  141. package/dist/lib/typescript/index.d.ts +12 -12
  142. package/dist/lib/typescript/index.js +1 -1
  143. package/dist/lib/typescript/program.cjs +6 -6
  144. package/dist/lib/typescript/program.d.cts +13 -13
  145. package/dist/lib/typescript/program.d.ts +13 -13
  146. package/dist/lib/typescript/program.js +1 -1
  147. package/dist/lib/unplugin/factory.cjs +3 -3
  148. package/dist/lib/unplugin/factory.d.cts +12 -12
  149. package/dist/lib/unplugin/factory.d.ts +12 -12
  150. package/dist/lib/unplugin/factory.js +2 -2
  151. package/dist/lib/unplugin/index.cjs +3 -3
  152. package/dist/lib/unplugin/index.d.cts +12 -12
  153. package/dist/lib/unplugin/index.d.ts +12 -12
  154. package/dist/lib/unplugin/index.js +2 -2
  155. package/dist/lib/unplugin/plugin.d.cts +11 -11
  156. package/dist/lib/unplugin/plugin.d.ts +11 -11
  157. package/dist/lib/unplugin/resolve-id.d.cts +11 -11
  158. package/dist/lib/unplugin/resolve-id.d.ts +11 -11
  159. package/dist/lib/utilities/file-header.d.cts +12 -12
  160. package/dist/lib/utilities/file-header.d.ts +12 -12
  161. package/dist/lib/utilities/index.cjs +20 -20
  162. package/dist/lib/utilities/index.d.cts +12 -12
  163. package/dist/lib/utilities/index.d.ts +12 -12
  164. package/dist/lib/utilities/index.js +3 -3
  165. package/dist/lib/utilities/meta.cjs +8 -8
  166. package/dist/lib/utilities/meta.d.cts +12 -12
  167. package/dist/lib/utilities/meta.d.ts +12 -12
  168. package/dist/lib/utilities/meta.js +1 -1
  169. package/dist/lib/utilities/plugin-helpers.d.cts +11 -11
  170. package/dist/lib/utilities/plugin-helpers.d.ts +11 -11
  171. package/dist/lib/utilities/resolve-path.d.cts +12 -12
  172. package/dist/lib/utilities/resolve-path.d.ts +12 -12
  173. package/dist/lib/utilities/worker.d.cts +11 -11
  174. package/dist/lib/utilities/worker.d.ts +11 -11
  175. package/dist/lib/utilities/write-file.d.cts +12 -12
  176. package/dist/lib/utilities/write-file.d.ts +12 -12
  177. package/dist/next.cjs +8 -8
  178. package/dist/next.js +5 -5
  179. package/dist/nuxt.cjs +9 -9
  180. package/dist/nuxt.js +6 -6
  181. package/dist/{resolved-Dhscmo3z.d.ts → resolved-BS8bJ6b1.d.ts} +21 -17
  182. package/dist/{resolved-CcuVqMqc.d.cts → resolved-CjkYiKA1.d.cts} +21 -17
  183. package/dist/rolldown.cjs +7 -7
  184. package/dist/rolldown.d.cts +1 -1
  185. package/dist/rolldown.d.ts +1 -1
  186. package/dist/rolldown.js +4 -4
  187. package/dist/rollup.cjs +7 -7
  188. package/dist/rollup.d.cts +1 -1
  189. package/dist/rollup.d.ts +1 -1
  190. package/dist/rollup.js +4 -4
  191. package/dist/rspack.cjs +7 -7
  192. package/dist/rspack.d.cts +1 -1
  193. package/dist/rspack.d.ts +1 -1
  194. package/dist/rspack.js +4 -4
  195. package/dist/tsup.cjs +8 -8
  196. package/dist/tsup.js +5 -5
  197. package/dist/types/babel.d.cts +1 -1
  198. package/dist/types/babel.d.ts +1 -1
  199. package/dist/types/commands.d.cts +1 -1
  200. package/dist/types/commands.d.ts +1 -1
  201. package/dist/types/compiler.d.cts +1 -1
  202. package/dist/types/compiler.d.ts +1 -1
  203. package/dist/types/config.d.cts +1 -1
  204. package/dist/types/config.d.ts +1 -1
  205. package/dist/types/context.cjs +2 -2
  206. package/dist/types/context.d.cts +1 -1
  207. package/dist/types/context.d.ts +1 -1
  208. package/dist/types/context.js +1 -1
  209. package/dist/types/hooks.d.cts +1 -1
  210. package/dist/types/hooks.d.ts +1 -1
  211. package/dist/types/index.cjs +9 -9
  212. package/dist/types/index.d.cts +1 -1
  213. package/dist/types/index.d.ts +1 -1
  214. package/dist/types/index.js +2 -2
  215. package/dist/types/internal.d.cts +2 -2
  216. package/dist/types/internal.d.ts +2 -2
  217. package/dist/types/plugin.d.cts +1 -1
  218. package/dist/types/plugin.d.ts +1 -1
  219. package/dist/types/resolved.d.cts +1 -1
  220. package/dist/types/resolved.d.ts +1 -1
  221. package/dist/types/unplugin.d.cts +1 -1
  222. package/dist/types/unplugin.d.ts +1 -1
  223. package/dist/types/vfs.cjs +7 -7
  224. package/dist/types/vfs.d.cts +61 -5
  225. package/dist/types/vfs.d.ts +61 -5
  226. package/dist/types/vfs.js +1 -1
  227. package/dist/unloader.cjs +7 -7
  228. package/dist/unloader.d.cts +1 -1
  229. package/dist/unloader.d.ts +1 -1
  230. package/dist/unloader.js +4 -4
  231. package/dist/unplugin.cjs +18 -18
  232. package/dist/unplugin.d.cts +2 -2
  233. package/dist/unplugin.d.ts +2 -2
  234. package/dist/unplugin.js +15 -15
  235. package/dist/vite.cjs +7 -7
  236. package/dist/vite.d.cts +1 -1
  237. package/dist/vite.d.ts +1 -1
  238. package/dist/vite.js +4 -4
  239. package/dist/webpack.cjs +7 -7
  240. package/dist/webpack.d.cts +1 -1
  241. package/dist/webpack.d.ts +1 -1
  242. package/dist/webpack.js +4 -4
  243. package/package.json +11 -9
  244. package/dist/chunk-IJBH5OUN.cjs +0 -12
  245. package/dist/chunk-JBTSAOIQ.js +0 -31
  246. package/dist/chunk-LXMNDUPG.cjs +0 -12
  247. package/dist/chunk-RQ4CHMPO.cjs +0 -12
  248. package/dist/chunk-S5QFX2GM.cjs +0 -12
  249. package/dist/chunk-SL3CXJWD.cjs +0 -34
  250. package/dist/chunk-YG7U2GIR.cjs +0 -24
  251. package/dist/chunk-ZFATNDSY.cjs +0 -12
  252. package/dist/lib/chunk-6U2UX2PX.cjs.map +0 -1
  253. package/dist/lib/chunk-KFE2IR3Y.js.map +0 -1
  254. package/dist/lib/chunk-M7U5RMK7.js.map +0 -1
  255. package/dist/lib/chunk-M7WHFUKR.cjs.map +0 -1
  256. package/dist/lib/chunk-PIFE7MUZ.js.map +0 -1
  257. package/dist/lib/chunk-Q2RUDKWY.cjs.map +0 -1
@@ -127,13 +127,8 @@ async function createVirtualProgram(rootNames, context, compilerOptions = {}) {
127
127
  return ts__default.default.createProgram(rootNames, options, host);
128
128
  }
129
129
  chunkPK6SKIKE_cjs.__name(createVirtualProgram, "createVirtualProgram");
130
- function createVirtualCompilerHost(sys, compilerOptions) {
131
- const sourceFiles = /* @__PURE__ */ new Map();
132
- const save = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((sourceFile) => {
133
- sourceFiles.set(sourceFile.fileName, sourceFile);
134
- return sourceFile;
135
- }, "save");
136
- const vHost = {
130
+ function createVirtualCompilerHost(context, sys, compilerOptions) {
131
+ return {
137
132
  compilerHost: {
138
133
  ...sys,
139
134
  getCanonicalFileName: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((fileName) => fileName, "getCanonicalFileName"),
@@ -141,24 +136,25 @@ function createVirtualCompilerHost(sys, compilerOptions) {
141
136
  // getDefaultLibLocation: () => '/',
142
137
  getNewLine: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name(() => sys.newLine, "getNewLine"),
143
138
  getSourceFile: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((fileName, languageVersionOrOptions) => {
144
- return sourceFiles.get(fileName) ?? save(ts__default.default.createSourceFile(fileName, sys.readFile(fileName), languageVersionOrOptions ?? compilerOptions.target, false));
139
+ const resolved = context.fs.resolve(fileName);
140
+ if (resolved && context.fs.existsSync(resolved)) {
141
+ return context.fs.readFileSync(resolved);
142
+ }
143
+ return ts__default.default.createSourceFile(fileName, sys.readFile(fileName), languageVersionOrOptions ?? compilerOptions.target, false);
145
144
  }, "getSourceFile"),
146
145
  useCaseSensitiveFileNames: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name(() => sys.useCaseSensitiveFileNames, "useCaseSensitiveFileNames")
147
146
  },
148
147
  updateFile: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((sourceFile) => {
149
- const alreadyExists = sourceFiles.has(sourceFile.fileName);
148
+ const alreadyExists = context.fs.existsSync(sourceFile.fileName);
150
149
  sys.writeFile(sourceFile.fileName, sourceFile.text);
151
- sourceFiles.set(sourceFile.fileName, sourceFile);
152
150
  return alreadyExists;
153
151
  }, "updateFile"),
154
152
  deleteFile: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((sourceFile) => {
155
- const alreadyExists = sourceFiles.has(sourceFile.fileName);
156
- sourceFiles.delete(sourceFile.fileName);
153
+ const alreadyExists = context.fs.existsSync(sourceFile.fileName);
157
154
  sys.deleteFile(sourceFile.fileName);
158
155
  return alreadyExists;
159
156
  }, "deleteFile")
160
157
  };
161
- return vHost;
162
158
  }
163
159
  chunkPK6SKIKE_cjs.__name(createVirtualCompilerHost, "createVirtualCompilerHost");
164
160
 
@@ -167,5 +163,5 @@ exports.createVirtualCompilerHost = createVirtualCompilerHost;
167
163
  exports.createVirtualProgram = createVirtualProgram;
168
164
  exports.getDefaultCompilerOptions = getDefaultCompilerOptions;
169
165
  exports.loadLibFiles = loadLibFiles;
170
- //# sourceMappingURL=chunk-6U2UX2PX.cjs.map
171
- //# sourceMappingURL=chunk-6U2UX2PX.cjs.map
166
+ //# sourceMappingURL=chunk-RLMEYZ5I.cjs.map
167
+ //# sourceMappingURL=chunk-RLMEYZ5I.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/typescript/program.ts"],"names":["SourcesMap","Map","loadLibFiles","libLocation","resolvePackage","Error","libFiles","listFiles","joinPaths","length","lib","file","set","findFileName","readFile","getDefaultCompilerOptions","ts","jsx","JsxEmit","React","strict","esModuleInterop","module","ModuleKind","ESNext","suppressOutputPathCheck","skipLibCheck","skipDefaultLibCheck","moduleResolution","ModuleResolutionKind","Node10","createVirtualProgram","rootNames","context","compilerOptions","options","defu","host","name","root","workspaceConfig","workspaceRoot","sys","realpath","path","fs","existsSync","resolve","getCurrentDirectory","getCanonicalFileName","fileName","getDefaultLibFileName","_options","getDefaultLibLocation","getNewLine","useCaseSensitiveFileNames","fileExists","readFileSync","undefined","readDirectory","__name","extensions","exclude","include","results","readdirSync","encoding","recursive","filter","some","ext","endsWith","startsWith","pattern","minimatch","writeFile","data","writeFileSync","resolvePath","getSourceFile","languageVersionOrOptions","_","shouldCreateNewSourceFile","createSourceFile","target","sourceFile","text","createProgram","createVirtualCompilerHost","compilerHost","newLine","resolved","updateFile","alreadyExists","deleteFile"],"mappings":"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","file":"chunk-RLMEYZ5I.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { listFiles } from \"@stryke/fs/list-files\";\nimport { readFile } from \"@stryke/fs/read-file\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport defu from \"defu\";\nimport { minimatch } from \"minimatch\";\nimport ts, { CompilerOptions } from \"typescript\";\nimport { Context } from \"../../types/context\";\n\nexport const SourcesMap = Map<string, string>;\n// eslint-disable-next-line ts/no-redeclare\nexport type SourcesMap = InstanceType<typeof SourcesMap>;\n\nexport async function loadLibFiles(): Promise<SourcesMap> {\n const libLocation = await resolvePackage(\"typescript\");\n if (!libLocation) {\n throw new Error(\"Could not resolve TypeScript package location.\");\n }\n\n const libFiles = await listFiles(\n joinPaths(libLocation, \"lib\", \"**\", \"lib.*.d.ts\")\n );\n if (libFiles.length === 0) {\n throw new Error(\"No TypeScript library files found.\");\n }\n\n const lib: SourcesMap = new Map();\n for (const file of libFiles) {\n lib.set(\n `/node_modules/typescript/lib/${findFileName(file)}`,\n await readFile(file)\n );\n }\n\n return lib;\n}\n\n/** The default compiler options if TypeScript could ever change the compiler options */\nexport function getDefaultCompilerOptions(): CompilerOptions {\n return {\n ...ts.getDefaultCompilerOptions(),\n jsx: ts.JsxEmit.React,\n strict: true,\n esModuleInterop: true,\n module: ts.ModuleKind.ESNext,\n suppressOutputPathCheck: true,\n skipLibCheck: true,\n skipDefaultLibCheck: true,\n moduleResolution: ts.ModuleResolutionKind.Node10\n };\n}\n\n/**\n * Creates a TypeScript program from in-memory, virtual source files.\n *\n * @param rootNames - An array of root file names to include in the program.\n * @param context - The context containing options and environment paths.\n * @param compilerOptions - Optional TypeScript compiler options. Defaults to the standard TypeScript options\n * @returns A TypeScript program instance that can be used for type checking, emitting, etc.\n * @throws If the provided library files are not in the expected format or if the TypeScript package cannot be resolved.\n */\nexport async function createVirtualProgram(\n rootNames: readonly string[],\n context: Context,\n compilerOptions: ts.CompilerOptions = {}\n): Promise<ts.Program> {\n const options = defu(compilerOptions, getDefaultCompilerOptions());\n\n const host = {\n name: \"storm-vfs\",\n root: context.workspaceConfig.workspaceRoot,\n ...ts.sys,\n realpath: (path: string) => {\n if (context.fs.existsSync(path)) {\n return context.fs.resolve(path);\n }\n\n return ts.sys.realpath?.(path) ?? path;\n },\n getCurrentDirectory(): string {\n return context.workspaceConfig.workspaceRoot;\n },\n getCanonicalFileName(fileName: string): string {\n return fileName;\n },\n getDefaultLibFileName(_options: ts.CompilerOptions): string {\n return ts.getDefaultLibFileName(options);\n },\n getDefaultLibLocation(): string {\n return \"/\";\n },\n getNewLine(): string {\n return \"\\n\";\n },\n useCaseSensitiveFileNames(): boolean {\n return true;\n },\n fileExists(fileName: string): boolean {\n return context.fs.existsSync(fileName);\n },\n readFile(fileName: string): string | undefined {\n if (context.fs.existsSync(fileName)) {\n return context.fs.readFileSync(fileName);\n }\n\n return undefined;\n },\n readDirectory: (\n path: string,\n extensions: readonly string[] = [],\n exclude: readonly string[] = [],\n include: readonly string[] = []\n ) => {\n let results = [] as string[];\n if (context.fs.existsSync(path)) {\n results = context.fs.readdirSync(path, {\n encoding: \"utf8\",\n recursive: true\n });\n\n if (extensions.length > 0) {\n results = results.filter(file =>\n extensions.some(ext =>\n file.endsWith(ext.startsWith(\".\") ? ext : `.${ext}`)\n )\n );\n }\n\n if (exclude.length > 0) {\n results = results.filter(\n file => !exclude.some(pattern => minimatch(file, pattern))\n );\n }\n\n if (include.length > 0) {\n results = results.filter(file =>\n include.some(pattern => minimatch(file, pattern))\n );\n }\n }\n\n return results;\n },\n writeFile(fileName: string, data: string): void {\n context.fs.writeFileSync(fileName, data);\n },\n resolvePath: (fileName: string): string => {\n if (context.fs.existsSync(fileName)) {\n return context.fs.resolve(fileName) as string;\n }\n\n return ts.sys.resolvePath(fileName);\n },\n getSourceFile(\n fileName: string,\n languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions,\n _?: (message: string) => void,\n shouldCreateNewSourceFile?: boolean\n ): ts.SourceFile | undefined {\n if (context.fs.existsSync(fileName)) {\n return ts.createSourceFile(\n fileName,\n context.fs.readFileSync(fileName)!,\n languageVersionOrOptions ??\n compilerOptions.target ??\n getDefaultCompilerOptions().target!,\n false\n );\n } else if (shouldCreateNewSourceFile) {\n const sourceFile = ts.createSourceFile(\n fileName,\n \"\",\n languageVersionOrOptions ??\n compilerOptions.target ??\n getDefaultCompilerOptions().target!,\n false\n );\n context.fs.writeFileSync(fileName, sourceFile.text);\n return sourceFile;\n }\n\n return undefined;\n }\n } as ts.CompilerHost;\n\n return ts.createProgram(rootNames, options, host);\n}\n\ninterface VirtualCompilerHostReturn {\n compilerHost: ts.CompilerHost;\n updateFile: (sourceFile: ts.SourceFile) => boolean;\n deleteFile: (sourceFile: ts.SourceFile) => boolean;\n}\n\n/**\n * Creates an in-memory CompilerHost -which is essentially an extra wrapper to System\n * which works with TypeScript objects - returns both a compiler host, and a way to add new SourceFile\n * instances to the in-memory file system.\n */\nexport function createVirtualCompilerHost(\n context: Context,\n sys: ts.System,\n compilerOptions: ts.CompilerOptions\n) {\n return {\n compilerHost: {\n ...sys,\n getCanonicalFileName: fileName => fileName,\n getDefaultLibFileName: () =>\n `/${ts.getDefaultLibFileName(compilerOptions)}`, // '/lib.d.ts',\n // getDefaultLibLocation: () => '/',\n getNewLine: () => sys.newLine,\n getSourceFile: (\n fileName: string,\n languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions\n ) => {\n const resolved = context.fs.resolve(fileName);\n if (resolved && context.fs.existsSync(resolved)) {\n return context.fs.readFileSync(resolved);\n }\n\n return ts.createSourceFile(\n fileName,\n sys.readFile(fileName)!,\n languageVersionOrOptions ?? compilerOptions.target,\n false\n );\n },\n useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames\n },\n updateFile: sourceFile => {\n const alreadyExists = context.fs.existsSync(sourceFile.fileName);\n sys.writeFile(sourceFile.fileName, sourceFile.text);\n return alreadyExists;\n },\n deleteFile: sourceFile => {\n const alreadyExists = context.fs.existsSync(sourceFile.fileName);\n sys.deleteFile!(sourceFile.fileName);\n return alreadyExists;\n }\n } as VirtualCompilerHostReturn;\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { getString } from './chunk-PXSRMP4E.js';
2
1
  import { extractRollupConfig } from './chunk-YF3YHK4X.js';
2
+ import { getString } from './chunk-PXSRMP4E.js';
3
3
  import { __name } from './chunk-7QVYU63E.js';
4
4
  import { joinPaths } from '@stryke/path/join-paths';
5
5
  import { isObject } from '@stryke/type-checks/is-object';
@@ -148,5 +148,5 @@ function extractUnbuildConfig(context) {
148
148
  __name(extractUnbuildConfig, "extractUnbuildConfig");
149
149
 
150
150
  export { DEFAULT_UNBUILD_CONFIG, extractUnbuildConfig, unbuildLoader };
151
- //# sourceMappingURL=chunk-CAPN4FSS.js.map
152
- //# sourceMappingURL=chunk-CAPN4FSS.js.map
151
+ //# sourceMappingURL=chunk-S4TGQD45.js.map
152
+ //# sourceMappingURL=chunk-S4TGQD45.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/build/unbuild.ts"],"names":["DEFAULT_UNBUILD_CONFIG","dts","clean","includeSrc","treeShaking","splitting","stub","watchOptions","outputPath","generatePackageJson","banner","rollup","emitCJS","replace","resolve","json","esbuild","target","commonjs","alias","unbuildLoader","context","input","options","test","path","output","contents","getContents","declaration","srcPath","match","cm","extension","push","transformed","result","$$internal","callHook","sequential","order","getString","includes","transform","Object","fromEntries","entries","filter","key","loader","then","r","code","isCjs","format","resolver","source","retainLines","ext","startsWith","extractUnbuildConfig","defu","builtins","reduce","ret","id","fs","ids","config","build","variant","override","projectName","name","orgName","isObject","workspaceConfig","organization","sourceRoot","projectRoot","platform","external","loaders","jiti","interopDefault","fsCache","joinPaths","envPaths","cache","moduleCache","extractRollupConfig","debug","mode","minify","sourcemap"],"mappings":"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","file":"chunk-CAPN4FSS.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Loader, LoaderResult } from \"@storm-software/unbuild/types\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport defu from \"defu\";\nimport { transform } from \"esbuild\";\nimport { TransformResult } from \"unplugin\";\nimport {\n UnbuildBuildConfig,\n UnbuildResolvedBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { UNSAFE_PluginContext } from \"../../types/internal\";\nimport { getString } from \"../utilities/source-file\";\nimport { extractRollupConfig } from \"./rollup\";\n\nexport const DEFAULT_UNBUILD_CONFIG = {\n dts: true,\n clean: false,\n includeSrc: false,\n treeShaking: true,\n splitting: true,\n stub: false,\n watchOptions: {},\n outputPath: \"dist\",\n generatePackageJson: true,\n banner: \" \",\n rollup: {\n dts: {},\n emitCJS: true,\n replace: {},\n resolve: {},\n json: {},\n esbuild: { target: \"es2020\" },\n commonjs: {},\n alias: {}\n }\n} as Partial<UnbuildBuildConfig>;\n\nexport const unbuildLoader = (context: UNSAFE_PluginContext): Loader => {\n return async (input, { options }) => {\n if (\n !/\\.(?:c|m)?[jt]sx?$/.test(input.path) ||\n /\\.d\\.[cm]?ts$/.test(input.path)\n ) {\n return;\n }\n\n const output: LoaderResult = [];\n\n let contents = await input.getContents();\n\n // declaration\n if (options.declaration && !input.srcPath?.match(/\\.d\\.[cm]?ts$/)) {\n const cm = input.srcPath?.match(/(?<=\\.)(?:c|m)(?=[jt]s$)/)?.[0] || \"\";\n const extension = `.d.${cm}ts`;\n output.push({\n contents,\n srcPath: input.srcPath,\n path: input.path,\n extension,\n declaration: true\n });\n }\n\n let transformed: TransformResult | string = contents;\n\n let result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"pre\"\n },\n transformed,\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"normal\"\n },\n getString(transformed),\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"post\"\n },\n getString(transformed),\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n // typescript => js\n if ([\".ts\", \".mts\", \".cts\"].includes(input.extension)) {\n contents = await transform(getString(transformed), {\n ...Object.fromEntries(\n Object.entries(options.esbuild ?? {}).filter(\n ([key]) => key !== \"absPaths\"\n )\n ),\n loader: \"ts\"\n }).then(r => r.code);\n } else if ([\".tsx\", \".jsx\"].includes(input.extension)) {\n contents = await transform(getString(transformed), {\n loader: input.extension === \".tsx\" ? \"tsx\" : \"jsx\",\n ...Object.fromEntries(\n Object.entries(options.esbuild ?? {}).filter(\n ([key]) => key !== \"absPaths\"\n )\n )\n }).then(r => r.code);\n }\n\n // esm => cjs\n const isCjs = options.format === \"cjs\";\n if (isCjs) {\n contents = context.resolver\n .transform({\n source: contents,\n retainLines: false\n })\n .replace(/^exports.default = /gm, \"module.exports = \")\n .replace(/^var _default = exports.default = /gm, \"module.exports = \")\n .replace(\"module.exports = void 0;\", \"\");\n }\n\n let extension = isCjs ? \".js\" : \".mjs\"; // TODO: Default to .cjs in next major version\n if (options.ext) {\n extension = options.ext.startsWith(\".\") ? options.ext : `.${options.ext}`;\n }\n\n output.push({\n contents,\n path: input.path,\n extension\n });\n\n return output;\n };\n};\n\n/**\n * Extracts the unbuild configuration from the context.\n *\n * @param context - The build context.\n * @returns The resolved unbuild configuration.\n */\nexport function extractUnbuildConfig(\n context: Context\n): UnbuildResolvedBuildConfig {\n return defu(\n {\n alias: context.builtins.reduce(\n (ret, id) => {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n },\n context.config.build.variant === \"unbuild\" ? context.config.override : {},\n {\n projectName: context.config.name,\n name: context.config.name,\n orgName: isObject(context.workspaceConfig.organization)\n ? context.workspaceConfig.organization.name\n : context.workspaceConfig.organization,\n sourceRoot: context.config.sourceRoot,\n projectRoot: context.config.projectRoot,\n outputPath: context.config.output.outputPath || \"dist\",\n platform: context.config.build.platform,\n external: context.builtins.reduce((ret, id) => {\n if (!ret.includes(id)) {\n ret.push(id);\n }\n\n return ret;\n }, context.config.build.external ?? []) as string[],\n\n loaders: [unbuildLoader(context as UNSAFE_PluginContext)],\n jiti: {\n interopDefault: true,\n fsCache: joinPaths(context.envPaths.cache, \"jiti\"),\n moduleCache: true\n },\n rollup: extractRollupConfig(context) as any\n },\n context.config.build.variant === \"unbuild\" ? context.config.build : {},\n {\n debug: context.config.mode === \"development\",\n minify: context.config.mode !== \"development\",\n sourcemap: context.config.mode === \"development\"\n },\n DEFAULT_UNBUILD_CONFIG\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/lib/build/unbuild.ts"],"names":["DEFAULT_UNBUILD_CONFIG","dts","clean","includeSrc","treeShaking","splitting","stub","watchOptions","outputPath","generatePackageJson","banner","rollup","emitCJS","replace","resolve","json","esbuild","target","commonjs","alias","unbuildLoader","context","input","options","test","path","output","contents","getContents","declaration","srcPath","match","cm","extension","push","transformed","result","$$internal","callHook","sequential","order","getString","includes","transform","Object","fromEntries","entries","filter","key","loader","then","r","code","isCjs","format","resolver","source","retainLines","ext","startsWith","extractUnbuildConfig","defu","builtins","reduce","ret","id","fs","ids","config","build","variant","override","projectName","name","orgName","isObject","workspaceConfig","organization","sourceRoot","projectRoot","platform","external","loaders","jiti","interopDefault","fsCache","joinPaths","envPaths","cache","moduleCache","extractRollupConfig","debug","mode","minify","sourcemap"],"mappings":"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","file":"chunk-S4TGQD45.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Loader, LoaderResult } from \"@storm-software/unbuild/types\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport defu from \"defu\";\nimport { transform } from \"esbuild\";\nimport { TransformResult } from \"unplugin\";\nimport {\n UnbuildBuildConfig,\n UnbuildResolvedBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { UNSAFE_PluginContext } from \"../../types/internal\";\nimport { getString } from \"../utilities/source-file\";\nimport { extractRollupConfig } from \"./rollup\";\n\nexport const DEFAULT_UNBUILD_CONFIG = {\n dts: true,\n clean: false,\n includeSrc: false,\n treeShaking: true,\n splitting: true,\n stub: false,\n watchOptions: {},\n outputPath: \"dist\",\n generatePackageJson: true,\n banner: \" \",\n rollup: {\n dts: {},\n emitCJS: true,\n replace: {},\n resolve: {},\n json: {},\n esbuild: { target: \"es2020\" },\n commonjs: {},\n alias: {}\n }\n} as Partial<UnbuildBuildConfig>;\n\nexport const unbuildLoader = (context: UNSAFE_PluginContext): Loader => {\n return async (input, { options }) => {\n if (\n !/\\.(?:c|m)?[jt]sx?$/.test(input.path) ||\n /\\.d\\.[cm]?ts$/.test(input.path)\n ) {\n return;\n }\n\n const output: LoaderResult = [];\n\n let contents = await input.getContents();\n\n // declaration\n if (options.declaration && !input.srcPath?.match(/\\.d\\.[cm]?ts$/)) {\n const cm = input.srcPath?.match(/(?<=\\.)(?:c|m)(?=[jt]s$)/)?.[0] || \"\";\n const extension = `.d.${cm}ts`;\n output.push({\n contents,\n srcPath: input.srcPath,\n path: input.path,\n extension,\n declaration: true\n });\n }\n\n let transformed: TransformResult | string = contents;\n\n let result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"pre\"\n },\n transformed,\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"normal\"\n },\n getString(transformed),\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"post\"\n },\n getString(transformed),\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n // typescript => js\n if ([\".ts\", \".mts\", \".cts\"].includes(input.extension)) {\n contents = await transform(getString(transformed), {\n ...Object.fromEntries(\n Object.entries(options.esbuild ?? {}).filter(\n ([key]) => key !== \"absPaths\"\n )\n ),\n loader: \"ts\"\n }).then(r => r.code);\n } else if ([\".tsx\", \".jsx\"].includes(input.extension)) {\n contents = await transform(getString(transformed), {\n loader: input.extension === \".tsx\" ? \"tsx\" : \"jsx\",\n ...Object.fromEntries(\n Object.entries(options.esbuild ?? {}).filter(\n ([key]) => key !== \"absPaths\"\n )\n )\n }).then(r => r.code);\n }\n\n // esm => cjs\n const isCjs = options.format === \"cjs\";\n if (isCjs) {\n contents = context.resolver\n .transform({\n source: contents,\n retainLines: false\n })\n .replace(/^exports.default = /gm, \"module.exports = \")\n .replace(/^var _default = exports.default = /gm, \"module.exports = \")\n .replace(\"module.exports = void 0;\", \"\");\n }\n\n let extension = isCjs ? \".js\" : \".mjs\"; // TODO: Default to .cjs in next major version\n if (options.ext) {\n extension = options.ext.startsWith(\".\") ? options.ext : `.${options.ext}`;\n }\n\n output.push({\n contents,\n path: input.path,\n extension\n });\n\n return output;\n };\n};\n\n/**\n * Extracts the unbuild configuration from the context.\n *\n * @param context - The build context.\n * @returns The resolved unbuild configuration.\n */\nexport function extractUnbuildConfig(\n context: Context\n): UnbuildResolvedBuildConfig {\n return defu(\n {\n alias: context.builtins.reduce(\n (ret, id) => {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n },\n context.config.build.variant === \"unbuild\" ? context.config.override : {},\n {\n projectName: context.config.name,\n name: context.config.name,\n orgName: isObject(context.workspaceConfig.organization)\n ? context.workspaceConfig.organization.name\n : context.workspaceConfig.organization,\n sourceRoot: context.config.sourceRoot,\n projectRoot: context.config.projectRoot,\n outputPath: context.config.output.outputPath || \"dist\",\n platform: context.config.build.platform,\n external: context.builtins.reduce((ret, id) => {\n if (!ret.includes(id)) {\n ret.push(id);\n }\n\n return ret;\n }, context.config.build.external ?? []) as string[],\n\n loaders: [unbuildLoader(context as UNSAFE_PluginContext)],\n jiti: {\n interopDefault: true,\n fsCache: joinPaths(context.envPaths.cache, \"jiti\"),\n moduleCache: true\n },\n rollup: extractRollupConfig(context) as any\n },\n context.config.build.variant === \"unbuild\" ? context.config.build : {},\n {\n debug: context.config.mode === \"development\",\n minify: context.config.mode !== \"development\",\n sourcemap: context.config.mode === \"development\"\n },\n DEFAULT_UNBUILD_CONFIG\n );\n}\n"]}
@@ -120,13 +120,8 @@ async function createVirtualProgram(rootNames, context, compilerOptions = {}) {
120
120
  return ts.createProgram(rootNames, options, host);
121
121
  }
122
122
  __name(createVirtualProgram, "createVirtualProgram");
123
- function createVirtualCompilerHost(sys, compilerOptions) {
124
- const sourceFiles = /* @__PURE__ */ new Map();
125
- const save = /* @__PURE__ */ __name((sourceFile) => {
126
- sourceFiles.set(sourceFile.fileName, sourceFile);
127
- return sourceFile;
128
- }, "save");
129
- const vHost = {
123
+ function createVirtualCompilerHost(context, sys, compilerOptions) {
124
+ return {
130
125
  compilerHost: {
131
126
  ...sys,
132
127
  getCanonicalFileName: /* @__PURE__ */ __name((fileName) => fileName, "getCanonicalFileName"),
@@ -134,27 +129,28 @@ function createVirtualCompilerHost(sys, compilerOptions) {
134
129
  // getDefaultLibLocation: () => '/',
135
130
  getNewLine: /* @__PURE__ */ __name(() => sys.newLine, "getNewLine"),
136
131
  getSourceFile: /* @__PURE__ */ __name((fileName, languageVersionOrOptions) => {
137
- return sourceFiles.get(fileName) ?? save(ts.createSourceFile(fileName, sys.readFile(fileName), languageVersionOrOptions ?? compilerOptions.target, false));
132
+ const resolved = context.fs.resolve(fileName);
133
+ if (resolved && context.fs.existsSync(resolved)) {
134
+ return context.fs.readFileSync(resolved);
135
+ }
136
+ return ts.createSourceFile(fileName, sys.readFile(fileName), languageVersionOrOptions ?? compilerOptions.target, false);
138
137
  }, "getSourceFile"),
139
138
  useCaseSensitiveFileNames: /* @__PURE__ */ __name(() => sys.useCaseSensitiveFileNames, "useCaseSensitiveFileNames")
140
139
  },
141
140
  updateFile: /* @__PURE__ */ __name((sourceFile) => {
142
- const alreadyExists = sourceFiles.has(sourceFile.fileName);
141
+ const alreadyExists = context.fs.existsSync(sourceFile.fileName);
143
142
  sys.writeFile(sourceFile.fileName, sourceFile.text);
144
- sourceFiles.set(sourceFile.fileName, sourceFile);
145
143
  return alreadyExists;
146
144
  }, "updateFile"),
147
145
  deleteFile: /* @__PURE__ */ __name((sourceFile) => {
148
- const alreadyExists = sourceFiles.has(sourceFile.fileName);
149
- sourceFiles.delete(sourceFile.fileName);
146
+ const alreadyExists = context.fs.existsSync(sourceFile.fileName);
150
147
  sys.deleteFile(sourceFile.fileName);
151
148
  return alreadyExists;
152
149
  }, "deleteFile")
153
150
  };
154
- return vHost;
155
151
  }
156
152
  __name(createVirtualCompilerHost, "createVirtualCompilerHost");
157
153
 
158
154
  export { SourcesMap, createVirtualCompilerHost, createVirtualProgram, getDefaultCompilerOptions, loadLibFiles };
159
- //# sourceMappingURL=chunk-KFE2IR3Y.js.map
160
- //# sourceMappingURL=chunk-KFE2IR3Y.js.map
155
+ //# sourceMappingURL=chunk-V2T4H24I.js.map
156
+ //# sourceMappingURL=chunk-V2T4H24I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/typescript/program.ts"],"names":["SourcesMap","Map","loadLibFiles","libLocation","resolvePackage","Error","libFiles","listFiles","joinPaths","length","lib","file","set","findFileName","readFile","getDefaultCompilerOptions","ts","jsx","JsxEmit","React","strict","esModuleInterop","module","ModuleKind","ESNext","suppressOutputPathCheck","skipLibCheck","skipDefaultLibCheck","moduleResolution","ModuleResolutionKind","Node10","createVirtualProgram","rootNames","context","compilerOptions","options","defu","host","name","root","workspaceConfig","workspaceRoot","sys","realpath","path","fs","existsSync","resolve","getCurrentDirectory","getCanonicalFileName","fileName","getDefaultLibFileName","_options","getDefaultLibLocation","getNewLine","useCaseSensitiveFileNames","fileExists","readFileSync","undefined","readDirectory","extensions","exclude","include","results","readdirSync","encoding","recursive","filter","some","ext","endsWith","startsWith","pattern","minimatch","writeFile","data","writeFileSync","resolvePath","getSourceFile","languageVersionOrOptions","_","shouldCreateNewSourceFile","createSourceFile","target","sourceFile","text","createProgram","createVirtualCompilerHost","compilerHost","newLine","resolved","updateFile","alreadyExists","deleteFile"],"mappings":"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","file":"chunk-V2T4H24I.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { listFiles } from \"@stryke/fs/list-files\";\nimport { readFile } from \"@stryke/fs/read-file\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport defu from \"defu\";\nimport { minimatch } from \"minimatch\";\nimport ts, { CompilerOptions } from \"typescript\";\nimport { Context } from \"../../types/context\";\n\nexport const SourcesMap = Map<string, string>;\n// eslint-disable-next-line ts/no-redeclare\nexport type SourcesMap = InstanceType<typeof SourcesMap>;\n\nexport async function loadLibFiles(): Promise<SourcesMap> {\n const libLocation = await resolvePackage(\"typescript\");\n if (!libLocation) {\n throw new Error(\"Could not resolve TypeScript package location.\");\n }\n\n const libFiles = await listFiles(\n joinPaths(libLocation, \"lib\", \"**\", \"lib.*.d.ts\")\n );\n if (libFiles.length === 0) {\n throw new Error(\"No TypeScript library files found.\");\n }\n\n const lib: SourcesMap = new Map();\n for (const file of libFiles) {\n lib.set(\n `/node_modules/typescript/lib/${findFileName(file)}`,\n await readFile(file)\n );\n }\n\n return lib;\n}\n\n/** The default compiler options if TypeScript could ever change the compiler options */\nexport function getDefaultCompilerOptions(): CompilerOptions {\n return {\n ...ts.getDefaultCompilerOptions(),\n jsx: ts.JsxEmit.React,\n strict: true,\n esModuleInterop: true,\n module: ts.ModuleKind.ESNext,\n suppressOutputPathCheck: true,\n skipLibCheck: true,\n skipDefaultLibCheck: true,\n moduleResolution: ts.ModuleResolutionKind.Node10\n };\n}\n\n/**\n * Creates a TypeScript program from in-memory, virtual source files.\n *\n * @param rootNames - An array of root file names to include in the program.\n * @param context - The context containing options and environment paths.\n * @param compilerOptions - Optional TypeScript compiler options. Defaults to the standard TypeScript options\n * @returns A TypeScript program instance that can be used for type checking, emitting, etc.\n * @throws If the provided library files are not in the expected format or if the TypeScript package cannot be resolved.\n */\nexport async function createVirtualProgram(\n rootNames: readonly string[],\n context: Context,\n compilerOptions: ts.CompilerOptions = {}\n): Promise<ts.Program> {\n const options = defu(compilerOptions, getDefaultCompilerOptions());\n\n const host = {\n name: \"storm-vfs\",\n root: context.workspaceConfig.workspaceRoot,\n ...ts.sys,\n realpath: (path: string) => {\n if (context.fs.existsSync(path)) {\n return context.fs.resolve(path);\n }\n\n return ts.sys.realpath?.(path) ?? path;\n },\n getCurrentDirectory(): string {\n return context.workspaceConfig.workspaceRoot;\n },\n getCanonicalFileName(fileName: string): string {\n return fileName;\n },\n getDefaultLibFileName(_options: ts.CompilerOptions): string {\n return ts.getDefaultLibFileName(options);\n },\n getDefaultLibLocation(): string {\n return \"/\";\n },\n getNewLine(): string {\n return \"\\n\";\n },\n useCaseSensitiveFileNames(): boolean {\n return true;\n },\n fileExists(fileName: string): boolean {\n return context.fs.existsSync(fileName);\n },\n readFile(fileName: string): string | undefined {\n if (context.fs.existsSync(fileName)) {\n return context.fs.readFileSync(fileName);\n }\n\n return undefined;\n },\n readDirectory: (\n path: string,\n extensions: readonly string[] = [],\n exclude: readonly string[] = [],\n include: readonly string[] = []\n ) => {\n let results = [] as string[];\n if (context.fs.existsSync(path)) {\n results = context.fs.readdirSync(path, {\n encoding: \"utf8\",\n recursive: true\n });\n\n if (extensions.length > 0) {\n results = results.filter(file =>\n extensions.some(ext =>\n file.endsWith(ext.startsWith(\".\") ? ext : `.${ext}`)\n )\n );\n }\n\n if (exclude.length > 0) {\n results = results.filter(\n file => !exclude.some(pattern => minimatch(file, pattern))\n );\n }\n\n if (include.length > 0) {\n results = results.filter(file =>\n include.some(pattern => minimatch(file, pattern))\n );\n }\n }\n\n return results;\n },\n writeFile(fileName: string, data: string): void {\n context.fs.writeFileSync(fileName, data);\n },\n resolvePath: (fileName: string): string => {\n if (context.fs.existsSync(fileName)) {\n return context.fs.resolve(fileName) as string;\n }\n\n return ts.sys.resolvePath(fileName);\n },\n getSourceFile(\n fileName: string,\n languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions,\n _?: (message: string) => void,\n shouldCreateNewSourceFile?: boolean\n ): ts.SourceFile | undefined {\n if (context.fs.existsSync(fileName)) {\n return ts.createSourceFile(\n fileName,\n context.fs.readFileSync(fileName)!,\n languageVersionOrOptions ??\n compilerOptions.target ??\n getDefaultCompilerOptions().target!,\n false\n );\n } else if (shouldCreateNewSourceFile) {\n const sourceFile = ts.createSourceFile(\n fileName,\n \"\",\n languageVersionOrOptions ??\n compilerOptions.target ??\n getDefaultCompilerOptions().target!,\n false\n );\n context.fs.writeFileSync(fileName, sourceFile.text);\n return sourceFile;\n }\n\n return undefined;\n }\n } as ts.CompilerHost;\n\n return ts.createProgram(rootNames, options, host);\n}\n\ninterface VirtualCompilerHostReturn {\n compilerHost: ts.CompilerHost;\n updateFile: (sourceFile: ts.SourceFile) => boolean;\n deleteFile: (sourceFile: ts.SourceFile) => boolean;\n}\n\n/**\n * Creates an in-memory CompilerHost -which is essentially an extra wrapper to System\n * which works with TypeScript objects - returns both a compiler host, and a way to add new SourceFile\n * instances to the in-memory file system.\n */\nexport function createVirtualCompilerHost(\n context: Context,\n sys: ts.System,\n compilerOptions: ts.CompilerOptions\n) {\n return {\n compilerHost: {\n ...sys,\n getCanonicalFileName: fileName => fileName,\n getDefaultLibFileName: () =>\n `/${ts.getDefaultLibFileName(compilerOptions)}`, // '/lib.d.ts',\n // getDefaultLibLocation: () => '/',\n getNewLine: () => sys.newLine,\n getSourceFile: (\n fileName: string,\n languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions\n ) => {\n const resolved = context.fs.resolve(fileName);\n if (resolved && context.fs.existsSync(resolved)) {\n return context.fs.readFileSync(resolved);\n }\n\n return ts.createSourceFile(\n fileName,\n sys.readFile(fileName)!,\n languageVersionOrOptions ?? compilerOptions.target,\n false\n );\n },\n useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames\n },\n updateFile: sourceFile => {\n const alreadyExists = context.fs.existsSync(sourceFile.fileName);\n sys.writeFile(sourceFile.fileName, sourceFile.text);\n return alreadyExists;\n },\n deleteFile: sourceFile => {\n const alreadyExists = context.fs.existsSync(sourceFile.fileName);\n sys.deleteFile!(sourceFile.fileName);\n return alreadyExists;\n }\n } as VirtualCompilerHostReturn;\n}\n"]}
@@ -1,12 +1,15 @@
1
1
  import { Jiti } from 'jiti';
2
- import { C as Context, W as WorkspaceConfig, P as PowerlinesCommand, a as ParsedUserConfig } from './config-AuIGsUck.cjs';
3
- import '@storm-software/build-tools/types';
2
+ import { C as Context, W as WorkspaceConfig, P as PowerlinesCommand, a as ParsedUserConfig } from './context-BI46yeFZ.cjs';
3
+ import '@stryke/env/get-env-paths';
4
+ import '@stryke/types/package-json';
5
+ import 'jest-worker';
6
+ import 'oxc-parser';
7
+ import 'semver';
8
+ import 'unplugin';
4
9
  import '@storm-software/config-tools/types';
5
- import '@storm-software/config/types';
6
10
  import '@stryke/types/base';
7
11
  import '@stryke/types/configuration';
8
12
  import '@stryke/types/file';
9
- import 'c12';
10
13
  import 'vite';
11
14
  import '@farmfe/core';
12
15
  import '@rspack/core';
@@ -16,16 +19,13 @@ import 'esbuild';
16
19
  import 'rolldown';
17
20
  import 'rollup';
18
21
  import 'webpack';
19
- import '@stryke/env/get-env-paths';
20
- import '@stryke/types/package-json';
21
- import 'jest-worker';
22
- import 'oxc-parser';
23
- import 'semver';
24
- import 'unplugin';
25
- import '@stryke/types/array';
22
+ import '@storm-software/build-tools/types';
23
+ import '@storm-software/config/types';
24
+ import 'c12';
26
25
  import './tsconfig-Bz-CiFqD.cjs';
27
26
  import '@stryke/types/tsconfig';
28
27
  import 'typescript';
28
+ import '@stryke/types/array';
29
29
  import '@stryke/json/types';
30
30
  import 'memfs';
31
31
  import 'node:fs';
@@ -1,12 +1,15 @@
1
1
  import { Jiti } from 'jiti';
2
- import { C as Context, W as WorkspaceConfig, P as PowerlinesCommand, a as ParsedUserConfig } from './config-B_WTwd49.js';
3
- import '@storm-software/build-tools/types';
2
+ import { C as Context, W as WorkspaceConfig, P as PowerlinesCommand, a as ParsedUserConfig } from './context-tEqvC3yI.js';
3
+ import '@stryke/env/get-env-paths';
4
+ import '@stryke/types/package-json';
5
+ import 'jest-worker';
6
+ import 'oxc-parser';
7
+ import 'semver';
8
+ import 'unplugin';
4
9
  import '@storm-software/config-tools/types';
5
- import '@storm-software/config/types';
6
10
  import '@stryke/types/base';
7
11
  import '@stryke/types/configuration';
8
12
  import '@stryke/types/file';
9
- import 'c12';
10
13
  import 'vite';
11
14
  import '@farmfe/core';
12
15
  import '@rspack/core';
@@ -16,16 +19,13 @@ import 'esbuild';
16
19
  import 'rolldown';
17
20
  import 'rollup';
18
21
  import 'webpack';
19
- import '@stryke/env/get-env-paths';
20
- import '@stryke/types/package-json';
21
- import 'jest-worker';
22
- import 'oxc-parser';
23
- import 'semver';
24
- import 'unplugin';
25
- import '@stryke/types/array';
22
+ import '@storm-software/build-tools/types';
23
+ import '@storm-software/config/types';
24
+ import 'c12';
26
25
  import './tsconfig-Bz-CiFqD.js';
27
26
  import '@stryke/types/tsconfig';
28
27
  import 'typescript';
28
+ import '@stryke/types/array';
29
29
  import '@stryke/json/types';
30
30
  import 'memfs';
31
31
  import 'node:fs';