opentui-lint[community]

opentui-lint

opentui-lint is an ESLint 9 plugin for OpenTUI, and it also works as an oxlint JS plugin. It finds JSX that TypeScript lets through and then fails when you render. React and Solid are both supported; the message uses the error from the binding you are on.

It ignores files that are not OpenTUI. An import from @opentui/react or @opentui/solid counts, as does a JSX pragma, jsxImportSource, or a framework setting. If the same repo has a web app, those files stay quiet.

It catches HTML tags like <div>, text that is not inside <text>, colors that render magenta, and web leftovers like className.

<div>Ready</div>

TypeScript is happy with that. OpenTUI throws Unknown component type: div. The lint error says to use <box>. The lists of elements, props, and colors come from a real OpenTUI install.

No runtime dependencies. Needs Node 20.19 or Bun 1.4.1, plus ESLint 9.30 if you use ESLint. Rules, oxlint setup, and the type-aware option are in the README.