/tslint-to-eslint-config

Converts your TSLint configuration to the closest possible ESLint equivalent.

Primary LanguageTypeScriptMIT LicenseMIT

tslint-to-eslint-config

Code Style: Prettier Coverage: 100% TypeScript: Strict NPM version Circle CI Join the chat at https://gitter.im/tslint-to-eslint-config/community Code Style: Prettier

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: 🤔

Usage

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+

FAQs

We strongly advise reading docs/FAQs.md before planning your conversion from TSLint to ESLint.

CLI Flags

Each of these flags is optional:

  • 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.
  • tslint: Path to a TSLint configuration file to read settings from.
  • typescript: Path to a TypeScript configuration file to read TypeScript compiler options from.

config

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 written module.exports = ... JavaScript
  • Other file paths will default to JSON

editor

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.

eslint

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 imported from this file.

package

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.

tslint

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.

typescript

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.

Development

See the Code of Conduct and general development docs. 💖