@mionjs/devtools 0.8.10 → 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
@@ -1,357 +0,0 @@
1
- /* ########
2
- * 2024 mion
3
- * Author: Ma-jerez
4
- * License: MIT
5
- * The software is provided "as is", without warranty of any kind.
6
- * ######## */
7
-
8
- import {TSESTree, TSESLint, AST_NODE_TYPES} from '@typescript-eslint/utils';
9
-
10
- type PropertyInfo = {
11
- name: string;
12
- isOptional: boolean;
13
- };
14
-
15
- /**
16
- * Extracts property names from an object type (interface body, type literal)
17
- */
18
- function getObjectTypeProperties(node: TSESTree.TypeNode): PropertyInfo[] | null {
19
- if (node.type === AST_NODE_TYPES.TSTypeLiteral) {
20
- const props: PropertyInfo[] = [];
21
- for (const member of node.members) {
22
- if (member.type === AST_NODE_TYPES.TSPropertySignature && member.key.type === AST_NODE_TYPES.Identifier) {
23
- props.push({name: member.key.name, isOptional: !!member.optional});
24
- }
25
- }
26
- return props;
27
- }
28
- return null;
29
- }
30
-
31
- /**
32
- * Checks if typeB (earlier in union) blocks typeA (later in union), making typeA unreachable.
33
- *
34
- * TypeB blocks TypeA when:
35
- * - All properties of TypeB (required + optional) exist in TypeA
36
- * - TypeA has at least as many required properties as TypeB
37
- * - TypeA is more specific than TypeB (more properties OR same properties but more required)
38
- *
39
- * Examples:
40
- * - {a: string} blocks {a: string; b: number} - TypeB has 'a' (req), TypeA has 'a' (req) + 'b' (req)
41
- * - {a?: string} does NOT block {b: number; c: string} - TypeB has 'a', TypeA doesn't have 'a'
42
- * - {a: string; b?: number} blocks {a: string; b: number} - same props, but TypeA has more required
43
- *
44
- * @param typeAProps - Properties of the later type (potentially unreachable)
45
- * @param typeBProps - Properties of the earlier type (potentially blocking)
46
- * @returns true if typeB blocks typeA
47
- */
48
- function isSupersetOf(typeAProps: PropertyInfo[], typeBProps: PropertyInfo[]): boolean {
49
- const typeARequired = typeAProps.filter((p) => !p.isOptional);
50
- const typeBRequired = typeBProps.filter((p) => !p.isOptional);
51
-
52
- // TypeA must have at least as many required properties as TypeB
53
- if (typeARequired.length < typeBRequired.length) return false;
54
-
55
- // TypeA must be more specific: either more properties OR same properties but more required
56
- const isMoreSpecific =
57
- typeAProps.length > typeBProps.length ||
58
- (typeAProps.length === typeBProps.length && typeARequired.length > typeBRequired.length);
59
-
60
- if (!isMoreSpecific) return false;
61
-
62
- // Check if ALL properties of TypeB (required and optional) exist in TypeA
63
- for (const propB of typeBProps) {
64
- const propA = typeAProps.find((p) => p.name === propB.name);
65
- // If TypeB has a prop that TypeA doesn't have, B doesn't block A
66
- if (!propA) return false;
67
- }
68
-
69
- // TypeA has all properties of TypeB and is more specific, so TypeB blocks TypeA
70
- return true;
71
- }
72
-
73
- /**
74
- * Checks if a union type has interfaces where one is a superset of another
75
- * and the subset comes before the superset (making the superset unreachable)
76
- */
77
- function findUnreachableTypes(unionNode: TSESTree.TSUnionType): {unreachable: TSESTree.TypeNode; blocker: TSESTree.TypeNode}[] {
78
- const issues: {unreachable: TSESTree.TypeNode; blocker: TSESTree.TypeNode}[] = [];
79
- const typesWithProps: {node: TSESTree.TypeNode; props: PropertyInfo[]}[] = [];
80
-
81
- // Collect all object types with their properties
82
- for (const typeNode of unionNode.types) {
83
- const props = getObjectTypeProperties(typeNode);
84
- if (props && props.length > 0) {
85
- typesWithProps.push({node: typeNode, props});
86
- }
87
- }
88
-
89
- // For each pair of types, check if one is a superset of another
90
- for (let i = 0; i < typesWithProps.length; i++) {
91
- for (let j = i + 1; j < typesWithProps.length; j++) {
92
- const typeA = typesWithProps[i];
93
- const typeB = typesWithProps[j];
94
-
95
- // If typeA (earlier) is a subset of typeB (later), typeB is unreachable
96
- if (isSupersetOf(typeB.props, typeA.props)) {
97
- issues.push({unreachable: typeB.node, blocker: typeA.node});
98
- }
99
- }
100
- }
101
-
102
- return issues;
103
- }
104
-
105
- /**
106
- * Gets a readable representation of an object type for error messages
107
- */
108
- function getTypeDescription(node: TSESTree.TypeNode): string {
109
- if (node.type === AST_NODE_TYPES.TSTypeLiteral) {
110
- const props = getObjectTypeProperties(node);
111
- if (props) {
112
- return `{${props.map((p) => (p.isOptional ? `${p.name}?` : p.name)).join(', ')}}`;
113
- }
114
- }
115
- return 'object type';
116
- }
117
-
118
- /**
119
- * Gets the router function name if the function is a handler for route/middleFn/headersFn
120
- */
121
- function getRouterFunctionName(
122
- func: TSESTree.ArrowFunctionExpression | TSESTree.FunctionExpression | TSESTree.FunctionDeclaration,
123
- context: TSESLint.RuleContext<any, any>
124
- ): string | null {
125
- const parent = func.parent;
126
- if (parent?.type === AST_NODE_TYPES.CallExpression) {
127
- if (parent.callee.type === AST_NODE_TYPES.Identifier) {
128
- const functionName = parent.callee.name;
129
- if (['route', 'middleFn', 'headersFn'].includes(functionName) && isImportedFromMionRouter(functionName, context)) {
130
- return functionName;
131
- }
132
- }
133
- }
134
- return null;
135
- }
136
-
137
- /**
138
- * Checks if the union type or type reference is in a parameter that should be checked
139
- */
140
- function isInCheckableParameter(
141
- node: TSESTree.TSUnionType | TSESTree.TSTypeReference,
142
- func: TSESTree.ArrowFunctionExpression | TSESTree.FunctionExpression | TSESTree.FunctionDeclaration,
143
- routerFunctionName: string
144
- ): boolean {
145
- // Find which parameter contains this union type
146
- let current: TSESTree.Node | undefined = node.parent;
147
- while (current && current !== func) {
148
- // Check if we're in a parameter
149
- if (
150
- current.type === AST_NODE_TYPES.Identifier ||
151
- current.type === AST_NODE_TYPES.ArrayPattern ||
152
- current.type === AST_NODE_TYPES.ObjectPattern
153
- ) {
154
- const paramIndex = func.params.indexOf(current as TSESTree.Parameter);
155
- if (paramIndex !== -1) {
156
- // For route and middleFn: skip first parameter (context)
157
- if ((routerFunctionName === 'route' || routerFunctionName === 'middleFn') && paramIndex >= 1) {
158
- return true;
159
- }
160
- // For headersFn: skip first two parameters (context and headers)
161
- if (routerFunctionName === 'headersFn' && paramIndex >= 2) {
162
- return true;
163
- }
164
- return false;
165
- }
166
- }
167
- current = current.parent;
168
- }
169
- return false;
170
- }
171
-
172
- /**
173
- * Checks if the union type or type reference is a return type or parameter type of route/middleFn/headersFn
174
- */
175
- function isRouterUnionType(
176
- node: TSESTree.TSUnionType | TSESTree.TSTypeReference,
177
- context: TSESLint.RuleContext<any, any>
178
- ): boolean {
179
- // Check if we're in a return type annotation or parameter type annotation
180
- let current: TSESTree.Node | undefined = node.parent;
181
- while (current) {
182
- // Check if we're in a function that's used in route/middleFn/headersFn
183
- if (
184
- current.type === AST_NODE_TYPES.ArrowFunctionExpression ||
185
- current.type === AST_NODE_TYPES.FunctionExpression ||
186
- current.type === AST_NODE_TYPES.FunctionDeclaration
187
- ) {
188
- const routerFunctionName = getRouterFunctionName(current, context);
189
- if (routerFunctionName) {
190
- // Check if we're in the return type
191
- if (current.returnType?.typeAnnotation === node || isDescendantOf(node, current.returnType?.typeAnnotation)) {
192
- return true;
193
- }
194
- // Check if we're in a parameter type (excluding context and headers params)
195
- if (isInCheckableParameter(node, current, routerFunctionName)) {
196
- return true;
197
- }
198
- }
199
- }
200
- // Check if we're in a type annotation for Handler/HeaderHandler
201
- if (current.type === AST_NODE_TYPES.TSTypeAnnotation) {
202
- const typeAnnotationParent = current.parent;
203
- if (typeAnnotationParent?.type === AST_NODE_TYPES.Identifier) {
204
- const declarator = typeAnnotationParent.parent;
205
- if (declarator?.type === AST_NODE_TYPES.VariableDeclarator) {
206
- // Check if the type annotation references Handler/HeaderHandler
207
- if (current.typeAnnotation.type === AST_NODE_TYPES.TSTypeReference) {
208
- const typeName = current.typeAnnotation.typeName;
209
- if (typeName.type === AST_NODE_TYPES.Identifier) {
210
- if (
211
- (typeName.name === 'Handler' || typeName.name === 'HeaderHandler') &&
212
- isImportedFromMionRouter(typeName.name, context)
213
- ) {
214
- return true;
215
- }
216
- }
217
- }
218
- }
219
- }
220
- }
221
- current = current.parent;
222
- }
223
- return false;
224
- }
225
-
226
- /**
227
- * Checks if a node is a descendant of another node
228
- */
229
- function isDescendantOf(node: TSESTree.Node | undefined, ancestor: TSESTree.Node | undefined): boolean {
230
- if (!node || !ancestor) return false;
231
- let current: TSESTree.Node | undefined = node;
232
- while (current) {
233
- if (current === ancestor) return true;
234
- current = current.parent;
235
- }
236
- return false;
237
- }
238
-
239
- /**
240
- * Checks if a name is imported from @mionjs/router
241
- */
242
- function isImportedFromMionRouter(name: string, context: TSESLint.RuleContext<any, any>): boolean {
243
- const sourceCode = context.sourceCode;
244
- const program = sourceCode.ast;
245
-
246
- for (const statement of program.body) {
247
- if (statement.type === AST_NODE_TYPES.ImportDeclaration) {
248
- const source = statement.source.value;
249
- if (source === '@mionjs/router' || source === '@mionjs/router/') {
250
- for (const specifier of statement.specifiers) {
251
- if (
252
- specifier.type === AST_NODE_TYPES.ImportSpecifier &&
253
- specifier.imported.type === AST_NODE_TYPES.Identifier &&
254
- specifier.imported.name === name
255
- ) {
256
- return true;
257
- }
258
- }
259
- }
260
- }
261
- }
262
- return false;
263
- }
264
-
265
- /**
266
- * Resolves a type reference to its actual union type definition
267
- */
268
- function resolveTypeReference(node: TSESTree.TypeNode, context: TSESLint.RuleContext<any, any>): TSESTree.TSUnionType | null {
269
- if (node.type !== AST_NODE_TYPES.TSTypeReference) {
270
- return null;
271
- }
272
-
273
- // Get the type name
274
- if (node.typeName.type !== AST_NODE_TYPES.Identifier) {
275
- return null;
276
- }
277
-
278
- const typeName = node.typeName.name;
279
- const sourceCode = context.sourceCode;
280
- const program = sourceCode.ast;
281
-
282
- // Find the type alias declaration
283
- for (const statement of program.body) {
284
- if (statement.type === AST_NODE_TYPES.TSTypeAliasDeclaration) {
285
- if (statement.id.name === typeName && statement.typeAnnotation.type === AST_NODE_TYPES.TSUnionType) {
286
- return statement.typeAnnotation;
287
- }
288
- }
289
- }
290
-
291
- return null;
292
- }
293
-
294
- const rule: TSESLint.RuleModule<'unreachableUnionType', []> = {
295
- meta: {
296
- type: 'problem',
297
- docs: {
298
- description:
299
- 'Detect union types where one interface is unreachable at runtime when using isType function because a subset type comes before it',
300
- },
301
- messages: {
302
- unreachableUnionType:
303
- 'Union type {{unreachableType}} is unreachable at runtime when doing type checking because {{blockerType}} will always match first. ' +
304
- 'To fix this move the more specific type {{unreachableType}} first within the union, ie: {{unreachableType}} | {{blockerType}} ',
305
- },
306
- schema: [],
307
- },
308
- defaultOptions: [],
309
- create(context) {
310
- return {
311
- TSUnionType(node: TSESTree.TSUnionType) {
312
- // Only check unions in router context
313
- if (!isRouterUnionType(node, context)) {
314
- return;
315
- }
316
-
317
- const issues = findUnreachableTypes(node);
318
- for (const issue of issues) {
319
- context.report({
320
- node: node,
321
- messageId: 'unreachableUnionType',
322
- data: {
323
- unreachableType: getTypeDescription(issue.unreachable),
324
- blockerType: getTypeDescription(issue.blocker),
325
- },
326
- });
327
- }
328
- },
329
- TSTypeReference(node: TSESTree.TSTypeReference) {
330
- // Try to resolve the type reference to a union type
331
- const unionType = resolveTypeReference(node, context);
332
- if (!unionType) {
333
- return;
334
- }
335
-
336
- // Only check if this type reference is used in a router context
337
- if (!isRouterUnionType(node, context)) {
338
- return;
339
- }
340
-
341
- const issues = findUnreachableTypes(unionType);
342
- for (const issue of issues) {
343
- context.report({
344
- node: node,
345
- messageId: 'unreachableUnionType',
346
- data: {
347
- unreachableType: getTypeDescription(issue.unreachable),
348
- blockerType: getTypeDescription(issue.blocker),
349
- },
350
- });
351
- }
352
- },
353
- };
354
- },
355
- };
356
-
357
- export default rule;
@@ -1,101 +0,0 @@
1
- /* ########
2
- * 2026 mion
3
- * Author: Ma-jerez
4
- * License: MIT
5
- * The software is provided "as is", without warranty of any kind.
6
- * ######## */
7
-
8
- import {TSESTree, TSESLint, AST_NODE_TYPES} from '@typescript-eslint/utils';
9
- import {PURE_FN_SOURCE_PACKAGES} from '../../pureFns/purityRules.ts';
10
-
11
- type MessageIds = 'missingPureFnName' | 'missingMapFromName' | 'nameNotStringLiteral' | 'registerPureFnFactoryNotAllowed';
12
-
13
- /** Enforces non-Vite client constraints: requires names for pureServerFn/mapFrom and disallows registerPureFnFactory */
14
- const rule: TSESLint.RuleModule<MessageIds, []> = {
15
- meta: {
16
- type: 'problem',
17
- docs: {
18
- description:
19
- 'Enforce non-Vite client constraints: require name/bodyHash string literal for pureServerFn() and mapFrom(), and disallow registerPureFnFactory() which requires Vite transforms.',
20
- },
21
- messages: {
22
- missingPureFnName:
23
- 'pureServerFn() requires a name as the second argument (string literal) for non-Vite environments.',
24
- missingMapFromName: 'mapFrom() requires a name as the third argument (string literal) for non-Vite environments.',
25
- nameNotStringLiteral: '{{callee}}() name argument must be a string literal, not a variable or expression.',
26
- registerPureFnFactoryNotAllowed:
27
- 'registerPureFnFactory() is not supported in non-Vite environments. It requires Vite build-time transforms.',
28
- },
29
- schema: [],
30
- },
31
- defaultOptions: [],
32
- create(context) {
33
- let pureFnNames: Map<string, string> | null = null;
34
-
35
- return {
36
- Program(node: TSESTree.Program) {
37
- pureFnNames = new Map();
38
- for (const statement of node.body) {
39
- if (statement.type !== AST_NODE_TYPES.ImportDeclaration) continue;
40
- const source = statement.source.value;
41
- if (!PURE_FN_SOURCE_PACKAGES.includes(source as (typeof PURE_FN_SOURCE_PACKAGES)[number])) continue;
42
-
43
- for (const specifier of statement.specifiers) {
44
- if (
45
- specifier.type === AST_NODE_TYPES.ImportSpecifier &&
46
- specifier.imported.type === AST_NODE_TYPES.Identifier
47
- ) {
48
- const importedName = specifier.imported.name;
49
- if (
50
- importedName === 'pureServerFn' ||
51
- importedName === 'mapFrom' ||
52
- importedName === 'registerPureFnFactory'
53
- ) {
54
- pureFnNames.set(specifier.local.name, importedName);
55
- }
56
- }
57
- }
58
- }
59
- },
60
-
61
- CallExpression(node: TSESTree.CallExpression) {
62
- if (!pureFnNames || pureFnNames.size === 0) return;
63
- if (node.callee.type !== AST_NODE_TYPES.Identifier) return;
64
- const importedName = pureFnNames.get(node.callee.name);
65
- if (!importedName) return;
66
-
67
- if (importedName === 'pureServerFn') {
68
- if (node.arguments.length < 2) {
69
- context.report({node, messageId: 'missingPureFnName'});
70
- } else if (
71
- node.arguments[1].type !== AST_NODE_TYPES.Literal ||
72
- typeof (node.arguments[1] as TSESTree.Literal).value !== 'string'
73
- ) {
74
- context.report({
75
- node: node.arguments[1],
76
- messageId: 'nameNotStringLiteral',
77
- data: {callee: 'pureServerFn'},
78
- });
79
- }
80
- } else if (importedName === 'mapFrom') {
81
- if (node.arguments.length < 3) {
82
- context.report({node, messageId: 'missingMapFromName'});
83
- } else if (
84
- node.arguments[2].type !== AST_NODE_TYPES.Literal ||
85
- typeof (node.arguments[2] as TSESTree.Literal).value !== 'string'
86
- ) {
87
- context.report({
88
- node: node.arguments[2],
89
- messageId: 'nameNotStringLiteral',
90
- data: {callee: 'mapFrom'},
91
- });
92
- }
93
- } else if (importedName === 'registerPureFnFactory') {
94
- context.report({node, messageId: 'registerPureFnFactoryNotAllowed'});
95
- }
96
- },
97
- };
98
- },
99
- };
100
-
101
- export default rule;