eslint-config-teppeis
eslint-config-teppeis copied to clipboard
ESLint shareable config for me!
eslint-config-teppeis
ESLint shareable configs for me!
[!IMPORTANT] This config uses new flat config style since v19.
Priority
- Avoid "Possible Problems"
- Enable "Suggestions" if reasonable or fixable
- Use Prettier for stylistic formatting issues
Install
$ npm i -D eslint eslint-config-teppeis
and run npx eslint-config-teppeis --init to generate initial config files.
Usage
Load eslint-config-teppeis and export default build() in your eslint.config.js:
import { build } from "eslint-config-teppeis";
import { mocha } from "eslint-config-teppeis/configs/mocha";
export default await build(
{ base: "node18", typescript: true, esm: true },
mocha,
{
ignores: ["dist", "test/fixtures"],
},
);
Options
base(enum, required):es2021,es2022,es2023,node18ornode20typescript(boolean, default false): use TypeScriptproject(boolean|string|srting[], default false): the property ofparserOptionsto enable linting with type informationesm(boolean, default false): treat.jsand.tsas ESM for a project that configurestype:moduleinpackage.json
Configs for customization
Pure ECMAScript
Configs for ECMAScript versions
import { es2021 } from "eslint-config-teppeis/configs/es2021";
export default [es2021];
es2021es2022es2023
Node.js
Configs for Node versions
node18(v18.18+ Maintenance)node20(v20.9+ Active LTS)
import { node18 } from "eslint-config-teppeis/configs/node18";
export default [node18];
TypeScript
Configs for TypeScript
typescript: Enable rules that don't require type informationtypescriptTypeChecked: Require type information
import { node18, typescript } from "eslint-config-teppeis/configs";
export default [node18, typescript];
ES Modules
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 esm: true like:
import { build } from "eslint-config-teppeis";
export default build({ base: "node18", esm: true });
Browsers
This enables globals for browsers.
import { es2023, browser } from "eslint-config-teppeis/configs";
export default [es2023, browser];
Mocha
This enables globals for Mocha like describe or it only in **/test/*.js.
import { es2023, mocha } from "eslint-config-teppeis";
export default [es2023, mocha];
Note: Prettier
Just intall prettier and use it with eslint-config-teppeis.
These configs don't include rule settings that conflict with Pretteir.
License
Licensed under the MIT license. Copyright (c) 2023, Teppei Sato