Converts your TSLint configuration to the closest reasonable ESLint equivalent.
π Did you know TSLint is deprecated?
Hooray!
Use tslint-to-eslint-config
to expedite migrating your project onto ESLint.
Consider taking a peek at the relevant documentation: π€
- ESLint itself
- typescript-eslint, which allows TypeScript files to be linted by ESLint
npx tslint-to-eslint-config
β‘ (wow, so simple!) β‘
The tslint-to-eslint-config
command reads in any existing linter, TypeScript, and package configuration files, then creates an .eslintrc.js
result based on them.
For any TSLint rules with corresponding ESLint equivalents, those equivalents will be used in the new configuration. TSLint rules without ESLint equivalents will be wrapped with eslint-plugin-tslint.
Requires Node 10+ (LTS) and TSLint 5.18+
We strongly advise reading docs/FAQs.md before planning your conversion from TSLint to ESLint.
Each of these flags is optional:
comments
: File glob path(s) to convert TSLint rule flags to ESLint within.config
: Path to print the generated ESLint configuration file to.editor
: Path to an editor configuration file to convert linter settings within.eslint
: Path to an ESLint configuration file to read settings from.package
: Path to a package.json file to read dependencies from.prettier
: Addeslint-config-prettier
to the plugins list.tslint
: Path to a TSLint configuration file to read settings from.typescript
: Path to a TypeScript configuration file to read TypeScript compiler options from.
npx tslint-to-eslint-config --comments 'src/**/*.ts'
Default: none
File glob path(s) to convert TSLint rule flags to ESLint inline comments in.
Comments such as // tslint:disable: tslint-rule-name
will be converted to equivalents like // eslint-disable eslint-rule-name
.
npx tslint-to-eslint-config --config .eslintrc.json
Default: .eslintrc.js
Path to print the generated ESLint configuration file to.
The file extension of this path will be used to determine the format of the created file:
.js
file paths will be writtenmodule.exports = ...
JavaScript- Other file paths will default to JSON
npx tslint-to-eslint-config --editor ./path/to/.vscode/settings.json
Default: .vscode/settings.json
Path to an editor configuration file to convert settings settings within. Any VS Code style editor settings for TSLint will be converted to their ESLint equivalents.
npx tslint-to-eslint-config --eslint ./path/to/eslintrc.js
Default: --config
's value
Path to an ESLint configuration file to read settings from.
The generated ESLint configuration file will include any settings import
ed from this file.
npx tslint-to-eslint-config --package ./path/to/package.json
Default: package.json
Path to a package.json
file to read dependencies from.
This will help inform the generated ESLint configuration file's env settings.
npx tslint-to-eslint-config --prettier
Default: false
Add eslint-config-prettier
to the list of ESLint plugins.
We highly recommend you use Prettier for code formatting.
When --prettier
isn't enabled:
- If the output configuration already doesn't enable any formatting rules, it'll extend from
eslint-config-prettier
. - Otherwise, a CLI message will suggest running with
--prettier
.
npx tslint-to-eslint-config --tslint ./path/to/tslint.json
Default: tslint.json
Path to a TSLint configuration file to read settings from.
This file is piped into TSLint's --print-config
to generate the list of rules to enable in the generated ESLint configuration file.
npx tslint-to-eslint-config --typescript ./path/to/tsconfig.json
Default: tsconfig.json
Path to a TypeScript configuration file to read TypeScript compiler options from. This will help inform the generated ESLint configuration file's env settings.
See the Code of Conduct and general development docs. π