Skip to content

Missing Merger #343

@DerHerrGammler

Description

@DerHerrGammler

CLI Output

✨ 120 rules replaced with their ESLint equivalents. ✨

❗ 9 ESLint rules behave differently from their TSLint counterparts ❗
  * no-invalid-this:
    - Functions in methods will no longer be ignored.
  * no-unused-expressions:
    - The TSLint optional config "allow-new" is the default ESLint behavior and will no longer be ignored.
  * one-var:
    - Variables declared in for loops will no longer be checked.
  * prefer-arrow/prefer-arrow-functions:
    - ESLint does not support allowing standalone function declarations.
    - ESLint does not support allowing named functions defined with the function keyword.
  * class-methods-use-this:
    - allow-public and allow-protected methods will no longer be ignored.
  * space-in-parens:
    - The number of spaces will be ignored
  * eqeqeq:
    - Option "smart" allows for comparing two literal values, evaluating the value of typeof and null comparisons.
  * camelcase:
    - Leading undescores in variable names will now be ignored.
  * no-underscore-dangle:
    - Leading and trailing underscores (_) on identifiers will now be ignored.

❌ 1 error thrown. ❌
  Check ./tslint-to-eslint-config.log for details.

❓ 18 rules do not yet have ESLint equivalents ❓
  See generated log file; defaulting to eslint-plugin-tslint for these rules.

⚡ 6 packages are required for new ESLint rules. ⚡
  eslint-plugin-import
  unicorn
  import
  no-null
  eslint-plugin-jsdoc
  prefer-arrow

✅ All is well! ✅

File Output

Error: multiple output @typescript-eslint/consistent-type-assertions 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 🙏

�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "encoding"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "import-spacing"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "jsdoc-format"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "match-default-export-name"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-boolean-literal-compare"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-dynamic-delete"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-mergeable-namespace"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-reference-import"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "no-unnecessary-callback-wrapper"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "number-literal-format"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "one-line"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "prefer-method-signature"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "prefer-while"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "return-undefined"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "strict-type-predicates"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "switch-final-break"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "typedef"�[39m
�[33mtslint-to-eslint-config does not know the ESLint equivalent for TSLint's "whitespace"�[39m
�[33m�[39m

Reproduction

tsconfig

{
    "extends": ["tslint:recommended"],
    "rules": {
        "adjacent-overload-signatures": true,
        "align": [true, "parameters", "member", "statements"],
        "array-type": [true, "array-simple"],
        "arrow-parens": [true, "ban-single-arg-parens"],
        "arrow-return-shorthand": [true, "multiline"],
        "await-promise": true,
        "ban": false,
        "ban-comma-operator": true,
        "ban-types": false,
        "binary-expression-operand-order": true,
        "callable-types": true,
        "class-name": true,
        "comment-format": [true, "check-space"],
        "completed-docs": false,
        "curly": [true, "ignore-same-line"],
        "cyclomatic-complexity": [true, 50],
        "deprecation": {
            "severity": "warn"
        },
        "encoding": true,
        "eofline": true,
        "file-header": false,
        "file-name-casing": [false, "camel-case"],
        "forin": true,
        "import-blacklist": false,
        "import-spacing": true,
        "indent": [true, "spaces", 4],
        "interface-name": [true, "always-prefix"],
        "interface-over-type-literal": true,
        "jsdoc-format": [true, "check-multiline-start"],
        "label-position": true,
        "linebreak-style": [false, "CRLF"],
        "match-default-export-name": true,
        "max-classes-per-file": false,
        "max-file-line-count": false,
        "max-line-length": [true, {
            "limit": 140,
            "ignore-pattern": "^import |^export {(.*?)}"
        }],
        "member-access": [true, "check-accessor", "check-parameter-property"],
        "member-ordering": [
            true,
            {
                "order": [
                    "static-field",
                    "instance-field",
                    "static-method",
                    "instance-method"
                ]
            }
        ],
        "new-parens": true,
        "newline-before-return": false,
        "newline-per-chained-call": false,
        "no-angle-bracket-type-assertion": true,
        "no-any": false,
        "no-arg": true,
        "no-bitwise": true,
        "no-boolean-literal-compare": true,
        "no-conditional-assignment": true,
        "no-consecutive-blank-lines": [true, 2],
        "no-console": true,
        "no-construct": true,
        "no-debugger": true,
        "no-default-export": true,
        "no-duplicate-imports": true,
        "no-duplicate-super": true,
        "no-duplicate-switch-case": true,
        "no-duplicate-variable": true,
        "no-dynamic-delete": true,
        "no-empty": false,
        "no-empty-interface": true,
        "no-eval": true,
        "no-floating-promises": true,
        "no-for-in-array": true,
        "no-implicit-dependencies": [true, "dev", "optional"],
        "no-import-side-effect": false,
        "no-inferrable-types": false,
        "no-inferred-empty-object-type": false,
        "no-internal-module": true,
        "no-invalid-template-strings": true,
        "no-invalid-this": true,
        "no-irregular-whitespace": true,
        "no-magic-numbers": false,
        "no-mergeable-namespace": true,
        "no-misused-new": true,
        "no-namespace": [true, "allow-declaration"],
        "no-non-null-assertion": true,
        "no-null-keyword": false,
        "no-object-literal-type-assertion": false,
        "no-parameter-properties": false,
        "no-parameter-reassignment": false,
        "no-redundant-jsdoc": true,
        "no-reference": true,
        "no-reference-import": true,
        "no-require-imports": true,
        "no-return-await": true,
        "no-shadowed-variable": true,
        "no-sparse-arrays": true,
        "no-string-literal": true,
        "no-string-throw": true,
        "no-submodule-imports": false,
        "no-switch-case-fall-through": false,
        "no-this-assignment": [true, {
            "allowed-names": ["^that$"],
            "allow-destructuring": true
        }],
        "no-trailing-whitespace": true,
        "no-unbound-method": [true, "ignore-static"],
        "no-unnecessary-callback-wrapper": true,
        "no-unnecessary-class": [true, "allow-constructor-only", "allow-empty-class", "allow-static-only"],
        "no-unnecessary-initializer": true,
        "no-unnecessary-qualifier": true,
        "no-unnecessary-type-assertion": false,
        "no-unsafe-any": false,
        "no-unsafe-finally": true,
        "no-unused-expression": [true, "allow-fast-null-checks"],
        "no-var-keyword": true,
        "no-var-requires": true,
        "no-void-expression": false,
        "number-literal-format": true,
        "object-literal-key-quotes": [true, "consistent"],
        "object-literal-shorthand": [true, "never"],
        "object-literal-sort-keys": false,
        "one-line": [true, "check-catch", "check-finally", "check-else", "check-open-brace", "check-whitespace"],
        "one-variable-per-declaration": true,
        "only-arrow-functions": [true, "allow-declarations", "allow-named-functions"],
        "ordered-imports": false,
        "prefer-conditional-expression": [false, "check-else-if"],
        "prefer-const": true,
        "prefer-for-of": false,
        "prefer-function-over-method": [true, "allow-public", "allow-protected"],
        "prefer-method-signature": true,
        "prefer-object-spread": true,
        "prefer-readonly": true,
        "prefer-switch": false,
        "prefer-template": false,
        "prefer-while": true,
        "promise-function-async": true,
        "quotemark": [true, "double"],
        "radix": true,
        "restrict-plus-operands": true,
        "return-undefined": true,
        "semicolon": [true, "always"],
        "space-before-function-paren": false,
        "space-within-parens": [true, 0],
        "strict-boolean-expressions": [true, "allow-null-union"],
        "strict-type-predicates": true,
        "switch-default": false,
        "switch-final-break": true,
        "trailing-comma": [true, "never"],
        "triple-equals": [true, "allow-null-check"],
        "type-literal-delimiter": true,
        "typedef": [true, "call-signature", "arrow-call-signature", "parameter", "arrow-parameter", "property-declaration", "variable-declaration", "member-variable-declaration", "object-destructuring", "array-destructuring"],
        "typedef-whitespace": [true, {
            "call-signature": "nospace",
            "index-signature": "nospace",
            "parameter": "nospace",
            "property-declaration": "nospace",
            "variable-declaration": "nospace"
        }],
        "unified-signatures": true,
        "use-default-type-parameter": true,
        "use-isnan": true,
        "variable-name": [true, "check-format", "ban-keywords", "allow-leading-underscore"],
        "whitespace": [true, "check-branch", "check-decl", "check-operator", "check-module", "check-separator", "check-rest-spread", "check-type", "check-typecast", "check-type-operator", "check-preblock"]
    }
}

esconfig

module.exports = {
    "env": {
        "browser": true,
        "es6": true,
        "node": true
    },
    "extends": [
        "plugin:@typescript-eslint/recommended",
        "plugin:@typescript-eslint/recommended-requiring-type-checking"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "project": "tsconfig.json",
        "sourceType": "module"
    },
    "plugins": [
        "@typescript-eslint",
        "@typescript-eslint/tslint"
    ],
    "rules": {
        "@typescript-eslint/adjacent-overload-signatures": "error",
        "@typescript-eslint/array-type": "error",
        "@typescript-eslint/await-thenable": "error",
        "@typescript-eslint/ban-types": "off",
        "@typescript-eslint/class-name-casing": "error",
        "@typescript-eslint/consistent-type-assertions": "error",
        "@typescript-eslint/consistent-type-definitions": "error",
        "@typescript-eslint/explicit-member-accessibility": [
            "error",
            {
                "accessibility": "explicit",
                "overrides": {
                    "accessors": "explicit",
                    "parameterProperties": "explicit"
                }
            }
        ],
        "@typescript-eslint/indent": [
            "error",
            4,
            {
                "FunctionDeclaration": {
                    "parameters": "first"
                },
                "FunctionExpression": {
                    "parameters": "first"
                }
            }
        ],
        "@typescript-eslint/interface-name-prefix": "error",
        "@typescript-eslint/member-delimiter-style": [
            "error",
            {
                "multiline": {
                    "delimiter": "semi",
                    "requireLast": true
                },
                "singleline": {
                    "delimiter": "semi",
                    "requireLast": false
                }
            }
        ],
        "@typescript-eslint/member-ordering": "error",
        "@typescript-eslint/no-empty-function": "off",
        "@typescript-eslint/no-empty-interface": "error",
        "@typescript-eslint/no-explicit-any": "off",
        "@typescript-eslint/no-extraneous-class": "error",
        "@typescript-eslint/no-floating-promises": "error",
        "@typescript-eslint/no-for-in-array": "error",
        "@typescript-eslint/no-inferrable-types": "off",
        "@typescript-eslint/no-misused-new": "error",
        "@typescript-eslint/no-namespace": "error",
        "@typescript-eslint/no-non-null-assertion": "error",
        "@typescript-eslint/no-param-reassign": "off",
        "@typescript-eslint/no-parameter-properties": "off",
        "@typescript-eslint/no-require-imports": "error",
        "@typescript-eslint/no-this-alias": "error",
        "@typescript-eslint/no-unnecessary-qualifier": "error",
        "@typescript-eslint/no-unnecessary-type-arguments": "error",
        "@typescript-eslint/no-unnecessary-type-assertion": "off",
        "@typescript-eslint/no-use-before-define": "off",
        "@typescript-eslint/no-var-requires": "error",
        "@typescript-eslint/prefer-for-of": "off",
        "@typescript-eslint/prefer-function-type": "error",
        "@typescript-eslint/prefer-namespace-keyword": "error",
        "@typescript-eslint/prefer-readonly": "error",
        "@typescript-eslint/promise-function-async": "error",
        "@typescript-eslint/quotes": [
            "error",
            "double"
        ],
        "@typescript-eslint/restrict-plus-operands": "error",
        "@typescript-eslint/semi": [
            "error",
            "always"
        ],
        "@typescript-eslint/strict-boolean-expressions": "error",
        "@typescript-eslint/triple-slash-reference": "error",
        "@typescript-eslint/type-annotation-spacing": "error",
        "@typescript-eslint/unbound-method": "error",
        "@typescript-eslint/unified-signatures": "error",
        "arrow-body-style": [
            "error",
            "always"
        ],
        "arrow-parens": [
            "error",
            "as-needed"
        ],
        "camelcase": "error",
        "class-methods-use-this": "error",
        "comma-dangle": "error",
        "complexity": [
            "error",
            {
                "max": 50
            }
        ],
        "constructor-super": "error",
        "curly": [
            "error",
            "multi-line"
        ],
        "default-case": "off",
        "dot-notation": "error",
        "eol-last": "error",
        "eqeqeq": [
            "error",
            "smart"
        ],
        "guard-for-in": "error",
        "id-blacklist": [
            "error",
            "any",
            "Number",
            "number",
            "String",
            "string",
            "Boolean",
            "boolean",
            "Undefined",
            "undefined"
        ],
        "id-match": "error",
        "import/no-default-export": "error",
        "import/no-deprecated": "warn",
        "import/no-extraneous-dependencies": [
            "error",
            {
                "devDependencies": false
            },
            {
                "optionalDependencies": false
            }
        ],
        "import/no-internal-modules": "off",
        "import/no-unassigned-import": "off",
        "import/order": "off",
        "jsdoc/no-types": "error",
        "linebreak-style": [
            "off",
            "windows"
        ],
        "max-classes-per-file": "off",
        "max-len": [
            "error",
            {
                "ignorePattern": "^import |^export {(.*?)}",
                "code": 140
            }
        ],
        "max-lines": "off",
        "new-parens": "error",
        "newline-per-chained-call": "off",
        "no-bitwise": "error",
        "no-caller": "error",
        "no-cond-assign": "error",
        "no-console": "error",
        "no-debugger": "error",
        "no-duplicate-case": "error",
        "no-duplicate-imports": "error",
        "no-empty": "off",
        "no-eval": "error",
        "no-fallthrough": "off",
        "no-invalid-this": "error",
        "no-irregular-whitespace": "error",
        "no-magic-numbers": "off",
        "no-multiple-empty-lines": [
            "error",
            {
                "max": 2
            }
        ],
        "no-new-wrappers": "error",
        "no-null/no-null": "off",
        "no-redeclare": "error",
        "no-restricted-imports": "off",
        "no-return-await": "error",
        "no-sequences": "error",
        "no-shadow": [
            "error",
            {
                "hoist": "all"
            }
        ],
        "no-sparse-arrays": "error",
        "no-template-curly-in-string": "error",
        "no-throw-literal": "error",
        "no-trailing-spaces": "error",
        "no-undef-init": "error",
        "no-underscore-dangle": "error",
        "no-unsafe-finally": "error",
        "no-unused-expressions": [
            "error",
            {
                "allowShortCircuit": true
            }
        ],
        "no-unused-labels": "error",
        "no-var": "error",
        "no-void": "off",
        "object-shorthand": [
            "error",
            "never"
        ],
        "one-var": [
            "error",
            "never"
        ],
        "padding-line-between-statements": [
            "off",
            {
                "blankLine": "always",
                "prev": "*",
                "next": "return"
            }
        ],
        "prefer-arrow/prefer-arrow-functions": "error",
        "prefer-const": "error",
        "prefer-object-spread": "error",
        "prefer-template": "off",
        "quote-props": [
            "error",
            "consistent"
        ],
        "radix": "error",
        "space-before-function-paren": "off",
        "space-in-parens": [
            "error",
            "always"
        ],
        "spaced-comment": "error",
        "unicorn/filename-case": "off",
        "use-isnan": "error",
        "valid-typeof": "off",
        "yoda": "error",
        "@typescript-eslint/tslint/config": [
            "error",
            {
                "rules": {
                    "encoding": true,
                    "import-spacing": true,
                    "jsdoc-format": [
                        true,
                        "check-multiline-start"
                    ],
                    "match-default-export-name": true,
                    "no-boolean-literal-compare": true,
                    "no-dynamic-delete": true,
                    "no-mergeable-namespace": true,
                    "no-reference-import": true,
                    "no-unnecessary-callback-wrapper": true,
                    "number-literal-format": true,
                    "one-line": [
                        true,
                        "check-catch",
                        "check-finally",
                        "check-else",
                        "check-open-brace",
                        "check-whitespace"
                    ],
                    "prefer-method-signature": true,
                    "prefer-while": true,
                    "return-undefined": true,
                    "strict-type-predicates": true,
                    "switch-final-break": true,
                    "typedef": [
                        true,
                        "call-signature",
                        "arrow-call-signature",
                        "parameter",
                        "arrow-parameter",
                        "property-declaration",
                        "variable-declaration",
                        "member-variable-declaration",
                        "object-destructuring",
                        "array-destructuring"
                    ],
                    "whitespace": [
                        true,
                        "check-branch",
                        "check-decl",
                        "check-operator",
                        "check-module",
                        "check-separator",
                        "check-rest-spread",
                        "check-type",
                        "check-typecast",
                        "check-type-operator",
                        "check-preblock"
                    ]
                }
            }
        ]
    }
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions