If you use ESLint alongside TypeScript
$ npm install --save-dev @fullstacksjs/eslint-config eslint prettier typescript
$ yarn add --dev @fullstacksjs/eslint-config eslint prettier typescript
for JavaScript development
$ npm install --save-dev @fullstacksjs/eslint-config eslint prettier
$ yarn add --dev @fullstacksjs/eslint-config eslint prettier
optional dependencies (if you need):
- react
- jest
- cypress
Just extend from @fullstacksjs
:
{
"extends": ["@fullstacksjs"]
}
It reads your root package.json
dependencies and includes necessary rules.
NextJS config is subset of base config which is compatible with builtin NextJS eslint config.
{
"extends": ["@fullstacksjs/eslint-config/nextjs"]
}
{
"extends": [
"@fullstacksjs/eslint-config/base",
"@fullstacksjs/eslint-config/jest",
"@fullstacksjs/eslint-config/react",
"@fullstacksjs/eslint-config/typescript",
"@fullstacksjs/eslint-config/strict",
"@fullstacksjs/eslint-config/cypress",
"@fullstacksjs/eslint-config/esm", // for native ESM modules
"@fullstacksjs/eslint-config/typecheck" // ⚠️ Needs configurations (not included in default config)
]
}
If you need more advanced typescript-eslint
rules, then you can extend from "@fullstacksjs/eslint-config/typecheck"
and set parserOptions.project
option:
{
"extends": [
"@fullstacksjs",
"@fullstacksjs/eslint-config/typecheck"
],
"parserOptions": {
"project": "<PATH_TO_TSCONFIG>"
}
}
- @typescript-eslint/eslint-plugin
- eslint-plugin-import
- eslint-plugin-jest
- eslint-plugin-jest-formatting
- eslint-plugin-cypress
- eslint-plugin-jsx-a11y
- eslint-plugin-prettier
- eslint-plugin-react
- eslint-plugin-react-hooks
- eslint-plugin-simple-import-sort
- eslint-plugin-fp
- eslint-plugin-node
- eslint-plugin-promise
That's all. Feel free to use 💛