If you use ESLint alongside TypeScript
$ npm install --save-dev @fullstacksjs/eslint-config eslint prettier typescript$ yarn add --dev @fullstacksjs/eslint-config eslint prettier typescriptfor JavaScript development
$ npm install --save-dev @fullstacksjs/eslint-config eslint prettier$ yarn add --dev @fullstacksjs/eslint-config eslint prettieroptional 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"]
}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 💛

{ "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) ] }