tslint-to-eslint-config
tslint-to-eslint-config copied to clipboard
Missing merger for react/jsx-curly-spacing
💥 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
{
"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"
}
}
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"]
}
}