@builder.io/eslint-plugin-mitosis
Version:
A Mitosis plugin containing rules that help you write valid and idiomatic Mitosis code
34 lines (33 loc) • 965 B
TypeScript
import * as ESTree from 'estree';
interface NodeWithParent extends ESTree.BaseNode {
parent: NodeWithParent;
type: NodeType;
}
interface JSXExpressionContainer extends NodeWithParent {
type: 'JSXExpressionContainer';
expression: NodeExt;
}
interface JSXAttribute extends NodeWithParent {
type: 'JSXAttribute';
name: {
name: {};
};
value: JSXExpressionContainer;
}
interface JSXOpeningElement extends NodeWithParent {
type: 'JSXOpeningElement';
attributes: JSXAttribute[];
}
declare module 'eslint' {
namespace Rule {
interface NodeListener {
JSXOpeningElement?(node: JSXOpeningElement): void;
JSXAttribute?(node: JSXAttribute): void;
JSXExpressionContainer?(node: JSXExpressionContainer): void;
}
}
}
type NodeJSX = JSXExpressionContainer | JSXAttribute | JSXOpeningElement;
type NodeExt = ESTree.Node | NodeJSX;
type NodeType = NodeExt['type'];
export {};