powerlines 0.8.0 → 0.10.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 (211) hide show
  1. package/dist/astro.cjs +8 -8
  2. package/dist/astro.d.cts +2 -1
  3. package/dist/astro.d.ts +2 -1
  4. package/dist/astro.js +5 -5
  5. package/dist/{chunk-7I4XONWP.js → chunk-4R6CQNB2.js} +3 -3
  6. package/dist/{chunk-N4W7FF7E.js → chunk-54SOH6E5.js} +3 -3
  7. package/dist/{chunk-OX7DE4Q5.cjs → chunk-5ST7UKJF.cjs} +72 -8
  8. package/dist/chunk-6FRFYMLC.cjs +12 -0
  9. package/dist/chunk-6M3HIMSG.cjs +12 -0
  10. package/dist/chunk-6ODSQSQL.cjs +34 -0
  11. package/dist/{chunk-GE36UM6Z.cjs → chunk-6X6QQH33.cjs} +4 -4
  12. package/dist/{chunk-LOOSGOY2.js → chunk-75B5EPR4.js} +3 -3
  13. package/dist/{chunk-B5UJMXT7.cjs → chunk-APVMN2H7.cjs} +2 -2
  14. package/dist/{chunk-XCGBRCTC.js → chunk-BWZCYCIF.js} +3 -3
  15. package/dist/{chunk-CJKO3F7U.js → chunk-D55IOUF3.js} +72 -8
  16. package/dist/{chunk-BSPWDBYR.cjs → chunk-DOBCIS3U.cjs} +4 -4
  17. package/dist/{chunk-UXQMPRRF.js → chunk-EBMELFCF.js} +2 -2
  18. package/dist/{chunk-6WRBXKQ6.cjs → chunk-ETEQKM36.cjs} +2 -2
  19. package/dist/{chunk-WCIWPTVM.js → chunk-FBBWXUGK.js} +3 -3
  20. package/dist/{chunk-HR6NUGJW.js → chunk-GI35XXXH.js} +3 -3
  21. package/dist/{chunk-S4DRABWH.cjs → chunk-H2SX5ZYF.cjs} +4 -4
  22. package/dist/chunk-HPXUAQCU.cjs +12 -0
  23. package/dist/{chunk-666H4BIN.cjs → chunk-I5D3SVUH.cjs} +4 -4
  24. package/dist/{chunk-K2KHN7RP.js → chunk-KCDZ3LCF.js} +3 -3
  25. package/dist/chunk-KJHDE76P.cjs +24 -0
  26. package/dist/{chunk-YWEZ36T2.js → chunk-MMDBMHAW.js} +2 -2
  27. package/dist/{chunk-2MHNLGSZ.js → chunk-MXYZKFOD.js} +3 -3
  28. package/dist/{chunk-LYJN5KVV.js → chunk-PFCQFK7H.js} +3 -3
  29. package/dist/chunk-R5CZG7XN.js +31 -0
  30. package/dist/chunk-RGMGFYXY.cjs +12 -0
  31. package/dist/{chunk-WKE3A62S.cjs → chunk-RRGXS7GZ.cjs} +4 -4
  32. package/dist/chunk-TZ4Y7R4G.cjs +12 -0
  33. package/dist/{chunk-4NNZ4TGS.cjs → chunk-UESICHEO.cjs} +8 -8
  34. package/dist/{chunk-6RYTPMSB.js → chunk-V56DIXOO.js} +3 -3
  35. package/dist/{chunk-OB5KXL5P.js → chunk-WAWIGYB4.js} +4 -4
  36. package/dist/{chunk-DPOSEAJF.js → chunk-YOHDGH77.js} +3 -3
  37. package/dist/define-config.d.cts +2 -1
  38. package/dist/define-config.d.ts +2 -1
  39. package/dist/esbuild.cjs +7 -7
  40. package/dist/esbuild.d.cts +2 -1
  41. package/dist/esbuild.d.ts +2 -1
  42. package/dist/esbuild.js +4 -4
  43. package/dist/extend-plugin.d.cts +2 -1
  44. package/dist/extend-plugin.d.ts +2 -1
  45. package/dist/farm.cjs +4 -4
  46. package/dist/farm.d.cts +2 -1
  47. package/dist/farm.d.ts +2 -1
  48. package/dist/farm.js +3 -3
  49. package/dist/{hooks-CMd1xclE.d.ts → hooks-D0gf1nT3.d.ts} +1 -1
  50. package/dist/{hooks-BPUnPO-B.d.cts → hooks-fVJu9DCF.d.cts} +1 -1
  51. package/dist/index.cjs +21 -21
  52. package/dist/index.d.cts +3 -2
  53. package/dist/index.d.ts +3 -2
  54. package/dist/index.js +17 -17
  55. package/dist/internal/api.cjs +3 -3
  56. package/dist/internal/api.d.cts +3 -2
  57. package/dist/internal/api.d.ts +3 -2
  58. package/dist/internal/api.js +2 -2
  59. package/dist/lib/build/esbuild.d.cts +2 -1
  60. package/dist/lib/build/esbuild.d.ts +2 -1
  61. package/dist/lib/build/index.d.cts +3 -2
  62. package/dist/lib/build/index.d.ts +3 -2
  63. package/dist/lib/build/rolldown.d.cts +2 -1
  64. package/dist/lib/build/rolldown.d.ts +2 -1
  65. package/dist/lib/build/rollup.d.cts +2 -1
  66. package/dist/lib/build/rollup.d.ts +2 -1
  67. package/dist/lib/build/rspack.d.cts +2 -1
  68. package/dist/lib/build/rspack.d.ts +2 -1
  69. package/dist/lib/build/tsup.d.cts +2 -1
  70. package/dist/lib/build/tsup.d.ts +2 -1
  71. package/dist/lib/build/unbuild.d.cts +3 -2
  72. package/dist/lib/build/unbuild.d.ts +3 -2
  73. package/dist/lib/build/vite.d.cts +2 -1
  74. package/dist/lib/build/vite.d.ts +2 -1
  75. package/dist/lib/build/webpack.d.cts +2 -1
  76. package/dist/lib/build/webpack.d.ts +2 -1
  77. package/dist/lib/{chunk-67VN5TZM.cjs → chunk-2D74QBNW.cjs} +70 -6
  78. package/dist/lib/chunk-2D74QBNW.cjs.map +1 -0
  79. package/dist/lib/{chunk-J2EF4GI3.cjs → chunk-M2TB43VG.cjs} +10 -7
  80. package/dist/lib/chunk-M2TB43VG.cjs.map +1 -0
  81. package/dist/lib/{chunk-VIHXPV7T.js → chunk-NFDRIBCM.js} +10 -7
  82. package/dist/lib/chunk-NFDRIBCM.js.map +1 -0
  83. package/dist/lib/{chunk-4CUTFWDS.js → chunk-WDNYOFEH.js} +71 -7
  84. package/dist/lib/chunk-WDNYOFEH.js.map +1 -0
  85. package/dist/lib/{config-C14_DqG5.d.cts → config-BOPIY57U.d.cts} +7 -2
  86. package/dist/lib/{config-OkaWXDV_.d.ts → config-Chd_3Uh3.d.ts} +7 -2
  87. package/dist/lib/config-file.d.cts +2 -1
  88. package/dist/lib/config-file.d.ts +2 -1
  89. package/dist/lib/entry.d.cts +2 -1
  90. package/dist/lib/entry.d.ts +2 -1
  91. package/dist/lib/{hooks-THHkqKwd.d.ts → hooks-56fQP2HY.d.ts} +1 -1
  92. package/dist/lib/{hooks-Duhy49eb.d.cts → hooks-DkVRKYVN.d.cts} +1 -1
  93. package/dist/lib/index.cjs +4 -4
  94. package/dist/lib/index.d.cts +3 -2
  95. package/dist/lib/index.d.ts +3 -2
  96. package/dist/lib/index.js +2 -2
  97. package/dist/lib/logger.d.cts +2 -1
  98. package/dist/lib/logger.d.ts +2 -1
  99. package/dist/lib/typescript/compiler-host.d.cts +2 -1
  100. package/dist/lib/typescript/compiler-host.d.ts +2 -1
  101. package/dist/lib/typescript/import-transformer.d.cts +2 -1
  102. package/dist/lib/typescript/import-transformer.d.ts +2 -1
  103. package/dist/lib/typescript/index.d.cts +2 -1
  104. package/dist/lib/typescript/index.d.ts +2 -1
  105. package/dist/lib/typescript/program.d.cts +2 -1
  106. package/dist/lib/typescript/program.d.ts +2 -1
  107. package/dist/lib/unplugin/factory.cjs +2 -2
  108. package/dist/lib/unplugin/factory.d.cts +3 -2
  109. package/dist/lib/unplugin/factory.d.ts +3 -2
  110. package/dist/lib/unplugin/factory.js +1 -1
  111. package/dist/lib/unplugin/index.cjs +4 -4
  112. package/dist/lib/unplugin/index.d.cts +3 -2
  113. package/dist/lib/unplugin/index.d.ts +3 -2
  114. package/dist/lib/unplugin/index.js +2 -2
  115. package/dist/lib/unplugin/plugin.cjs +2 -2
  116. package/dist/lib/unplugin/plugin.d.cts +2 -1
  117. package/dist/lib/unplugin/plugin.d.ts +2 -1
  118. package/dist/lib/unplugin/plugin.js +1 -1
  119. package/dist/lib/unplugin/resolve-id.d.cts +2 -1
  120. package/dist/lib/unplugin/resolve-id.d.ts +2 -1
  121. package/dist/lib/utilities/file-header.d.cts +2 -1
  122. package/dist/lib/utilities/file-header.d.ts +2 -1
  123. package/dist/lib/utilities/index.d.cts +2 -1
  124. package/dist/lib/utilities/index.d.ts +2 -1
  125. package/dist/lib/utilities/meta.d.cts +2 -1
  126. package/dist/lib/utilities/meta.d.ts +2 -1
  127. package/dist/lib/utilities/plugin-helpers.d.cts +12 -11
  128. package/dist/lib/utilities/plugin-helpers.d.ts +12 -11
  129. package/dist/lib/utilities/resolve-path.d.cts +2 -1
  130. package/dist/lib/utilities/resolve-path.d.ts +2 -1
  131. package/dist/lib/utilities/worker.d.cts +2 -1
  132. package/dist/lib/utilities/worker.d.ts +2 -1
  133. package/dist/lib/utilities/write-file.d.cts +2 -1
  134. package/dist/lib/utilities/write-file.d.ts +2 -1
  135. package/dist/next.cjs +8 -8
  136. package/dist/next.js +5 -5
  137. package/dist/nuxt.cjs +9 -9
  138. package/dist/nuxt.js +6 -6
  139. package/dist/{resolved-DNhp48UP.d.ts → resolved-DhHHMnUD.d.ts} +7 -2
  140. package/dist/{resolved-CkY1IiKI.d.cts → resolved-NZTd64-O.d.cts} +7 -2
  141. package/dist/rolldown.cjs +7 -7
  142. package/dist/rolldown.d.cts +2 -1
  143. package/dist/rolldown.d.ts +2 -1
  144. package/dist/rolldown.js +4 -4
  145. package/dist/rollup.cjs +7 -7
  146. package/dist/rollup.d.cts +2 -1
  147. package/dist/rollup.d.ts +2 -1
  148. package/dist/rollup.js +4 -4
  149. package/dist/rspack.cjs +7 -7
  150. package/dist/rspack.d.cts +2 -1
  151. package/dist/rspack.d.ts +2 -1
  152. package/dist/rspack.js +4 -4
  153. package/dist/tsup.cjs +8 -8
  154. package/dist/tsup.js +5 -5
  155. package/dist/types/babel.d.cts +2 -1
  156. package/dist/types/babel.d.ts +2 -1
  157. package/dist/types/commands.d.cts +2 -1
  158. package/dist/types/commands.d.ts +2 -1
  159. package/dist/types/compiler.d.cts +2 -1
  160. package/dist/types/compiler.d.ts +2 -1
  161. package/dist/types/config.d.cts +2 -1
  162. package/dist/types/config.d.ts +2 -1
  163. package/dist/types/context.cjs +2 -2
  164. package/dist/types/context.d.cts +2 -1
  165. package/dist/types/context.d.ts +2 -1
  166. package/dist/types/context.js +1 -1
  167. package/dist/types/hooks.d.cts +2 -1
  168. package/dist/types/hooks.d.ts +2 -1
  169. package/dist/types/index.cjs +4 -4
  170. package/dist/types/index.d.cts +2 -1
  171. package/dist/types/index.d.ts +2 -1
  172. package/dist/types/index.js +2 -2
  173. package/dist/types/internal.d.cts +3 -2
  174. package/dist/types/internal.d.ts +3 -2
  175. package/dist/types/plugin.cjs +2 -2
  176. package/dist/types/plugin.d.cts +2 -1
  177. package/dist/types/plugin.d.ts +2 -1
  178. package/dist/types/plugin.js +1 -1
  179. package/dist/types/resolved.d.cts +2 -1
  180. package/dist/types/resolved.d.ts +2 -1
  181. package/dist/types/unplugin.d.cts +2 -1
  182. package/dist/types/unplugin.d.ts +2 -1
  183. package/dist/unloader.cjs +7 -7
  184. package/dist/unloader.d.cts +2 -1
  185. package/dist/unloader.d.ts +2 -1
  186. package/dist/unloader.js +4 -4
  187. package/dist/unplugin.cjs +18 -18
  188. package/dist/unplugin.d.cts +3 -2
  189. package/dist/unplugin.d.ts +3 -2
  190. package/dist/unplugin.js +15 -15
  191. package/dist/vite.cjs +7 -7
  192. package/dist/vite.d.cts +2 -1
  193. package/dist/vite.d.ts +2 -1
  194. package/dist/vite.js +4 -4
  195. package/dist/webpack.cjs +7 -7
  196. package/dist/webpack.d.cts +2 -1
  197. package/dist/webpack.d.ts +2 -1
  198. package/dist/webpack.js +4 -4
  199. package/package.json +3 -2
  200. package/dist/chunk-2GEZY43U.cjs +0 -24
  201. package/dist/chunk-CQCSPWMR.js +0 -31
  202. package/dist/chunk-MAYP435L.cjs +0 -12
  203. package/dist/chunk-NEBRO2WO.cjs +0 -12
  204. package/dist/chunk-OTPFDVSY.cjs +0 -12
  205. package/dist/chunk-WQ4S7XPC.cjs +0 -12
  206. package/dist/chunk-YY5HQ62N.cjs +0 -12
  207. package/dist/chunk-ZYNJZRRJ.cjs +0 -34
  208. package/dist/lib/chunk-4CUTFWDS.js.map +0 -1
  209. package/dist/lib/chunk-67VN5TZM.cjs.map +0 -1
  210. package/dist/lib/chunk-J2EF4GI3.cjs.map +0 -1
  211. package/dist/lib/chunk-VIHXPV7T.js.map +0 -1
@@ -5,6 +5,7 @@ var chunk632PWWU7_cjs = require('./chunk-632PWWU7.cjs');
5
5
  var chunk65DUUIIF_cjs = require('./chunk-65DUUIIF.cjs');
6
6
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
7
7
  var types = require('@storm-software/config-tools/types');
8
+ var omit = require('@stryke/helpers/omit');
8
9
  var defu = require('defu');
9
10
 
10
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -98,7 +99,9 @@ function createUnplugin(context, options = {}) {
98
99
  async function transform(code, id) {
99
100
  let transformed = code;
100
101
  for (const handler of ctx.$$internal.environment.selectHooks("transform")) {
101
- const result = await handler.apply(defu__default.default(ctx, this), [
102
+ const result = await handler.apply(defu__default.default(ctx, omit.omit(this, [
103
+ "parse"
104
+ ])), [
102
105
  chunk65DUUIIF_cjs.getString(transformed),
103
106
  id
104
107
  ]);
@@ -109,13 +112,13 @@ function createUnplugin(context, options = {}) {
109
112
  return transformed;
110
113
  }
111
114
  chunkPK6SKIKE_cjs.__name(transform, "transform");
112
- async function buildEnd() {
115
+ async function buildFinish() {
113
116
  log(types.LogLevelLabel.DEBUG, "Powerlines build plugin finishing...");
114
- return ctx.$$internal.callHook("buildEnd", {
117
+ return ctx.$$internal.callHook("buildFinish", {
115
118
  sequential: true
116
119
  });
117
120
  }
118
- chunkPK6SKIKE_cjs.__name(buildEnd, "buildEnd");
121
+ chunkPK6SKIKE_cjs.__name(buildFinish, "buildFinish");
119
122
  async function writeBundle() {
120
123
  log(types.LogLevelLabel.DEBUG, "Finalizing Powerlines project output...");
121
124
  return ctx.$$internal.callHook("writeBundle", {
@@ -147,7 +150,7 @@ function createUnplugin(context, options = {}) {
147
150
  },
148
151
  transform,
149
152
  buildStart,
150
- buildFinish: buildEnd,
153
+ buildFinish,
151
154
  writeBundle,
152
155
  vite: {
153
156
  sharedDuringBuild: true
@@ -162,5 +165,5 @@ function createUnplugin(context, options = {}) {
162
165
  chunkPK6SKIKE_cjs.__name(createUnplugin, "createUnplugin");
163
166
 
164
167
  exports.createUnplugin = createUnplugin;
165
- //# sourceMappingURL=chunk-J2EF4GI3.cjs.map
166
- //# sourceMappingURL=chunk-J2EF4GI3.cjs.map
168
+ //# sourceMappingURL=chunk-M2TB43VG.cjs.map
169
+ //# sourceMappingURL=chunk-M2TB43VG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/unplugin/plugin.ts"],"names":["createUnplugin","context","options","ctx","log","extendLog","LogLevelLabel","DEBUG","buildStart","$$internal","callHook","sequential","resolveId","id","importer","opts","isEntry","result","order","handleResolveId","skipResolve","skipNodeModulesBundle","config","build","external","noExternal","load","resolvedPath","fs","resolvePath","type","readFile","transform","code","transformed","handler","environment","selectHooks","apply","defu","omit","getString","buildFinish","writeBundle","name","filter","include","vite","sharedDuringBuild","error","FATAL","message"],"mappings":"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","file":"chunk-M2TB43VG.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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport defu from \"defu\";\nimport type {\n ExternalIdResult,\n TransformResult,\n UnpluginBuildContext,\n UnpluginContext,\n UnpluginFactory\n} from \"unplugin\";\nimport { PluginContext } from \"../../types/context\";\nimport { UNSAFE_PluginContext } from \"../../types/internal\";\nimport { extendLog } from \"../logger\";\nimport { getString } from \"../utilities/source-file\";\nimport { handleResolveId } from \"./resolve-id\";\n\nexport interface CreateUnpluginOptions {\n /**\n * If true, skips the plugin resolution step.\n *\n * @remarks\n * This value should be set to `true` when using a build tool that handles `external` and `noExternal` options itself (for example `tsup`).\n *\n * @defaultValue false\n */\n skipResolve?: boolean;\n}\n\n/**\n * Creates a Powerlines unplugin instance.\n *\n * @param context - The plugin context.\n * @param options - Options for creating the unplugin.\n * @returns The unplugin instance.\n */\nexport function createUnplugin<TContext extends PluginContext = PluginContext>(\n context: TContext,\n options: CreateUnpluginOptions = {}\n): UnpluginFactory<object> {\n const ctx = context as unknown as UNSAFE_PluginContext;\n\n return () => {\n const log = extendLog(ctx.log, \"unplugin\");\n log(LogLevelLabel.DEBUG, \"Initializing Unplugin\");\n\n try {\n async function buildStart(this: UnpluginBuildContext) {\n log(LogLevelLabel.DEBUG, \"Powerlines build plugin starting...\");\n\n await ctx.$$internal.callHook(\"buildStart\", {\n sequential: true\n });\n }\n\n async function resolveId(\n this: UnpluginBuildContext & UnpluginContext,\n id: string,\n importer?: string,\n opts: {\n isEntry: boolean;\n } = { isEntry: false }\n ): Promise<string | ExternalIdResult | null | undefined> {\n let result = await ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"pre\"\n },\n id,\n importer,\n opts\n );\n if (result) {\n return result;\n }\n\n result = await ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"normal\"\n },\n id,\n importer,\n opts\n );\n if (result) {\n return result;\n }\n\n result = await handleResolveId(\n ctx,\n {\n id,\n importer,\n options: opts\n },\n {\n skipResolve: options.skipResolve,\n skipNodeModulesBundle: ctx.config.build.skipNodeModulesBundle,\n external: ctx.config.build.external,\n noExternal: ctx.config.build.noExternal\n }\n );\n if (result) {\n return result;\n }\n\n return ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"post\"\n },\n id,\n importer,\n opts\n );\n }\n\n async function load(\n this: UnpluginBuildContext & UnpluginContext,\n id: string\n ): Promise<TransformResult | null | undefined> {\n let result = await ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"pre\"\n },\n id\n );\n if (result) {\n return result;\n }\n\n result = await ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"normal\"\n },\n id\n );\n if (result) {\n return result;\n }\n\n if (id) {\n const resolvedPath = ctx.fs.resolvePath(id, {\n type: \"file\"\n });\n if (resolvedPath) {\n return ctx.fs.readFile(resolvedPath);\n }\n }\n\n return ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"post\"\n },\n id\n );\n }\n\n async function transform(\n this: UnpluginBuildContext & UnpluginContext,\n code: string,\n id: string\n ): Promise<TransformResult | null | undefined> {\n let transformed: TransformResult | string = code;\n\n for (const handler of ctx.$$internal.environment.selectHooks(\n \"transform\"\n )) {\n const result: TransformResult | string | undefined =\n await handler.apply(defu(ctx, omit(this, [\"parse\"])), [\n getString(transformed),\n id\n ]);\n if (result) {\n transformed = result;\n }\n }\n\n return transformed;\n }\n\n async function buildFinish(this: UnpluginBuildContext): Promise<void> {\n log(LogLevelLabel.DEBUG, \"Powerlines build plugin finishing...\");\n\n return ctx.$$internal.callHook(\"buildFinish\", {\n sequential: true\n });\n }\n\n async function writeBundle(): Promise<void> {\n log(LogLevelLabel.DEBUG, \"Finalizing Powerlines project output...\");\n\n return ctx.$$internal.callHook(\"writeBundle\", {\n sequential: true\n });\n }\n\n return {\n name: \"powerlines\",\n resolveId: {\n filter: {\n id: {\n include: [/.*/]\n }\n },\n handler: resolveId\n },\n load: {\n filter: {\n id: {\n include: [/.*/]\n }\n },\n handler: load\n },\n transform,\n buildStart,\n buildFinish,\n writeBundle,\n vite: {\n sharedDuringBuild: true\n }\n };\n } catch (error) {\n log(LogLevelLabel.FATAL, (error as Error)?.message);\n\n throw error;\n }\n };\n}\n"]}
@@ -3,6 +3,7 @@ import { extendLog } from './chunk-35EO5Y7R.js';
3
3
  import { getString } from './chunk-2ZYHO243.js';
4
4
  import { __name } from './chunk-7QVYU63E.js';
5
5
  import { LogLevelLabel } from '@storm-software/config-tools/types';
6
+ import { omit } from '@stryke/helpers/omit';
6
7
  import defu from 'defu';
7
8
 
8
9
  function createUnplugin(context, options = {}) {
@@ -92,7 +93,9 @@ function createUnplugin(context, options = {}) {
92
93
  async function transform(code, id) {
93
94
  let transformed = code;
94
95
  for (const handler of ctx.$$internal.environment.selectHooks("transform")) {
95
- const result = await handler.apply(defu(ctx, this), [
96
+ const result = await handler.apply(defu(ctx, omit(this, [
97
+ "parse"
98
+ ])), [
96
99
  getString(transformed),
97
100
  id
98
101
  ]);
@@ -103,13 +106,13 @@ function createUnplugin(context, options = {}) {
103
106
  return transformed;
104
107
  }
105
108
  __name(transform, "transform");
106
- async function buildEnd() {
109
+ async function buildFinish() {
107
110
  log(LogLevelLabel.DEBUG, "Powerlines build plugin finishing...");
108
- return ctx.$$internal.callHook("buildEnd", {
111
+ return ctx.$$internal.callHook("buildFinish", {
109
112
  sequential: true
110
113
  });
111
114
  }
112
- __name(buildEnd, "buildEnd");
115
+ __name(buildFinish, "buildFinish");
113
116
  async function writeBundle() {
114
117
  log(LogLevelLabel.DEBUG, "Finalizing Powerlines project output...");
115
118
  return ctx.$$internal.callHook("writeBundle", {
@@ -141,7 +144,7 @@ function createUnplugin(context, options = {}) {
141
144
  },
142
145
  transform,
143
146
  buildStart,
144
- buildFinish: buildEnd,
147
+ buildFinish,
145
148
  writeBundle,
146
149
  vite: {
147
150
  sharedDuringBuild: true
@@ -156,5 +159,5 @@ function createUnplugin(context, options = {}) {
156
159
  __name(createUnplugin, "createUnplugin");
157
160
 
158
161
  export { createUnplugin };
159
- //# sourceMappingURL=chunk-VIHXPV7T.js.map
160
- //# sourceMappingURL=chunk-VIHXPV7T.js.map
162
+ //# sourceMappingURL=chunk-NFDRIBCM.js.map
163
+ //# sourceMappingURL=chunk-NFDRIBCM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/unplugin/plugin.ts"],"names":["createUnplugin","context","options","ctx","log","extendLog","LogLevelLabel","DEBUG","buildStart","$$internal","callHook","sequential","resolveId","id","importer","opts","isEntry","result","order","handleResolveId","skipResolve","skipNodeModulesBundle","config","build","external","noExternal","load","resolvedPath","fs","resolvePath","type","readFile","transform","code","transformed","handler","environment","selectHooks","apply","defu","omit","getString","buildFinish","writeBundle","name","filter","include","vite","sharedDuringBuild","error","FATAL","message"],"mappings":"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","file":"chunk-NFDRIBCM.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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport defu from \"defu\";\nimport type {\n ExternalIdResult,\n TransformResult,\n UnpluginBuildContext,\n UnpluginContext,\n UnpluginFactory\n} from \"unplugin\";\nimport { PluginContext } from \"../../types/context\";\nimport { UNSAFE_PluginContext } from \"../../types/internal\";\nimport { extendLog } from \"../logger\";\nimport { getString } from \"../utilities/source-file\";\nimport { handleResolveId } from \"./resolve-id\";\n\nexport interface CreateUnpluginOptions {\n /**\n * If true, skips the plugin resolution step.\n *\n * @remarks\n * This value should be set to `true` when using a build tool that handles `external` and `noExternal` options itself (for example `tsup`).\n *\n * @defaultValue false\n */\n skipResolve?: boolean;\n}\n\n/**\n * Creates a Powerlines unplugin instance.\n *\n * @param context - The plugin context.\n * @param options - Options for creating the unplugin.\n * @returns The unplugin instance.\n */\nexport function createUnplugin<TContext extends PluginContext = PluginContext>(\n context: TContext,\n options: CreateUnpluginOptions = {}\n): UnpluginFactory<object> {\n const ctx = context as unknown as UNSAFE_PluginContext;\n\n return () => {\n const log = extendLog(ctx.log, \"unplugin\");\n log(LogLevelLabel.DEBUG, \"Initializing Unplugin\");\n\n try {\n async function buildStart(this: UnpluginBuildContext) {\n log(LogLevelLabel.DEBUG, \"Powerlines build plugin starting...\");\n\n await ctx.$$internal.callHook(\"buildStart\", {\n sequential: true\n });\n }\n\n async function resolveId(\n this: UnpluginBuildContext & UnpluginContext,\n id: string,\n importer?: string,\n opts: {\n isEntry: boolean;\n } = { isEntry: false }\n ): Promise<string | ExternalIdResult | null | undefined> {\n let result = await ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"pre\"\n },\n id,\n importer,\n opts\n );\n if (result) {\n return result;\n }\n\n result = await ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"normal\"\n },\n id,\n importer,\n opts\n );\n if (result) {\n return result;\n }\n\n result = await handleResolveId(\n ctx,\n {\n id,\n importer,\n options: opts\n },\n {\n skipResolve: options.skipResolve,\n skipNodeModulesBundle: ctx.config.build.skipNodeModulesBundle,\n external: ctx.config.build.external,\n noExternal: ctx.config.build.noExternal\n }\n );\n if (result) {\n return result;\n }\n\n return ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"post\"\n },\n id,\n importer,\n opts\n );\n }\n\n async function load(\n this: UnpluginBuildContext & UnpluginContext,\n id: string\n ): Promise<TransformResult | null | undefined> {\n let result = await ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"pre\"\n },\n id\n );\n if (result) {\n return result;\n }\n\n result = await ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"normal\"\n },\n id\n );\n if (result) {\n return result;\n }\n\n if (id) {\n const resolvedPath = ctx.fs.resolvePath(id, {\n type: \"file\"\n });\n if (resolvedPath) {\n return ctx.fs.readFile(resolvedPath);\n }\n }\n\n return ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"post\"\n },\n id\n );\n }\n\n async function transform(\n this: UnpluginBuildContext & UnpluginContext,\n code: string,\n id: string\n ): Promise<TransformResult | null | undefined> {\n let transformed: TransformResult | string = code;\n\n for (const handler of ctx.$$internal.environment.selectHooks(\n \"transform\"\n )) {\n const result: TransformResult | string | undefined =\n await handler.apply(defu(ctx, omit(this, [\"parse\"])), [\n getString(transformed),\n id\n ]);\n if (result) {\n transformed = result;\n }\n }\n\n return transformed;\n }\n\n async function buildFinish(this: UnpluginBuildContext): Promise<void> {\n log(LogLevelLabel.DEBUG, \"Powerlines build plugin finishing...\");\n\n return ctx.$$internal.callHook(\"buildFinish\", {\n sequential: true\n });\n }\n\n async function writeBundle(): Promise<void> {\n log(LogLevelLabel.DEBUG, \"Finalizing Powerlines project output...\");\n\n return ctx.$$internal.callHook(\"writeBundle\", {\n sequential: true\n });\n }\n\n return {\n name: \"powerlines\",\n resolveId: {\n filter: {\n id: {\n include: [/.*/]\n }\n },\n handler: resolveId\n },\n load: {\n filter: {\n id: {\n include: [/.*/]\n }\n },\n handler: load\n },\n transform,\n buildStart,\n buildFinish,\n writeBundle,\n vite: {\n sharedDuringBuild: true\n }\n };\n } catch (error) {\n log(LogLevelLabel.FATAL, (error as Error)?.message);\n\n throw error;\n }\n };\n}\n"]}
@@ -20,7 +20,7 @@ import { createDirectory } from '@stryke/fs/helpers';
20
20
  import { install } from '@stryke/fs/install';
21
21
  import { listFiles } from '@stryke/fs/list-files';
22
22
  import { isPackageExists, isPackageListed, doesPackageMatch, getPackageListing } from '@stryke/fs/package-fns';
23
- import { findFilePath, findFileExtensionSafe, relativePath, findFileName } from '@stryke/path/file-path-fns';
23
+ import { findFilePath, hasFileExtension, findFileExtensionSafe, relativePath, findFileName } from '@stryke/path/file-path-fns';
24
24
  import { isParentPath } from '@stryke/path/is-parent-path';
25
25
  import { joinPaths } from '@stryke/path/join-paths';
26
26
  import { replacePath } from '@stryke/path/replace';
@@ -46,6 +46,7 @@ import { joinPaths as joinPaths$1 } from '@stryke/path/join';
46
46
  import { isNull } from '@stryke/type-checks/is-null';
47
47
  import { isString } from '@stryke/type-checks/is-string';
48
48
  import { uuid } from '@stryke/unique-id/uuid';
49
+ import { parseAsync } from 'oxc-parser';
49
50
  import { createJiti } from 'jiti';
50
51
  import { bufferToString } from '@stryke/convert/buffer-to-string';
51
52
  import { isAbsolutePath } from '@stryke/path/is-type';
@@ -1233,7 +1234,8 @@ function createVfs(context) {
1233
1234
  __name(createVfs, "createVfs");
1234
1235
 
1235
1236
  // src/internal/contexts/context.ts
1236
- var cache = /* @__PURE__ */ new WeakMap();
1237
+ var configCache = /* @__PURE__ */ new WeakMap();
1238
+ var parseCache = /* @__PURE__ */ new WeakMap();
1237
1239
  var PowerlinesContext = class _PowerlinesContext {
1238
1240
  static {
1239
1241
  __name(this, "PowerlinesContext");
@@ -1298,11 +1300,29 @@ var PowerlinesContext = class _PowerlinesContext {
1298
1300
  * An object containing the development dependencies that should be installed for the project
1299
1301
  */
1300
1302
  devDependencies = {};
1303
+ /**
1304
+ * The persisted meta information about the current build
1305
+ */
1301
1306
  persistedMeta = void 0;
1307
+ /**
1308
+ * The path to the Powerlines package
1309
+ */
1302
1310
  powerlinesPath;
1311
+ /**
1312
+ * The parsed `package.json` file for the project
1313
+ */
1303
1314
  packageJson;
1315
+ /**
1316
+ * The parsed `project.json` file for the project
1317
+ */
1304
1318
  projectJson = void 0;
1319
+ /**
1320
+ * The module resolver for the project
1321
+ */
1305
1322
  resolver;
1323
+ /**
1324
+ * The resolved entry type definitions for the project
1325
+ */
1306
1326
  get entry() {
1307
1327
  return resolveEntriesSync(this, toArray(this.config.entry));
1308
1328
  }
@@ -1317,9 +1337,15 @@ var PowerlinesContext = class _PowerlinesContext {
1317
1337
  }
1318
1338
  return this.#tsconfig;
1319
1339
  }
1340
+ /**
1341
+ * Sets the TypeScript configuration parsed from the tsconfig file
1342
+ */
1320
1343
  set tsconfig(value) {
1321
1344
  this.#tsconfig = value;
1322
1345
  }
1346
+ /**
1347
+ * The virtual file system interface for the project
1348
+ */
1323
1349
  get fs() {
1324
1350
  if (!this.#fs) {
1325
1351
  this.#fs = createVfs(this);
@@ -1375,6 +1401,9 @@ var PowerlinesContext = class _PowerlinesContext {
1375
1401
  get workspaceConfig() {
1376
1402
  return this.#workspaceConfig;
1377
1403
  }
1404
+ /**
1405
+ * The environment paths for the project
1406
+ */
1378
1407
  get envPaths() {
1379
1408
  if (!this.#envPaths) {
1380
1409
  this.#envPaths = getEnvPaths({
@@ -1433,6 +1462,41 @@ var PowerlinesContext = class _PowerlinesContext {
1433
1462
  return relativeToWorkspaceRoot(this.config.projectRoot);
1434
1463
  }
1435
1464
  /**
1465
+ * Parses the source code and returns a {@link ParseResult} object.
1466
+ *
1467
+ * @param code - The source code to parse.
1468
+ * @param id - The unique identifier for the source file.
1469
+ * @param options - Optional parser options.
1470
+ * @returns The parsed {@link ParseResult} object.
1471
+ */
1472
+ async parse(code, id, options = {}) {
1473
+ if (parseCache.has({
1474
+ code,
1475
+ options
1476
+ })) {
1477
+ return parseCache.get({
1478
+ code,
1479
+ options
1480
+ });
1481
+ }
1482
+ const result = await parseAsync(id, code, defu3(options ?? {}, {
1483
+ lang: hasFileExtension(id) ? void 0 : "ts",
1484
+ astType: hasFileExtension(id) ? void 0 : "ts",
1485
+ sourceType: "module",
1486
+ showSemanticErrors: false
1487
+ }));
1488
+ if (result.errors && result.errors.length > 0) {
1489
+ throw new Error(`Powerlines parsing errors in file: ${id}
1490
+ ${result.errors.map((error) => ` [${error.severity}] ${error.message}${error.codeframe ? ` (${error.codeframe})` : ""}${error.helpMessage ? `
1491
+ Help: ${error.helpMessage}` : ""}`).join("\n")}`);
1492
+ }
1493
+ parseCache.set({
1494
+ code,
1495
+ options
1496
+ }, result);
1497
+ return result;
1498
+ }
1499
+ /**
1436
1500
  * Update the context using a new user configuration options
1437
1501
  *
1438
1502
  * @param userConfig - The new user configuration options.
@@ -1519,8 +1583,8 @@ var PowerlinesContext = class _PowerlinesContext {
1519
1583
  configFile: config.configFile ?? this.config.configFile,
1520
1584
  command: this.config.inlineConfig?.command
1521
1585
  };
1522
- if (cache.has(cacheKey)) {
1523
- const result = cache.get(cacheKey);
1586
+ if (configCache.has(cacheKey)) {
1587
+ const result = configCache.get(cacheKey);
1524
1588
  this.projectJson = result.projectJson;
1525
1589
  this.packageJson = result.packageJson;
1526
1590
  this.#checksum = result.checksum;
@@ -1545,7 +1609,7 @@ var PowerlinesContext = class _PowerlinesContext {
1545
1609
  });
1546
1610
  const userConfig = await loadUserConfigFile(cacheKey.projectRoot, this.resolver, cacheKey.command, cacheKey.mode, cacheKey.configFile);
1547
1611
  this.mergeUserConfig(userConfig.config);
1548
- cache.set(cacheKey, {
1612
+ configCache.set(cacheKey, {
1549
1613
  projectJson: this.projectJson,
1550
1614
  packageJson: this.packageJson,
1551
1615
  checksum: this.#checksum,
@@ -3074,5 +3138,5 @@ function createUnpluginFactory(variant, decorate) {
3074
3138
  __name(createUnpluginFactory, "createUnpluginFactory");
3075
3139
 
3076
3140
  export { createUnpluginFactory };
3077
- //# sourceMappingURL=chunk-4CUTFWDS.js.map
3078
- //# sourceMappingURL=chunk-4CUTFWDS.js.map
3141
+ //# sourceMappingURL=chunk-WDNYOFEH.js.map
3142
+ //# sourceMappingURL=chunk-WDNYOFEH.js.map