/eslint-config

ESLint configuration file for TypeScript projects

Primary LanguageJavaScript

Algoan Logo

Algoan ESLint config

Algoan ESLint configuration shared for NodeJS projects written in TypeScript and using prettier. It is the ESLint equivalent for @yelloan/tslint rules.

Installation

First, install this module running:

npm install @algoan/eslint-config --save-dev

Then, create a .eslintrc.json file:

{
  "extends": "@algoan/eslint-config"
}

Usage

In your package.json file, add a script:

{
  "lint": "eslint src/**/**.ts"
}

TSLint To ESLint Report

Using the tsling-to-eslint-config script:

8 ESLint rules behave differently from their TSLint counterparts:
  * @typescript-eslint/no-unused-expressions:
    - The TSLint optional config "allow-new" is the default ESLint behavior and will no longer be ignored.
  * prefer-arrow/prefer-arrow-functions:
    - ESLint does not support allowing named functions defined with the function keyword.
  * camelcase:
    - Leading undescores in variable names will now be ignored.
  * no-underscore-dangle:
    - Leading and trailing underscores (_) on identifiers will now be ignored.
  * no-redeclare:
    - ESLint does not support check-parameters.
  * @typescript-eslint/no-unused-vars:
    - Please read the following article as the rule behaviour may change on the short term: https://github.com/typescript-eslint/typescript-eslint/issues/1856
  * @typescript-eslint/strict-boolean-expressions:
    - String, number, enum, and mixed union types are now forbidden.
  * class-methods-use-this:
    - allow-public methods will no longer be ignored.

15 rules are not known by tslint-to-eslint-config to have ESLint equivalents:
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "completed-docs".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "encoding".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "match-default-export-name".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-dynamic-delete".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-inferred-empty-object-type".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-mergeable-namespace".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-unnecessary-callback-wrapper".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-unsafe-any".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "prefer-conditional-expression".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "prefer-method-signature".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "prefer-switch".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "return-undefined".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "strict-type-predicates".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "switch-final-break".
  * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "typedef".