Skip to content

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

Open
@tsukker

Description

@tsukker

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions