- Find errors that are detectable with static analysis.
- Make reading code easier by providing consistent code style.
- Make writing code faster by leveraging auto fix wherever possible.
yarn add eslint eslint-config-molindo prettier --dev
- Setup your project config in
eslint.config.mjs
:
import {getPresets} from 'eslint-config-molindo';
export default [
...(await getPresets(
// Base config
'typescript', // or 'javascript'
// Optional extensions
'react',
'cssModules',
'tailwind',
'jest',
'cypress',
'vitest'
)),
{
// Your custom config
}
];
- If you require globals, like browser APIs on
window
, you can add them to your config:
// eslint.config.mjs
import globals from 'globals';
export default [
// ...
{
languageOptions: {
globals: {
...globals.browser,
...globals.node
}
}
}
];
- To set up Prettier, add to your
package.json
:
"prettier": "eslint-config-molindo/.prettierrc.json"
- If you use TypeScript, add to your
tsconfig.json
:
"extends": "eslint-config-molindo/tsconfig.json"
Happy linting!
To validate your code in a CI pipeline, add the following to your package.json
:
"scripts": {
"lint": "eslint src && prettier src --check"
}
The following two extensions are recommended:
To auto-fix errors from ESLint as well as Prettier on save, you can use the following configuration:
// settings.json (VSCode)
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always"
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
- Patch releases are for improved documentation, fixing a rule to stop reporting false positives and internal code changes.
- Minor releases are for changes to rules that can automatically be fixed.
- Major releases happen when rules are changed that can't be fixed automatically.