yae-lint-config
v0.0.2
Published
A CLI tool that generate custom ESLint configurations
Downloads
5
Maintainers
Readme
yae-lint-config
A modern CLI tool to generate custom ESLint configurations for Next.js projects using the new flat config format.
Features
- 🚀 Modern Flat Config: Uses ESLint's new flat config format (
eslint.config.mjs) - 📦 Smart Dependencies: Automatically detects and installs required packages
- 🎯 Next.js Optimized: Pre-configured for Next.js projects
- 🔧 Interactive Setup: Choose features through an interactive CLI
- 📱 Package Manager Detection: Supports npm, yarn, pnpm, and bun
- ⚡ TypeScript Ready: Full TypeScript support with modern rules
Quick Start
npx yae-lint-config generateAvailable Features
- ✅ Import Sorting - Automatically sort imports with custom grouping
- ✅ Unused Variables Detection - Smart unused imports and variables cleanup
- ✅ TypeScript Rules - Strict TypeScript linting rules
- ✅ React Hooks Rules - Enforce React hooks best practices
- ✅ Accessibility Rules - JSX accessibility linting
- ✅ Code Quality Rules - Prefer const, no console, etc.
Usage
Generate Config
# Generate in current directory
npx yae-lint-config generate
# Specify output path
npx yae-lint-config generate -o ./custom-eslint.config.mjsExample Generated Config
// ESLint configuration generated by yae-lint-config
import path from "node:path";
import { fileURLToPath } from "node:url";
import { FlatCompat } from "@eslint/eslintrc";
import js from "@eslint/js";
import { defineConfig } from "eslint/config";
import simpleImportSort from "eslint-plugin-simple-import-sort";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
});
export default defineConfig([
{
extends: compat.extends("next/core-web-vitals"),
plugins: {
"simple-import-sort": simpleImportSort
},
rules: {
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error"
}
}
]);Requirements
- Node.js >= 18.0.0
- Next.js project
Commands
| Command | Alias | Description |
|---------|-------|-------------|
| generate | g | Generate ESLint config interactively |
Options
| Option | Description | Default |
|--------|-------------|---------|
| -o, --output <path> | Output file path | ./eslint.config.mjs |
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT © Yae Tools
