Algoan ESLint configuration shared for NodeJS projects written in TypeScript and using prettier. It is the ESLint equivalent for @yelloan/tslint rules.
First, install this module running:
npm install @algoan/eslint-config --save-dev
Then, create a .eslintrc.json
file:
{
"extends": "@algoan/eslint-config"
}
In your package.json
file, add a script:
{
"lint": "eslint src/**/**.ts"
}
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".