-
Notifications
You must be signed in to change notification settings - Fork 100
Open
Labels
area: missing mergergood first issueGood for newcomers; welcome aboard!Good for newcomers; welcome aboard!status: accepting prsPlease, send in a PR to resolve this! β¨Please, send in a PR to resolve this! β¨
Description
π₯ Missing Merger
tslint-to-eslint-configversion: 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"]
}
}Metadata
Metadata
Assignees
Labels
area: missing mergergood first issueGood for newcomers; welcome aboard!Good for newcomers; welcome aboard!status: accepting prsPlease, send in a PR to resolve this! β¨Please, send in a PR to resolve this! β¨
{ "name": "dummy", "version": "1.0.0", "description": "dummy", "main": "index.js", "scripts": {}, "private": true, "dependencies": { "@material-ui/core": "^3.1.2", "@material-ui/icons": "^3.0.1", "classnames": "^2.2.6", "moment": "^2.22.2", "protobufjs": "^6.8.8", "react": "^16.5.0", "react-dom": "^16.5.0", "react-redux": "^5.1.0", "react-router-dom": "^4.3.1", "redux": "^4.0.1", "redux-thunk": "~2.3.0" }, "devDependencies": { "@types/classnames": "^2.2.4", "@types/compression-webpack-plugin": "^0.4.2", "@types/jest": "^23.3.10", "@types/jquery": "^3.3.1", "@types/jqueryui": "^1.12.2", "@types/node": "^8.10.0", "@types/react": "^16.4.0", "@types/react-dom": "^16.0.3", "@types/react-redux": "^5.0.19", "@types/react-router-dom": "^4.3.0", "@types/recompose": "^0.30.0", "@types/uglifyjs-webpack-plugin": "^1.1.0", "@types/webpack": "^4.4.9", "@types/webpack-dev-server": "^3.1.0", "@types/webpack-merge": "^4.1.3", "awesome-typescript-loader": "^5.2.0", "cache-loader": "^1.2.2", "compression-webpack-plugin": "^1.1.12", "eslint": "^7.32.0", "file-loader": "^2.0.0", "jest": "^23.6.0", "jest-junit": "^5.2.0", "prettier": "^1.14.2", "rimraf": "^2.6.2", "ts-jest": "^23.10.5", "ts-node": "^7.0.0", "tsconfig-paths": "^3.5.0", "tslint": "^5.11.0", "tslint-config-prettier": "^1.15.0", "tslint-plugin-prettier": "^1.3.0", "tslint-react": "^3.6.0", "tslint-to-eslint-config": "^2.9.1", "typescript": "^3.0.1", "uglifyjs-webpack-plugin": "^1.3.0", "webpack": "^4.17.0", "webpack-cli": "^3.1.0", "webpack-dev-server": "^3.1.3", "webpack-merge": "^4.1.1" } }