@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
@@ -0,0 +1,28 @@
1
+ import { relative, resolve, sep } from 'path';
2
+ import ts from 'typescript';
3
+ export function collectBuildEntries(packageDir, tsconfigFile = 'tsconfig.build.json') {
4
+ const configPath = resolve(packageDir, tsconfigFile);
5
+ const host = {
6
+ ...ts.sys,
7
+ onUnRecoverableConfigFileDiagnostic: (diagnostic) => {
8
+ throw new Error(`[collectBuildEntries] ${ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n')}`);
9
+ },
10
+ };
11
+ const parsed = ts.getParsedCommandLineOfConfigFile(configPath, undefined, host);
12
+ if (!parsed)
13
+ throw new Error(`[collectBuildEntries] could not parse ${configPath}`);
14
+ const entries = {};
15
+ for (const fileName of parsed.fileNames) {
16
+ if (!fileName.endsWith('.ts') || fileName.endsWith('.d.ts'))
17
+ continue;
18
+ const relativePath = relative(packageDir, fileName).split(sep).join('/');
19
+ if (relativePath.startsWith('..'))
20
+ continue;
21
+ entries[relativePath.replace(/\.ts$/, '')] = fileName;
22
+ }
23
+ if (Object.keys(entries).length === 0) {
24
+ throw new Error(`[collectBuildEntries] ${configPath} matched no TypeScript files — check its include/exclude.`);
25
+ }
26
+ return entries;
27
+ }
28
+ //# sourceMappingURL=buildEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildEntries.js","sourceRoot":"","sources":["../../src/vite/buildEntries.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAC,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,MAAM,YAAY,CAAC;AAK5B,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,YAAY,GAAG,qBAAqB;IAC1F,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,IAAI,GAA2B;QACnC,GAAG,EAAE,CAAC,GAAG;QACT,mCAAmC,EAAE,CAAC,UAAU,EAAE,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;KACF,CAAC;IACF,MAAM,MAAM,GAAG,EAAE,CAAC,gCAAgC,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAChF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC;IACpF,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QACtE,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,2DAA2D,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from 'vite';
2
+ export declare function cjsPackageJsonPlugin(...cjsDirs: string[]): Plugin;
3
+ //# sourceMappingURL=cjsPackageJsonPlugin.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { writeFileSync } from 'fs';
2
+ export function cjsPackageJsonPlugin(...cjsDirs) {
3
+ return {
4
+ name: 'cjs-package-json',
5
+ closeBundle() {
6
+ for (const dir of cjsDirs) {
7
+ writeFileSync(`${dir}/package.json`, '{"type":"commonjs"}\n');
8
+ }
9
+ },
10
+ };
11
+ }
12
+ //# sourceMappingURL=cjsPackageJsonPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cjsPackageJsonPlugin.js","sourceRoot":"","sources":["../../src/vite/cjsPackageJsonPlugin.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAC;AAGjC,MAAM,UAAU,oBAAoB,CAAC,GAAG,OAAiB;IACvD,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW;YACT,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,GAAG,GAAG,eAAe,EAAE,uBAAuB,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { mionVitePlugin, resolveRtBinary } from './mionVitePlugin.ts';
2
+ export type { MionClientOptions, MionPluginOptions, MionRunTypesOptions, MionServerBuildOptions, MionServerOptions, } from './mionVitePlugin.ts';
3
+ export { DEFAULT_MIDDLEWARE_EXCLUDE } from './middlewareMode.ts';
4
+ export { cjsPackageJsonPlugin } from './cjsPackageJsonPlugin.ts';
5
+ export { collectBuildEntries } from './buildEntries.ts';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+ export { mionVitePlugin, resolveRtBinary } from "./mionVitePlugin.js";
2
+ export { DEFAULT_MIDDLEWARE_EXCLUDE } from "./middlewareMode.js";
3
+ export { cjsPackageJsonPlugin } from "./cjsPackageJsonPlugin.js";
4
+ export { collectBuildEntries } from "./buildEntries.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAWpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Plugin } from 'vite';
2
+ import type { MionServerOptions } from './mionVitePlugin.ts';
3
+ export declare const DEFAULT_MIDDLEWARE_EXCLUDE: RegExp[];
4
+ export interface MiddlewareReadySignals {
5
+ onReady: () => void;
6
+ onError: (err: Error) => void;
7
+ batchesModuleOf?: () => string;
8
+ }
9
+ export declare function mionMiddlewarePlugin(options: MionServerOptions, signals: MiddlewareReadySignals): Plugin;
10
+ //# sourceMappingURL=middlewareMode.d.ts.map
@@ -0,0 +1,227 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { serveFetchHandler } from "./nodeWebBridge.js";
4
+ const NODE_HANDLER_EXPORTS = ['httpRequestHandler'];
5
+ const FETCH_HANDLER_EXPORTS = ['requestHandler', 'bunRequestHandler', 'fetch'];
6
+ const DEFAULT_PLATFORM = '@mionjs/platform-node';
7
+ export const DEFAULT_MIDDLEWARE_EXCLUDE = [
8
+ /^\/@/,
9
+ /^\/__vite/,
10
+ /^\/node_modules\//,
11
+ /[?&]t=\d+/,
12
+ /[?&](import|worker|url|raw)(&|=|$)/,
13
+ /^\/favicon\.ico($|\?)/,
14
+ /\.(m?[jt]sx?|vue|svelte|astro|css|scss|sass|less|styl|html|map|svg|png|jpe?g|gif|webp|avif|ico|woff2?|ttf|otf|eot|wasm)($|\?)/,
15
+ ];
16
+ export function mionMiddlewarePlugin(options, signals) {
17
+ let entryPath = path.resolve(options.entry);
18
+ const exclude = options.exclude ?? DEFAULT_MIDDLEWARE_EXCLUDE;
19
+ let mounted = false;
20
+ let initPromise;
21
+ let initError;
22
+ let nodeHandler;
23
+ let fetchHandler;
24
+ let mountPath = '';
25
+ let staleSince;
26
+ let routerModule;
27
+ let closed = false;
28
+ let inFlight = Promise.resolve();
29
+ function track(loading) {
30
+ inFlight = loading.catch(() => undefined);
31
+ return loading;
32
+ }
33
+ async function load(server) {
34
+ const router = await server.ssrLoadModule('@mionjs/router');
35
+ if (closed)
36
+ return;
37
+ routerModule = router;
38
+ router.setHostOwnsSocket(true);
39
+ const entry = await server.ssrLoadModule(entryPath);
40
+ await Promise.all(Object.values(entry).filter((value) => value instanceof Promise));
41
+ assertNotListening(router);
42
+ mountPath = normalizeMountPath(router.getRouterOptions?.().basePath);
43
+ const handlers = await pickHandler(server, entry, router.getHostRequestHandler?.());
44
+ nodeHandler = handlers.node;
45
+ fetchHandler = handlers.fetch;
46
+ }
47
+ function init(server) {
48
+ initPromise ??= track(load(server)).then(() => signals.onReady(), (err) => {
49
+ initError = err instanceof Error ? err : new Error(String(err));
50
+ console.error(`[mion] middleware mode failed to load ${entryPath}:`, initError);
51
+ signals.onError(initError);
52
+ });
53
+ return initPromise;
54
+ }
55
+ async function reload(server) {
56
+ const ssrGraph = server.environments?.ssr?.moduleGraph;
57
+ const graph = ssrGraph ?? server.moduleGraph;
58
+ const entryModule = await graph.getModuleByUrl(entryPath, true);
59
+ if (entryModule)
60
+ invalidateOwnModules(server, graph, entryModule);
61
+ const router = await server.ssrLoadModule('@mionjs/router');
62
+ router.resetRouter?.();
63
+ await track(load(server));
64
+ }
65
+ return {
66
+ name: 'mion-middleware-server',
67
+ configResolved(config) {
68
+ entryPath = path.resolve(config.root, options.entry);
69
+ },
70
+ async closeBundle() {
71
+ closed = true;
72
+ await inFlight;
73
+ routerModule?.setHostOwnsSocket(false);
74
+ },
75
+ config() {
76
+ return { ssr: { noExternal: [/@mionjs\//] } };
77
+ },
78
+ configureServer(server) {
79
+ if (mounted)
80
+ return;
81
+ mounted = true;
82
+ server.middlewares.use(async (req, res, next) => {
83
+ try {
84
+ const url = req.url || '/';
85
+ if (mountPath && !isUnderMountPath(url, mountPath))
86
+ return next();
87
+ await init(server);
88
+ if (staleSince !== undefined) {
89
+ staleSince = undefined;
90
+ await reload(server);
91
+ }
92
+ if (!matches(req.url || '/', mountPath, exclude))
93
+ return next();
94
+ if (initError)
95
+ return fail(res, initError);
96
+ if (nodeHandler)
97
+ return nodeHandler(req, res);
98
+ if (fetchHandler)
99
+ return await serveFetchHandler(fetchHandler, req, res, isSecure(server));
100
+ return fail(res, new Error('no mion request handler was resolved'));
101
+ }
102
+ catch (err) {
103
+ console.error('[mion] middleware error:', err);
104
+ if (!res.writableEnded)
105
+ fail(res, err instanceof Error ? err : new Error(String(err)));
106
+ }
107
+ });
108
+ if (!process.env.VITEST)
109
+ void init(server);
110
+ if (options.hotReload === false)
111
+ return;
112
+ server.watcher.on('add', (file) => {
113
+ if (!initPromise || staleSince !== undefined)
114
+ return;
115
+ const batchesModule = signals.batchesModuleOf?.() ?? '';
116
+ if (batchesModule && path.resolve(file) === batchesModule)
117
+ staleSince = Date.now();
118
+ });
119
+ server.watcher.on('change', (file) => {
120
+ if (!initPromise || staleSince !== undefined)
121
+ return;
122
+ if (!isOwnFile(server, file))
123
+ return;
124
+ let realFile = file;
125
+ try {
126
+ realFile = fs.realpathSync(file);
127
+ }
128
+ catch {
129
+ }
130
+ const candidates = realFile === file ? [file] : [file, realFile];
131
+ const graphs = server.environments
132
+ ? Object.values(server.environments).map((env) => env.moduleGraph)
133
+ : [server.moduleGraph];
134
+ if (!graphs.some((graph) => candidates.some((f) => graph?.getModulesByFile?.(f)?.size)))
135
+ return;
136
+ staleSince = Date.now();
137
+ });
138
+ },
139
+ };
140
+ }
141
+ function assertNotListening(router) {
142
+ const platformConfig = router.getPlatformConfig?.();
143
+ if (!platformConfig)
144
+ return;
145
+ if (platformConfig.asMiddleware === true)
146
+ return;
147
+ throw new Error(`[mionVitePlugin] middleware mode: the server entry opened its own port. @mionjs/router was loaded twice, ` +
148
+ `so the platform adapter never saw that vite owns the socket. Make sure ssr.noExternal keeps @mionjs/* ` +
149
+ `in one instance (the plugin adds /@mionjs\\// for you; a custom ssr.noExternal must not drop it).`);
150
+ }
151
+ async function pickHandler(server, entry, hostHandler) {
152
+ const fromEntry = handlerExportOf(entry);
153
+ if (fromEntry)
154
+ return fromEntry;
155
+ if (hostHandler?.node || hostHandler?.fetch)
156
+ return hostHandler;
157
+ let loadError;
158
+ const nodeAdapter = await server.ssrLoadModule(DEFAULT_PLATFORM).catch((error) => void (loadError = error));
159
+ const fromAdapter = nodeAdapter && handlerExportOf(nodeAdapter);
160
+ if (fromAdapter)
161
+ return fromAdapter;
162
+ throw new Error(`[mionVitePlugin] middleware mode found no request handler. Start a mion platform adapter in the server ` +
163
+ `entry, or export one of ${[...NODE_HANDLER_EXPORTS, ...FETCH_HANDLER_EXPORTS].join(', ')} from it.`, { cause: loadError });
164
+ }
165
+ function handlerExportOf(source) {
166
+ const node = NODE_HANDLER_EXPORTS.map((name) => source[name]).find((fn) => typeof fn === 'function');
167
+ if (node)
168
+ return { node };
169
+ const fetch = FETCH_HANDLER_EXPORTS.map((name) => source[name]).find((fn) => typeof fn === 'function');
170
+ if (fetch)
171
+ return { fetch };
172
+ return undefined;
173
+ }
174
+ function normalizeMountPath(basePath) {
175
+ if (typeof basePath !== 'string' || !basePath)
176
+ return '';
177
+ const withLeading = basePath.startsWith('/') ? basePath : `/${basePath}`;
178
+ return withLeading.endsWith('/') ? withLeading.slice(0, -1) : withLeading;
179
+ }
180
+ function isUnderMountPath(url, mountPath) {
181
+ if (!url.startsWith(mountPath))
182
+ return false;
183
+ const rest = url.slice(mountPath.length);
184
+ return rest === '' || rest.startsWith('/') || rest.startsWith('?');
185
+ }
186
+ function matches(url, mountPath, exclude) {
187
+ if (mountPath)
188
+ return isUnderMountPath(url, mountPath);
189
+ return !exclude.some((pattern) => pattern.test(url));
190
+ }
191
+ function safeRealpath(p) {
192
+ try {
193
+ return fs.realpathSync(p);
194
+ }
195
+ catch {
196
+ return p;
197
+ }
198
+ }
199
+ function isOwnFile(server, file) {
200
+ if (file.includes('node_modules'))
201
+ return false;
202
+ const resolved = path.resolve(file);
203
+ const root = path.resolve(server.config.root);
204
+ return resolved.startsWith(root) || safeRealpath(resolved).startsWith(safeRealpath(root));
205
+ }
206
+ function invalidateOwnModules(server, graph, entryModule) {
207
+ const seen = new Set();
208
+ const walk = (mod) => {
209
+ if (seen.has(mod))
210
+ return;
211
+ seen.add(mod);
212
+ if (mod.file && !isOwnFile(server, mod.file))
213
+ return;
214
+ graph.invalidateModule(mod);
215
+ (mod.ssrImportedModules ?? mod.importedModules ?? []).forEach(walk);
216
+ };
217
+ walk(entryModule);
218
+ }
219
+ function fail(res, err) {
220
+ res.statusCode = 503;
221
+ res.setHeader('content-type', 'text/plain; charset=utf-8');
222
+ res.end(`mion API failed to initialize:\n${err.message}`);
223
+ }
224
+ function isSecure(server) {
225
+ return !!server.config.server?.https;
226
+ }
227
+ //# sourceMappingURL=middlewareMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewareMode.js","sourceRoot":"","sources":["../../src/vite/middlewareMode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { GenerateInfo } from '../core/unplugin.ts';
2
+ import type { PluginOption } from 'vite';
3
+ import { resolveRtBinary, type MionClientOptions, type MionPresetOptions, type MionRunTypesOptions } from '../options.ts';
4
+ export { resolveRtBinary };
5
+ export type { MionClientOptions, MionRunTypesOptions };
6
+ export interface MionServerOptions {
7
+ entry: string;
8
+ build?: MionServerBuildOptions;
9
+ exclude?: RegExp[];
10
+ hotReload?: boolean;
11
+ }
12
+ export interface MionServerBuildOptions {
13
+ outDir?: string;
14
+ }
15
+ export interface MionPluginOptions extends MionPresetOptions {
16
+ server?: MionServerOptions;
17
+ }
18
+ export declare function createBatchTransportSignals(invalidate: (files: string[]) => void): {
19
+ onGenerate: (info: GenerateInfo) => void;
20
+ batchesModuleOf: () => string;
21
+ };
22
+ export declare function mionVitePlugin(options?: MionPluginOptions): PluginOption[];
23
+ //# sourceMappingURL=mionVitePlugin.d.ts.map
@@ -0,0 +1,115 @@
1
+ import path from 'node:path';
2
+ import tsRuntypes from "../runtypes/vite.js";
3
+ import { mionMiddlewarePlugin } from "./middlewareMode.js";
4
+ import { createVirtualSiteMap, mionSfcPlugins } from "./sfcTransform.js";
5
+ import { resolveRtBinary, toRunTypesOptions, } from "../options.js";
6
+ export { resolveRtBinary };
7
+ export function createBatchTransportSignals(invalidate) {
8
+ let firstGenerateDone = false;
9
+ let batchesModule = '';
10
+ return {
11
+ batchesModuleOf: () => batchesModule,
12
+ onGenerate: (info) => {
13
+ const presenceChanged = (info.batchesModule !== '') !== (batchesModule !== '');
14
+ batchesModule = info.batchesModule;
15
+ if (presenceChanged && firstGenerateDone)
16
+ invalidate(info.routerInitFiles);
17
+ firstGenerateDone = true;
18
+ },
19
+ };
20
+ }
21
+ export function mionVitePlugin(options = {}) {
22
+ const rt = options.runTypes ?? {};
23
+ const transport = createBatchTransportSignals((files) => invalidateFiles(files));
24
+ const virtualSites = createVirtualSiteMap();
25
+ let devServer;
26
+ const invalidateStaleSites = (siteFiles) => {
27
+ const graph = devServer?.moduleGraph;
28
+ if (!graph?.getModuleById || !graph.invalidateModule)
29
+ return;
30
+ for (const siteFile of siteFiles) {
31
+ const id = virtualSites.resolve(siteFile) ?? siteFile;
32
+ const mod = graph.getModuleById(id);
33
+ if (mod)
34
+ graph.invalidateModule(mod);
35
+ }
36
+ };
37
+ const invalidateFiles = (files) => {
38
+ const server = devServer;
39
+ if (!server)
40
+ return;
41
+ const graphs = server.environments
42
+ ? Object.values(server.environments).map((env) => env.moduleGraph)
43
+ : [server.moduleGraph];
44
+ for (const file of files) {
45
+ for (const graph of graphs) {
46
+ for (const mod of graph?.getModulesByFile?.(file) ?? [])
47
+ graph.invalidateModule(mod);
48
+ }
49
+ }
50
+ };
51
+ const rtPluginOptions = {
52
+ ...toRunTypesOptions(options),
53
+ onGenerate: transport.onGenerate,
54
+ onSiteFilesChanged: invalidateStaleSites,
55
+ };
56
+ const plugins = tsRuntypes(rtPluginOptions);
57
+ const extraPlugins = [];
58
+ extraPlugins.push(...mionSfcPlugins(findRtPlugin(plugins), rt.sfc !== false, virtualSites));
59
+ extraPlugins.push({
60
+ name: 'mion-rt-invalidate',
61
+ configureServer(server) {
62
+ devServer = server;
63
+ },
64
+ });
65
+ if (options.server) {
66
+ const server = options.server;
67
+ if (typeof server.entry !== 'string' || !server.entry) {
68
+ throw new Error('[mionVitePlugin] server.entry must name the server entry file.');
69
+ }
70
+ extraPlugins.unshift(mionMiddlewarePlugin(server, {
71
+ onReady: () => { },
72
+ onError: () => { },
73
+ batchesModuleOf: transport.batchesModuleOf,
74
+ }));
75
+ if (server.build)
76
+ extraPlugins.unshift(serverBundlePlugin(server, server.build));
77
+ }
78
+ return [...extraPlugins, plugins];
79
+ }
80
+ function findRtPlugin(created) {
81
+ const queue = [created];
82
+ while (queue.length) {
83
+ const next = queue.shift();
84
+ if (Array.isArray(next))
85
+ queue.push(...next);
86
+ else if (typeof next?.transform === 'function')
87
+ return next;
88
+ }
89
+ return undefined;
90
+ }
91
+ function serverBundlePlugin(server, build) {
92
+ return {
93
+ name: 'mion-server-bundle',
94
+ config: {
95
+ order: 'post',
96
+ handler(userConfig) {
97
+ const root = path.resolve(userConfig.root ?? process.cwd());
98
+ return {
99
+ builder: { sharedConfigBuild: true, sharedPlugins: true },
100
+ environments: {
101
+ ssr: {
102
+ resolve: { noExternal: [/@mionjs\//] },
103
+ build: {
104
+ outDir: build.outDir ?? 'dist-server',
105
+ emptyOutDir: true,
106
+ rollupOptions: { input: path.resolve(root, server.entry) },
107
+ },
108
+ },
109
+ },
110
+ };
111
+ },
112
+ },
113
+ };
114
+ }
115
+ //# sourceMappingURL=mionVitePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mionVitePlugin.js","sourceRoot":"","sources":["../../src/vite/mionVitePlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
+ export declare function nodeRequestToWeb(req: IncomingMessage, isSecure?: boolean): Promise<Request>;
3
+ export declare function writeWebResponseToNode(webResponse: Response, res: ServerResponse): Promise<void>;
4
+ export declare function serveFetchHandler(handler: (req: Request) => Response | Promise<Response>, req: IncomingMessage, res: ServerResponse, isSecure?: boolean): Promise<void>;
5
+ //# sourceMappingURL=nodeWebBridge.d.ts.map
@@ -0,0 +1,59 @@
1
+ export async function nodeRequestToWeb(req, isSecure = false) {
2
+ const headers = new Headers();
3
+ for (const [key, value] of Object.entries(req.headers)) {
4
+ if (value === undefined)
5
+ continue;
6
+ if (Array.isArray(value))
7
+ value.forEach((v) => headers.append(key, v));
8
+ else
9
+ headers.set(key, value);
10
+ }
11
+ const host = req.headers.host || 'localhost';
12
+ const url = `${isSecure ? 'https' : 'http'}://${host}${req.url || '/'}`;
13
+ const method = req.method || 'GET';
14
+ const body = method === 'GET' || method === 'HEAD' ? undefined : await readBody(req);
15
+ return new Request(url, { method, headers, body });
16
+ }
17
+ export async function writeWebResponseToNode(webResponse, res) {
18
+ res.statusCode = webResponse.status;
19
+ const setCookie = webResponse.headers.getSetCookie?.() ?? [];
20
+ if (setCookie.length)
21
+ res.setHeader('set-cookie', setCookie);
22
+ webResponse.headers.forEach((value, key) => {
23
+ if (key.toLowerCase() === 'set-cookie')
24
+ return;
25
+ res.setHeader(key, value);
26
+ });
27
+ if (!webResponse.body) {
28
+ res.end();
29
+ return;
30
+ }
31
+ res.end(Buffer.from(await webResponse.arrayBuffer()));
32
+ }
33
+ export async function serveFetchHandler(handler, req, res, isSecure) {
34
+ const webResponse = await handler(await nodeRequestToWeb(req, isSecure));
35
+ await writeWebResponseToNode(webResponse, res);
36
+ }
37
+ function readBody(req) {
38
+ return new Promise((resolve, reject) => {
39
+ const chunks = [];
40
+ let size = 0;
41
+ req.on('data', (chunk) => {
42
+ chunks.push(chunk);
43
+ size += chunk.byteLength;
44
+ });
45
+ req.on('error', reject);
46
+ req.on('end', () => {
47
+ if (!size)
48
+ return resolve(undefined);
49
+ const body = new Uint8Array(size);
50
+ let offset = 0;
51
+ for (const chunk of chunks) {
52
+ body.set(chunk, offset);
53
+ offset += chunk.byteLength;
54
+ }
55
+ resolve(body);
56
+ });
57
+ });
58
+ }
59
+ //# sourceMappingURL=nodeWebBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeWebBridge.js","sourceRoot":"","sources":["../../src/vite/nodeWebBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Plugin } from 'vite';
2
+ export interface VirtualSiteMap {
3
+ register(virtualPath: string, realFile: string): void;
4
+ resolve(siteFile: string): string | undefined;
5
+ }
6
+ export declare function createVirtualSiteMap(): VirtualSiteMap;
7
+ export declare function mionSfcPlugins(rt: Plugin | undefined, inject?: boolean, virtualSites?: VirtualSiteMap): Plugin[];
8
+ //# sourceMappingURL=sfcTransform.d.ts.map