ESLint config set for me!
- Avoid "Possible Errors"
- Keep "Best Practices" if common
- Use "Modern Style (ES2015+)" if available
- Format "Stylistic Issues" if fixable or use Prettier
This rules is based on eslint:recommended.
Only additional or orverwritten rules are specified.
$ npm i -D eslint-config-teppeis eslint prettier$ npm i -D eslint-config-teppeiseslint and prettier are installed as peer dependencies.
Specify in your .eslintrc.json:
{
"extends": "teppeis"
}Default config equals to teppeis/es2018.
{
"extends": "teppeis/es2015"
}teppeis/es5teppeis/es2015teppeis/es2016teppeis/es2017teppeis/es2018teppeis/es2019teppeis/es2020teppeis/es2021teppeis/es2022teppeis/es2023: equals toteppeis
They include eslint-plugin-n.
Chose config for specific Node version
{
"extends": ["teppeis/node-v18"]
}teppeis/node-v18(v18.17+ Active LTS)teppeis/node-v20(v20.5+ Current)
Extends teppeis/+node after base config.
{
"extends": ["teppeis/es2018", "teppeis/+node"]
}In teppeis/+node, n/no-unsupported-features/es-syntax is disabled.
Available ES features depend on the base config.
n/no-unsupported-features/es-builtins and n/no-unsupported-features/node-builtins are enabled. It is assumed that polyfill is not used.
This plugin includes prettier itself in peerDependencies.
Override dupulicated or conflicted rules with teppeis/+prettier.
{
"extends": ["teppeis/es2018", "teppeis/+prettier"]
}Configs for TypeScript (applied only for *.ts and *.tsx).
teppeis/+typescript: Enable rules that don't require type informationteppeis/+typescript-with-type: Require type information (slow)
{
"extends": ["teppeis/node-v18", "teppeis/+typescript", "teppeis/+prettier"]
}By default, only *.mjs and *.mts are treated as ES Modules in configs for Node.js.
If you use type:module in package.json, use teppeis/+module like:
{
"extends": ["teppeis/node-v18", "teppeis/+module"]
}or for TypeScript like:
{
"extends": ["teppeis/node-v18", "teppeis/+typescript", "teppeis/+module"]
}This adds browser to env.
{
"extends": ["teppeis/es2018", "teppeis/+browser"]
}Extends teppeis/+closure after base config.
{
"extends": ["teppeis/es2015", "teppeis/+closure"]
}This enables mocha globals like describe or it in **/test/*.js.
{
"extends": ["teppeis/es2018", "teppeis/+mocha"]
}Licensed under the MIT license. Copyright (c) 2021, Teppei Sato