@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 @@
1
+ {"version":3,"file":"unplugin.js","sourceRoot":"","sources":["../../src/core/unplugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './core/unplugin.ts';
2
+ export { default } from './core/unplugin.ts';
3
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from "./core/unplugin.js";
2
+ export { default } from "./core/unplugin.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type Diagnostic } from '../core/protocol.ts';
2
+ export type RuleName = 'error' | 'runtime-error' | 'warning' | 'info';
3
+ export interface RuleSpec {
4
+ readonly name: RuleName;
5
+ readonly default: 'error' | 'warn' | 'off';
6
+ readonly description: string;
7
+ }
8
+ export declare const RULE_SPECS: readonly RuleSpec[];
9
+ export declare const ALL_RULE_NAMES: readonly RuleName[];
10
+ export interface LintLoc {
11
+ start: {
12
+ line: number;
13
+ column: number;
14
+ };
15
+ end?: {
16
+ line: number;
17
+ column: number;
18
+ };
19
+ }
20
+ export interface LintReport {
21
+ ruleName: RuleName;
22
+ message: string;
23
+ loc: LintLoc;
24
+ }
25
+ export declare function anchoredIn(diagnostic: Diagnostic, file: string): boolean;
26
+ export declare function routeDiagnostic(diagnostic: Diagnostic): LintReport;
27
+ export declare function renderMessage(diagnostic: Diagnostic): string;
28
+ //# sourceMappingURL=diagnosticRouting.d.ts.map
@@ -0,0 +1,74 @@
1
+ import path from 'node:path';
2
+ import { DIAGNOSTIC_CATALOG, renderHeadline } from "../core/diagnosticCatalog.js";
3
+ import { DOWNGRADED_NOTE } from "../core/downgradeErrors.js";
4
+ import { Level } from "../core/protocol.js";
5
+ export const RULE_SPECS = [
6
+ {
7
+ name: 'error',
8
+ default: 'error',
9
+ description: 'Every mion Error: the build produced no code for the call, so it stops everywhere, the dev server included. Also reports a tsconfig that does not load and a checker that cannot run',
10
+ },
11
+ {
12
+ name: 'runtime-error',
13
+ default: 'error',
14
+ description: 'Every mion RuntimeError: the build produced code that throws or no longer checks what you asked for. Every build stops on it; a dev server prints it and keeps running. A comment or `downgradeErrors` can lower it to a warning',
15
+ },
16
+ {
17
+ name: 'warning',
18
+ default: 'warn',
19
+ description: 'Every mion Warning (the code works, but may surprise you), plus every error a `@mion-downgrade-error` comment or the tsconfig `downgradeErrors` lowered, marked `(downgraded)`',
20
+ },
21
+ {
22
+ name: 'info',
23
+ default: 'off',
24
+ description: 'Every mion Info message: documented behaviour or advice, such as a member left out of a validator because it holds no data. Off by default, like in the build',
25
+ },
26
+ ];
27
+ export const ALL_RULE_NAMES = RULE_SPECS.map((spec) => spec.name);
28
+ export function anchoredIn(diagnostic, file) {
29
+ return Boolean(diagnostic.site.filePath) && path.resolve(diagnostic.site.filePath) === path.resolve(file);
30
+ }
31
+ export function routeDiagnostic(diagnostic) {
32
+ return {
33
+ ruleName: ruleNameFor(diagnostic),
34
+ message: renderMessage(diagnostic),
35
+ loc: lintLoc(diagnostic.site),
36
+ };
37
+ }
38
+ function ruleNameFor(diagnostic) {
39
+ if (diagnostic.downgraded)
40
+ return 'warning';
41
+ switch (diagnostic.level) {
42
+ case Level.Warning:
43
+ return 'warning';
44
+ case Level.Info:
45
+ return 'info';
46
+ case Level.RuntimeError:
47
+ return 'runtime-error';
48
+ default:
49
+ return 'error';
50
+ }
51
+ }
52
+ export function renderMessage(diagnostic) {
53
+ const known = diagnostic.code in DIAGNOSTIC_CATALOG;
54
+ const headline = known
55
+ ? renderHeadline(diagnostic.code, diagnostic.args)
56
+ : '(message unavailable — regenerate the catalog via `pnpm miondevx core codegen diag`)';
57
+ let message = `[${diagnostic.code}] ${headline}`;
58
+ if (diagnostic.downgraded)
59
+ message += ` ${DOWNGRADED_NOTE}`;
60
+ for (const related of diagnostic.related ?? []) {
61
+ message += `\n related: ${related.filePath}(${related.startLine},${related.startCol}): ${related.message}`;
62
+ }
63
+ return message;
64
+ }
65
+ function lintLoc(site) {
66
+ const loc = {
67
+ start: { line: Math.max(1, site.startLine), column: Math.max(0, site.startCol - 1) },
68
+ };
69
+ if (site.endLine && site.endCol && (site.endLine > site.startLine || site.endCol > site.startCol)) {
70
+ loc.end = { line: site.endLine, column: Math.max(0, site.endCol - 1) };
71
+ }
72
+ return loc;
73
+ }
74
+ //# sourceMappingURL=diagnosticRouting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticRouting.js","sourceRoot":"","sources":["../../src/lint/diagnosticRouting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { type RuleName } from './diagnosticRouting.ts';
2
+ import { type LintSessionOptions } from './session.ts';
3
+ interface RuleContext {
4
+ physicalFilename?: string;
5
+ filename?: string;
6
+ sourceCode: {
7
+ text: string;
8
+ };
9
+ settings?: Record<string, unknown>;
10
+ report(descriptor: {
11
+ message: string;
12
+ loc: {
13
+ start: {
14
+ line: number;
15
+ column: number;
16
+ };
17
+ end?: {
18
+ line: number;
19
+ column: number;
20
+ };
21
+ };
22
+ }): void;
23
+ }
24
+ interface RuleModule {
25
+ meta: {
26
+ type: 'problem';
27
+ docs: {
28
+ description: string;
29
+ };
30
+ };
31
+ create(context: RuleContext): Record<string, unknown>;
32
+ }
33
+ export declare function sessionOptions(settings: Record<string, unknown> | undefined): LintSessionOptions;
34
+ export declare const meta: {
35
+ name: string;
36
+ version: string;
37
+ };
38
+ export declare const rules: Record<RuleName, RuleModule>;
39
+ declare const plugin: {
40
+ meta: {
41
+ name: string;
42
+ version: string;
43
+ };
44
+ rules: Record<RuleName, RuleModule>;
45
+ configs: Record<string, unknown>;
46
+ };
47
+ export declare const configs: Record<string, unknown>;
48
+ export default plugin;
49
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,96 @@
1
+ import { createRequire } from 'node:module';
2
+ import { isDowngraded, NONE, resolveDowngradeErrors } from "../core/downgradeErrors.js";
3
+ import { anchoredIn, routeDiagnostic, RULE_SPECS } from "./diagnosticRouting.js";
4
+ import { needsResolverPass } from "./prefilter.js";
5
+ import { LINT_SETTING_KEYS } from "./session-protocol.js";
6
+ import { prewarmSession, sharedSession } from "./session.js";
7
+ await prewarmSession();
8
+ const engineErrorClaims = new Map();
9
+ const warnedKeys = new Set();
10
+ function warnOnce(message) {
11
+ if (warnedKeys.has(message))
12
+ return;
13
+ warnedKeys.add(message);
14
+ console.warn(message);
15
+ }
16
+ function warnUnknownSettings(bag) {
17
+ for (const key of Object.keys(bag)) {
18
+ if (LINT_SETTING_KEYS.includes(key))
19
+ continue;
20
+ warnOnce(`[mion] ignoring unknown lint setting 'settings.mion.${key}' (supported: ${LINT_SETTING_KEYS.join(', ')})`);
21
+ }
22
+ }
23
+ function lintDowngrade(value) {
24
+ try {
25
+ return resolveDowngradeErrors(value);
26
+ }
27
+ catch (error) {
28
+ warnOnce(error instanceof Error ? error.message : String(error));
29
+ return NONE;
30
+ }
31
+ }
32
+ export function sessionOptions(settings) {
33
+ const raw = settings?.['mion'];
34
+ if (!raw || typeof raw !== 'object')
35
+ return {};
36
+ const bag = raw;
37
+ warnUnknownSettings(bag);
38
+ const options = {};
39
+ if (typeof bag['timeoutMs'] === 'number')
40
+ options.timeoutMs = bag['timeoutMs'];
41
+ if (typeof bag['tsconfig'] === 'string')
42
+ options.tsconfig = bag['tsconfig'];
43
+ if (typeof bag['binary'] === 'string')
44
+ options.binary = bag['binary'];
45
+ if (bag['markers'] && typeof bag['markers'] === 'object') {
46
+ options.markers = bag['markers'];
47
+ }
48
+ return options;
49
+ }
50
+ function diagnosticRule(ruleName, description) {
51
+ return {
52
+ meta: { type: 'problem', docs: { description } },
53
+ create(context) {
54
+ const text = context.sourceCode.text;
55
+ const options = sessionOptions(context.settings);
56
+ const file = context.physicalFilename ?? context.filename ?? '';
57
+ if (!file || file.startsWith('<'))
58
+ return {};
59
+ if (!needsResolverPass(text, file, options.markers))
60
+ return {};
61
+ const session = sharedSession();
62
+ if (!engineErrorClaims.has(file))
63
+ engineErrorClaims.set(file, ruleName);
64
+ return {
65
+ Program: () => {
66
+ const outcome = session.lintFileSync(file, text, options);
67
+ if ('engineError' in outcome) {
68
+ if (engineErrorClaims.get(file) === ruleName)
69
+ context.report({ message: `[mion] ${outcome.engineError}`, loc: { start: { line: 1, column: 0 } } });
70
+ return;
71
+ }
72
+ const downgrade = lintDowngrade(outcome.downgradeErrors);
73
+ for (const diagnostic of outcome.diagnostics) {
74
+ if (!anchoredIn(diagnostic, file))
75
+ continue;
76
+ const report = routeDiagnostic(isDowngraded(downgrade, diagnostic) ? { ...diagnostic, downgraded: true } : diagnostic);
77
+ if (report.ruleName !== ruleName)
78
+ continue;
79
+ context.report({ message: report.message, loc: report.loc });
80
+ }
81
+ },
82
+ };
83
+ },
84
+ };
85
+ }
86
+ const packageVersion = createRequire(import.meta.url)('../../package.json').version;
87
+ export const meta = { name: 'mion', version: packageVersion };
88
+ export const rules = Object.fromEntries(RULE_SPECS.map((spec) => [spec.name, diagnosticRule(spec.name, spec.description)]));
89
+ const plugin = { meta, rules, configs: {} };
90
+ plugin.configs['recommended'] = {
91
+ plugins: { mion: plugin },
92
+ rules: Object.fromEntries(RULE_SPECS.map((spec) => [`mion/${spec.name}`, spec.default])),
93
+ };
94
+ export const configs = plugin.configs;
95
+ export default plugin;
96
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lint/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lint-worker.d.ts.map
@@ -0,0 +1,116 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { existsSync } from 'node:fs';
3
+ import path from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { parentPort, workerData } from 'node:worker_threads';
6
+ import { getExePath } from '@mionjs/bin-compiler';
7
+ import { Family, Level, Severity } from "../core/protocol.js";
8
+ import { buildResolverArgs, ResolverClient, ResolverStreamClient } from "../core/resolver-client.js";
9
+ import { LINT_RESOLVER_OPTIONS, WAKE_INDEX, } from "./session-protocol.js";
10
+ const data = workerData;
11
+ const requests = data.port;
12
+ const signal = data.signal;
13
+ let shim = null;
14
+ if (process.env.MION_LINT_PRESPAWN !== '0') {
15
+ try {
16
+ shim = spawn(process.execPath, [fileURLToPath(new URL('./spawn-shim.js', import.meta.url))], {
17
+ stdio: ['pipe', 'pipe', 'inherit'],
18
+ });
19
+ shim.on('error', () => {
20
+ shim = null;
21
+ });
22
+ shim.unref();
23
+ shim.stdin.unref?.();
24
+ shim.stdout.unref?.();
25
+ }
26
+ catch {
27
+ shim = null;
28
+ }
29
+ }
30
+ parentPort?.postMessage({ shimReady: true });
31
+ let connection = null;
32
+ function resolveConfiguredBinary(binary) {
33
+ const resolved = path.resolve(binary);
34
+ if (!existsSync(resolved)) {
35
+ throw new Error(`settings.mion.binary=${binary} does not exist (resolved to ${resolved})`);
36
+ }
37
+ return resolved;
38
+ }
39
+ async function ensureConnection(tsconfig, binary) {
40
+ if (connection)
41
+ return connection;
42
+ const binaryPath = binary ? resolveConfiguredBinary(binary) : getExePath();
43
+ const args = buildResolverArgs(process.cwd(), tsconfig, LINT_RESOLVER_OPTIONS);
44
+ if (shim?.stdin && shim.stdout && shim.exitCode === null) {
45
+ const launcher = shim;
46
+ launcher.stdin.write(JSON.stringify({ exec: binaryPath, args }) + '\n');
47
+ const stream = new ResolverStreamClient(launcher.stdin, launcher.stdout, () => launcher.kill());
48
+ launcher.on('exit', () => stream.markClosed('resolver exited'));
49
+ connection = stream;
50
+ return connection;
51
+ }
52
+ connection = new ResolverClient(binaryPath, process.cwd(), tsconfig, LINT_RESOLVER_OPTIONS);
53
+ return connection;
54
+ }
55
+ const connectionLostPattern = /resolver exited|spawn failed|resolver is closed/;
56
+ async function lintOne(request) {
57
+ for (let attempt = 0;; attempt++) {
58
+ let stage = 'connect';
59
+ try {
60
+ const resolver = await ensureConnection(request.tsconfig ?? '', request.binary ?? '');
61
+ stage = 'scan';
62
+ const rel = path.relative(process.cwd(), request.file) || request.file;
63
+ await resolver.setSources({ [rel]: request.text });
64
+ const result = await resolver.scanFiles([rel], { checkEnrich: true, checkRouterRules: true, includeRtDiagnostics: true });
65
+ const diagnostics = (result.diagnostics ?? []);
66
+ return { seq: request.seq, diagnostics, downgradeErrors: result.downgradeErrors };
67
+ }
68
+ catch (error) {
69
+ const message = error instanceof Error ? error.message : String(error);
70
+ if (stage === 'scan' && message.includes('source file not in program:')) {
71
+ return /\.(?:[cm]?js|jsx)$/i.test(request.file)
72
+ ? { seq: request.seq, diagnostics: [] }
73
+ : { seq: request.seq, error: message };
74
+ }
75
+ if (message.includes('config-tsconfig-not-loaded')) {
76
+ return {
77
+ seq: request.seq,
78
+ diagnostics: [
79
+ {
80
+ code: 'config-tsconfig-not-loaded',
81
+ family: Family.Marker,
82
+ severity: Severity.Error,
83
+ level: Level.Error,
84
+ args: [message.replace(/^.*config-tsconfig-not-loaded\s*/, '')],
85
+ site: { filePath: request.file, startLine: 1, startCol: 1 },
86
+ },
87
+ ],
88
+ };
89
+ }
90
+ connection?.close();
91
+ connection = null;
92
+ if (attempt === 0) {
93
+ await new Promise((resolve) => setTimeout(resolve, 250));
94
+ continue;
95
+ }
96
+ return { seq: request.seq, error: message, fatal: stage === 'connect' || connectionLostPattern.test(message) };
97
+ }
98
+ }
99
+ }
100
+ requests.on('message', (request) => {
101
+ void lintOne(request).then((response) => {
102
+ requests.postMessage(response);
103
+ Atomics.store(signal, WAKE_INDEX, response.seq);
104
+ Atomics.notify(signal, WAKE_INDEX);
105
+ });
106
+ });
107
+ parentPort?.on('message', (message) => {
108
+ if (message?.close) {
109
+ connection?.close();
110
+ connection = null;
111
+ shim?.kill();
112
+ shim = null;
113
+ process.exit(0);
114
+ }
115
+ });
116
+ //# sourceMappingURL=lint-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-worker.js","sourceRoot":"","sources":["../../src/lint/lint-worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type MarkerGateOptions } from '../core/markerImports.ts';
2
+ export declare function referencesMarkerModule(text: string, file?: string, markers?: MarkerGateOptions): boolean;
3
+ export declare function looksLikeEnrichmentFile(text: string): boolean;
4
+ export declare function referencesRouter(text: string): boolean;
5
+ export declare function declaresUnsafePropertyName(text: string): boolean;
6
+ export declare function needsResolverPass(text: string, file?: string, markers?: MarkerGateOptions): boolean;
7
+ //# sourceMappingURL=prefilter.d.ts.map
@@ -0,0 +1,31 @@
1
+ import { FRIENDLY_TEXT_NAME, MARKER_COMMENT_PREFIX, MOCK_DATA_NAME } from "../core/go-generated/runtypes-constants.generated.js";
2
+ import { mayHoldDrizzleSchemas, mayHoldMarkerCalls } from "../core/markerImports.js";
3
+ export function referencesMarkerModule(text, file, markers) {
4
+ return mayHoldMarkerCalls(text, file, markers);
5
+ }
6
+ const enrichConstAnnotationPattern = new RegExp(`^[ \\t]*(?:export[ \\t]+)?const[ \\t]+[A-Za-z_$][A-Za-z0-9_$]*[ \\t]*:\\s*(?:${FRIENDLY_TEXT_NAME}|${MOCK_DATA_NAME})[ \\t]*<`, 'm');
7
+ export function looksLikeEnrichmentFile(text) {
8
+ return text.includes(MARKER_COMMENT_PREFIX) || enrichConstAnnotationPattern.test(text);
9
+ }
10
+ const ROUTER_MODULE = '@mionjs/router';
11
+ const ROUTER_HELPERS = ['route', 'query', 'mutation', 'middleware', 'headersMiddleware'];
12
+ const routerHelperCallPattern = new RegExp(`(?:^|[^A-Za-z0-9_$])(?:${ROUTER_HELPERS.join('|')})\\s*\\(`);
13
+ export function referencesRouter(text) {
14
+ if (text.includes(`'${ROUTER_MODULE}`) || text.includes(`"${ROUTER_MODULE}`))
15
+ return true;
16
+ if (text.includes('@mion:'))
17
+ return true;
18
+ return routerHelperCallPattern.test(text);
19
+ }
20
+ const unsafePropertyNamePattern = /__proto__/;
21
+ export function declaresUnsafePropertyName(text) {
22
+ return unsafePropertyNamePattern.test(text);
23
+ }
24
+ export function needsResolverPass(text, file, markers) {
25
+ return (referencesMarkerModule(text, file, markers) ||
26
+ looksLikeEnrichmentFile(text) ||
27
+ referencesRouter(text) ||
28
+ declaresUnsafePropertyName(text) ||
29
+ mayHoldDrizzleSchemas(text));
30
+ }
31
+ //# sourceMappingURL=prefilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefilter.js","sourceRoot":"","sources":["../../src/lint/prefilter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,kBAAkB,EAAE,qBAAqB,EAAE,cAAc,EAAC,MAAM,sDAAsD,CAAC;AAC/H,OAAO,EAAC,qBAAqB,EAAE,kBAAkB,EAAyB,MAAM,0BAA0B,CAAC;AAG3G,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,IAAa,EAAE,OAA2B;IAC7F,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAGD,MAAM,4BAA4B,GAAG,IAAI,MAAM,CAC7C,gFAAgF,kBAAkB,IAAI,cAAc,WAAW,EAC/H,GAAG,CACJ,CAAC;AAKF,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC;AAOD,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;AACzF,MAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,0BAA0B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEzG,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1F,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAKD,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAE9C,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAAa,EAAE,OAA2B;IACxF,OAAO,CACL,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;QAC3C,uBAAuB,CAAC,IAAI,CAAC;QAC7B,gBAAgB,CAAC,IAAI,CAAC;QACtB,0BAA0B,CAAC,IAAI,CAAC;QAChC,qBAAqB,CAAC,IAAI,CAAC,CAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { MessagePort } from 'node:worker_threads';
2
+ import type { Diagnostic } from '../core/protocol.ts';
3
+ export declare const WAKE_INDEX = 0;
4
+ export interface LintSessionOptions {
5
+ timeoutMs?: number;
6
+ tsconfig?: string;
7
+ binary?: string;
8
+ markers?: {
9
+ packages?: string[];
10
+ checkPackage?: boolean;
11
+ };
12
+ }
13
+ export declare const LINT_SETTING_KEYS: (keyof LintSessionOptions)[];
14
+ export interface LintWorkerData {
15
+ port: MessagePort;
16
+ signal: Int32Array;
17
+ }
18
+ export interface LintWorkerRequest {
19
+ seq: number;
20
+ file: string;
21
+ text: string;
22
+ tsconfig?: string;
23
+ binary?: string;
24
+ }
25
+ export declare const LINT_WORKER_REQUEST_KEYS: (keyof LintWorkerRequest)[];
26
+ export interface LintWorkerResponse {
27
+ seq: number;
28
+ diagnostics?: Diagnostic[];
29
+ downgradeErrors?: string[];
30
+ error?: string;
31
+ fatal?: boolean;
32
+ }
33
+ export declare const LINT_RESOLVER_OPTIONS: {
34
+ readonly serverMode: true;
35
+ readonly singleThreaded: true;
36
+ readonly clientRoutes: "fetch";
37
+ };
38
+ //# sourceMappingURL=session-protocol.d.ts.map
@@ -0,0 +1,11 @@
1
+ export const WAKE_INDEX = 0;
2
+ const LINT_SETTING_KEY_TABLE = { timeoutMs: true, tsconfig: true, binary: true, markers: true };
3
+ export const LINT_SETTING_KEYS = Object.keys(LINT_SETTING_KEY_TABLE);
4
+ const LINT_WORKER_REQUEST_KEY_TABLE = { seq: true, file: true, text: true, tsconfig: true, binary: true };
5
+ export const LINT_WORKER_REQUEST_KEYS = Object.keys(LINT_WORKER_REQUEST_KEY_TABLE);
6
+ export const LINT_RESOLVER_OPTIONS = {
7
+ serverMode: true,
8
+ singleThreaded: true,
9
+ clientRoutes: 'fetch',
10
+ };
11
+ //# sourceMappingURL=session-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-protocol.js","sourceRoot":"","sources":["../../src/lint/session-protocol.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAuB5B,MAAM,sBAAsB,GAAG,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAG3F,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAiC,CAAC;AAoBrG,MAAM,6BAA6B,GAAG,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAGrG,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAgC,CAAC;AAclH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,OAAO;CACmB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { Diagnostic } from '../core/protocol.ts';
2
+ import { type LintSessionOptions } from './session-protocol.ts';
3
+ export type { LintSessionOptions } from './session-protocol.ts';
4
+ export type LintOutcome = {
5
+ diagnostics: Diagnostic[];
6
+ downgradeErrors?: string[];
7
+ } | {
8
+ engineError: string;
9
+ };
10
+ export declare class LintSession {
11
+ private worker;
12
+ private requestPort;
13
+ private signal;
14
+ private seq;
15
+ private readonly cache;
16
+ private dead;
17
+ start(): Promise<void>;
18
+ lintFileSync(file: string, text: string, options?: LintSessionOptions): LintOutcome;
19
+ private remember;
20
+ private roundTrip;
21
+ private ensureWorker;
22
+ dispose(): void;
23
+ }
24
+ export declare function sharedSession(): LintSession;
25
+ export declare function prewarmSession(): Promise<void>;
26
+ export declare function resetSharedSession(): void;
27
+ //# sourceMappingURL=session.d.ts.map