Closed
Description
💥 Missing Merger
tslint-to-eslint-config
version: 2.13.3- ESLint version: 8.25.0
CLI Output
npx tslint-to-eslint-config
Need to install the following packages:
[email protected]
Ok to proceed? (y) y
npm WARN deprecated [email protected]: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.
✨ 133 rules replaced with their ESLint equivalents. ✨
❗ 9 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.
🦖 1 rule is obsolete and does not have an ESLint equivalent. 🦖
Check ./tslint-to-eslint-config.log for details.
☠ Prettier plugins are missing from your configuration. ☠
We highly recommend running tslint-to-eslint-config --prettier to disable formatting ESLint rules.
See https://github.com/typescript-eslint/tslint-to-eslint-config/blob/master/docs/FAQs.md#should-i-use-prettier.
⚡ 7 new packages are required for this ESLint configuration. ⚡
npm install @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template eslint-plugin-import eslint-plugin-jsdoc eslint-plugin-prefer-arrow eslint-plugin-react eslint-plugin-unicorn --save-dev
♻ Consider using --comments to replace TSLint comment directives in your source files. ♻
✅ All is well! ✅
File Output
9 ESLint rules behave differently from their TSLint counterparts:
* arrow-body-style:
- ESLint will throw an error if the function body is multiline yet has a one-line return on it.
* no-console:
- Custom console methods, if they exist, will no longer be allowed.
* no-underscore-dangle:
- Leading and trailing underscores (_) on identifiers will now be ignored.
* no-invalid-this:
- Functions in methods will no longer be ignored.
* @typescript-eslint/no-unused-expressions:
- The TSLint optional config "allow-new" is the default ESLint behavior and will no longer be ignored.
* 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.
* eqeqeq:
- Option "smart" allows for comparing two literal values, evaluating the value of typeof and null comparisons.
* no-redeclare:
- ESLint does not support check-parameters.
* 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!
* import-destructuring-spacing
Reproduction
Can not provide a github link, cause it is a private repository.
tslint.json
:
{
"extends": ["tslint:latest", "tslint-config-prettier"],
"rules": {
"array-type": false,
"arrow-parens": false,
"arrow-return-shorthand": true,
"curly": true,
"deprecation": {
"severity": "warning"
},
"component-class-suffix": true,
"contextual-lifecycle": true,
"directive-class-suffix": true,
"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
"import-blacklist": [true, "rxjs/Rx"],
"interface-name": false,
"max-classes-per-file": false,
"max-line-length": [false, 140],
"member-access": false,
"member-ordering": [
true,
{
"order": ["static-field", "instance-field", "static-method", "instance-method"]
}
],
"no-consecutive-blank-lines": false,
"no-console": [true, "debug", "info", "time", "timeEnd", "trace"],
"no-empty": false,
"no-inferrable-types": [true, "ignore-params"],
"no-non-null-assertion": true,
"no-redundant-jsdoc": true,
"no-switch-case-fall-through": true,
"no-var-requires": false,
"object-literal-sort-keys": false,
"ordered-imports": false,
"trailing-comma": false,
"no-conflicting-lifecycle": true,
"no-host-metadata-property": true,
"no-input-rename": true,
"no-inputs-metadata-property": true,
"no-output-native": true,
"no-output-on-prefix": true,
"no-output-rename": true,
"no-outputs-metadata-property": true,
"template-banana-in-box": true,
"template-no-negated-async": true,
"use-lifecycle-interface": true,
"use-pipe-transform-interface": true,
"variable-name": {
"options": ["ban-keywords", "check-format", "allow-pascal-case", "allow-leading-underscore"]
}
},
"rulesDirectory": ["codelyzer"]
}