Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing merger for react/jsx-curly-spacing #1184

Open
tsukker opened this issue Aug 11, 2021 · 0 comments
Open

Missing merger for react/jsx-curly-spacing #1184

tsukker opened this issue Aug 11, 2021 · 0 comments
Labels
area: missing merger good first issue Good for newcomers; welcome aboard! status: accepting prs Please, send in a PR to resolve this! ✨

Comments

@tsukker
Copy link

tsukker commented Aug 11, 2021

πŸ’₯ 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

{
  "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"]
  }
}
@JoshuaKGoldberg JoshuaKGoldberg added area: missing merger good first issue Good for newcomers; welcome aboard! status: accepting prs Please, send in a PR to resolve this! ✨ labels Aug 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: missing merger good first issue Good for newcomers; welcome aboard! status: accepting prs Please, send in a PR to resolve this! ✨
Projects
None yet
Development

No branches or pull requests

2 participants