ESLint plugin with recommended rules for Ingram Tech projects.
npm install --save-dev @ingram-tech/eslint-plugin-recommended
# or
yarn add -D @ingram-tech/eslint-plugin-recommended
# or
bun add -D @ingram-tech/eslint-plugin-recommended
Add the plugin to your ESLint configuration:
// eslint.config.mjs
import ingramRecommended from "@ingram-tech/eslint-plugin-recommended";
export default [
{
plugins: {
"@ingram-tech/recommended": ingramRecommended,
},
rules: {
"@ingram-tech/recommended/lucide-icon-suffix": "error",
"@ingram-tech/recommended/supabase-no-direct-imports": "error",
"@ingram-tech/recommended/supabase-no-insert-with-id": "error",
"@ingram-tech/recommended/react-no-redundant-usestate-types": "warn",
"@ingram-tech/recommended/next-no-redirect-only-pages": "warn",
"@ingram-tech/recommended/nextjs-page-pattern": "error",
},
},
];
Enforces that all lucide-react icon imports use the "Icon" suffix.
Prevents direct imports from @supabase packages. Use wrapper clients instead.
Disallows specifying 'id' when inserting into database tables. Let the database auto-generate IDs.
Removes redundant type annotations in useState hooks that can be inferred.
Suggests using next.config.ts redirects instead of pages that only perform redirects.
Enforces consistent Next.js page component patterns (const arrow functions with NextPage type).
MIT