Quiero crear el complemento eslint.
export const rule = ESLintUtils.RuleCreator(() => __filename)({ name: RULE_NAME, meta: { type: 'problem', docs: { description: ``, recommended: 'error', }, schema: [], messages: {}, }, defaultOptions: [], create(context) { return {}; }, });No estoy tan familiarizado con el complemento eslint.
Por lo que leí en los documentos de eslint, necesito devolver un objeto con un selector de lo que busco en el código (por ejemplo, VariableDeclaration ) y luego obtendré el nodo ts en la función de devolución de llamada.
Pero, ¿es posible no devolver el selector, sino simplemente devolver la devolución de llamada y en esta devolución de llamada obtendré el nodo raíz ts y haré mi propia lógica allí con ts-morph ?
Me refiero a algo como esto posible de hacer con eslint?
import { ts } from 'ts-morph'; ... create(context) { const rootNode = context.getRootNode() as ts.Node; const nodes = rootNode.getChildren().map(n => ....) nodes.forEach(node => { context.report({ node, messageId: 'some' }) }) },