@mionjs/devtools 0.8.8 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,354 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { createInterface } from 'node:readline';
3
+ const RESOLVER_EXITED = 'resolver exited';
4
+ const SPAWN_FAILED_PREFIX = 'spawn failed';
5
+ function isTransportLoss(reason) {
6
+ return reason === RESOLVER_EXITED || reason.startsWith(SPAWN_FAILED_PREFIX);
7
+ }
8
+ const CLOSE_DRAIN_TIMEOUT_MS = 5000;
9
+ class MessageTransport {
10
+ stdin;
11
+ onClose;
12
+ lines;
13
+ queue = [];
14
+ closed = false;
15
+ closing = false;
16
+ drainTimer = null;
17
+ bytesWritten = 0;
18
+ bytesRead = 0;
19
+ requestCount = 0;
20
+ constructor(stdin, stdout, onClose) {
21
+ this.stdin = stdin;
22
+ this.onClose = onClose;
23
+ this.lines = createInterface({ input: stdout });
24
+ this.lines.on('line', (line) => {
25
+ this.bytesRead += Buffer.byteLength(line, 'utf8') + 1;
26
+ const done = this.queue.shift();
27
+ if (!done)
28
+ return;
29
+ try {
30
+ done(JSON.parse(line));
31
+ }
32
+ catch (e) {
33
+ done({ error: `parse: ${String(e)}` });
34
+ }
35
+ if (this.closing && this.queue.length === 0)
36
+ this.finishClose();
37
+ });
38
+ }
39
+ wireStats() {
40
+ return { bytesWritten: this.bytesWritten, bytesRead: this.bytesRead, requests: this.requestCount };
41
+ }
42
+ markClosed(reason) {
43
+ this.closed = true;
44
+ this.clearDrainTimer();
45
+ while (this.queue.length)
46
+ this.queue.shift()({ error: reason });
47
+ }
48
+ writeUnframed(payload) {
49
+ this.stdin.write(payload);
50
+ }
51
+ async request(req) {
52
+ if (this.closed || this.closing)
53
+ throw new Error('resolver is closed');
54
+ return new Promise((resolve) => {
55
+ this.queue.push(resolve);
56
+ const payload = JSON.stringify(req) + '\n';
57
+ this.bytesWritten += Buffer.byteLength(payload, 'utf8');
58
+ this.requestCount += 1;
59
+ this.stdin.write(payload);
60
+ });
61
+ }
62
+ close() {
63
+ if (this.closed || this.closing)
64
+ return;
65
+ if (this.queue.length === 0) {
66
+ this.closed = true;
67
+ this.onClose();
68
+ return;
69
+ }
70
+ this.closing = true;
71
+ this.drainTimer = setTimeout(() => this.finishClose(), CLOSE_DRAIN_TIMEOUT_MS);
72
+ this.drainTimer.unref?.();
73
+ }
74
+ finishClose() {
75
+ if (this.closed)
76
+ return;
77
+ this.closed = true;
78
+ this.clearDrainTimer();
79
+ this.onClose();
80
+ }
81
+ clearDrainTimer() {
82
+ if (!this.drainTimer)
83
+ return;
84
+ clearTimeout(this.drainTimer);
85
+ this.drainTimer = null;
86
+ }
87
+ }
88
+ class ResolverClientBase {
89
+ send(req) {
90
+ return this.transport.request(req);
91
+ }
92
+ async scanFiles(files, opts = {}) {
93
+ if (files.length === 0)
94
+ throw new Error('scanFiles: files must be non-empty');
95
+ const req = { op: 'scanFiles', files };
96
+ if (opts.includeRunTypes)
97
+ req.includeRunTypes = true;
98
+ if (opts.includeEntryModules)
99
+ req.includeEntryModules = true;
100
+ if (opts.includeMetrics)
101
+ req.includeMetrics = true;
102
+ if (opts.checkEnrich)
103
+ req.checkEnrich = true;
104
+ if (opts.checkRouterRules)
105
+ req.checkRouterRules = true;
106
+ if (opts.includeRtDiagnostics)
107
+ req.includeRtDiagnostics = true;
108
+ const resp = await this.send(req);
109
+ if (resp.error)
110
+ throw new Error(`scanFiles [${files.join(', ')}]: ${resp.error}`);
111
+ return {
112
+ sites: resp.sites ?? [],
113
+ replacements: resp.replacements,
114
+ runTypes: resp.runTypes,
115
+ entryModules: resp.entryModules,
116
+ diagnostics: resp.diagnostics,
117
+ addedRunTypes: resp.addedRunTypes,
118
+ addedPureFns: resp.addedPureFns,
119
+ pureFnSites: resp.pureFnSites,
120
+ batchSites: resp.batchSites,
121
+ metrics: resp.metrics,
122
+ downgradeErrors: resp.downgradeErrors,
123
+ };
124
+ }
125
+ async transform(files, opts = {}) {
126
+ if (files.length === 0)
127
+ throw new Error('transform: files must be non-empty');
128
+ const req = { op: 'transform', files };
129
+ if (opts.emitEdits)
130
+ req.emitEdits = true;
131
+ const resp = await this.send(req);
132
+ if (resp.error)
133
+ throw new Error(`transform [${files.join(', ')}]: ${resp.error}`);
134
+ return {
135
+ transformed: resp.transformed ?? {},
136
+ sites: resp.sites ?? [],
137
+ replacements: resp.replacements,
138
+ diagnostics: resp.diagnostics,
139
+ addedRunTypes: resp.addedRunTypes,
140
+ addedPureFns: resp.addedPureFns,
141
+ };
142
+ }
143
+ async generate() {
144
+ const resp = await this.send({ op: 'generate' });
145
+ if (resp.error)
146
+ throw new Error(`generate: ${resp.error}`);
147
+ return {
148
+ modules: resp.generated ?? [],
149
+ outDir: resp.outDir ?? '',
150
+ siteFiles: resp.siteFiles ?? [],
151
+ batchesModule: resp.batchesModule ?? '',
152
+ routerInitFiles: resp.routerInitFiles ?? [],
153
+ diagnostics: resp.diagnostics,
154
+ pureFnSites: resp.pureFnSites,
155
+ batchSites: resp.batchSites,
156
+ downgradeErrors: resp.downgradeErrors,
157
+ levels: resp.levels,
158
+ logStyle: resp.logStyle,
159
+ pureFnArtifact: resp.pureFnArtifact ?? {},
160
+ };
161
+ }
162
+ async enrich(files) {
163
+ const resp = await this.send({ op: 'enrich', files });
164
+ if (resp.error)
165
+ throw new Error(`enrich: ${resp.error}`);
166
+ return { files: resp.enrichFiles ?? [], diagnostics: resp.diagnostics };
167
+ }
168
+ async dump() {
169
+ return this.send({ op: 'dump' });
170
+ }
171
+ async setSources(sources) {
172
+ const resp = await this.send({ op: 'setSources', sources });
173
+ if (resp.error)
174
+ throw new Error(`setSources: ${resp.error}`);
175
+ }
176
+ async reset() {
177
+ const resp = await this.send({ op: 'reset' });
178
+ if (resp.error)
179
+ throw new Error(`reset: ${resp.error}`);
180
+ }
181
+ async tsCompile() {
182
+ const resp = await this.send({ op: 'tsCompile' });
183
+ if (resp.error)
184
+ throw new Error(`tsCompile: ${resp.error}`);
185
+ return resp.tsCompileMs ?? 0;
186
+ }
187
+ wireStats() {
188
+ return this.transport.wireStats();
189
+ }
190
+ close() {
191
+ this.transport.close();
192
+ }
193
+ }
194
+ export function buildResolverArgs(cwd, tsconfigPath, opts = {}) {
195
+ const args = ['serve', '--cwd', cwd];
196
+ if (tsconfigPath) {
197
+ args.push('--tsconfig', tsconfigPath);
198
+ }
199
+ if (opts.serverMode)
200
+ args.push('--sources', 'ops');
201
+ else if (opts.inlineSources)
202
+ args.push('--sources', 'stdin');
203
+ if (opts.emitMode)
204
+ args.push('--emit-mode', opts.emitMode);
205
+ if (opts.numberMode)
206
+ args.push('--number-mode', opts.numberMode);
207
+ if (opts.parallelScan === false)
208
+ args.push('--no-parallel-scan');
209
+ if (opts.parallelRender === false)
210
+ args.push('--no-parallel-render');
211
+ if (opts.moduleMode)
212
+ args.push('--module-mode', opts.moduleMode);
213
+ if (opts.inlineMode)
214
+ args.push('--inline-mode', opts.inlineMode);
215
+ if (opts.singleThreaded === true)
216
+ args.push('--single-threaded');
217
+ else if (opts.singleThreaded === false)
218
+ args.push('--no-single-threaded');
219
+ if (opts.hashLength !== undefined)
220
+ args.push('--hash-length', String(opts.hashLength));
221
+ if (opts.patternSampleCount !== undefined)
222
+ args.push('--pattern-sample-count', String(opts.patternSampleCount));
223
+ if (opts.patternSampleRetries !== undefined)
224
+ args.push('--pattern-sample-retries', String(opts.patternSampleRetries));
225
+ if (opts.jsonMaxBytes === false)
226
+ args.push('--json-max-bytes=false');
227
+ if (opts.markerPackages?.length)
228
+ args.push('--marker-packages', opts.markerPackages.join(','));
229
+ if (opts.markerPackageCheck === false)
230
+ args.push('--no-marker-package-check');
231
+ args.push('--js-runtime', opts.jsRuntime ?? process.execPath);
232
+ if (opts.pureFnReportWire)
233
+ args.push('--pure-fn-report-wire');
234
+ if (opts.pureFnReportFile)
235
+ args.push('--pure-fn-report-file');
236
+ if (opts.genDir)
237
+ args.push('--gen-dir', opts.genDir);
238
+ if (opts.clientRoutes)
239
+ args.push('--client-routes', opts.clientRoutes);
240
+ if (opts.transformRelative)
241
+ args.push('--transform-relative');
242
+ if (opts.omitSourcesContent)
243
+ args.push('--omit-sources-content');
244
+ if (opts.enrichFriendly)
245
+ args.push('--enrich-friendly');
246
+ if (opts.enrichMock)
247
+ args.push('--enrich-mock');
248
+ if (opts.enrichI18n)
249
+ args.push('--enrich-i18n');
250
+ if (opts.enrichLocales && opts.enrichLocales.length > 0)
251
+ args.push('--enrich-locales', opts.enrichLocales.join(','));
252
+ if (opts.enrichSourceLocale)
253
+ args.push('--enrich-source-locale', opts.enrichSourceLocale);
254
+ return args;
255
+ }
256
+ export class ResolverClient extends ResolverClientBase {
257
+ binary;
258
+ cwd;
259
+ tsconfigPath;
260
+ opts;
261
+ child;
262
+ transport;
263
+ intentionalClose = false;
264
+ respawnsLeft = 3;
265
+ constructor(binary, cwd, tsconfigPath, opts = {}) {
266
+ super();
267
+ this.binary = binary;
268
+ this.cwd = cwd;
269
+ this.tsconfigPath = tsconfigPath;
270
+ this.opts = opts;
271
+ this.spawnChild();
272
+ }
273
+ get pid() {
274
+ return this.child.pid;
275
+ }
276
+ unref() {
277
+ this.child?.unref();
278
+ unrefHandle(this.child?.stdin);
279
+ unrefHandle(this.child?.stdout);
280
+ }
281
+ close() {
282
+ this.intentionalClose = true;
283
+ super.close();
284
+ }
285
+ spawnChild() {
286
+ const args = buildResolverArgs(this.cwd, this.tsconfigPath, this.opts);
287
+ const env = this.opts.cacheDir !== undefined ? { ...process.env, MION_CACHE_DIR: this.opts.cacheDir } : process.env;
288
+ const child = spawn(this.binary, args, { stdio: ['pipe', 'pipe', 'inherit'], env });
289
+ if (!child.stdin || !child.stdout) {
290
+ throw new Error('failed to spawn mion (no stdio pipes)');
291
+ }
292
+ this.child = child;
293
+ const stdin = child.stdin;
294
+ const stdout = child.stdout;
295
+ stdin.on('error', () => { });
296
+ const transport = new MessageTransport(stdin, stdout, () => {
297
+ stdin.end();
298
+ child.kill();
299
+ });
300
+ this.transport = transport;
301
+ child.on('error', (error) => transport.markClosed(`${SPAWN_FAILED_PREFIX}: ${error.message}`));
302
+ if (this.opts.inlineSources) {
303
+ transport.writeUnframed(JSON.stringify({ sources: this.opts.inlineSources }) + '\n');
304
+ }
305
+ child.on('exit', () => transport.markClosed(RESOLVER_EXITED));
306
+ }
307
+ async send(req) {
308
+ const attempt = this.transport;
309
+ let resp;
310
+ try {
311
+ resp = await attempt.request(req);
312
+ }
313
+ catch (error) {
314
+ if (!this.canRespawn())
315
+ throw error;
316
+ this.respawnFor(attempt);
317
+ return this.transport.request(req);
318
+ }
319
+ if (typeof resp.error === 'string' && isTransportLoss(resp.error) && this.canRespawn()) {
320
+ this.respawnFor(attempt);
321
+ return this.transport.request(req);
322
+ }
323
+ return resp;
324
+ }
325
+ canRespawn() {
326
+ return !this.intentionalClose && !this.opts.serverMode && this.respawnsLeft > 0;
327
+ }
328
+ respawnFor(dead) {
329
+ if (this.transport !== dead)
330
+ return;
331
+ this.respawnsLeft -= 1;
332
+ console.error('[@mionjs/devtools] resolver process died unexpectedly — respawned it and retrying the interrupted request.');
333
+ try {
334
+ this.child.kill();
335
+ }
336
+ catch {
337
+ }
338
+ this.spawnChild();
339
+ }
340
+ }
341
+ export class ResolverStreamClient extends ResolverClientBase {
342
+ transport;
343
+ constructor(stdin, stdout, onClose) {
344
+ super();
345
+ this.transport = new MessageTransport(stdin, stdout, onClose);
346
+ }
347
+ markClosed(reason) {
348
+ this.transport.markClosed(reason);
349
+ }
350
+ }
351
+ function unrefHandle(stream) {
352
+ stream?.unref?.();
353
+ }
354
+ //# sourceMappingURL=resolver-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver-client.js","sourceRoot":"","sources":["../../src/core/resolver-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ScanFilesResult } from './resolver-client.ts';
2
+ export interface SiteScanner {
3
+ scanFiles(files: string[]): Promise<ScanFilesResult>;
4
+ }
5
+ export declare function createScanBatcher(scan: SiteScanner['scanFiles']): SiteScanner;
6
+ //# sourceMappingURL=scan-batcher.d.ts.map
@@ -0,0 +1,36 @@
1
+ export function createScanBatcher(scan) {
2
+ let pending = null;
3
+ function scanOne(file) {
4
+ if (!pending) {
5
+ const files = [];
6
+ const promise = new Promise((resolve, reject) => {
7
+ setTimeout(() => {
8
+ pending = null;
9
+ scan(files).then(resolve, reject);
10
+ }, 0);
11
+ });
12
+ pending = { files, promise };
13
+ }
14
+ if (!pending.files.includes(file))
15
+ pending.files.push(file);
16
+ return pending.promise.then((result) => projectFile(result, file), () => scan([file]).then((result) => projectFile(result, file)));
17
+ }
18
+ return {
19
+ scanFiles(files) {
20
+ if (files.length !== 1)
21
+ return scan(files);
22
+ return scanOne(files[0]);
23
+ },
24
+ };
25
+ }
26
+ function projectFile(result, file) {
27
+ return {
28
+ ...result,
29
+ sites: result.sites.filter((site) => samePath(site.file, file)),
30
+ replacements: result.replacements?.filter((replacement) => samePath(replacement.file, file)),
31
+ };
32
+ }
33
+ function samePath(tagged, requested) {
34
+ return tagged === requested || tagged.endsWith('/' + requested) || tagged.endsWith('\\' + requested);
35
+ }
36
+ //# sourceMappingURL=scan-batcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-batcher.js","sourceRoot":"","sources":["../../src/core/scan-batcher.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,iBAAiB,CAAC,IAA8B;IAC9D,IAAI,OAAO,GAAgE,IAAI,CAAC;IAEhF,SAAS,OAAO,CAAC,IAAY;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC/D,UAAU,CAAC,GAAG,EAAE;oBACd,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EACrC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,CAAC,KAAe;YAEvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AAMD,SAAS,WAAW,CAAC,MAAuB,EAAE,IAAY;IACxD,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,SAAiB;IACjD,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;AACvG,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { UnpluginContext, UnpluginMessage } from 'unplugin';
2
+ import { type DowngradeSet } from './downgradeErrors.ts';
3
+ import type { Finding } from './types.ts';
4
+ import { type Diagnostic } from './protocol.ts';
5
+ export type HostContext = Partial<UnpluginContext>;
6
+ export type HaltError = Error & Pick<UnpluginMessage, 'id' | 'loc'>;
7
+ export declare function hostWarn(ctx: HostContext | undefined, message: string): void;
8
+ export declare function hostHalt(ctx: HostContext | undefined, error: HaltError): void;
9
+ export declare function haltError(first: Diagnostic, count: number, activeFile?: string, cwd?: string): HaltError;
10
+ interface SurfaceOptions {
11
+ halts: (diagnostic: Diagnostic) => boolean;
12
+ downgrade?: DowngradeSet;
13
+ showInfo?: boolean;
14
+ activeFile?: string;
15
+ cwd?: string;
16
+ grouped: boolean;
17
+ }
18
+ export declare function printFindings(ctx: HostContext | undefined, findings: readonly Finding[], grouped: boolean, cwd?: string): void;
19
+ export declare function surfaceDiagnostics(ctx: HostContext | undefined, diagnostics: Diagnostic[], options: SurfaceOptions): void;
20
+ export declare function formatDowngraded(diagnostic: Diagnostic): string;
21
+ export declare function formatTscDiagnostic(diagnostic: Diagnostic, downgraded?: boolean): string;
22
+ export {};
23
+ //# sourceMappingURL=surface.d.ts.map
@@ -0,0 +1,77 @@
1
+ import path from 'node:path';
2
+ import { renderHeadline } from "./diagnosticCatalog.js";
3
+ import { DOWNGRADED_NOTE, isDowngraded, NONE } from "./downgradeErrors.js";
4
+ import { entryOf, formatGrouped, severityLabel } from "./groupedLog.js";
5
+ import { isShown } from "./levels.js";
6
+ import { Severity } from "./protocol.js";
7
+ const PREFIX = '[@mionjs/devtools]';
8
+ export function hostWarn(ctx, message) {
9
+ if (typeof ctx?.warn === 'function')
10
+ ctx.warn(message);
11
+ else
12
+ console.warn(`${PREFIX} ${message}`);
13
+ }
14
+ export function hostHalt(ctx, error) {
15
+ if (typeof ctx?.error === 'function') {
16
+ ctx.error(error);
17
+ return;
18
+ }
19
+ throw error;
20
+ }
21
+ export function haltError(first, count, activeFile, cwd = process.cwd()) {
22
+ const noun = count === 1 ? 'error' : 'errors';
23
+ const message = `@mionjs/devtools: build stopped on ${count} mion ${noun}. First: ${formatTscDiagnostic(first)}`;
24
+ const error = new Error(message);
25
+ const file = first.site.filePath;
26
+ if (!file)
27
+ return error;
28
+ const id = path.resolve(cwd, file);
29
+ error.id = id;
30
+ const sameFile = activeFile === undefined || path.resolve(cwd, activeFile) === id;
31
+ if (sameFile && first.site.startLine > 0) {
32
+ error.loc = { file: id, line: first.site.startLine, column: Math.max(0, first.site.startCol - 1) };
33
+ }
34
+ return error;
35
+ }
36
+ export function printFindings(ctx, findings, grouped, cwd = process.cwd()) {
37
+ if (findings.length === 0)
38
+ return;
39
+ if (grouped) {
40
+ hostWarn(ctx, formatGrouped(findings.map(({ diagnostic, downgraded }) => entryOf(diagnostic, downgraded)), cwd));
41
+ return;
42
+ }
43
+ for (const { diagnostic, downgraded } of findings)
44
+ hostWarn(ctx, downgraded ? formatDowngraded(diagnostic) : formatTscDiagnostic(diagnostic));
45
+ }
46
+ export function surfaceDiagnostics(ctx, diagnostics, options) {
47
+ let first;
48
+ let count = 0;
49
+ const findings = [];
50
+ for (const diagnostic of diagnostics) {
51
+ if (!isShown(diagnostic, options.showInfo ?? false))
52
+ continue;
53
+ const downgraded = isDowngraded(options.downgrade ?? NONE, diagnostic);
54
+ findings.push({ diagnostic, downgraded });
55
+ if (downgraded || !options.halts(diagnostic))
56
+ continue;
57
+ count += 1;
58
+ first ??= diagnostic;
59
+ }
60
+ printFindings(ctx, findings, options.grouped, options.cwd);
61
+ if (first)
62
+ hostHalt(ctx, haltError(first, count, options.activeFile, options.cwd));
63
+ }
64
+ export function formatDowngraded(diagnostic) {
65
+ return formatTscDiagnostic({ ...diagnostic, severity: Severity.Warning }, true);
66
+ }
67
+ export function formatTscDiagnostic(diagnostic, downgraded = false) {
68
+ const { site, code } = diagnostic;
69
+ const headline = renderHeadline(code, diagnostic.args);
70
+ const suffix = downgraded ? ` ${DOWNGRADED_NOTE}` : '';
71
+ let line = `${site.filePath}(${site.startLine},${site.startCol}): ${severityLabel(diagnostic.severity)} ${code}: ${headline}${suffix}`;
72
+ for (const related of diagnostic.related ?? []) {
73
+ line += `\n Related: ${related.filePath}(${related.startLine},${related.startCol}): ${related.message}`;
74
+ }
75
+ return line;
76
+ }
77
+ //# sourceMappingURL=surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/core/surface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface TypeDepsIndex {
2
+ record(siteFile: string, deps: readonly string[] | undefined): void;
3
+ affectedSiteFiles(changed: readonly string[]): string[];
4
+ knownSiteFiles(): string[];
5
+ unknownSiteFiles(): string[];
6
+ forget(siteFile: string): void;
7
+ clear(): void;
8
+ }
9
+ export declare function depKey(file: string, cwd: string): string;
10
+ export declare function createTypeDepsIndex(cwd: string): TypeDepsIndex;
11
+ //# sourceMappingURL=type-deps.d.ts.map
@@ -0,0 +1,72 @@
1
+ import path from 'node:path';
2
+ export function depKey(file, cwd) {
3
+ const abs = path.isAbsolute(file) ? file : path.resolve(cwd, file);
4
+ return abs.split(path.sep).join('/');
5
+ }
6
+ export function createTypeDepsIndex(cwd) {
7
+ const forward = new Map();
8
+ const reverse = new Map();
9
+ function unlink(siteKey) {
10
+ const previous = forward.get(siteKey);
11
+ if (!previous)
12
+ return;
13
+ for (const dep of previous) {
14
+ const dependents = reverse.get(dep);
15
+ if (!dependents)
16
+ continue;
17
+ dependents.delete(siteKey);
18
+ if (dependents.size === 0)
19
+ reverse.delete(dep);
20
+ }
21
+ }
22
+ return {
23
+ record(siteFile, deps) {
24
+ const siteKey = depKey(siteFile, cwd);
25
+ unlink(siteKey);
26
+ const next = new Set();
27
+ for (const dep of deps ?? [])
28
+ next.add(depKey(dep, cwd));
29
+ forward.set(siteKey, next);
30
+ for (const dep of next) {
31
+ let dependents = reverse.get(dep);
32
+ if (!dependents) {
33
+ dependents = new Set();
34
+ reverse.set(dep, dependents);
35
+ }
36
+ dependents.add(siteKey);
37
+ }
38
+ },
39
+ affectedSiteFiles(changed) {
40
+ const out = new Set();
41
+ for (const file of changed) {
42
+ const dependents = reverse.get(depKey(file, cwd));
43
+ if (!dependents)
44
+ continue;
45
+ for (const siteFile of dependents)
46
+ out.add(siteFile);
47
+ }
48
+ return [...out].sort();
49
+ },
50
+ knownSiteFiles() {
51
+ return [...forward.keys()].sort();
52
+ },
53
+ unknownSiteFiles() {
54
+ const out = [];
55
+ for (const [siteFile, deps] of forward) {
56
+ if (deps.size === 0)
57
+ out.push(siteFile);
58
+ }
59
+ return out.sort();
60
+ },
61
+ forget(siteFile) {
62
+ const siteKey = depKey(siteFile, cwd);
63
+ unlink(siteKey);
64
+ forward.delete(siteKey);
65
+ },
66
+ clear() {
67
+ forward.clear();
68
+ reverse.clear();
69
+ },
70
+ };
71
+ }
72
+ //# sourceMappingURL=type-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-deps.js","sourceRoot":"","sources":["../../src/core/type-deps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Diagnostic } from './protocol.ts';
2
+ export type LogStyle = 'grouped' | 'lines';
3
+ export interface Finding {
4
+ diagnostic: Diagnostic;
5
+ downgraded: boolean;
6
+ }
7
+ export interface GroupedEntry extends Pick<Diagnostic, 'severity' | 'site' | 'related' | 'downgraded'> {
8
+ name: string;
9
+ template: string;
10
+ slots?: readonly string[];
11
+ args?: readonly string[];
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare const TYPESCRIPT_FLOOR_MAJOR = 6;
2
+ export declare function resetTypeScriptFloorCheckForTest(): void;
3
+ export declare function installedTypeScriptVersion(cwd: string): string | undefined;
4
+ export declare function warnBelowTypeScriptFloor(cwd: string, pluginName: string, warn?: (...data: any[]) => void): void;
5
+ //# sourceMappingURL=typescript-floor.d.ts.map