Open
Description
π₯ Missing Merger
tslint-to-eslint-config
version: 2.9.1- ESLint version: 7.32.0
CLI Output
β¨ 55 rules replaced with their ESLint equivalents. β¨
β 6 ESLint rules behave differently from their TSLint counterparts β
Check ./tslint-to-eslint-config.log for details.
β 1 error thrown. β
Check ./tslint-to-eslint-config.log for details.
οΈ
β 2 rules are not known by tslint-to-eslint-config to have ESLint equivalents. β
The "@typescript-eslint/tslint/config" section of ./.eslintrc.js configures eslint-plugin-tslint to run them in TSLint within ESLint.
Check ./tslint-to-eslint-config.log for details.
οΈ
π¦ 1 rule is obsolete and does not have an ESLint equivalent. π¦
Check ./tslint-to-eslint-config.log for details.
β‘ 5 new packages are required for this ESLint configuration. β‘
yarn add @typescript-eslint/eslint-plugin @typescript-eslint/eslint-plugin-tslint @typescript-eslint/parser eslint-config-prettier eslint-plugin-react --dev
β» Consider using --comments to replace TSLint comment directives in your source files. β»
β
All is well! β
β¨ Done in 1.96s.
File Output
6 ESLint rules behave differently from their TSLint counterparts:
* no-console:
- Custom console methods, if they exist, will no longer be allowed.
* @typescript-eslint/no-unused-expressions:
- The TSLint optional config "allow-new" is the default ESLint behavior and will no longer be ignored.
* brace-style:
- ESLint's brace-style will check all tokens.
* eqeqeq:
- Option "smart" allows for comparing two literal values, evaluating the value of typeof and null comparisons.
* no-underscore-dangle:
- Leading or trailing underscores (_) on identifiers will now be forbidden.
* padded-blocks:
- ESLint's padded-blocks rule also bans a blank line before a closing brace.
Error: multiple output react/jsx-curly-spacing ESLint rule options were generated, but tslint-to-eslint-config doesn't have "merger" logic to deal with this.
Please file an issue at https://github.com/typescript-eslint/tslint-to-eslint-config/issues/new?template=missing_merger.md. Thanks!
2 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 "prettier".
* tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "whitespace".
* import-destructuring-spacing
Reproduction
package.json
tsconfig.json
{
"compilerOptions": {
"target": "ES2016",
"module": "commonjs",
"jsx": "react",
"sourceMap": true,
"outDir": "./build",
"strict": true,
"baseUrl": "./",
"paths": {},
"esModuleInterop": true
}
}
tslint.json
{
"extends": "tslint-config-prettier",
"rulesDirectory": "tslint-plugin-prettier",
"rules": {
"prettier": true,
"class-name": true,
"curly": true,
"eofline": true,
"forin": true,
"indent": false,
"label-position": true,
"max-line-length": [true, 140],
"no-arg": true,
"no-bitwise": false,
"no-console": [true, "debug", "info", "time", "timeEnd", "trace"],
"no-construct": true,
"no-debugger": true,
"no-duplicate-variable": true,
"no-empty": true,
"no-eval": true,
"no-inferrable-types": true,
"no-string-literal": true,
"no-switch-case-fall-through": true,
"no-trailing-whitespace": true,
"no-unused-expression": true,
"no-use-before-declare": false,
"one-line": [true, "check-open-brace", "check-catch", "check-else", "check-whitespace"],
"quotemark": [true, "double", "avoid-escape"],
"radix": true,
"semicolon": [true, "always", "ignore-bound-class-methods"],
"triple-equals": [true, "allow-null-check"],
"variable-name": false,
"whitespace": [true, "check-branch", "check-decl", "check-separator", "check-type"]
}
}