Skip to content

@jaypie/eslint

Prerequisites: npm install -D @jaypie/eslint eslint

@jaypie/eslint provides an opinionated ESLint flat configuration with Prettier integration for Jaypie projects.

Terminal window
npm install -D @jaypie/eslint eslint
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

eslint.config.mjs:

export { default as default } from "@jaypie/eslint";

That’s it. Run lint:

Terminal window
npx eslint .
{
"scripts": {
"lint": "eslint .",
"format": "eslint . --fix"
}
}
import jaypie from "@jaypie/eslint";
import nuxt from "@jaypie/eslint/nuxt";
export default [
...jaypie,
...nuxt,
];

For .cjs files:

import jaypie from "@jaypie/eslint";
import cjs from "@jaypie/eslint/cjs";
export default [
...jaypie,
...cjs,
];
Plugin Purpose
@eslint/js Core ESLint rules
eslint-plugin-import-x Import/export rules
eslint-config-prettier Prettier compatibility

By default ignores:

  • **/cdk/** - CDK output
  • **/dist/** - Build output
  • **/node_modules/** - Dependencies
Rule Setting
Semicolons Required
Quotes Double
Trailing commas Required
Import order Alphabetized
Unused vars Error (except _ prefix)
import jaypie from "@jaypie/eslint";
export default [
...jaypie,
{
rules: {
"no-console": "warn",
},
},
];

Ensure ESLint 9 or 10:

Terminal window
npm install -D eslint@latest

The config handles Prettier automatically. If issues persist:

Terminal window
npm install -D prettier eslint-config-prettier

Ensure TypeScript is installed:

Terminal window
npm install -D typescript

Install ESLint extension, add to settings:

{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
]
}
{
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}

Single config at root works for all packages:

project/
├── eslint.config.mjs # Root config
├── packages/
│ ├── api/
│ └── web/