-
Couldn't load subscription status.
- Fork 100
Closed
Labels
area: missing mergerduplicateThis issue or pull request already existsThis issue or pull request already exists
Description
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"
]
}
}
]
}
};
brooksbecton
Metadata
Metadata
Assignees
Labels
area: missing mergerduplicateThis issue or pull request already existsThis issue or pull request already exists