Installation
If you use ESLint alongside TypeScript
npm :
$ npm install --save-dev @fullstacksjs/eslint-config eslint prettier typescript
yarn :
$ yarn add --dev @fullstacksjs/eslint-config eslint prettier typescript
for JavaScript development
npm :
$ npm install --save-dev @fullstacksjs/eslint-config eslint prettier
yarn :
$ yarn add --dev @fullstacksjs/eslint-config eslint prettier
optional dependencies (if you need):
- react
- jest
- cypress
Usage
Just extend from @fullstacksjs
:
{
"extends": ["@fullstacksjs"]
}
It reads your root package.json
dependencies and includes necessary rules.
Advanced Usage
{
"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/storybook",
"@fullstacksjs/eslint-config/graphql", // Need extra config
"@fullstacksjs/eslint-config/esm", // for native ESM modules
"@fullstacksjs/eslint-config/typecheck" // ⚠️ Needs configurations (not included in default config)
]
}
Need more typescript rules?
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>"
}
}
Graphql
To enable graphql module you need to extends from @fullstacksjs/eslint-config/graphql
and configure schema and operations in you eslint config or graphql config. for more information checkout here.
Here is an example:
// eslintrc
{
"extends": [
...
"@fullstacksjs/eslint-config/eslint"
],
}
# .graphqlrc.yml
schema: 'path/to/schema'
What's included?
- @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
- eslint-plugin-storybook
- eslint-plugin-graphql
That's all. Feel free to use