This package exposes eslint configurations for easy setup, the following presets are available:
Name | Description | Includes |
---|---|---|
javascript-node |
Intended to be used for tooling javascript files (eg: eslint.confg.js, linte-staged.config.js, ...) | - |
typescript |
Intended to be used for typescript based projects and libraries | javascript-node |
typescript-node |
Intended to be used for typescript based node projects and libraries |
javascript-node + typescript
|
typescript-browser |
Intended to be used for typescript based browser projects and libraries |
javascript-node + typescript
|
typescript-next |
Intended to be used for typescript based next.js applications |
javascript-node + typescript
|
Name | Available in Preset | Description |
---|---|---|
@eslint/js recommended |
all |
@eslint/js official recommended configuration |
eslint-plugin-eslint-comments recommended |
all |
Comments from @eslint-community for comments |
eslint-plugin-perfectionist recommended natural |
all |
Natural Recommended config from perfectionist-plugin-perfectionnist |
eslint-plugin-regex recommended |
all |
Recommended config from regexp-eslint-plugin |
eslint-plugin-prettier recommended |
all |
Prettier official eslint plugin's recommended config |
eslint-plugin-import recommended |
all |
Prettier official eslint plugin's recommended config |
typescript-eslint recommendedTypeChecked |
all typescript configs |
Typescript Eslint type checked recommended config |
next/core-web-vitals |
typescript-next |
Next.js official eslint config |
Add @slango.configs/eslint to your package.json as a dev dependency, then create a eslint.config.js file in the package.
Unless you want to override the default configuration, you can simply extend the configuration as follows:
// eslint.config.js
export { default } from '@slango.configs/eslint/{preset-you-wish-to-use}.js';
- At the time of writing eslint-config-next is not compatible with eslint 9, thus @eslint/compat and @eslint/eslintrc are used
- At the time of writing eslint-config-prettier is needed as a dependency to use eslint-plugin-prettier
- eslint-plugin-import-x supports eslint 9 but eslint-plugin-import does not usage comparison
- eslint-import-resolver-node does not seem to play well with monorepo/pattern exports in package.json (thus eslint-import-resolver-typescript is used even for javascript)