@proyecta-ai/eslint-plugin
v0.1.3
Published
ESLint plugin for Proyecta applications
Maintainers
Readme
@proyecta-ai/eslint-plugin
ESLint plugin with rules for Proyecta applications. Catches common mistakes in React components and Convex imports used by Proyecta-generated apps.
Installation
npm install @proyecta-ai/eslint-plugin --save-devPeer dependencies: eslint >= 9, @typescript-eslint/parser >= 8, typescript >= 4.
Configuration
Use the recommended preset in ESLint flat config:
// eslint.config.js
import proyectaPlugin from '@proyecta-ai/eslint-plugin';
export default [
proyectaPlugin.configs.recommended,
// ...your other configs
];Or enable rules individually:
// eslint.config.js
import proyectaPlugin from '@proyecta-ai/eslint-plugin';
export default [
{
plugins: {
'@proyecta-ai': proyectaPlugin,
},
rules: {
'@proyecta-ai/no-empty-select-value': 'error',
'@proyecta-ai/no-outline-button-color-override': 'error',
'@proyecta-ai/require-type-import-for-convex': 'error',
},
},
];Rules
| Rule | Description | Fixable |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| no-empty-select-value | Disallow empty string values (or missing value prop) on <SelectItem> components. Empty values cause silent failures in Radix UI Select. | No |
| no-outline-button-color-override | Disallow text-* / bg-* Tailwind color classes in className on <Button variant="outline">. Outline buttons have a built-in color scheme that is difficult to override correctly. | No |
| require-type-import-for-convex | Require import type when importing from convex/_generated/dataModel. This module is a type-only declaration file and must use a type import. | Yes |
