This set of rules is released open-source for anyone to use. It is meant to be a strict, aerated configuration.
✅ is always installed, ◻️ is optional.
- Languages:
- ✅ Javascript
- ◻️ Typescript
- ◻️ with rxjs
- Frameworks:
- ✅ Bare node/browser
- ◻️ Nest
- ◻️ Angular (ℹ️ more infos)
- Plugins: (checked are always used)
- Angular:
@knodes/eslint-config/angular@knodes/eslint-config/angular/jest- For libs:
@knodes/eslint-config/angular/lib@knodes/eslint-config/angular/lib/jest
- Nest:
@knodes/eslint-config/nest - Bare:
- Pure JS:
@knodes/eslint-config/js - JS + TS:
@knodes/eslint-config/ts - JS + TS + rxjs:
@knodes/eslint-config/ts-rxjs
- Pure JS:
You can also use configuration fragments from @knodes/eslint-config/config-fragments/*. See the directory on GitHub.
For any preset, you must at least install base dependencies.
npm install --save-dev @knodes/eslint-config eslint eslint-plugin-import eslint-plugin-jsdoc eslint-plugin-prefer-arrow eslint-plugin-sort-export-all eslint-plugin-eslint-commentsIf you're using Typescript, install also @typescript-eslint related dependencies.
npm install --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parsernpm install --save-dev @knodes/eslint-config eslint \
eslint-plugin-import eslint-plugin-jsdoc eslint-plugin-prefer-arrow eslint-plugin-sort-export-all eslint-plugin-eslint-comments \
@typescript-eslint/eslint-plugin @typescript-eslint/parser \
@angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parserSee sample
.eslintrc.jsfor Typescriptmodule.exports = { env: { /* See https://eslint.org/docs/user-guide/configuring#specifying-environments. es2020 is enabled by default */ }, extends: '@knodes/eslint-config/ts', parserOptions: { project: './tsconfig.json', }, };
See sample
.eslintrc.jsfor Javascriptmodule.exports = { env: { /* See https://eslint.org/docs/user-guide/configuring#specifying-environments. es2020 is enabled by default */ }, extends: '@knodes/eslint-config/js', };
*.{j,t}s: Project configuration files. Light lint rules are applied. It includes.eslintrc.js.**index.[jt]s{x,}: Barrel files, only exporting other source files*.[jt]s{x,}: Source files*.{spec,test}.[jt]s{x,}: Unit test files. Configured for jest by default, unless framework use a different test runner__mocks__/**/*.[jt]s{x,}: Module mocks for unit teststest-utils/**/*.[jt]s{x,}: Various testing utilities