@jaypie/eslint
Prerequisites: npm install -D @jaypie/eslint eslint
Overview
Section titled “Overview”@jaypie/eslint provides an opinionated ESLint flat configuration with Prettier integration for Jaypie projects.
Installation
Section titled “Installation”npm install -D @jaypie/eslint eslintQuick Reference
Section titled “Quick Reference”Features
Section titled “Features”| Feature | Description |
|---|---|
| Flat config | ESLint 9 or 10 flat configuration |
| Prettier | Automatic Prettier integration |
| TypeScript | TypeScript support |
| Import sorting | Alphabetized imports |
| Ignored dirs | Ignores cdk, dist directories |
Basic Setup
Section titled “Basic Setup”eslint.config.mjs:
export { default as default } from "@jaypie/eslint";That’s it. Run lint:
npx eslint .Package Scripts
Section titled “Package Scripts”{ "scripts": { "lint": "eslint .", "format": "eslint . --fix" }}Special Configurations
Section titled “Special Configurations”Nuxt Projects
Section titled “Nuxt Projects”import jaypie from "@jaypie/eslint";import nuxt from "@jaypie/eslint/nuxt";
export default [ ...jaypie, ...nuxt,];CommonJS Files
Section titled “CommonJS Files”For .cjs files:
import jaypie from "@jaypie/eslint";import cjs from "@jaypie/eslint/cjs";
export default [ ...jaypie, ...cjs,];Included Plugins
Section titled “Included Plugins”| Plugin | Purpose |
|---|---|
@eslint/js |
Core ESLint rules |
eslint-plugin-import-x |
Import/export rules |
eslint-config-prettier |
Prettier compatibility |
Ignored Patterns
Section titled “Ignored Patterns”By default ignores:
**/cdk/**- CDK output**/dist/**- Build output**/node_modules/**- Dependencies
Key Rules
Section titled “Key Rules”| Rule | Setting |
|---|---|
| Semicolons | Required |
| Quotes | Double |
| Trailing commas | Required |
| Import order | Alphabetized |
| Unused vars | Error (except _ prefix) |
Override Rules
Section titled “Override Rules”import jaypie from "@jaypie/eslint";
export default [ ...jaypie, { rules: { "no-console": "warn", }, },];Troubleshooting
Section titled “Troubleshooting”ESLint version mismatch
Section titled “ESLint version mismatch”Ensure ESLint 9 or 10:
npm install -D eslint@latestPrettier conflicts
Section titled “Prettier conflicts”The config handles Prettier automatically. If issues persist:
npm install -D prettier eslint-config-prettierTypeScript errors
Section titled “TypeScript errors”Ensure TypeScript is installed:
npm install -D typescriptIDE Integration
Section titled “IDE Integration”VS Code
Section titled “VS Code”Install ESLint extension, add to settings:
{ "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "eslint.validate": [ "javascript", "javascriptreact", "typescript", "typescriptreact" ]}Format on Save
Section titled “Format on Save”{ "editor.formatOnSave": false, "editor.codeActionsOnSave": { "source.fixAll.eslint": true }}Monorepo Setup
Section titled “Monorepo Setup”Single config at root works for all packages:
project/├── eslint.config.mjs # Root config├── packages/│ ├── api/│ └── web/Related
Section titled “Related”- Project Structure - Monorepo setup
- @jaypie/repokit - Repository tooling