Skip to content

Commit e78f9c2

Browse files
authored
Prepare release 5.8.0 (palantir#3358)
1 parent ecaad8e commit e78f9c2

File tree

4 files changed

+115
-2
lines changed

4 files changed

+115
-2
lines changed

CHANGELOG.md

+112
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,118 @@
11
Change Log
22
===
33

4+
v5.8.0
5+
---
6+
7+
## :warning: Deprecations
8+
9+
- [deprecation] [`typeof-compare`](https://palantir.github.io/tslint/rules/typeof-compare/) is deprecated because typescript already does that check (#3286)
10+
- [deprecation] CLI argument `--type-check` is no longer necessary and will be removed in the next major version (#3322)
11+
12+
## Updates to `tslint:latest` configuration
13+
14+
```diff
15+
+ "ban-comma-operator": true,
16+
+ "jsdoc-format": {
17+
+ options: "check-multiline-start",
18+
+ },
19+
+ "no-duplicate-switch-case": true,
20+
+ "no-implicit-dependencies": true,
21+
+ "no-return-await": true,
22+
```
23+
24+
## :tada: Features
25+
26+
- [feature] Added `linterOptions` configuration field to `tslint.json`, which supports a list of `exclude` globs to disable linting for a subset of files (#2409)
27+
- [new-rule] [`no-return-await`](https://palantir.github.io/tslint/rules/no-return-await/) (#3233)
28+
- [new-rule] [`no-redundant-jsdoc`](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) (#2754)
29+
- [new-rule] [`no-duplicate-switch-case`](https://palantir.github.io/tslint/rules/no-duplicate-switch-case/) (#2937)
30+
- [new-rule] [`no-implicit-dependencies`](https://palantir.github.io/tslint/rules/no-implicit-dependencies/) (#3343)
31+
- [new-rule] [`no-unnecessary-class`](https://palantir.github.io/tslint/rules/no-unnecessary-class/) (#3119)
32+
- [new-rule] [`ban-comma-operator`](https://palantir.github.io/tslint/rules/ban-comma-operator/) (#3250)
33+
- [new-fixer] [`one-line`](https://palantir.github.io/tslint/rules/one-line/) (#3200)
34+
- [new-fixer] [`curly`](https://palantir.github.io/tslint/rules/curly/) (#3262)
35+
- [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)
36+
- [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)
37+
- [new-rule-option] `"check-parameter-property"` option for [`member-access`](https://palantir.github.io/tslint/rules/member-access/) rule (#3325)
38+
- [new-rule-option] `"strict-bound-class-methods"` option for [`semicolon`](https://palantir.github.io/tslint/rules/semicolon/) rule (#3294)
39+
- [new-rule-option] `"grouped-imports"` option for [`ordered-imports`](https://palantir.github.io/tslint/rules/ordered-imports/) rule (#3138)
40+
- [new-rule-option] `"ignore-blank-lines"` option for [`no-trailing-whitespace`](https://palantir.github.io/tslint/rules/no-trailing-whitespace/) rule (#3346)
41+
- [new-rule-option] `"never"` option for [`object-literal-shorthand`](https://palantir.github.io/tslint/rules/object-literal-shorthand/) disallows shorthand notation (#3268)
42+
- [new-rule-option] `"exclude-class-expressions"` option for [`max-classes-per-file`](https://palantir.github.io/tslint/rules/max-classes-per-file/) rule (#3281)
43+
- [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)
44+
- [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)
45+
- [new-formatter] JUnit (#3194)
46+
47+
## :hammer_and_wrench: Bugfixes & enhancements
48+
49+
- [bugfix] [`no-empty-interface`](https://palantir.github.io/tslint/rules/no-empty-interface/) allows providing type arguments for extended type (#3260)
50+
- [bugfix] Fixed line switches to not disable failures in the next line following the disabled line (#3177)
51+
- [bugfix] [`return-undefined`](https://palantir.github.io/tslint/rules/return-undefined/) handles union return types in async functions (#3298)
52+
- [bugfix] [`deprecation`](https://palantir.github.io/tslint/rules/deprecation/) checks correct constructor overload (#3203)
53+
- [bugfix] [`return-undefined`](https://palantir.github.io/tslint/rules/return-undefined/) declared return type takes precedence over contextual type (#3298)
54+
- [bugfix] Correctly mark `inputFilePath` as an optional parameter in `Configuration.findConfiguration()` (#3195)
55+
- [bugfix] [`return-undefined`](https://palantir.github.io/tslint/rules/return-undefined/) fixed regressions: once again allows anything if return type is `any` (#3298)
56+
- [bugfix] [`only-arrow-functions`](https://palantir.github.io/tslint/rules/only-arrow-functions/) allow function if `this` is used in parameter initializer (#3315)
57+
- [bugfix] [`no-conditional-assignment`](https://palantir.github.io/tslint/rules/no-conditional-assignment/): exclude intentional assignments, e.g. inside functions (#2629)
58+
- [bugfix] [`no-angle-bracket-type-assertion`](https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/) fixer adds parentheses when necessary (#3301)
59+
- [bugfix] [`no-angle-bracket-type-assertion`](https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/) fixed order when autofixing consecutive assertions (#3301)
60+
- [bugfix] `vso` formatter no longer duplicates output for fixed failures (#3348)
61+
- [bugfix] [`no-unbound-method`](https://palantir.github.io/tslint/rules/no-unbound-method/): Allow negation of method (#3349)
62+
- [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)
63+
- [bugfix] Fixed regression where the lookup of `tslint.json` stopped at the current directory. (#3309)
64+
- [bugfix] `--test` works correctly with any `compilerOptions.target` (#3296)
65+
- [bugfix] `whitepace` handles files with BOM and other irregular whitespace (#3305)
66+
- [bugfix] [`callable-types`](https://palantir.github.io/tslint/rules/callable-types/) auto fix produces invalid results (#3342)
67+
- [bugfix] [`no-string-literal`](https://palantir.github.io/tslint/rules/no-string-literal/) correctly fix property names with leading underscores (#3184)
68+
- [bugfix] [`variable-name`](https://palantir.github.io/tslint/rules/variable-name/) fixed crash on empty variable name (#3292)
69+
- [bugfix] [`trailing-comma`](https://palantir.github.io/tslint/rules/trailing-comma/) fixed crash on arrow function without parens (#3246)
70+
- [bugfix] Fix [`space-before-function-paren`](https://palantir.github.io/tslint/rules/space-before-function-paren/) for anonymous/arrow generic functions (#3085)
71+
- [bugfix] Removed warning printed to console when using the [`no-unused-variable`](https://palantir.github.io/tslint/rules/no-unused-variable/) along with the `noUnusedLocals` and `noUnusedParameters` compiler options (#3227)
72+
- [bugfix] [`no-invalid-this`](https://palantir.github.io/tslint/rules/no-invalid-this/) ignores functions with a `this` param (#3267)
73+
- [enhancement] Sort failures by line and character for formatters (#3345)
74+
- [enhancement] [`import-blacklist`](https://palantir.github.io/tslint/rules/import-blacklist/) also checks exports and dynamic imports (#3258)
75+
- [enhancement] [`no-conditional-assignment`](https://palantir.github.io/tslint/rules/no-conditional-assignment/) added check for conditional (ternary) expressions (#2629)
76+
- [enhancement] Allow [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/) to list doc tags that mark a node as not requiring a documentation body. Tags can also provide a regexp matcher to validate that their contents are docs-valid. (#2415)
77+
- [enhancement] [`await-promise`](https://palantir.github.io/tslint/rules/await-promise/) enforces that `for-await-of` is only used with `AsyncIterable` (#3297)
78+
- [enhancement] [`one-line`](https://palantir.github.io/tslint/rules/one-line/) checks type alias declarations (#3200)
79+
- [enhancement] [`deprecation`](https://palantir.github.io/tslint/rules/deprecation/) checks object destructuring (#3318)
80+
- [enhancement] [`no-submodule-imports`](https://palantir.github.io/tslint/rules/no-submodule-imports/) also checks exports (#3258)
81+
- [enhancement] [`restrict-plus-operands`](https://palantir.github.io/tslint/rules/restrict-plus-operands/): More specific error message when arguments include strings (#3220)
82+
- [enhancement] [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) checks more expressions, for example destructuring, `yield`, property initializer (#3196)
83+
- [enhancement] [`object-literal-sort-keys`](https://palantir.github.io/tslint/rules/object-literal-sort-keys/): allow grouping of object properties via additional blank lines when using alphabetical ordering. (#3191)
84+
- [enhancement] Migrated CLI from using `colors` module to `chalk` module (#3171)
85+
- [enhancement] [`no-unused-variable`](https://palantir.github.io/tslint/rules/no-unused-variable/) applies the ignorePattern to imports (#3187)
86+
87+
Thanks to our contributors!
88+
89+
- Klaus Meinhardt
90+
- Charles Samborski
91+
- Donald Pipowitch
92+
- Josh Goldberg
93+
- mmkal
94+
- Erik
95+
- Csaba Miklos
96+
- Dominik Moritz
97+
- Khalid Saifullah
98+
- Lukas Spieß
99+
- Merott Movahedi
100+
- Bowen Ni
101+
- ksvitkovsky
102+
- Hutson Betts
103+
- Caleb Eggensperger
104+
- Brent Erickson
105+
- Trivikram
106+
- Brandon Furtwangler
107+
- Pavel Zet
108+
- aervin_
109+
- Holger Jeromin
110+
- Danny Guo
111+
- Jeremy Morton
112+
- Cyril Gandon
113+
- Andy Hanson
114+
- yadan
115+
4116
v5.7.0
5117
---
6118

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tslint",
3-
"version": "5.7.0",
3+
"version": "5.8.0",
44
"description": "An extensible static analysis linter for the TypeScript language",
55
"bin": {
66
"tslint": "./bin/tslint"

src/configs/latest.ts

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ export const rules = {
7070
options: "check-multiline-start",
7171
},
7272
"no-duplicate-switch-case": true,
73+
"no-implicit-dependencies": true,
7374
"no-return-await": true,
7475
};
7576
// tslint:enable object-literal-sort-keys

src/linter.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import { arrayify, dedent, flatMap } from "./utils";
4343
* Linter that can lint multiple files in consecutive runs.
4444
*/
4545
class Linter {
46-
public static VERSION = "5.7.0";
46+
public static VERSION = "5.8.0";
4747

4848
public static findConfiguration = findConfiguration;
4949
public static findConfigurationPath = findConfigurationPath;

0 commit comments

Comments
 (0)