UNPKG

tslint

Version:

An extensible static analysis linter for the TypeScript language

797 lines (685 loc) 133 kB
# Change Log ## v6.1.3 - [bugfix] add support for TypeScript 4.0 peer dependency (#4943) ## v6.1.2 - [bugfix] restore typings compatibility with TS < 3.8 (#4933) ## v6.1.1 - [bugfix] upgrade mkdirp dependency to `^0.5.3` (#4918) ## v6.1.0 - [enhancement] Upgrade to TypeScript 3.8, support new syntax (#4915) - [docs][`no-object-literal-type-assertion`](https://palantir.github.io/tslint/rules/no-object-literal-type-assertion/) fix typo in rule description (#4911) Thanks to our contributors! - Daniel Zwelling - Ryan Delaney ## v6.0.0 This version has been marked as deprecated on NPM to encourage users to migrate to ESLint. - [bugfix] fix `enforce-trailing-newline` option in [`file-header`](https://palantir.github.io/tslint/rules/file-header/) rule (#4890) - [bugfix] avoid writing to temp files with `writeFileSync` on macOS 10.15 (#4887) - [bugfix] fix crash in [`completed-docs`](https://palantir.github.io/tslint/rules/completed/) rule when tag contents are undefined (#4895) - [docs] fix example code of Radix rule (#4892) - [docs] Add missing colon after `[error]` in testing rules documentation (#4903) Thanks to our contributors! - Ivan Sorokin - Tanmoy Bhowmik - Meng Wang - Jay Bhagat - Aman Sharma - Josh Goldberg ## v6.0.0-beta1 No changes from v6.0.0-beta0, just re-released to correctly mark with the `beta` and `next` dist-tags on NPM. ## v6.0.0-beta0 - :fire: BREAKING CHANGES :fire: - [api] Changed default formatter to stylish (#4872) - [enhancement] Removed formatting and whitespace rules from `tslint:recommended` configuration (#4871) - [enhancement] Removed pedantic rules from `tslint:recommended` configuration (#4312) - [enhancement] `vso` formatter now reports severity of rule failures (#4286) - [enhancement][`typedef`](https://palantir.github.io/tslint/rules/typedef/) rule `arrow-call-signature` option is more consistent in reporting errors on lambdas and will flag more violations that were missed in the previous rule implementation (#4533) - [bugfix][`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/) is now consistent with TypeScript's Organise Imports ordering (#4064) - [bugfix][`member-ordering`](https://palantir.github.io/tslint/rules/member-ordering/) now checks property accessors (getters and setters) (#3984) - Other changes - [bugfix] Removed deprecated rules from `tslint:all` configuration (#4862) - [bugfix] Preserve significant zeros in fixer for number-literal-format (#4856) - [bugfix][`no-redundant-jsdoc`](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) allow `@author` tag (#4854) - [bugfix] `RuleFailure#toJson()` no longer forces rule severity to be an uppercase string (#2622) - [bugfixfix][`return-undefined`](https://palantir.github.io/tslint/rules/return-undefined/) rule now works with TS 3.7 (#4866) - [enhancement][`prefer-switch`](https://palantir.github.io/tslint/rules/prefer-switch/) is more lenient with `if` statements containing multiple OR conditions without any `else` clause (#4873) - [enhancement][`completed-doc`](https://palantir.github.io/tslint/rules/completed-doc/): add support for constructor documentation (#4861) - [new-rule-option] `case-insensitive-legacy` for [`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/) rule (#4064) - [docs][`import-blacklist`](https://palantir.github.io/tslint/rules/import-blacklist/): add some options examples (#4858) - [docs] Update custom rule example to use recursive walker (#4883) Thanks to our contributors! - J Rob Gant - Tanmoy Bhowmik - 谭九鼎 - Ahmed Ghoneim - Josh Goldberg - Andrew Boyton - Peter Sandor - Vincent Langlet - Adrian Leonhard - Philipp Foedermayr - Brian Olore - andrew bernard - joon1030 ## v5.20.1 No changes from v5.20.0, just re-released to correctly mark with the `latest` dist-tag on NPM. ## v5.20.0 - [bugfix] fix [`strict-boolean-expressions`](https://palantir.github.io/tslint/rules/strict-boolean-expressions/) false positive with `"ignore-rhs"` option (#4833) - [bugfix] fix [`no-unnecessary-type-assertion`](https://palantir.github.io/tslint/rules/no-unnecessary-type-assertion/) no error when `"strict": true` in compiler flags (#4841) - [bugfix] "ignore" option for [`file-name-casing`](https://palantir.github.io/tslint/rules/file-name-casing/) rule works correctly (#4848) - [bugfix] fix [`array-type`](https://palantir.github.io/tslint/rules/array-type/) false positive for simple parenthesized types with "array-simple" option (#4844) - [new-rule-option][`object-literal-shorthand`](https://palantir.github.io/tslint/rules/object-literal-shorthand/) supports `{"property"?: "never", "method"?: "never"}` as config options (#4842) - [new-rule-option]: `allow-generics` option for [`invalid-void`](https://palantir.github.io/tslint/rules/invalid-void) rule (#4839) - [new-rule-option] `check-super-calls` option for [`unnecessary-constructor`](https://palantir.github.io/tslint/rules/unnecessary-constructor/) rule (#4813) - [chore] Upgrade `diff` dependency to v4.0.1 (#4845, #4852) Thanks to our contributors! - Bas Bosman - Tanmoy Bhowmik - David Zulaica - Maxime Kjaer - @guidsdo - Pavel Birukov - Josh Goldberg - Akshaya Srivatsa ## v5.19.0 - [bugfix] relax [`promise-function-async`](https://palantir.github.io/tslint/rules/promise-function-async/) for short parenthesized arrow functions (#4765) - [bugfix] fix [`no-async-without-await`](https://palantir.github.io/tslint/rules/no-async-without-await/) false positive for abstract methods (#4782) - [bugfix] fix [`strict-comparisons`](https://palantir.github.io/tslint/rules/strict-comparisons/) false positive for `null` and `undefined` literals (#4786) - [bugfix] improve [`no-angle-bracket-type-assertion`](https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/) autofix semantics with more parentheses (#4823) - [enhancement] add BigInt support to [`restrict-plus-operands`](https://palantir.github.io/tslint/rules/restrict-plus-operands/) rule (#4814) - [enhancement][`await-promise`](https://palantir.github.io/tslint/rules/await-promise/) now supports new TypeScript 3.6 AST API symbols for async iterators (#4800) - [new-rule-option] `check-strings` and `check-regex` options for [`max-line-length`](https://palantir.github.io/tslint/rules/max-line-length/) rule (#4798) - [new-rule-option] `variable-declaration-ignore-function` option for [`typedef`](https://palantir.github.io/tslint/rules/typedef/) rule (#4769) - [new-rule-option] `ignore-blank-lines` option for [`object-literal-sort-keys`](https://palantir.github.io/tslint/rules/object-literal-sort-keys/) rule (#4808) - [new-rule][`no-for-in`](https://palantir.github.io/tslint/rules/no-for-in/) (#4747) - [new-rule][`invalid-void`](https://palantir.github.io/tslint/rules/invalid-void/) (#4736) - [new-rule][`strict-string-expressions`](https://palantir.github.io/tslint/rules/strict-string-expressions/) reports errors on type coercions found in string expressions (#4807) - [new-rule][`no-promise-as-boolean`](https://palantir.github.io/tslint/rules/no-promise-as-boolean/) (#4790) - [docs] link to OSS fellowship medium post in README (#4821) Thanks to our contributors! - Josh Pike - Tanmoy Bhowmik - Michael Withagen - Evgeniy Timokhov - Vitalij Krotov - Josh Goldberg - Veda - Guido - Robert Fink - Max Sysoev ## v5.18.0 - [feature] New `--print-config` CLI flag (#4744) - [bugfix][`no-unnecessary-type-assertion`](https://palantir.github.io/tslint/rules/no-unnecessary-type-assertion/) no longer flags `x!` non-null assertions if `--strictNullChecks` is not enabled (#3724) - [bugfix][`quotemark`](https://palantir.github.io/tslint/rules/quotemark/) handles unbalanced quotes more gracefully without crashing (#4344) - [docs] Add tslint-playground link to README and bug report template (#4150) - [enhancement][`no-magic-numbers`](https://palantir.github.io/tslint/rules/no-magic-numbers/) rule ignores arguments passed into default Number methods (#3668) - [new-fixer][`comment-format`](https://palantir.github.io/tslint/rules/comment-format/) (#3583) - [new-rule-option] `"allow-trailing-lowercase"` option for [`comment-format`](https://palantir.github.io/tslint/rules/comment-format/) rule (#3583) - [new-rule-option] `"ignore-accessors"` for [`adjacent-overload-signatures`](https://palantir.github.io/tslint/rules/adjacent-overload-signatures/) to ignore getters / setters overloads (#3718) - [new-rule][`no-async-without-await`](https://palantir.github.io/tslint/rules/no-async-without-await/) (#3945) - [new-rule][`strict-comparisons`](https://palantir.github.io/tslint/rules/strict-comparisons/) (#4519) Thanks to our contributors! - Josh Goldberg - smoehrle - Mateusz Witkowski - Andy Hanson - John Wiseheart - Eran Shabi - Tibor Blenessy - AndreasGassmann - Ryan Waskiewicz - Isabelle ## v5.17.0 - [bugfix][`quotemark`](https://palantir.github.io/tslint/rules/quotemark/) backtic option now ignores enum members, use strict declarations, lookup types, and strings containing octal escape sequences. (#4693) - [bugfix][`no-redundant-jsdoc`](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) no longer errors on `JSDocThisTag` (#4690) - [chore] Update devDependency mocha from v3.2.0 to v6.1.4 (#4669) (#4674) - [chore] Update devDependency js-yaml from ^3.13.0 to ^3.13.1 (#4663) - [chore] Update deprecated devDependency github to @octokit/rest (#4673) - [chore] Update devDependency nyc from v13.3.0 to v14.1.1 (#4699) - [deprecation][`no-use-before-declare`](https://palantir.github.io/tslint/rules/no-use-before-declare/) rule for typescript >= 2.9.0 (#4695) - [documentation] Minor fix for [`variable-name`](https://palantir.github.io/tslint/rules/variable-name/) rule metadata (#4731) - [documentation] Fixed [`no-unused-variable`](https://palantir.github.io/tslint/rules/no-unused-variable/) argument count (#4683) - [enhancement] Allow const assertions in [`no-object-literal-type-assertion`](https://palantir.github.io/tslint/rules/no-object-literal-type-assertion/) (#4681) - [new-fixer][`unnecessary-constructor`](https://palantir.github.io/tslint/rules/unnecessary-constructor/) (#4694) Thanks to our contributors! - Bjorn Stromberg - Vitaliy Agoshkov - knafteN - Bowen Ni - Waseem Ahmad - Åsmund Grammeltvedt - Eric Ferreira - Zhen Tian - Tom Lakesman - zachkirsch ## v5.16.0 - [bugfix] Excuse more [`quotemark`](https://palantir.github.io/tslint/rules/quotemark/) backtick edge cases and fix behavior for TS < 2.7.1 (#4642) - [bugfix] Fix regression in [`interface-name`](https://palantir.github.io/tslint/rules/interface-name/) rule related to numeric characters in interface names (#4655, #4626) - [enhancement] Update `nyc` from v10.2.0 to v13.3.0 (#4633) - [enhancement] Migrate from deprecated [babel-code-frame](https://www.npmjs.com/package/babel-code-frame) package to new [@babel/code-frame](https://www.npmjs.com/package/@babel/code-frame) package (#4632) - [enhancement] Improve error message for [`restrict-plus-operands`](https://palantir.github.io/tslint/rules/restrict-plus-operands/) rule. (#4635) - [enhancement][`comment-format`](https://palantir.github.io/tslint/rules/comment-format/) rule now whitelists `//region` comments generated by JetBrains IDE (#4609) - [enhancement] Relax [`no-null-undefined-union`](https://palantir.github.io/tslint/rules/no-null-undefined-union/) rule. (#4625) - [new-rule-option] `allow-else-if` option for [`unnecessary-else`](https://palantir.github.io/tslint/rules/unnecessary-else/) rule (#4599) - [documentation] Fix "identifer" typo in custom rules docs (#4657) - [documentation] Fix code example for [`switch-default`](https://palantir.github.io/tslint/rules/switch-default/) rule (#4650) - [documentation] Fix documentation example for prose formatter (#4656) - [documentation][`no-parameter-properties`](https://palantir.github.io/tslint/rules/no-parameter-properties/): fix unclear rule description (#4629) - [documentation] Fix typo in rule docs generation (#4638) Thanks to our contributors! - Oleg Artene - William Neely - Bjorn Stromberg - Matthew Barry - Neha Rathi - Vincent Langlet - rarenal - Greg Jednaszewski - Adam Postma - Eric Ferreira - Evgeniy Timokhov - Martin Probst ## v5.15.0 - [api] `WalkContext` and `AbstractWalker` type parameter defaults to `void` (#2600) - [bugfix][`no-void-expression`](https://palantir.github.io/tslint/rules/no-void-expression/) now allows conditional expressions (#4606) - [bugfix] fix linebreak handling in [`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/) (#4583) - [bugfix] fix [`static-this`](https://palantir.github.io/tslint/rules/static-this/) false positive for higher order components (#4580) - [bugfix] Fixed crash in [`unnecessary-else`](https://palantir.github.io/tslint/rules/unnecessary-else/) from blank `if` statements (#4603) - [bugfix] Fixed false positive in [`unnecessary-else`](https://palantir.github.io/tslint/rules/unnecessary-else/) after non-jumping statement (#4603) - [bugfix][`interface-name`](https://palantir.github.io/tslint/rules/interface-name/) now handles interface starting with "I18n" correctly (#4486) - [bugfix][`no-string-throw`](https://palantir.github.io/tslint/rules/no-string-throw/) fix inserts whitespace if not present after `throw` keyword (#4540) - [bugfix][`quotemark`](https://palantir.github.io/tslint/rules/quotemark/): fix some edge cases for `backtick` option (#4618) - [bugfix][`unnecessary-constructor`](https://palantir.github.io/tslint/rules/unnecessary-constructor/): don't flag non-private constructors that are actually necessary (#4619) - [enhancement] Upgrade js-yaml to avoid security issue (#4595) - [new-rule-option] `allow-single-line-comments` option for [`file-header`](https://palantir.github.io/tslint/rules/file-header/) rule (#4560) - [new-rule-option] `ignore-rest-args` option for [`no-any`](https://palantir.github.io/tslint/rules/no-any/) rule (#4581) - [new-rule][`no-null-undefined-union`](https://palantir.github.io/tslint/rules/no-null-undefined-union/) (#4589) Thanks to our contributors! - Max Belsky - Steve Moser - Christian Flach - Roman Rogowski - Terry - Luke - Andy Hanson - Vitalij Krotov - Josh Goldberg - Vincent Langlet - Neha Rathi - Eric Ferreira ## v5.14.0 - [bugfix] `backtick` option for [`quotemark`](https://palantir.github.io/tslint/rules/quotemark/) rule no longer incorrectly flags string literals that must use single/double quotes (#4535) - [bugfix] Fixed regression in CheckstyleFormatter backwards compatibility (#4561) - [bugfix][`whitespace`](https://palantir.github.io/tslint/rules/whitespace/) rule now lints export statements (#4554) - [bugfix][`no-trailing-whitespace`](https://palantir.github.io/tslint/rules/no-trailing-whitespace/) no longer flags files starting with a byte order mark (#4543) - [enhancement][`promise-function-async`](https://palantir.github.io/tslint/rules/promise-function-async/) now allows single statement lamda functions that delegate to another promise-returning function (#4553) - [enhancement] Add note to docs about zero-indexing for machine formatters (#4544) - [enhancement] Fix metadata of the [`whitespace`](https://palantir.github.io/tslint/rules/whitespace/) rule (#4551) - [enhancement] Add junit output for files which are successfully linted (#4566) - [new-rule-option] `underscore` option for [`no-shadowed-variable`](https://palantir.github.io/tslint/rules/no-shadowed-variable/) rule to ignore shadowed underscores (#4546) - [new-rule-option] `require-const-for-all-caps` option for [`variable-name`](https://palantir.github.io/tslint/rules/variable-name/) rule (#2936) - [new-rule-option] `overloads` option for [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/) rule to enforce documentation of each overload signature (#4563) - [new-rule-option] `allow-namespace-imports` option for [`no-duplicate-imports`](https://palantir.github.io/tslint/rules/no-duplicate-imports/) rule (#4524) - [new-rule-option] `allow-arguments` option for [`no-object-literal-type-assertion`](https://palantir.github.io/tslint/rules/no-object-literal-type-assertion/) rule to allow type assertions on object literals used inside call expressions (#4521) - [new-rule-option] `allow-delete` option for [`no-unbound-method`](https://palantir.github.io/tslint/rules/no-unbound-method/) rule (#4548) - [new-rule][`no-tautology-expression`](https://palantir.github.io/tslint/rules/no-tautology-expression/) (#4470) - [new-rule][`static-this`](https://palantir.github.io/tslint/rules/static-this/) (#4475) - [new-rule][`unnecessary-else`](https://palantir.github.io/tslint/rules/unnecessary-else/) (#4502) Thanks to our contributors! - Roman Rogowski - Max Belsky - Edward Drapkin - Dominik Palo - Matthew McCune - Debsmita - Lucas Charles - Piotr Gajowniczek - Darren Anderson - Noam Yogev - Josh Goldberg - Karol Majewski ## v5.13.1 - [bugfix] Fix regression in CheckstyleFormatter backwards compatibility (#4561) ## v5.13.0 - [deprecation] Mark `RuleWalker` and `ProgramAwareRuleWalker` as deprecated (#4413) - [bugfix] Create output directory when the output path (specified by `--out` CLI flag) does not exist. (#4507) - [bugfix] Explicit disabling of rules is now copied over to jsRules when using `jsRules: true` (#4517) - [bugfix] `unknown` is recognized as simple type in [`array-type`](https://palantir.github.io/tslint/rules/array-type/) (#4433) - [bugfix][`ban`](https://palantir.github.io/tslint/rules/ban/): Fix a false positive which would occur when banning method calls nested inside objects. Previously, banning `["a", "b", "c"]` would trigger lint failures on the syntax `b.c()`, which was not the intent of this rule. (#4383) - [bugfix] Fixed single-line comment parsing for completed-docs (#3557) - [bugfix][`trailing-comma`](https://palantir.github.io/tslint/rules/trailing-comma/) no longer crashes if it cannot find the closing parenthesis of a function declaration (#4457) - [bugfix][`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/): allow implicitly downcasting `any` to `unknown` (#4442) - [bugfix] Add `grouped-imports` to `tslint:all` (#4420) - [docs] Fix docs typo (#4395) - [enhancement] Add "formatting" rule category (#2832) - [enhancement][`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/) now supports a groups option to provide custom grouping rules. (#4134) - [enhancement] Convert [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/) to an untyped rule (#3557) - [enhancement] Checkstyle formatter includes every file linted regardless of lint errors. (#3838) - [enhancement] Formatters now receive the full list of of linted file paths as a third argument. (#3838) - [enhancement][`array-type`](https://palantir.github.io/tslint/rules/array-type/) rule handles Typescript 3.0's unknown type properly (#4219) - [enhancement][`import-blacklist`](https://palantir.github.io/tslint/rules/import-blacklist/) now supports regular expression patterns for blacklisting (#3504) - [new-rule] `no-restricted-globals` (#3824) - [new-fixer] added fixer for `newline-before-return` rule (#4482) - [new-fixer][`number-literal-format`](https://palantir.github.io/tslint/rules/number-literal-format/) now includes auto fix (#4496) - [new-rule-option] Added `whitelist` option to [`no-unbound-method`](https://palantir.github.io/tslint/rules/no-unbound-method/) (#4472) - [new-rule-option] Added `jsx-ignore` option to [`no-magic-numbers`](https://palantir.github.io/tslint/rules/no-magic-numbers/) rule (#4460) - [new-rule-option]: [`object-literal-sort-keys`](https://palantir.github.io/tslint/rules/object-literal-sort-keys/): Add `match-declaration-order-only` option (#3748) - [new-rule-option][`strict-boolean-expressions`](https://palantir.github.io/tslint/rules/strict-boolean-expressions/) accepts `ignore-rhs` option to disable checking the right-hand side of the `&&` and `||` operators as strictly boolean. (#4159) Thanks to our contributors! - Enes SOYLU - jbsingh - Sven Efftinge - James C. Davis - Norio Suzuki - Thomas den Hollander - Retsam - Dobes Vandermeer - Young Min Kim - Grant Wu - Felix Schindler - Lydia - Adrian Leonhard - James Jensen - Athene Noctua - Allen - Vincent Langlet - Paul Medynski - Liz - Piotr Gajowniczek - Max Sysoev - Jakub Beneš - Ian Mobley - 周昊宇 - Nazanin Delam - Matt R. Wilson - Andy Hanson - Zen - Josh Goldberg - Jeff Lau ## v5.12.1 ## :hammer_and_wrench: Bugfixes & enhancements - [bugfix] Revert breaking change to tslint:recommended, update tslint:latest (#4404) - [bugfix] Correcting fixer for the [`increment-decrement`](https://palantir.github.io/tslint/rules/increment-decrement/) rule (#4415) - [bugfix] Fix [`strict-type-predicates`](https://palantir.github.io/tslint/rules/strict-type-predicates/) with `unknown` (#4444) - [bugfix] Skip linting of `.json` files to avoid problems with `--resolveJsonModule` compiler option (#4001) - [bugfix] fix some [`quotemark`](https://palantir.github.io/tslint/rules/quotemark/) issues when using backticks with the `avoid-template` option (#4408) - [enhancement] Mention file names in test script parse failures (#4397) Thanks to our contributors! - Young Min Kim - Enes SOYLU - Thomas den Hollander - Adrian Leonhard ## v5.12.0 ## :tada: Features - [feature] Configure format from file (#4155) - [feature] Make cli expect array for rules dir (#3788) - [feature] Set js rules to all valid active rules (#3641) - [improvement] Add tests for typescript@2.9 and typescript@3.0 (#4053) - [new-fixer][`type-literal-delimiter`](https://palantir.github.io/tslint/rules/type-literal-delimiter/) (#3964) - [new-rule-option][`whitespace`](https://palantir.github.io/tslint/rules/whitespace/) Add whitespace rule for open braces (#4068) - [new-rule-option][`file-name-casing`](https://palantir.github.io/tslint/rules/file-name-casing/): Add file name whitelist (#4206) - [new-rule-option][`object-literal-sort-keys`](https://palantir.github.io/tslint/rules/object-literal-sort-keys/): `locale-compare` (#4193) - [new-rule-option][`strict-boolean-expressions`](https://palantir.github.io/tslint/rules/strict-boolean-expressions/) adds `allow-enum` to allow using enums in boolean expressions (#3604) - [new-rule-option][`import-blacklist`](https://palantir.github.io/tslint/rules/import-blacklist/): support blacklisting specific named exports (#3926) - [new-rule-option][`type-literal-delimiter`](https://palantir.github.io/tslint/rules/type-literal-delimiter/): Add `{ singleLine: "always" | "never"}` (#3964) - [new-rule-option][`file-name-casing`](https://palantir.github.io/tslint/rules/file-name-casing/): Add `snake-case` option (#4081) - [new-rule-option][`file-header`](https://palantir.github.io/tslint/rules/file-header/): Enforce Blank Line after File Header (#3740) - [new-rule][`ban-ts-ignore`](https://palantir.github.io/tslint/rules/ban-ts-ignore/) (#3728) - [new-rule][`function-constructor`](https://palantir.github.io/tslint/rules/function-constructor/) (#4198) - [new-rule][`increment-decrement`](https://palantir.github.io/tslint/rules/increment-decrement/) (#3575) - [new-rule][`no-default-import`](https://palantir.github.io/tslint/rules/no-default-import/) (#4023) - [new-rule][`unnecessary-constructor`](https://palantir.github.io/tslint/rules/unnecessary-constructor/) (#3647) - [new-rule][`comment-type`](https://palantir.github.io/tslint/rules/comment-type/) (#4008) - [new-rule][`unnecessary-bind`](https://palantir.github.io/tslint/rules/unnecessary-bind/) (#3588) ## :hammer_and_wrench: Bugfixes & enhancements - [api] Allow `exclude` to work with node API (#4143) - [api] Upgrade TSLint to support TS 3.1 (#4274) - [bugfix] Allow whitelisted modules to start with `@` symbol (#4192) - [bugfix] Added exception for generators in [`return-undefined`](https://palantir.github.io/tslint/rules/return-undefined/) rule (#4370) - [bugfix] Allow unknown in 'no-object-literal-type-assertion' rule. (#4362) - [bugfix] Completed docs rule can check single-line comments (#3841) - [bugfix][`prefer-method-signature`](https://palantir.github.io/tslint/rules/prefer-method-signature/): Correct the auto-fix code of rule, now capable to handle multiline signature. (#4066) - [bugfix] Default logger.error should log to stderr. (#3982) - [bugfix] Fixes an issue where TSLint doesn't correctly resolve packages in a `node_modules` folder that are symlinked to another location where their dependencies are satisfied. (#4295) - [bugfix] Fix configuration tests when comparing rules (#4346) - [bugfix] Fix semicolon: Cannot read property 'initializer' of undefined (#4351) - [bugfix] Fix whitespace rule in importClause with 'as' statement (#4249) - [bugfix][`no-invalid-this`](https://palantir.github.io/tslint/rules/no-invalid-this/): fixes false positives on method-like syntax and false negatives on nested functions (#4034) - [bugfix][`one-line`](https://palantir.github.io/tslint/rules/one-line/): Check block in a case clause (#3619) - [bugfix][`whitespace`](https://palantir.github.io/tslint/rules/whitespace/) Don't require space between import and paren with in type imports (#4243) - [bugfix] remove [`no-unused-variable`](https://palantir.github.io/tslint/rules/no-unused-variable/) from `tslint:all` (#4079) - [bugfix][`callable-types`](https://palantir.github.io/tslint/rules/callable-types/) support interfaces containing a single construct signature (#4291) (#4352) - [bugfix][`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/): Setting `import-sources-order: any` no longer invalidates `grouped-imports: true` (#4374) - [develop] Add issue templates (#4028) - [develop] Add test for 3.0 (#4119) - [develop] Changes the node version from 4 to 6 for TS 2.1 tests. (#4282) - [develop] Fix prettier command in package.json (#4275) - [develop] Fix semantic merge break from #4374 and #3733 (#4378) - [develop] Fix typo in launch.json (#4287) - [develop] Prettier (#4012) - [develop] Re-ran Prettier on source files again, with some more ignores (#4270) - [develop] Update 'json-stringify-pretty-compact' to 1.2.0 and remove unnecessary type declaration (#4371) - [develop] Upgrade prettier and run over all files (#4214) - [docs] "< 0" means less than zero, not greater than (#4183) - [docs] Added badges for dependencies status (#4160) - [docs] Additional code examples for rules (#3869) - [docs] Clarify no-shadowed-variable doc (#4347) - [docs] Fix docs typo (#4165) - [docs] Fix docs typo (#4182) - [docs] Fix typo in index.md (#4242) - [docs] Fix typos in formatter descriptions (#4288) - [docs] Fixed typo in documentation (#4047) - [docs] Includes new name Azure DevOps for VSO (#4289) - [docs] Typo correction in no-unused-expression (#4322) - [docs] Update documentation to reflect changes made in #2229. (#4336) - [docs] Update stylish example (#4095) - [docs] Use latest docs deps to avoid vulnerable libs (#4366) - [docs] prefer-object-spread: this is new to ES2018, not ES2015 (#4321) - [documentation] Update configuration documentation to include array syntax (#4258) - [enhancement] Add `homepage` to package.json (#4101) - [enhancement] Add esSpecCompliant: true to recommended trailing-comma config (#4072) - [enhancement] Add new tests to workflows (#4054) - [enhancement] Add quiet flag to hide warnings (#4025) - [enhancement] Don't flag unmatched \${ in no-invalid-template-strings (#3769) - [enhancement] Show offending value in 'no-magic-numbers' error message (#4332) - [enhancement][`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/): When `grouped-imports` option of the rule is set, the fact that imports of the same type are all in one group is also checked. (#3733) - [enhancement] Yaml parser now uses default schema, allowing for `<<:` to be used to merge anchors (#4350) - [enhancement] Improve JUnit formatter (#4327) - [enhancement] completed-docs: check properties and methods in interfaces (#4032) - [enhancement] file-name-casing-rule supports regex expression for matching file (#4284) - [enhancement] prose formatter uses `line:column` instead of `[line, column]` (#4222) - [rule-change] Add "backtick" option for quotemark (#4029) - [rule-change] Allow void expressions in binary expressions (#4323) Thanks to our contributors! - Shinigami - Matthew Herbst - Joshua R - John Wiseheart - Mitchell Wills - Eric Ferreira - Daniel Reichhart - Rui - Pavel Birukov - Brian Schlenker - Michael Black - Andy Hanson - atsu85 - PomanoB - Oleg Vaskevich - Daniel McNab - Jan Pilzer - Sebastian Silbermann - Michael Lavina - reduckted - Ryan Waskiewicz - Bowen Ni - Josh Goldberg - Erik - Nathan - Kevin Verdieck - Joe Chung - Peter Safranek - Xavier Downs - Igor Ovsiannikov - RyosukeFukushima - Andrew Boyton - samuela - stefanhamburger - Carsten Dietzel - Jakob Warkotsch - Karthick Manoharan - Ian Clanton-Thuon - Yordis Prieto - Mike Frysinger - Dario Banfi - Gérôme Grignon - Antony74 - Morgan Zolob - Young Min Kim - rrogowski - Eric Anderson - Simon Marchi - ulrichb - Marvin Altemeier - Ifiok Jr - Andrew MacLeay - Ethan - Dan Homola - NN - Roman Rogowski ## v5.11.0 ## :warning: Deprecations - [deprecation] [`no-unused-variable`](https://palantir.github.io/tslint/rules/no-unused-variable/) is deprecated because typescript now covers most of its functionality (#3919) ## :tada: Features - [new-rule][`file-name-casing`](https://palantir.github.io/tslint/rules/file-name-casing/) (#3978) - [new-fixer] Add fixer for [`switch-final-break`](https://palantir.github.io/tslint/rules/switch-final-break/) (#3615) - [new-fixer] Implemented fixer for [`member-ordering`](https://palantir.github.io/tslint/rules/member-ordering/) and added corresponding tests. (#3935) - [new-rule-option] Add whitelist for [`no-implicit-dependencies`](https://palantir.github.io/tslint/rules/no-implicit-dependencies/) (#3979) ## :hammer_and_wrench: Bugfixes & enhancements - [bugfix][`no-use-before-declare`](https://palantir.github.io/tslint/rules/no-use-before-declare/) Fixes false positives when using the destructuring syntax (#3761) (#3876) - [bugfix] Fix Copyright: @license JSDoc tag was missing (#3879) - [bugfix] Fix missing newline at end of file (#3896) - [bugfix] allow-empty-functions option of [`no-empty`](https://palantir.github.io/tslint/rules/no-empty/) rule is now properly respecting empty methods (#3897) - [bugfix][`no-magic-numbers`](https://palantir.github.io/tslint/rules/no-magic-numbers/) - support for negative zero (#3903) - [bugfix] Handle tsconfig.json errors without using JSON.stringify (#3908) - [bugfix] Fix CI: [`no-implicit-dependencies`](https://palantir.github.io/tslint/rules/no-implicit-dependencies/) test failure; typescript@next failure (#4019) - [bugfix] Fix edge case in [`no-console`](https://palantir.github.io/tslint/rules/no-console/) rule (#4041) - [docs] Fix typos in the [`no-floating-promises`](https://palantir.github.io/tslint/rules/no-floating-promises/) rule docs. (#3886) - [docs] Updated [`prefer-while`](https://palantir.github.io/tslint/rules/prefer-while/) docs to be semantically correct (#3888) - [docs] Fix link to configuration page (#3891) - [docs] Fix docs typo (#3898) - [docs] Fix docs typo (#3910) - [enhancement] Turn on strictPropertyInitialization for src/ and test/ (#3924) - [enhancement] Use Buffer.allocUnsafe instead of the deprecated new Buffer() (#3985) - [enhancement] Improve [`radix`](https://palantir.github.io/tslint/rules/radix/) rule checks (#3901) - [enhancement] Output +/- on diff so added/removed empty lines are visible. (#3973) - [rule-change][`no-implicit-dependencies`](https://palantir.github.io/tslint/rules/no-implicit-dependencies/) now always considers peer dependencies (#3875) Thanks to our contributors! - Bowen Ni - Peter Safranek - Saugat Acharya - Jason Mendes - Ryan Waskiewicz - Dariusz Rumiński - Xinhu Liu - Rado Kirov - aervin\_ - Josh Goldberg - mertdeg2 - Jason Killian - Adrian Leonhard - david-cannady - Andy Russell - Tibor Blenessy - Andrew Crites - Pavel Birukov - shalomdotnet ## v5.10.0 ## :tada: Features - [new-rule][`prefer-while`](https://palantir.github.io/tslint/rules/prefer-while/) (#3750) - [new-fixer][`comment-format`](https://palantir.github.io/tslint/rules/comment-format/) (#3845) - [new-rule-option] `"allow-empty-functions"` for [`no-empty`](https://palantir.github.io/tslint/rules/no-empty/) rule (#3624) - [new-rule-option] New options for [`promise-function-async`](https://palantir.github.io/tslint/rules/promise-function-async/) specifying what kinds of functions to check (#3807) ## :hammer_and_wrench: Bugfixes & enhancements - [bugfix][`file-header`](https://palantir.github.io/tslint/rules/file-header/) rule plays nice with [`no-trailing-whitespace`](https://palantir.github.io/tslint/rules/no-trailing-whitespace/) rule (#3802) - [bugfix][`no-unbound-method`](https://palantir.github.io/tslint/rules/no-unbound-method/) rule allows square bracket property access (#3610) - [bugfix][`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) no longer marks native JSX elements as unsafe (#3699) - [enhancement][`file-header`](https://palantir.github.io/tslint/rules/file-header/) auto-fixes use '!' character to ensure header stays above imports (#3741) - [enhancement] Better error messages if a rule crashes (#3836) - [enhancement] Better error messages when no valid rules are specified (#3729) - [enhancement] Better lint messages for unused imports in [`no-unused-variable`](https://palantir.github.io/tslint/rules/no-unused-variable/) rule (#3831) - [docs] Improve documentation of cli flag --project (#3703) - [docs] Added short rationales for about thirty rules (#3734) - [docs] Added optional capability to provide code examples in rules' metadata (#3602) - [docs] Many small docs fixes and tweaks from many great contributors! Thanks to our contributors! - Achim Weimert - BB9z - Blair Zajac - Chia-Lun Wu (Leo) - Ethan - Janis Koehr - Josh Goldberg - Julian Verdurmen - Lucas Sloan - Mark Vincze - Martin Möhwald - Oliver Joseph Ash - Pichest Wongsiripiphat - Rafael Santana - Ruben Bridgewater - Ryan Waskiewicz - Sehrope Sarkuni - Suchan Lee - Victor Belozyorov - aervin\_ - cwgorman - felipeissa - jishi9 ## v5.9.1 ## :hammer_and_wrench: Bugfixes - [bugfix] Removed extraneous deprecation warning produced when using `tslint:recommended` or `tslint:latest` by disabling `typeof-compare` in these rulesets. (#3639) - [bugfix] Resolve directories as absolute paths when validating custom `rulesDirectory` paths, which fixes usage with tslint-loader. (#3640) ## v5.9.0 ## :warning: Deprecations - [deprecation] Several utility functions from `src/language/utils.ts` have been deprecated (#3476) - [deprecation] Linting non-existent files now outputs a warning. This will be an error in TSLint 6. (#3313) ## Configuration inheritance changes Significant changes have been made to configuration inheritance to address a long-standing UX issue around `defaultSeverity`: #2569. `defaultSeverity` defined in a `tslint.json` file will now override the `defaultSeverity` value defined in any configurations you are extending. This means that any rules specified in the base configurations can now take on a new `defaultSeverity` if you so choose. If you extend multiple configuration files, the `defaultSeverity` defined in the last one wins. In practice, this allows users to, for example, more easily use the built-in TSLint configurations (`tslint:recommended`, `tslint:latest`, `tslint:all`) and treat all errors as warnings instead of errors. For more details, see the relevant PRs: - Override `defaultSeverity` defined in extended configs (#3449) - Inherit defaultSeverity and apply it to preceding base configs (#3530) ## :tada: Features - [feature] Support yaml configuration files (#1598) (#3433) - [new-fixer][`file-header`](https://palantir.github.io/tslint/rules/file-header/) (#3475) - [new-rule][`no-dynamic-delete`](https://palantir.github.io/tslint/rules/no-dynamic-delete/) (#3573) - [new-rule][`prefer-readonly`](https://palantir.github.io/tslint/rules/prefer-readonly/) (#2896) - [new-rule][`newline-per-chained-call`](https://palantir.github.io/tslint/rules/newline-per-chained-call/) (#3278) - [new-rule-option] `"temporalDeadZone"` for [`no-shadowed-variable`](https://palantir.github.io/tslint/rules/no-shadowed-variable/) to ignore shadowing in the temporal dead zone of classes, parameters, enums and variables declared with `let` or `const` (#3389) - [new-rule-option] `"shorthand-first"` for [`object-literal-sort-keys`](https://palantir.github.io/tslint/rules/object-literal-sort-keys/) (#3607) - [new-rule-option] Add support for an ignore pattern for [`max-line-length`](https://palantir.github.io/tslint/rules/max-line-length/) (#3099) ## :hammer_and_wrench: Bugfixes & enhancements - [bugfix] Update commander.js dependency to prevent users from transitively installing a buggy 2.12.0 release (#3510) - [bugfix] `--project` excludes all files of external dependencies (#3320) - [bugfix] Show errors when `tsconfig.json` is invalid (#3410) - [bugfix][`no-implicit-dependencies`](https://palantir.github.io/tslint/rules/no-implicit-dependencies/) don't crash on malformed package.json (#3373) - [bugfix][`strict-type-predicates`](https://palantir.github.io/tslint/rules/strict-type-predicates/) allows comparing typeof result with non-literals (#3542) - [bugfix][`no-redundant-jsdoc`](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) fixed crash on unhandled tag (#3414) - [bugfix][`object-literal-sort-keys`](https://palantir.github.io/tslint/rules/object-literal-sort-keys/) fixed regression that effectively disabled the rule with `\r\n` line breaks (#3427) - [bugfix][`curly`](https://palantir.github.io/tslint/rules/curly/) fixer now correctly handles comments (#3473) - [bugfix][`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) fixed false-positive with namespaced types (#3487) - [bugfix] Removed potentailly dangerous fixer for [`no-any`](https://palantir.github.io/tslint/rules/no-any/) (#3486) - [bugfix][`no-unnecessary-type-assertion`](https://palantir.github.io/tslint/rules/no-unnecessary-type-assertion/) fixed false negatives for types with numeric keys (#3468) - [bugfix][`callable-types`](https://palantir.github.io/tslint/rules/callable-types/) adds parentheses when fixing a type literal inside an array type (#3440) - [bugfix][`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) allows spreading an `any` value into an object (#3439) - [bugfix] no unnecessary whitespace before argument in callback functions fixed with [`arrow-parens`](https://palantir.github.io/tslint/rules/arrow-parens) fixer (#3618) - [bugfix][`prefer-const`](https://palantir.github.io/tslint/rules/prefer-const/) false negative with index signature named like a variable (#3385) - [bugfix][`whitespace`](https://palantir.github.io/tslint/rules/whitespace) rule checks property declarations if `"check-decl"` is enabled (#3546) - [bugfix] Using ternary operator for calling super() now passes [`no-duplicate-super`](https://palantir.github.io/tslint/rules/no-duplicate-super) rule. (#3544) - [bugfix][`no-shadowed-variable`](https://palantir.github.io/tslint/rules/no-shadowed-variable/) now excludes declaration files and ambient modules (#3387) - [bugfix][`no-duplicate-imports`](https://palantir.github.io/tslint/rules/no-duplicate-imports) Allow duplicate imports from separate ambient module declarations (#3398) - [bugfix][`await-promise`](https://palantir.github.io/tslint/rules/await-promise/) correctly recognises classes extending Promise (#3383) - [bugfix][`prefer-conditional-expression`](https://palantir.github.io/tslint/rules/prefer-conditional-expression/): don't repeat error on nested if statements (#3528) - [bugfix][`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/): don't require documentation on methods in object literals (#3532) - [bugfix][`one-line`](https://palantir.github.io/tslint/rules/one-line/) fixed crash on syntax error in class or interface (#3538) - [bugfix][`no-redundant-jsdoc`](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) allow `@template` tag if it has a description (#3415) - [bugfix] Fix condition for deprecation of [`typeof-compare`](https://palantir.github.io/tslint/rules/typeof-compare) (#3429) - [enhancement] Better error message for files not contained in the project (#3313) - [enhancement] `"properties"` option for [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/) rule now checks getter and setter accessors. (#3497) - [enhancement][`no-magic-numbers`](https://palantir.github.io/tslint/rules/no-magic-numbers) ignores parseInt radix parameter (#3536) - [enhancement] Avoid duplicate I/O when using `--project` option (#3313) - [enhancement] clicking the filename in `stylish`-formatter's output jumps to the first failure in that file. (#3491) - [enhancement][`ban-comma-operator`](https://palantir.github.io/tslint/rules/ban-comma-operator/) ignores comma operator inside for-loop incrementor (#3485) - [enhancement][`space-within-parens`](https://palantir.github.io/tslint/rules/space-within-parens/) updated to always allow empty parentheses `()`. (#3513) - [enhancement] Better error message syntax for [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/) modifier lists (#3379) - [enhancement] Improve failure message & docs for [`ban-comma-operator`](https://palantir.github.io/tslint/rules/ban-comma-operator/) (#3384) - [enhancement] Output code warnings in yellow instead of red for codeFrame formatter (#3402) - [enhancement] Converted [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs) rule to use a function instead of a walker (#3466) - [docs][`ban-comma-operator`](https://palantir.github.io/tslint/rules/ban-comma-operator/): fix metadata, list as "functionality" rule (#3612) - [docs] Enhance [`no-use-before-declare`](https://palantir.github.io/tslint/rules/no-use-before-declare/) documentation to clarify the rule's status (#3520) - [docs] Enhance [`await-promise`](https://palantir.github.io/tslint/rules/await-promise/) options documentation (#3519) - [docs] Add `hasFix` metadata for the [`indent`](https://palantir.github.io/tslint/rules/indent) rule (#3529) - [docs] Clearer rule description for [`no-irregular-whitespace`](https://palantir.github.io/tslint/rules/no-irregular-whitespace) (#3627) Thanks to our contributors! - Klaus Meinhardt - Josh Goldberg - Chris Barr - Nathan Shively-Sanders - Jeremy Morton - Sergey Koshechkin - Daniel Kucal - Eric Smekens - Johannes Choo - Elena Vilchik - Eugene Timokhov - Carlo Bottiglieri - reduckted - Glavin Wiechert - jbsingh - Mateusz Witkowski - HideDev - Bruno Lemos - aervin\_ - Roman - Ryan Waskiewicz ## v5.8.0 ## :warning: Deprecations - [deprecation][`typeof-compare`](https://palantir.github.io/tslint/rules/typeof-compare/) is deprecated because typescript already does that check (#3286) - [deprecation] CLI argument `--type-check` is no longer necessary and will be removed in the next major version (#3322) ## Updates to `tslint:latest` configuration ```diff + "ban-comma-operator": true, + "jsdoc-format": { + options: "check-multiline-start", + }, + "no-duplicate-switch-case": true, + "no-implicit-dependencies": true, + "no-return-await": true, ``` ## :tada: Features - [feature] Added `linterOptions` configuration field to `tslint.json`, which supports a list of `exclude` globs to disable linting for a subset of files (#2409) - [new-rule][`no-return-await`](https://palantir.github.io/tslint/rules/no-return-await/) (#3233) - [new-rule][`no-redundant-jsdoc`](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) (#2754) - [new-rule][`no-duplicate-switch-case`](https://palantir.github.io/tslint/rules/no-duplicate-switch-case/) (#2937) - [new-rule][`no-implicit-dependencies`](https://palantir.github.io/tslint/rules/no-implicit-dependencies/) (#3343) - [new-rule][`no-unnecessary-class`](https://palantir.github.io/tslint/rules/no-unnecessary-class/) (#3119) - [new-rule][`ban-comma-operator`](https://palantir.github.io/tslint/rules/ban-comma-operator/) (#3250) - [new-fixer][`one-line`](https://palantir.github.io/tslint/rules/one-line/) (#3200) - [new-fixer][`curly`](https://palantir.github.io/tslint/rules/curly/) (#3262) - [new-rule-option][`jsdoc-format`](https://palantir.github.io/tslint/rules/jsdoc-format/) adds option `"check-multiline-start"` to enforce the first line of a multiline JSDoc comment to be empty. (#3181) - [new-rule-option][`trailing-comma`](https://palantir.github.io/tslint/rules/trailing-comma/) adds option `"esSpecCompliant"` to make it compatible with the ES spec regarding trailing commas after object/array rest and rest parameters. (#3176) - [new-rule-option] `"check-parameter-property"` option for [`member-access`](https://palantir.github.io/tslint/rules/member-access/) rule (#3325) - [new-rule-option] `"strict-bound-class-methods"` option for [`semicolon`](https://palantir.github.io/tslint/rules/semicolon/) rule (#3294) - [new-rule-option] `"grouped-imports"` option for [`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/) rule (#3138) - [new-rule-option] `"ignore-blank-lines"` option for [`no-trailing-whitespace`](https://palantir.github.io/tslint/rules/no-trailing-whitespace/) rule (#3346) - [new-rule-option] `"never"` option for [`object-literal-shorthand`](https://palantir.github.io/tslint/rules/object-literal-shorthand/) disallows shorthand notation (#3268) - [new-rule-option] `"exclude-class-expressions"` option for [`max-classes-per-file`](https://palantir.github.io/tslint/rules/max-classes-per-file/) rule (#3281) - [new-rule-option][`no-unnecessary-type-assertion`](https://palantir.github.io/tslint/rules/no-unnecessary-type-assertion/) supports a whitelist of types to ignore (#3257) - [new-rule-option] `"module-source-path"` for [`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/) allows sorting imports by trailing end of path (#3178) - [new-formatter] JUnit (#3194) ## :hammer_and_wrench: Bugfixes & enhancements - [bugfix][`no-empty-interface`](https://palantir.github.io/tslint/rules/no-empty-interface/) allows providing type arguments for extended type (#3260) - [bugfix] Fixed line switches to not disable failures in the next line following the disabled line (#3177) - [bugfix][`return-undefined`](https://palantir.github.io/tslint/rules/return-undefined/) handles union return types in async functions (#3298) - [bugfix][`deprecation`](https://palantir.github.io/tslint/rules/deprecation/) checks correct constructor overload (#3203) - [bugfix][`return-undefined`](https://palantir.github.io/tslint/rules/return-undefined/) declared return type takes precedence over contextual type (#3298) - [bugfix] Correctly mark `inputFilePath` as an optional parameter in `Configuration.findConfiguration()` (#3195) - [bugfix][`return-undefined`](https://palantir.github.io/tslint/rules/return-undefined/) fixed regressions: once again allows anything if return type is `any` (#3298) - [bugfix][`only-arrow-functions`](https://palantir.github.io/tslint/rules/only-arrow-functions/) allow function if `this` is used in parameter initializer (#3315) - [bugfix][`no-conditional-assignment`](https://palantir.github.io/tslint/rules/no-conditional-assignment/): exclude intentional assignments, e.g. inside functions (#2629) - [bugfix][`no-angle-bracket-type-assertion`](https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/) fixer adds parentheses when necessary (#3301) - [bugfix][`no-angle-bracket-type-assertion`](https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/) fixed order when autofixing consecutive assertions (#3301) - [bugfix] `vso` formatter no longer duplicates output for fixed failures (#3348) - [bugfix][`no-unbound-method`](https://palantir.github.io/tslint/rules/no-unbound-method/): Allow negation of method (#3349) - [bugfix][`arrow-parens`](https://palantir.github.io/tslint/rules/arrow-parens/) with option `"ban-single-arg-parens"` no longer produces invalid code when fixed (#3247) - [bugfix] Fixed regression where the lookup of `tslint.json` stopped at the current directory. (#3309) - [bugfix] `--test` works correctly with any `compilerOptions.target` (#3296) - [bugfix] `whitepace` handles files with BOM and other irregular whitespace (#3305) - [bugfix][`callable-types`](https://palantir.github.io/tslint/rules/callable-types/) auto fix produces invalid results (#3342) - [bugfix][`no-stri