@mionjs/devtools 0.8.10 → 0.13.2

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 (388) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +34 -0
  3. package/dist/core/apply-edits.d.ts +8 -0
  4. package/dist/core/apply-edits.js +24 -0
  5. package/dist/core/apply-edits.js.map +1 -0
  6. package/dist/core/bundledApiStub.d.ts +4 -0
  7. package/dist/core/bundledApiStub.js +4 -0
  8. package/dist/core/bundledApiStub.js.map +1 -0
  9. package/dist/core/devReporter.d.ts +19 -0
  10. package/dist/core/devReporter.js +91 -0
  11. package/dist/core/devReporter.js.map +1 -0
  12. package/dist/core/diagnosticCatalog.d.ts +5 -0
  13. package/dist/core/diagnosticCatalog.js +18 -0
  14. package/dist/core/diagnosticCatalog.js.map +1 -0
  15. package/dist/core/downgradeErrors.d.ts +11 -0
  16. package/dist/core/downgradeErrors.js +34 -0
  17. package/dist/core/downgradeErrors.js.map +1 -0
  18. package/dist/core/edit-buffer.d.ts +26 -0
  19. package/dist/core/edit-buffer.js +209 -0
  20. package/dist/core/edit-buffer.js.map +1 -0
  21. package/dist/core/go-generated/diagnosticCatalog.generated.d.ts +9 -0
  22. package/dist/core/go-generated/diagnosticCatalog.generated.js +1008 -0
  23. package/dist/core/go-generated/diagnosticCatalog.generated.js.map +1 -0
  24. package/dist/core/go-generated/reflectionKind.generated.d.ts +60 -0
  25. package/dist/core/go-generated/reflectionKind.generated.js +60 -0
  26. package/dist/core/go-generated/reflectionKind.generated.js.map +1 -0
  27. package/dist/core/go-generated/runtypes-constants.generated.d.ts +197 -0
  28. package/dist/core/go-generated/runtypes-constants.generated.js +110 -0
  29. package/dist/core/go-generated/runtypes-constants.generated.js.map +1 -0
  30. package/dist/core/go-generated/tsconfig-plugin-keys.generated.d.ts +3 -0
  31. package/dist/core/go-generated/tsconfig-plugin-keys.generated.js +23 -0
  32. package/dist/core/go-generated/tsconfig-plugin-keys.generated.js.map +1 -0
  33. package/dist/core/groupedLog.d.ts +6 -0
  34. package/dist/core/groupedLog.js +163 -0
  35. package/dist/core/groupedLog.js.map +1 -0
  36. package/dist/core/levels.d.ts +6 -0
  37. package/dist/core/levels.js +22 -0
  38. package/dist/core/levels.js.map +1 -0
  39. package/dist/core/markerImports.d.ts +8 -0
  40. package/dist/core/markerImports.js +149 -0
  41. package/dist/core/markerImports.js.map +1 -0
  42. package/dist/core/option-guards.d.ts +4 -0
  43. package/dist/core/option-guards.js +12 -0
  44. package/dist/core/option-guards.js.map +1 -0
  45. package/dist/core/plugin-option-keys.d.ts +3 -0
  46. package/dist/core/plugin-option-keys.js +35 -0
  47. package/dist/core/plugin-option-keys.js.map +1 -0
  48. package/dist/core/protocol.d.ts +244 -0
  49. package/dist/core/protocol.js +23 -0
  50. package/dist/core/protocol.js.map +1 -0
  51. package/dist/core/resolver-client.d.ts +160 -0
  52. package/dist/core/resolver-client.js +354 -0
  53. package/dist/core/resolver-client.js.map +1 -0
  54. package/dist/core/scan-batcher.d.ts +6 -0
  55. package/dist/core/scan-batcher.js +36 -0
  56. package/dist/core/scan-batcher.js.map +1 -0
  57. package/dist/core/surface.d.ts +23 -0
  58. package/dist/core/surface.js +77 -0
  59. package/dist/core/surface.js.map +1 -0
  60. package/dist/core/type-deps.d.ts +11 -0
  61. package/dist/core/type-deps.js +72 -0
  62. package/dist/core/type-deps.js.map +1 -0
  63. package/dist/core/types.d.ts +13 -0
  64. package/dist/core/types.js +2 -0
  65. package/dist/core/types.js.map +1 -0
  66. package/dist/core/typescript-floor.d.ts +5 -0
  67. package/dist/core/typescript-floor.js +33 -0
  68. package/dist/core/typescript-floor.js.map +1 -0
  69. package/dist/core/unplugin.d.ts +67 -0
  70. package/dist/core/unplugin.js +636 -0
  71. package/dist/core/unplugin.js.map +1 -0
  72. package/dist/index.d.ts +3 -0
  73. package/dist/index.js +3 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/lint/diagnosticRouting.d.ts +28 -0
  76. package/dist/lint/diagnosticRouting.js +74 -0
  77. package/dist/lint/diagnosticRouting.js.map +1 -0
  78. package/dist/lint/index.d.ts +49 -0
  79. package/dist/lint/index.js +96 -0
  80. package/dist/lint/index.js.map +1 -0
  81. package/dist/lint/lint-worker.d.ts +2 -0
  82. package/dist/lint/lint-worker.js +116 -0
  83. package/dist/lint/lint-worker.js.map +1 -0
  84. package/dist/lint/prefilter.d.ts +7 -0
  85. package/dist/lint/prefilter.js +31 -0
  86. package/dist/lint/prefilter.js.map +1 -0
  87. package/dist/lint/session-protocol.d.ts +38 -0
  88. package/dist/lint/session-protocol.js +11 -0
  89. package/dist/lint/session-protocol.js.map +1 -0
  90. package/dist/lint/session.d.ts +27 -0
  91. package/dist/lint/session.js +149 -0
  92. package/dist/lint/session.js.map +1 -0
  93. package/dist/lint/spawn-shim.d.ts +2 -0
  94. package/dist/lint/spawn-shim.js +23 -0
  95. package/dist/lint/spawn-shim.js.map +1 -0
  96. package/dist/next/index.d.ts +11 -0
  97. package/dist/next/index.js +17 -0
  98. package/dist/next/index.js.map +1 -0
  99. package/dist/options.d.ts +29 -0
  100. package/dist/options.js +36 -0
  101. package/dist/options.js.map +1 -0
  102. package/dist/runtypes/bun.d.ts +25 -0
  103. package/dist/runtypes/bun.js +62 -0
  104. package/dist/runtypes/bun.js.map +1 -0
  105. package/dist/runtypes/esbuild.d.ts +4 -0
  106. package/dist/runtypes/esbuild.js +4 -0
  107. package/dist/runtypes/esbuild.js.map +1 -0
  108. package/dist/runtypes/next/broker.d.ts +15 -0
  109. package/dist/runtypes/next/broker.js +316 -0
  110. package/dist/runtypes/next/broker.js.map +1 -0
  111. package/dist/runtypes/next/index.d.ts +30 -0
  112. package/dist/runtypes/next/index.js +57 -0
  113. package/dist/runtypes/next/index.js.map +1 -0
  114. package/dist/runtypes/next/loader.d.ts +13 -0
  115. package/dist/runtypes/next/loader.js +64 -0
  116. package/dist/runtypes/next/loader.js.map +1 -0
  117. package/dist/runtypes/next/wire.d.ts +17 -0
  118. package/dist/runtypes/next/wire.js +15 -0
  119. package/dist/runtypes/next/wire.js.map +1 -0
  120. package/dist/runtypes/rolldown.d.ts +4 -0
  121. package/dist/runtypes/rolldown.js +4 -0
  122. package/dist/runtypes/rolldown.js.map +1 -0
  123. package/dist/runtypes/rollup.d.ts +4 -0
  124. package/dist/runtypes/rollup.js +4 -0
  125. package/dist/runtypes/rollup.js.map +1 -0
  126. package/dist/runtypes/rspack.d.ts +4 -0
  127. package/dist/runtypes/rspack.js +4 -0
  128. package/dist/runtypes/rspack.js.map +1 -0
  129. package/dist/runtypes/vite.d.ts +4 -0
  130. package/dist/runtypes/vite.js +4 -0
  131. package/dist/runtypes/vite.js.map +1 -0
  132. package/dist/runtypes/webpack.d.ts +4 -0
  133. package/dist/runtypes/webpack.js +4 -0
  134. package/dist/runtypes/webpack.js.map +1 -0
  135. package/dist/vite/buildEntries.d.ts +2 -0
  136. package/dist/vite/buildEntries.js +28 -0
  137. package/dist/vite/buildEntries.js.map +1 -0
  138. package/dist/vite/cjsPackageJsonPlugin.d.ts +3 -0
  139. package/dist/vite/cjsPackageJsonPlugin.js +12 -0
  140. package/dist/vite/cjsPackageJsonPlugin.js.map +1 -0
  141. package/dist/vite/index.d.ts +6 -0
  142. package/dist/vite/index.js +5 -0
  143. package/dist/vite/index.js.map +1 -0
  144. package/dist/vite/middlewareMode.d.ts +10 -0
  145. package/dist/vite/middlewareMode.js +227 -0
  146. package/dist/vite/middlewareMode.js.map +1 -0
  147. package/dist/vite/mionVitePlugin.d.ts +23 -0
  148. package/dist/vite/mionVitePlugin.js +115 -0
  149. package/dist/vite/mionVitePlugin.js.map +1 -0
  150. package/dist/vite/nodeWebBridge.d.ts +5 -0
  151. package/dist/vite/nodeWebBridge.js +59 -0
  152. package/dist/vite/nodeWebBridge.js.map +1 -0
  153. package/dist/vite/sfcTransform.d.ts +8 -0
  154. package/dist/vite/sfcTransform.js +142 -0
  155. package/dist/vite/sfcTransform.js.map +1 -0
  156. package/oxlint-recommended.json +11 -0
  157. package/package.json +91 -56
  158. package/build/eslint/cjs/index.cjs +0 -41
  159. package/build/eslint/cjs/index.cjs.map +0 -1
  160. package/build/eslint/cjs/package.json +0 -1
  161. package/build/eslint/cjs/src/eslint/index.cjs +0 -13
  162. package/build/eslint/cjs/src/eslint/index.cjs.map +0 -1
  163. package/build/eslint/cjs/src/eslint/index.d.ts +0 -4
  164. package/build/eslint/cjs/src/eslint/index.d.ts.map +0 -1
  165. package/build/eslint/cjs/src/eslint/rules/enforce-type-imports.cjs +0 -121
  166. package/build/eslint/cjs/src/eslint/rules/enforce-type-imports.cjs.map +0 -1
  167. package/build/eslint/cjs/src/eslint/rules/enforce-type-imports.d.ts +0 -8
  168. package/build/eslint/cjs/src/eslint/rules/enforce-type-imports.d.ts.map +0 -1
  169. package/build/eslint/cjs/src/eslint/rules/formatTypeNames.cjs +0 -71
  170. package/build/eslint/cjs/src/eslint/rules/formatTypeNames.cjs.map +0 -1
  171. package/build/eslint/cjs/src/eslint/rules/formatTypeNames.d.ts +0 -4
  172. package/build/eslint/cjs/src/eslint/rules/formatTypeNames.d.ts.map +0 -1
  173. package/build/eslint/cjs/src/eslint/rules/no-mixed-union-properties.cjs +0 -220
  174. package/build/eslint/cjs/src/eslint/rules/no-mixed-union-properties.cjs.map +0 -1
  175. package/build/eslint/cjs/src/eslint/rules/no-mixed-union-properties.d.ts +0 -4
  176. package/build/eslint/cjs/src/eslint/rules/no-mixed-union-properties.d.ts.map +0 -1
  177. package/build/eslint/cjs/src/eslint/rules/no-type-imports.cjs +0 -251
  178. package/build/eslint/cjs/src/eslint/rules/no-type-imports.cjs.map +0 -1
  179. package/build/eslint/cjs/src/eslint/rules/no-type-imports.d.ts +0 -4
  180. package/build/eslint/cjs/src/eslint/rules/no-type-imports.d.ts.map +0 -1
  181. package/build/eslint/cjs/src/eslint/rules/no-typeof-runtype.cjs +0 -72
  182. package/build/eslint/cjs/src/eslint/rules/no-typeof-runtype.cjs.map +0 -1
  183. package/build/eslint/cjs/src/eslint/rules/no-typeof-runtype.d.ts +0 -4
  184. package/build/eslint/cjs/src/eslint/rules/no-typeof-runtype.d.ts.map +0 -1
  185. package/build/eslint/cjs/src/eslint/rules/no-unreachable-union-types.cjs +0 -220
  186. package/build/eslint/cjs/src/eslint/rules/no-unreachable-union-types.cjs.map +0 -1
  187. package/build/eslint/cjs/src/eslint/rules/no-unreachable-union-types.d.ts +0 -4
  188. package/build/eslint/cjs/src/eslint/rules/no-unreachable-union-types.d.ts.map +0 -1
  189. package/build/eslint/cjs/src/eslint/rules/no-vite-client.cjs +0 -71
  190. package/build/eslint/cjs/src/eslint/rules/no-vite-client.cjs.map +0 -1
  191. package/build/eslint/cjs/src/eslint/rules/no-vite-client.d.ts +0 -5
  192. package/build/eslint/cjs/src/eslint/rules/no-vite-client.d.ts.map +0 -1
  193. package/build/eslint/cjs/src/eslint/rules/pure-functions.cjs +0 -346
  194. package/build/eslint/cjs/src/eslint/rules/pure-functions.cjs.map +0 -1
  195. package/build/eslint/cjs/src/eslint/rules/pure-functions.d.ts +0 -5
  196. package/build/eslint/cjs/src/eslint/rules/pure-functions.d.ts.map +0 -1
  197. package/build/eslint/cjs/src/eslint/rules/strong-typed-routes.cjs +0 -328
  198. package/build/eslint/cjs/src/eslint/rules/strong-typed-routes.cjs.map +0 -1
  199. package/build/eslint/cjs/src/eslint/rules/strong-typed-routes.d.ts +0 -5
  200. package/build/eslint/cjs/src/eslint/rules/strong-typed-routes.d.ts.map +0 -1
  201. package/build/eslint/cjs/src/eslint/rules/type-formats-imports.cjs +0 -52
  202. package/build/eslint/cjs/src/eslint/rules/type-formats-imports.cjs.map +0 -1
  203. package/build/eslint/cjs/src/eslint/rules/type-formats-imports.d.ts +0 -4
  204. package/build/eslint/cjs/src/eslint/rules/type-formats-imports.d.ts.map +0 -1
  205. package/build/eslint/cjs/src/pureFns/purityRules.cjs +0 -67
  206. package/build/eslint/cjs/src/pureFns/purityRules.cjs.map +0 -1
  207. package/build/eslint/cjs/src/pureFns/purityRules.d.ts +0 -5
  208. package/build/eslint/cjs/src/pureFns/purityRules.d.ts.map +0 -1
  209. package/build/eslint/esm/index.js +0 -42
  210. package/build/eslint/esm/index.js.map +0 -1
  211. package/build/eslint/esm/src/eslint/index.d.ts +0 -4
  212. package/build/eslint/esm/src/eslint/index.d.ts.map +0 -1
  213. package/build/eslint/esm/src/eslint/index.js +0 -14
  214. package/build/eslint/esm/src/eslint/index.js.map +0 -1
  215. package/build/eslint/esm/src/eslint/rules/enforce-type-imports.d.ts +0 -8
  216. package/build/eslint/esm/src/eslint/rules/enforce-type-imports.d.ts.map +0 -1
  217. package/build/eslint/esm/src/eslint/rules/enforce-type-imports.js +0 -122
  218. package/build/eslint/esm/src/eslint/rules/enforce-type-imports.js.map +0 -1
  219. package/build/eslint/esm/src/eslint/rules/formatTypeNames.d.ts +0 -4
  220. package/build/eslint/esm/src/eslint/rules/formatTypeNames.d.ts.map +0 -1
  221. package/build/eslint/esm/src/eslint/rules/formatTypeNames.js +0 -71
  222. package/build/eslint/esm/src/eslint/rules/formatTypeNames.js.map +0 -1
  223. package/build/eslint/esm/src/eslint/rules/no-mixed-union-properties.d.ts +0 -4
  224. package/build/eslint/esm/src/eslint/rules/no-mixed-union-properties.d.ts.map +0 -1
  225. package/build/eslint/esm/src/eslint/rules/no-mixed-union-properties.js +0 -221
  226. package/build/eslint/esm/src/eslint/rules/no-mixed-union-properties.js.map +0 -1
  227. package/build/eslint/esm/src/eslint/rules/no-type-imports.d.ts +0 -4
  228. package/build/eslint/esm/src/eslint/rules/no-type-imports.d.ts.map +0 -1
  229. package/build/eslint/esm/src/eslint/rules/no-type-imports.js +0 -252
  230. package/build/eslint/esm/src/eslint/rules/no-type-imports.js.map +0 -1
  231. package/build/eslint/esm/src/eslint/rules/no-typeof-runtype.d.ts +0 -4
  232. package/build/eslint/esm/src/eslint/rules/no-typeof-runtype.d.ts.map +0 -1
  233. package/build/eslint/esm/src/eslint/rules/no-typeof-runtype.js +0 -73
  234. package/build/eslint/esm/src/eslint/rules/no-typeof-runtype.js.map +0 -1
  235. package/build/eslint/esm/src/eslint/rules/no-unreachable-union-types.d.ts +0 -4
  236. package/build/eslint/esm/src/eslint/rules/no-unreachable-union-types.d.ts.map +0 -1
  237. package/build/eslint/esm/src/eslint/rules/no-unreachable-union-types.js +0 -221
  238. package/build/eslint/esm/src/eslint/rules/no-unreachable-union-types.js.map +0 -1
  239. package/build/eslint/esm/src/eslint/rules/no-vite-client.d.ts +0 -5
  240. package/build/eslint/esm/src/eslint/rules/no-vite-client.d.ts.map +0 -1
  241. package/build/eslint/esm/src/eslint/rules/no-vite-client.js +0 -72
  242. package/build/eslint/esm/src/eslint/rules/no-vite-client.js.map +0 -1
  243. package/build/eslint/esm/src/eslint/rules/pure-functions.d.ts +0 -5
  244. package/build/eslint/esm/src/eslint/rules/pure-functions.d.ts.map +0 -1
  245. package/build/eslint/esm/src/eslint/rules/pure-functions.js +0 -347
  246. package/build/eslint/esm/src/eslint/rules/pure-functions.js.map +0 -1
  247. package/build/eslint/esm/src/eslint/rules/strong-typed-routes.d.ts +0 -5
  248. package/build/eslint/esm/src/eslint/rules/strong-typed-routes.d.ts.map +0 -1
  249. package/build/eslint/esm/src/eslint/rules/strong-typed-routes.js +0 -329
  250. package/build/eslint/esm/src/eslint/rules/strong-typed-routes.js.map +0 -1
  251. package/build/eslint/esm/src/eslint/rules/type-formats-imports.d.ts +0 -4
  252. package/build/eslint/esm/src/eslint/rules/type-formats-imports.d.ts.map +0 -1
  253. package/build/eslint/esm/src/eslint/rules/type-formats-imports.js +0 -53
  254. package/build/eslint/esm/src/eslint/rules/type-formats-imports.js.map +0 -1
  255. package/build/eslint/esm/src/pureFns/purityRules.d.ts +0 -5
  256. package/build/eslint/esm/src/pureFns/purityRules.d.ts.map +0 -1
  257. package/build/eslint/esm/src/pureFns/purityRules.js +0 -67
  258. package/build/eslint/esm/src/pureFns/purityRules.js.map +0 -1
  259. package/build/vite-plugin/cjs/index.cjs +0 -13
  260. package/build/vite-plugin/cjs/index.cjs.map +0 -1
  261. package/build/vite-plugin/cjs/package.json +0 -1
  262. package/build/vite-plugin/cjs/src/pureFns/purityRules.cjs +0 -65
  263. package/build/vite-plugin/cjs/src/pureFns/purityRules.cjs.map +0 -1
  264. package/build/vite-plugin/cjs/src/pureFns/purityRules.d.ts +0 -5
  265. package/build/vite-plugin/cjs/src/pureFns/purityRules.d.ts.map +0 -1
  266. package/build/vite-plugin/cjs/src/vite-plugin/aotCacheGenerator.cjs +0 -271
  267. package/build/vite-plugin/cjs/src/vite-plugin/aotCacheGenerator.cjs.map +0 -1
  268. package/build/vite-plugin/cjs/src/vite-plugin/aotCacheGenerator.d.ts +0 -32
  269. package/build/vite-plugin/cjs/src/vite-plugin/aotCacheGenerator.d.ts.map +0 -1
  270. package/build/vite-plugin/cjs/src/vite-plugin/aotDiskCache.cjs +0 -135
  271. package/build/vite-plugin/cjs/src/vite-plugin/aotDiskCache.cjs.map +0 -1
  272. package/build/vite-plugin/cjs/src/vite-plugin/aotDiskCache.d.ts +0 -7
  273. package/build/vite-plugin/cjs/src/vite-plugin/aotDiskCache.d.ts.map +0 -1
  274. package/build/vite-plugin/cjs/src/vite-plugin/cjsPackageJsonPlugin.cjs +0 -15
  275. package/build/vite-plugin/cjs/src/vite-plugin/cjsPackageJsonPlugin.cjs.map +0 -1
  276. package/build/vite-plugin/cjs/src/vite-plugin/cjsPackageJsonPlugin.d.ts +0 -3
  277. package/build/vite-plugin/cjs/src/vite-plugin/cjsPackageJsonPlugin.d.ts.map +0 -1
  278. package/build/vite-plugin/cjs/src/vite-plugin/constants.cjs +0 -29
  279. package/build/vite-plugin/cjs/src/vite-plugin/constants.cjs.map +0 -1
  280. package/build/vite-plugin/cjs/src/vite-plugin/constants.d.ts +0 -13
  281. package/build/vite-plugin/cjs/src/vite-plugin/constants.d.ts.map +0 -1
  282. package/build/vite-plugin/cjs/src/vite-plugin/extractPureFn.cjs +0 -628
  283. package/build/vite-plugin/cjs/src/vite-plugin/extractPureFn.cjs.map +0 -1
  284. package/build/vite-plugin/cjs/src/vite-plugin/extractPureFn.d.ts +0 -14
  285. package/build/vite-plugin/cjs/src/vite-plugin/extractPureFn.d.ts.map +0 -1
  286. package/build/vite-plugin/cjs/src/vite-plugin/index.cjs +0 -13
  287. package/build/vite-plugin/cjs/src/vite-plugin/index.cjs.map +0 -1
  288. package/build/vite-plugin/cjs/src/vite-plugin/index.d.ts +0 -6
  289. package/build/vite-plugin/cjs/src/vite-plugin/index.d.ts.map +0 -1
  290. package/build/vite-plugin/cjs/src/vite-plugin/mionVitePlugin.cjs +0 -511
  291. package/build/vite-plugin/cjs/src/vite-plugin/mionVitePlugin.cjs.map +0 -1
  292. package/build/vite-plugin/cjs/src/vite-plugin/mionVitePlugin.d.ts +0 -37
  293. package/build/vite-plugin/cjs/src/vite-plugin/mionVitePlugin.d.ts.map +0 -1
  294. package/build/vite-plugin/cjs/src/vite-plugin/resolveModule.cjs +0 -55
  295. package/build/vite-plugin/cjs/src/vite-plugin/resolveModule.cjs.map +0 -1
  296. package/build/vite-plugin/cjs/src/vite-plugin/resolveModule.d.ts +0 -2
  297. package/build/vite-plugin/cjs/src/vite-plugin/resolveModule.d.ts.map +0 -1
  298. package/build/vite-plugin/cjs/src/vite-plugin/transformers.cjs +0 -166
  299. package/build/vite-plugin/cjs/src/vite-plugin/transformers.cjs.map +0 -1
  300. package/build/vite-plugin/cjs/src/vite-plugin/transformers.d.ts +0 -11
  301. package/build/vite-plugin/cjs/src/vite-plugin/transformers.d.ts.map +0 -1
  302. package/build/vite-plugin/cjs/src/vite-plugin/types.cjs +0 -2
  303. package/build/vite-plugin/cjs/src/vite-plugin/types.cjs.map +0 -1
  304. package/build/vite-plugin/cjs/src/vite-plugin/types.d.ts +0 -60
  305. package/build/vite-plugin/cjs/src/vite-plugin/types.d.ts.map +0 -1
  306. package/build/vite-plugin/cjs/src/vite-plugin/virtual-modules.d.cjs +0 -2
  307. package/build/vite-plugin/cjs/src/vite-plugin/virtual-modules.d.cjs.map +0 -1
  308. package/build/vite-plugin/cjs/src/vite-plugin/virtualModule.cjs +0 -69
  309. package/build/vite-plugin/cjs/src/vite-plugin/virtualModule.cjs.map +0 -1
  310. package/build/vite-plugin/cjs/src/vite-plugin/virtualModule.d.ts +0 -3
  311. package/build/vite-plugin/cjs/src/vite-plugin/virtualModule.d.ts.map +0 -1
  312. package/build/vite-plugin/esm/index.js +0 -13
  313. package/build/vite-plugin/esm/index.js.map +0 -1
  314. package/build/vite-plugin/esm/src/pureFns/purityRules.d.ts +0 -5
  315. package/build/vite-plugin/esm/src/pureFns/purityRules.d.ts.map +0 -1
  316. package/build/vite-plugin/esm/src/pureFns/purityRules.js +0 -65
  317. package/build/vite-plugin/esm/src/pureFns/purityRules.js.map +0 -1
  318. package/build/vite-plugin/esm/src/vite-plugin/aotCacheGenerator.d.ts +0 -32
  319. package/build/vite-plugin/esm/src/vite-plugin/aotCacheGenerator.d.ts.map +0 -1
  320. package/build/vite-plugin/esm/src/vite-plugin/aotCacheGenerator.js +0 -271
  321. package/build/vite-plugin/esm/src/vite-plugin/aotCacheGenerator.js.map +0 -1
  322. package/build/vite-plugin/esm/src/vite-plugin/aotDiskCache.d.ts +0 -7
  323. package/build/vite-plugin/esm/src/vite-plugin/aotDiskCache.d.ts.map +0 -1
  324. package/build/vite-plugin/esm/src/vite-plugin/aotDiskCache.js +0 -134
  325. package/build/vite-plugin/esm/src/vite-plugin/aotDiskCache.js.map +0 -1
  326. package/build/vite-plugin/esm/src/vite-plugin/cjsPackageJsonPlugin.d.ts +0 -3
  327. package/build/vite-plugin/esm/src/vite-plugin/cjsPackageJsonPlugin.d.ts.map +0 -1
  328. package/build/vite-plugin/esm/src/vite-plugin/cjsPackageJsonPlugin.js +0 -15
  329. package/build/vite-plugin/esm/src/vite-plugin/cjsPackageJsonPlugin.js.map +0 -1
  330. package/build/vite-plugin/esm/src/vite-plugin/constants.d.ts +0 -13
  331. package/build/vite-plugin/esm/src/vite-plugin/constants.d.ts.map +0 -1
  332. package/build/vite-plugin/esm/src/vite-plugin/constants.js +0 -29
  333. package/build/vite-plugin/esm/src/vite-plugin/constants.js.map +0 -1
  334. package/build/vite-plugin/esm/src/vite-plugin/extractPureFn.d.ts +0 -14
  335. package/build/vite-plugin/esm/src/vite-plugin/extractPureFn.d.ts.map +0 -1
  336. package/build/vite-plugin/esm/src/vite-plugin/extractPureFn.js +0 -611
  337. package/build/vite-plugin/esm/src/vite-plugin/extractPureFn.js.map +0 -1
  338. package/build/vite-plugin/esm/src/vite-plugin/index.d.ts +0 -6
  339. package/build/vite-plugin/esm/src/vite-plugin/index.d.ts.map +0 -1
  340. package/build/vite-plugin/esm/src/vite-plugin/index.js +0 -13
  341. package/build/vite-plugin/esm/src/vite-plugin/index.js.map +0 -1
  342. package/build/vite-plugin/esm/src/vite-plugin/mionVitePlugin.d.ts +0 -37
  343. package/build/vite-plugin/esm/src/vite-plugin/mionVitePlugin.d.ts.map +0 -1
  344. package/build/vite-plugin/esm/src/vite-plugin/mionVitePlugin.js +0 -493
  345. package/build/vite-plugin/esm/src/vite-plugin/mionVitePlugin.js.map +0 -1
  346. package/build/vite-plugin/esm/src/vite-plugin/resolveModule.d.ts +0 -2
  347. package/build/vite-plugin/esm/src/vite-plugin/resolveModule.d.ts.map +0 -1
  348. package/build/vite-plugin/esm/src/vite-plugin/resolveModule.js +0 -33
  349. package/build/vite-plugin/esm/src/vite-plugin/resolveModule.js.map +0 -1
  350. package/build/vite-plugin/esm/src/vite-plugin/transformers.d.ts +0 -11
  351. package/build/vite-plugin/esm/src/vite-plugin/transformers.d.ts.map +0 -1
  352. package/build/vite-plugin/esm/src/vite-plugin/transformers.js +0 -149
  353. package/build/vite-plugin/esm/src/vite-plugin/transformers.js.map +0 -1
  354. package/build/vite-plugin/esm/src/vite-plugin/types.d.ts +0 -60
  355. package/build/vite-plugin/esm/src/vite-plugin/types.d.ts.map +0 -1
  356. package/build/vite-plugin/esm/src/vite-plugin/types.js +0 -2
  357. package/build/vite-plugin/esm/src/vite-plugin/types.js.map +0 -1
  358. package/build/vite-plugin/esm/src/vite-plugin/virtual-modules.d.js +0 -2
  359. package/build/vite-plugin/esm/src/vite-plugin/virtual-modules.d.js.map +0 -1
  360. package/build/vite-plugin/esm/src/vite-plugin/virtualModule.d.ts +0 -3
  361. package/build/vite-plugin/esm/src/vite-plugin/virtualModule.d.ts.map +0 -1
  362. package/build/vite-plugin/esm/src/vite-plugin/virtualModule.js +0 -69
  363. package/build/vite-plugin/esm/src/vite-plugin/virtualModule.js.map +0 -1
  364. package/src/eslint/index.ts +0 -53
  365. package/src/eslint/rules/enforce-type-imports.ts +0 -157
  366. package/src/eslint/rules/formatTypeNames.ts +0 -92
  367. package/src/eslint/rules/no-mixed-union-properties.ts +0 -276
  368. package/src/eslint/rules/no-type-imports.ts +0 -386
  369. package/src/eslint/rules/no-typeof-runtype.ts +0 -112
  370. package/src/eslint/rules/no-unreachable-union-types.ts +0 -357
  371. package/src/eslint/rules/no-vite-client.ts +0 -101
  372. package/src/eslint/rules/pure-functions.ts +0 -523
  373. package/src/eslint/rules/strong-typed-routes.ts +0 -537
  374. package/src/eslint/rules/type-formats-imports.ts +0 -73
  375. package/src/pureFns/purityRules.ts +0 -76
  376. package/src/vite-plugin/README.md +0 -399
  377. package/src/vite-plugin/aotCacheGenerator.ts +0 -397
  378. package/src/vite-plugin/aotDiskCache.ts +0 -193
  379. package/src/vite-plugin/cjsPackageJsonPlugin.ts +0 -21
  380. package/src/vite-plugin/constants.ts +0 -50
  381. package/src/vite-plugin/extractPureFn.ts +0 -845
  382. package/src/vite-plugin/index.ts +0 -27
  383. package/src/vite-plugin/mionVitePlugin.ts +0 -738
  384. package/src/vite-plugin/resolveModule.ts +0 -50
  385. package/src/vite-plugin/transformers.ts +0 -209
  386. package/src/vite-plugin/types.ts +0 -182
  387. package/src/vite-plugin/virtual-modules.d.ts +0 -48
  388. package/src/vite-plugin/virtualModule.ts +0 -94
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractPureFn.cjs","sources":["../../../../../src/vite-plugin/extractPureFn.ts"],"sourcesContent":["/* ########\n * 2026 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport * as ts from 'typescript';\nimport {createHash} from 'crypto';\nimport {transformSync} from 'esbuild';\nimport {ExtractedPureFn, ServerPureFunctionsOptions} from './types.ts';\nimport {BODY_HASH_LENGTH, PURE_SERVER_FN_NAMESPACE} from './constants.ts';\nimport {ALLOWED_GLOBALS, FORBIDDEN_IDENTIFIERS} from '../pureFns/purityRules.ts';\nimport {readdirSync, statSync, readFileSync} from 'fs';\nimport {resolve, join} from 'path/posix';\nimport {isIncluded} from './mionVitePlugin.ts';\n\n/**\n * Extracts all <script> block contents and lang attributes from a Vue SFC source.\n * Uses a regex + state machine approach instead of a full XML/HTML AST parser. Vue SFCs have\n * a simple, well-defined structure (top-level <script> blocks only) so this is sufficient.\n * This avoids adding @vue/compiler-sfc as a dependency just for keyword detection in the\n * scan pipeline. The Vite transform pipeline relies on @vitejs/plugin-vue for proper parsing.\n * A small string-literal tracker skips </script> inside quotes so embedded script tags\n * in string literals (e.g. injecting a header script as pure text) don't break extraction.\n */\nexport function extractVueScriptContent(source: string): {content: string; lang: string} | null {\n // Matches <script ...> allowing > inside quoted attribute values (e.g. generic=\"T extends Foo<Bar>\")\n const openRegex = /<script\\b((?:[^>\"']|\"[^\"]*\"|'[^']*')*)>/gi;\n const closeTag = '</script>';\n let combined = '';\n let lang = 'js';\n let found = false;\n\n let openMatch: RegExpExecArray | null;\n while ((openMatch = openRegex.exec(source)) !== null) {\n const attrs = openMatch[1];\n const contentStart = openMatch.index + openMatch[0].length;\n const closeIdx = findClosingScriptTag(source, contentStart, closeTag);\n if (closeIdx === -1) break;\n\n found = true;\n combined += source.slice(contentStart, closeIdx) + '\\n';\n // Advance the regex past the closing tag so the next iteration finds the next block\n openRegex.lastIndex = closeIdx + closeTag.length;\n\n const langMatch = attrs.match(/lang=[\"'](\\w+)[\"']/);\n if (langMatch) lang = langMatch[1];\n }\n\n return found ? {content: combined.trim(), lang} : null;\n}\n\n/** Finds the position of </script> while skipping occurrences inside string literals */\nfunction findClosingScriptTag(source: string, start: number, closeTag: string): number {\n let i = start;\n while (i < source.length) {\n const ch = source[i];\n\n // Skip string literals (single, double, template)\n if (ch === \"'\" || ch === '\"' || ch === '`') {\n i = skipStringLiteral(source, i, ch);\n continue;\n }\n\n // Check for closing tag (case-insensitive)\n if (ch === '<' && source.slice(i, i + closeTag.length).toLowerCase() === closeTag) {\n return i;\n }\n\n i++;\n }\n return -1;\n}\n\n/** Advances past a string literal, handling escape sequences and template literal nesting */\nfunction skipStringLiteral(source: string, start: number, quote: string): number {\n let i = start + 1;\n while (i < source.length) {\n const ch = source[i];\n if (ch === '\\\\') {\n i += 2; // skip escaped character\n continue;\n }\n if (ch === quote) return i + 1;\n i++;\n }\n return i;\n}\n\n/** Scans the client source directory and extracts all pure functions */\nexport function scanClientSource(options: ServerPureFunctionsOptions): ExtractedPureFn[] {\n const include = options.include || ['**/*.ts', '**/*.tsx', '**/*.vue'];\n const exclude = options.exclude || ['../node_modules/**', '**/.dist/**', '**/dist/**'];\n const clientSrcPath = resolve(options.clientSrcPath);\n const fns: ExtractedPureFn[] = [];\n\n function scanDir(dir: string) {\n const entries = readdirSync(dir);\n for (const entry of entries) {\n const fullPath = join(dir, entry);\n const stat = statSync(fullPath);\n\n if (stat.isDirectory()) {\n // Skip excluded directories\n if (!isIncluded(fullPath + '/', include, exclude)) continue;\n scanDir(fullPath);\n } else if (stat.isFile()) {\n // Only process included files\n if (!isIncluded(fullPath, include, exclude)) continue;\n\n try {\n let code = readFileSync(fullPath, 'utf-8');\n let effectivePath = fullPath;\n\n // For .vue files, extract script content\n if (fullPath.endsWith('.vue')) {\n const scriptBlock = extractVueScriptContent(code);\n if (!scriptBlock) continue;\n code = scriptBlock.content;\n effectivePath = `${fullPath}.${scriptBlock.lang}`;\n }\n\n // Quick check: does this file contain pureServerFn or mapFrom?\n const hasPureFn = code.includes('pureServerFn');\n const hasMapFrom = code.includes('mapFrom');\n if (!hasPureFn && !hasMapFrom) continue;\n\n if (hasPureFn) {\n const extracted = extractPureFnsFromSource(code, effectivePath, 'pureServerFn', options.noViteClient);\n fns.push(...extracted);\n }\n if (hasMapFrom) {\n const extracted = extractPureFnsFromSource(code, effectivePath, 'mapFrom', options.noViteClient);\n fns.push(...extracted);\n }\n } catch (err: any) {\n // Log but don't fail - some files might not be parseable\n console.warn(`[mion-pure-functions] Warning: Could not parse ${fullPath}: ${err.message}`);\n }\n }\n }\n }\n\n scanDir(clientSrcPath);\n return fns;\n}\n\n/** Extracts all calls to the given function name from a source file using AST */\nexport function extractPureFnsFromSource(\n source: string,\n filePath: string,\n fnName = 'pureServerFn',\n noViteClient = false\n): ExtractedPureFn[] {\n const results: ExtractedPureFn[] = [];\n\n // Quick check: does this file even contain the target function?\n if (!source.includes(fnName)) return results;\n\n // First, strip TypeScript types to get clean JavaScript\n const jsSource = stripTypes(source, filePath);\n\n // Parse the JavaScript into an AST\n const sourceFile = ts.createSourceFile(filePath, jsSource, ts.ScriptTarget.Latest, true, ts.ScriptKind.JS);\n\n // Visit all nodes and extract pure functions\n function visit(node: ts.Node): void {\n if (ts.isCallExpression(node)) {\n const callee = node.expression;\n if (ts.isIdentifier(callee) && callee.text === fnName) {\n if (fnName === 'registerPureFnFactory') {\n const extracted = extractDataFromRegisterPureFnFactoryAST(node, sourceFile, filePath);\n results.push(extracted);\n } else if (fnName === 'mapFrom') {\n const extracted = extractDataFromMapFromCallAST(node, sourceFile, filePath, noViteClient);\n results.push(extracted);\n } else {\n const extracted = extractDataFromPureFnDefAST(node, sourceFile, filePath, noViteClient);\n results.push(extracted);\n }\n }\n }\n ts.forEachChild(node, visit);\n }\n\n visit(sourceFile);\n\n return results;\n}\n\n/**\n * Strips TypeScript type annotations from code, returning pure JavaScript.\n * Uses esbuild instead of ts.transpileModule to avoid deepkit type compiler patches\n * that would inject __assignType artifacts into the output.\n */\nexport function stripTypes(code: string, filePath?: string): string {\n try {\n let loader: 'ts' | 'tsx' | 'js' | 'jsx' = 'ts';\n if (filePath) {\n if (filePath.endsWith('.tsx')) loader = 'tsx';\n else if (filePath.endsWith('.jsx')) loader = 'jsx';\n else if (filePath.endsWith('.js')) loader = 'js';\n }\n const result = transformSync(code, {\n loader,\n target: 'esnext',\n minify: false,\n });\n return result.code.trim();\n } catch (err: any) {\n // esbuild errors (e.g. await in non-async) are transformed to PurityError\n // so the extraction pipeline has a consistent error type\n throw new PurityError(err.message || String(err), '<esbuild>', 0);\n }\n}\n\n/** Extracts a single PureFnDef from a pureServerFn() call expression */\nfunction extractDataFromPureFnDefAST(\n call: ts.CallExpression,\n sourceFile: ts.SourceFile,\n filePath: string,\n noViteClient = false\n): ExtractedPureFn {\n // Accept 1 or 2 arguments: pureServerFn(fnOrDef) or pureServerFn(fnOrDef, 'name') (user-provided name or already transformed)\n if (call.arguments.length < 1 || call.arguments.length > 2) {\n throw new PurityError(\n 'pureServerFn() requires 1 or 2 arguments: a function/PureFnDef and an optional name/bodyHash string',\n filePath,\n call.getStart(sourceFile)\n );\n }\n\n // Extract user-provided name from 2nd argument if present\n let userProvidedName: string | undefined;\n if (call.arguments.length === 2) {\n const nameArg = call.arguments[1];\n if (!ts.isStringLiteral(nameArg)) {\n throw new PurityError(\n 'pureServerFn() second argument (name/bodyHash) must be a string literal',\n filePath,\n nameArg.getStart(sourceFile)\n );\n }\n if (nameArg.text.length === 0) {\n throw new PurityError(\n 'pureServerFn() second argument (name/bodyHash) must not be an empty string',\n filePath,\n nameArg.getStart(sourceFile)\n );\n }\n userProvidedName = nameArg.text;\n } else if (noViteClient) {\n throw new PurityError(\n 'pureServerFn() requires a name as the second argument (string literal) when noViteClient is enabled',\n filePath,\n call.getStart(sourceFile)\n );\n }\n\n let arg = call.arguments[0];\n\n // If the argument is a variable reference, resolve it to its initializer\n if (ts.isIdentifier(arg)) {\n const resolved = resolveVariableInitializer(arg.text, sourceFile);\n if (!resolved) {\n if (isImportedIdentifier(arg.text, sourceFile)) {\n throw new PurityError(\n `pureServerFn() argument \"${arg.text}\" is imported from another module. Pure functions must be defined inline or as a variable in the same file`,\n filePath,\n arg.getStart(sourceFile)\n );\n }\n throw new PurityError(\n `pureServerFn() argument \"${arg.text}\" could not be resolved to a variable declaration in this file. Pure functions must be defined inline or as a variable in the same file`,\n filePath,\n arg.getStart(sourceFile)\n );\n }\n arg = resolved;\n }\n\n // Plain function shorthand: pureServerFn((x) => x + 1) or pureServerFn(function myFn(x) { ... })\n if (ts.isFunctionExpression(arg) || ts.isArrowFunction(arg)) {\n return buildExtractedPureFn(arg, PURE_SERVER_FN_NAMESPACE, undefined, false, sourceFile, filePath, userProvidedName);\n }\n\n // Full PureFnDef object: pureServerFn({ pureFn: ..., namespace: ..., fnName: ... })\n if (ts.isObjectLiteralExpression(arg)) {\n return extractPureFnDefFromObjectLiteral(arg, sourceFile, filePath, userProvidedName);\n }\n\n throw new PurityError(\n 'pureServerFn() first argument must be a function, an object literal (PureFnDef), or a variable referencing one',\n filePath,\n call.arguments[0].getStart(sourceFile)\n );\n}\n\n/** Extracts the mapper function from a mapFrom(source, mapper) call expression */\nfunction extractDataFromMapFromCallAST(\n call: ts.CallExpression,\n sourceFile: ts.SourceFile,\n filePath: string,\n noViteClient = false\n): ExtractedPureFn {\n // Accept 2 or 3 arguments: mapFrom(source, mapper) or mapFrom(source, mapper, 'name') (user-provided name or already transformed)\n if (call.arguments.length < 2 || call.arguments.length > 3) {\n throw new PurityError(\n 'mapFrom() requires 2 or 3 arguments: a SubRequest source, a mapper function, and an optional name/bodyHash string',\n filePath,\n call.getStart(sourceFile)\n );\n }\n\n // Extract user-provided name from 3rd argument if present\n let userProvidedName: string | undefined;\n if (call.arguments.length === 3) {\n const nameArg = call.arguments[2];\n if (!ts.isStringLiteral(nameArg)) {\n throw new PurityError(\n 'mapFrom() third argument (name/bodyHash) must be a string literal',\n filePath,\n nameArg.getStart(sourceFile)\n );\n }\n if (nameArg.text.length === 0) {\n throw new PurityError(\n 'mapFrom() third argument (name/bodyHash) must not be an empty string',\n filePath,\n nameArg.getStart(sourceFile)\n );\n }\n userProvidedName = nameArg.text;\n } else if (noViteClient) {\n throw new PurityError(\n 'mapFrom() requires a name as the third argument (string literal) when noViteClient is enabled',\n filePath,\n call.getStart(sourceFile)\n );\n }\n\n let arg = call.arguments[1]; // mapper is the 2nd argument\n\n // If the argument is a variable reference, resolve it to its initializer\n if (ts.isIdentifier(arg)) {\n const resolved = resolveVariableInitializer(arg.text, sourceFile);\n if (!resolved) {\n if (isImportedIdentifier(arg.text, sourceFile)) {\n throw new PurityError(\n `mapFrom() mapper argument \"${arg.text}\" is imported from another module. Pure functions must be defined inline or as a variable in the same file`,\n filePath,\n arg.getStart(sourceFile)\n );\n }\n throw new PurityError(\n `mapFrom() mapper argument \"${arg.text}\" could not be resolved to a variable declaration in this file. Pure functions must be defined inline or as a variable in the same file`,\n filePath,\n arg.getStart(sourceFile)\n );\n }\n arg = resolved;\n }\n\n // Mapper must be a function expression or arrow function\n if (ts.isFunctionExpression(arg) || ts.isArrowFunction(arg)) {\n return buildExtractedPureFn(arg, PURE_SERVER_FN_NAMESPACE, undefined, false, sourceFile, filePath, userProvidedName);\n }\n\n throw new PurityError(\n 'mapFrom() second argument (mapper) must be a function expression or arrow function',\n filePath,\n call.arguments[1].getStart(sourceFile)\n );\n}\n\n/** Extracts data from a registerPureFnFactory(namespace, functionID, factoryFn) call expression */\nfunction extractDataFromRegisterPureFnFactoryAST(\n call: ts.CallExpression,\n sourceFile: ts.SourceFile,\n filePath: string\n): ExtractedPureFn {\n // Accept 3 or 4 arguments: registerPureFnFactory(ns, id, fn) or registerPureFnFactory(ns, id, fn, parsedFn)\n if (call.arguments.length < 3 || call.arguments.length > 4) {\n throw new PurityError(\n 'registerPureFnFactory() requires 3 or 4 arguments: namespace, functionID, factoryFn, and optional parsedFn',\n filePath,\n call.getStart(sourceFile)\n );\n }\n\n // 1st arg: namespace (string literal)\n const nsArg = call.arguments[0];\n if (!ts.isStringLiteral(nsArg)) {\n throw new PurityError(\n 'registerPureFnFactory() first argument (namespace) must be a string literal',\n filePath,\n nsArg.getStart(sourceFile)\n );\n }\n const namespace = nsArg.text;\n\n // 2nd arg: functionID (string literal)\n const idArg = call.arguments[1];\n if (!ts.isStringLiteral(idArg)) {\n throw new PurityError(\n 'registerPureFnFactory() second argument (functionID) must be a string literal',\n filePath,\n idArg.getStart(sourceFile)\n );\n }\n const fnName = idArg.text;\n\n // 3rd arg: factoryFn (function expression or arrow function)\n const fnArg = call.arguments[2];\n if (ts.isIdentifier(fnArg)) {\n if (isImportedIdentifier(fnArg.text, sourceFile)) {\n throw new PurityError(\n `registerPureFnFactory() third argument \"${fnArg.text}\" is imported from another module. The factory function must be defined inline`,\n filePath,\n fnArg.getStart(sourceFile)\n );\n }\n throw new PurityError(\n `registerPureFnFactory() third argument \"${fnArg.text}\" could not be resolved. The factory function must be defined inline as a function expression or arrow function`,\n filePath,\n fnArg.getStart(sourceFile)\n );\n }\n if (!ts.isFunctionExpression(fnArg) && !ts.isArrowFunction(fnArg)) {\n throw new PurityError(\n 'registerPureFnFactory() third argument (factoryFn) must be a function expression or arrow function',\n filePath,\n fnArg.getStart(sourceFile)\n );\n }\n\n // Extract parameter names\n const paramNames = fnArg.parameters.map((param) => {\n if (!ts.isIdentifier(param.name)) {\n throw new PurityError(\n 'Factory function parameters must be simple identifiers (no destructuring)',\n filePath,\n param.getStart(sourceFile)\n );\n }\n return param.name.text;\n });\n\n // Get the function body\n const bodyNode = fnArg.body;\n const bodyText = getBodyText(bodyNode, sourceFile);\n\n // Normalize body for hashing (collapse whitespace)\n const normalizedBody = bodyText.replace(/[ \\t]+/g, ' ').trim();\n const bodyHash = createHash('sha256')\n .update(namespace + fnName + normalizedBody)\n .digest('base64url')\n .slice(0, BODY_HASH_LENGTH);\n\n return {\n namespace,\n fnName,\n paramNames,\n fnBody: bodyText,\n bodyHash,\n dependencies: new Set(),\n sourceFile: filePath,\n isFactory: true, // registerPureFnFactory always registers factory functions\n };\n}\n\n/** Checks if an identifier name is imported from another module */\nfunction isImportedIdentifier(name: string, sourceFile: ts.SourceFile): boolean {\n for (const statement of sourceFile.statements) {\n if (!ts.isImportDeclaration(statement) || !statement.importClause) continue;\n const clause = statement.importClause;\n\n // Default import: import foo from '...'\n if (clause.name && clause.name.text === name) return true;\n\n if (clause.namedBindings) {\n // Namespace import: import * as foo from '...'\n if (ts.isNamespaceImport(clause.namedBindings) && clause.namedBindings.name.text === name) return true;\n\n // Named import: import { foo } from '...' or import { bar as foo } from '...'\n if (ts.isNamedImports(clause.namedBindings)) {\n for (const element of clause.namedBindings.elements) {\n if (element.name.text === name) return true;\n }\n }\n }\n }\n return false;\n}\n\n/** Resolves a variable name to its initializer expression within the source file */\nfunction resolveVariableInitializer(name: string, sourceFile: ts.SourceFile): ts.Expression | undefined {\n let result: ts.Expression | undefined;\n\n function visit(node: ts.Node): void {\n if (result) return;\n if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name) && node.name.text === name && node.initializer) {\n result = node.initializer;\n return;\n }\n ts.forEachChild(node, visit);\n }\n\n visit(sourceFile);\n return result;\n}\n\n/** Extracts PureFnDef data from an object literal AST node */\nfunction extractPureFnDefFromObjectLiteral(\n objLiteral: ts.ObjectLiteralExpression,\n sourceFile: ts.SourceFile,\n filePath: string,\n userProvidedName?: string\n): ExtractedPureFn {\n let pureFn: ts.FunctionExpression | ts.ArrowFunction | undefined;\n let namespace: string = PURE_SERVER_FN_NAMESPACE;\n let fnName: string | undefined;\n let isFactory = false;\n\n // Extract properties from the object literal\n for (const prop of objLiteral.properties) {\n if (!ts.isPropertyAssignment(prop)) continue;\n\n const propName = ts.isIdentifier(prop.name) ? prop.name.text : undefined;\n if (!propName) continue;\n\n switch (propName) {\n case 'pureFn': {\n const initializer = prop.initializer;\n if (ts.isFunctionExpression(initializer) || ts.isArrowFunction(initializer)) {\n pureFn = initializer;\n } else if (ts.isIdentifier(initializer)) {\n if (isImportedIdentifier(initializer.text, sourceFile)) {\n throw new PurityError(\n `pureFn property \"${initializer.text}\" is imported from another module. Pure functions must be defined inline or as a variable in the same file`,\n filePath,\n prop.initializer.getStart(sourceFile)\n );\n }\n throw new PurityError(\n `pureFn property \"${initializer.text}\" could not be resolved. Pure functions must be defined inline or as a variable in the same file`,\n filePath,\n prop.initializer.getStart(sourceFile)\n );\n } else {\n throw new PurityError(\n 'pureFn property must be a function expression or arrow function',\n filePath,\n prop.initializer.getStart(sourceFile)\n );\n }\n break;\n }\n case 'namespace':\n if (ts.isStringLiteral(prop.initializer)) {\n namespace = prop.initializer.text;\n } else {\n throw new PurityError(\n 'namespace property must be a string literal',\n filePath,\n prop.initializer.getStart(sourceFile)\n );\n }\n break;\n case 'fnName':\n if (ts.isStringLiteral(prop.initializer)) {\n fnName = prop.initializer.text;\n } else {\n throw new PurityError(\n 'fnName property must be a string literal',\n filePath,\n prop.initializer.getStart(sourceFile)\n );\n }\n break;\n case 'isFactory':\n if (prop.initializer.kind === ts.SyntaxKind.TrueKeyword) {\n isFactory = true;\n } else if (prop.initializer.kind === ts.SyntaxKind.FalseKeyword) {\n isFactory = false;\n } else {\n throw new PurityError(\n 'isFactory property must be a boolean literal',\n filePath,\n prop.initializer.getStart(sourceFile)\n );\n }\n break;\n }\n }\n\n if (!pureFn) {\n throw new PurityError('PureFnDef must have a pureFn property', filePath, objLiteral.getStart(sourceFile));\n }\n\n // For PureFnDef path: if no explicit fnName, try function.name fallback (set to 'useFunction' sentinel)\n const explicitFnName = fnName ?? (ts.isFunctionExpression(pureFn) && pureFn.name ? pureFn.name.text : undefined);\n return buildExtractedPureFn(pureFn, namespace, explicitFnName, isFactory, sourceFile, filePath, userProvidedName);\n}\n\n/** Common extraction logic: validates purity, computes hash, builds ExtractedPureFn */\nfunction buildExtractedPureFn(\n fnNode: ts.FunctionExpression | ts.ArrowFunction,\n namespace: string,\n explicitFnName: string | undefined,\n isFactory: boolean,\n sourceFile: ts.SourceFile,\n filePath: string,\n userProvidedName?: string\n): ExtractedPureFn {\n // Extract parameter names\n const paramNames = fnNode.parameters.map((param) => {\n if (!ts.isIdentifier(param.name)) {\n throw new PurityError(\n 'Pure function parameters must be simple identifiers (no destructuring)',\n filePath,\n param.getStart(sourceFile)\n );\n }\n return param.name.text;\n });\n\n // Get the function body\n const bodyNode = fnNode.body;\n\n // Validate purity\n const fnTypeLabel = isFactory ? 'factory functions' : 'pure functions';\n validatePurity(bodyNode, new Set(paramNames), explicitFnName, sourceFile, filePath, fnTypeLabel);\n\n // Get the body text\n const bodyText = getBodyText(bodyNode, sourceFile);\n\n // When user provides a name, use it as both bodyHash and fnName (skip hash computation)\n if (userProvidedName) {\n return {\n namespace,\n fnName: userProvidedName,\n paramNames,\n fnBody: bodyText,\n bodyHash: userProvidedName,\n dependencies: new Set(),\n sourceFile: filePath,\n isFactory,\n };\n }\n\n // Normalize body for hashing (collapse whitespace)\n const normalizedBody = bodyText.replace(/[ \\t]+/g, ' ').trim();\n const bodyHash = createHash('sha256')\n .update(namespace + normalizedBody)\n .digest('base64url')\n .slice(0, BODY_HASH_LENGTH);\n\n // Use explicit fnName if provided, otherwise default to bodyHash\n const fnName = explicitFnName || bodyHash;\n\n return {\n namespace,\n fnName,\n paramNames,\n fnBody: bodyText,\n bodyHash,\n dependencies: new Set(),\n sourceFile: filePath,\n isFactory,\n };\n}\n\n/** Gets the body text from a function body node */\nfunction getBodyText(body: ts.Node, sourceFile: ts.SourceFile): string {\n if (ts.isBlock(body)) {\n // Block body: { statements }\n const fullText = body.getText(sourceFile);\n return fullText.slice(1, -1).trim();\n } else {\n // Expression body (arrow function): return the expression wrapped in return\n return `return ${body.getText(sourceFile)}`;\n }\n}\n\n/** Validates that a function body is pure by traversing its AST */\nfunction validatePurity(\n body: ts.Node,\n localScope: Set<string>,\n fnName: string | undefined,\n sourceFile: ts.SourceFile,\n filePath: string,\n fnTypeLabel = 'pure functions'\n): void {\n // Collect all locally declared variables\n collectLocalDeclarations(body, localScope);\n\n // Add the function name to local scope (for recursion) if it exists\n if (fnName) localScope.add(fnName);\n\n // Traverse the AST and check for purity violations\n function checkNode(node: ts.Node): void {\n // Check for 'this' keyword\n if (node.kind === ts.SyntaxKind.ThisKeyword) {\n throw new PurityError(`'this' is not allowed in ${fnTypeLabel}`, filePath, node.getStart(sourceFile));\n }\n\n // Check for 'await' expression\n if (ts.isAwaitExpression(node)) {\n throw new PurityError(`async/await is not allowed in ${fnTypeLabel}`, filePath, node.getStart(sourceFile));\n }\n\n // Check for 'yield' keyword\n if (node.kind === ts.SyntaxKind.YieldKeyword) {\n throw new PurityError(`generators are not allowed in ${fnTypeLabel}`, filePath, node.getStart(sourceFile));\n }\n\n // Check for dynamic import\n if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {\n throw new PurityError(`Dynamic import() is not allowed in ${fnTypeLabel}`, filePath, node.getStart(sourceFile));\n }\n\n // Check for identifier references\n if (ts.isIdentifier(node)) {\n const name = node.text;\n\n // Skip if it's a property access (e.g., obj.prop - we only care about 'obj')\n if (ts.isPropertyAccessExpression(node.parent) && node.parent.name === node) {\n ts.forEachChild(node, checkNode);\n return;\n }\n\n // Skip if it's a property name in object literal\n if (ts.isPropertyAssignment(node.parent) && node.parent.name === node) {\n ts.forEachChild(node, checkNode);\n return;\n }\n\n // Skip if it's a shorthand property assignment name\n if (ts.isShorthandPropertyAssignment(node.parent) && node.parent.name === node) {\n // But we still need to check the value reference\n if (!localScope.has(name) && !ALLOWED_GLOBALS.has(name)) {\n throw new PurityError(\n `Closure variable \"${name}\" is not allowed in ${fnTypeLabel}. ${fnTypeLabel[0].toUpperCase() + fnTypeLabel.slice(1)} cannot access outer scope variables.`,\n filePath,\n node.getStart(sourceFile)\n );\n }\n ts.forEachChild(node, checkNode);\n return;\n }\n\n // Check for forbidden identifiers\n if (FORBIDDEN_IDENTIFIERS.has(name)) {\n throw new PurityError(`${name} is not allowed in ${fnTypeLabel}`, filePath, node.getStart(sourceFile));\n }\n\n // Check for closure variables (not local, not allowed global)\n if (!localScope.has(name) && !ALLOWED_GLOBALS.has(name)) {\n throw new PurityError(\n `Closure variable \"${name}\" is not allowed in ${fnTypeLabel}. ${fnTypeLabel[0].toUpperCase() + fnTypeLabel.slice(1)} cannot access outer scope variables.`,\n filePath,\n node.getStart(sourceFile)\n );\n }\n }\n\n ts.forEachChild(node, checkNode);\n }\n\n checkNode(body);\n}\n\n/** Collects all locally declared variable names from a node */\nfunction collectLocalDeclarations(node: ts.Node, scope: Set<string>): void {\n function visit(n: ts.Node): void {\n // Variable declarations: const x = ..., let y = ..., var z = ...\n if (ts.isVariableDeclaration(n)) {\n collectBindingNames(n.name, scope);\n }\n\n // Function declarations: function foo() {}\n if (ts.isFunctionDeclaration(n) && n.name) {\n scope.add(n.name.text);\n return;\n }\n\n // Function expressions: const foo = function bar() {}\n if (ts.isFunctionExpression(n) && n.name) {\n scope.add(n.name.text);\n n.parameters.forEach((p) => collectBindingNames(p.name, scope));\n return;\n }\n\n // Arrow functions: (x) => ...\n if (ts.isArrowFunction(n)) {\n n.parameters.forEach((p) => collectBindingNames(p.name, scope));\n return;\n }\n\n // For-of/for-in loop variables\n if (ts.isForOfStatement(n) || ts.isForInStatement(n)) {\n if (ts.isVariableDeclarationList(n.initializer)) {\n n.initializer.declarations.forEach((d) => collectBindingNames(d.name, scope));\n }\n }\n\n // Catch clause variable\n if (ts.isCatchClause(n) && n.variableDeclaration) {\n collectBindingNames(n.variableDeclaration.name, scope);\n }\n\n ts.forEachChild(n, visit);\n }\n\n visit(node);\n}\n\n/** Collects binding names from a binding pattern (handles destructuring) */\nfunction collectBindingNames(name: ts.BindingName, scope: Set<string>): void {\n if (ts.isIdentifier(name)) {\n scope.add(name.text);\n } else if (ts.isObjectBindingPattern(name)) {\n name.elements.forEach((el) => collectBindingNames(el.name, scope));\n } else if (ts.isArrayBindingPattern(name)) {\n name.elements.forEach((el) => {\n if (ts.isBindingElement(el)) {\n collectBindingNames(el.name, scope);\n }\n });\n }\n}\n\n/** Error thrown when a purity violation is detected */\nexport class PurityError extends Error {\n constructor(\n message: string,\n public readonly filePath: string,\n public readonly position: number\n ) {\n super(`${message} (in ${filePath} at position ${position})`);\n this.name = 'PurityError';\n }\n}\n"],"names":["resolve","readdirSync","join","statSync","isIncluded","readFileSync","ts","transformSync","PURE_SERVER_FN_NAMESPACE","createHash","BODY_HASH_LENGTH","ALLOWED_GLOBALS","FORBIDDEN_IDENTIFIERS"],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { ExtractedPureFn, ServerPureFunctionsOptions } from './types.ts';
2
- export declare function extractVueScriptContent(source: string): {
3
- content: string;
4
- lang: string;
5
- } | null;
6
- export declare function scanClientSource(options: ServerPureFunctionsOptions): ExtractedPureFn[];
7
- export declare function extractPureFnsFromSource(source: string, filePath: string, fnName?: string, noViteClient?: boolean): ExtractedPureFn[];
8
- export declare function stripTypes(code: string, filePath?: string): string;
9
- export declare class PurityError extends Error {
10
- readonly filePath: string;
11
- readonly position: number;
12
- constructor(message: string, filePath: string, position: number);
13
- }
14
- //# sourceMappingURL=extractPureFn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractPureFn.d.ts","sourceRoot":"","sources":["../../../../../src/vite-plugin/extractPureFn.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,eAAe,EAAE,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAgBvE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CAyB9F;AAwCD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,0BAA0B,GAAG,eAAe,EAAE,CAuDvF;AAGD,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAiB,EACvB,YAAY,UAAQ,GACrB,eAAe,EAAE,CAmCnB;AAOD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBlE;AA4mBD,qBAAa,WAAY,SAAQ,KAAK;aAGd,QAAQ,EAAE,MAAM;aAChB,QAAQ,EAAE,MAAM;gBAFhC,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;CAKvC"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const src_vitePlugin_mionVitePlugin = require("./mionVitePlugin.cjs");
4
- const src_vitePlugin_cjsPackageJsonPlugin = require("./cjsPackageJsonPlugin.cjs");
5
- const src_vitePlugin_constants = require("./constants.cjs");
6
- exports.mionVitePlugin = src_vitePlugin_mionVitePlugin.mionVitePlugin;
7
- exports.serverReady = src_vitePlugin_mionVitePlugin.serverReady;
8
- exports.cjsPackageJsonPlugin = src_vitePlugin_cjsPackageJsonPlugin.cjsPackageJsonPlugin;
9
- exports.VIRTUAL_AOT_JIT_FNS = src_vitePlugin_constants.VIRTUAL_AOT_JIT_FNS;
10
- exports.VIRTUAL_AOT_PURE_FNS = src_vitePlugin_constants.VIRTUAL_AOT_PURE_FNS;
11
- exports.VIRTUAL_AOT_ROUTER_CACHE = src_vitePlugin_constants.VIRTUAL_AOT_ROUTER_CACHE;
12
- exports.VIRTUAL_PURE_FUNCTIONS = src_vitePlugin_constants.VIRTUAL_SERVER_PURE_FNS;
13
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,6 +0,0 @@
1
- export { mionVitePlugin, serverReady } from './mionVitePlugin.ts';
2
- export type { MionPluginOptions } from './mionVitePlugin.ts';
3
- export type { AOTCacheOptions, MionServerConfig, ServerPureFunctionsOptions as PureFunctionsPluginOptions, DeepkitTypeOptions, } from './types.ts';
4
- export { cjsPackageJsonPlugin } from './cjsPackageJsonPlugin.ts';
5
- export { VIRTUAL_AOT_JIT_FNS, VIRTUAL_AOT_PURE_FNS, VIRTUAL_AOT_ROUTER_CACHE, VIRTUAL_SERVER_PURE_FNS as VIRTUAL_PURE_FUNCTIONS, } from './constants.ts';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/vite-plugin/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EACR,eAAe,EACf,gBAAgB,EAChB,0BAA0B,IAAI,0BAA0B,EACxD,kBAAkB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,IAAI,sBAAsB,GACpD,MAAM,gBAAgB,CAAC"}