Skip to content
This repository has been archived by the owner on Jan 11, 2018. It is now read-only.

Update tslint to the latest version 🚀 #325

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

greenkeeper[bot]
Copy link

@greenkeeper greenkeeper bot commented Mar 29, 2017

Version 5.0.0 of tslint just got published.

Dependency tslint
Current Version 4.5.1
Type devDependency

The version 5.0.0 is not covered by your current version range.

Without accepting this pull request your project will work just like it did before. There might be a bunch of new features, fixes and perf improvements that the maintainers worked on for you though.

I recommend you look into these changes and try to get onto the latest version of tslint.
Given that you have a decent test suite, a passing build is a strong indicator that you can take advantage of these changes by merging the proposed change into your project. Otherwise this branch is a great starting point for you to work on the update.


Release Notes v5.0.0

🔥 Breaking changes

  • Minimum version of TypeScript version is now 2.1.0 (#2425)
  • The severity level of rules are now configurable and defaults to severity "error". This affects the output of formatters:
    • [formatter] msbuild was outputting all failures as "warning".
    • [formatter] pmd was outputting all failures as priority 1. Now, it uses priority 3 for "error" (default) and priority 4 for "warning"
  • [formatter] json changed the fix property to now contain either one replacement or an array of replacements (#2403)
  • tslint:recommended configuration updated with tslint:latest rules & options (#2424)
  • Removed no-unused-new rule, with logic moved into no-unused-expression (#2269)
  • no-trailing-whitespace now checks template strings by default. Use the new options ignore-template-strings to restore the old behavior. (#2359)

API breaks for custom rules

  • Removed method skip from RuleWalker (#2313)

  • Removed all use of the TypeScript Language Service, use only Program APIs instead (#2235)

    • This means that some rules that previously worked without the type checker now require it. This includes:

      • no-unused-variable
      • no-use-before-declare
    • This breaks custom rule compilation. If your rule was not using the ts.LanguageService APIs, the migration is quite simple:

    - public applyWithProgram(srcFile: ts.SourceFile, langSvc: ts.LanguageService): Lint.RuleFailure[] {
    -     return this.applyWithWalker(new Walker(srcFile, this.getOptions(), langSvc.getProgram()));
    + public applyWithProgram(srcFile: ts.SourceFile, program: ts.Program): Lint.RuleFailure[] {
    +     return this.applyWithWalker(new Walker(srcFile, this.getOptions(), program));
  • Removed createFix. Replacements should be passed directly into addFailure. (#2403)

  • Removed deprecated scanAllTokens and skippableTokenAwareRuleWalker (#2370)

🎉 Notable features & enhancements

  • [feature] The severity level of rules are now individually configurable. Default severity can also be configured. (#629, #345)

    • Valid values for severity: default | error | warn | warning | none | off
    • Valid values for defaultSeverity: error | warn | warning | none | off
    • Old style:
    {
        "extends": "tslint:latest",
        "rules": {
            "callable-types": true,
            "max-line-length": [true, 140]
        }
    }
    • New style (in this example, callable-types outputs errors and max-line-length outputs warnings):
    {
        "extends": "tslint:latest",
        "defaultSeverity": "error",
        "rules": {
            "callable-types": true,
            "max-line-length": {
                "options": 140,
                "severity": "warning"
            }
        }
    }
  • [new-rule] prefer-template (#2243)

  • [new-rule] return-undefined (#2251)

  • [new-rule] no-reference-import (#2273)

  • [new-rule] no-unnecessary-callback-wrapper (#2249)

  • [new-fixer] linebreak-style (#2394)

  • [new-fixer] eofline (#2393)

Full list of changes

  • [api] Added class OptionallyTypedRule, which allows rule authors to write a rule that applies when typing is either enabled or disabled (#2300)
  • [bugfix] prefer-function-over-method now ignores abstract methods (#2307)
  • [bugfix] arrow-parens with option ban-single-arg-parens now correctly handles functions with return type annotation (#2265)
  • [bugfix] prefer-function-over-method exclude overload signatures (#2315)
  • [bugfix] use-isnan now applies only to comparison operators (#2317)
  • [bugfix] file-header-rule now handles single-line comments correctly (#2320)
  • [bugfix] newline-before-return: fix handling of blank lines between comments (#2321)
  • [bugfix] trailing-comma No longer enforce trailing commas in type parameters and tuple types (#2236)
  • [bugfix] align don't fix if it would remove code (#2379)
  • [bugfix] unified-signatures now recognizes rest parameters (#2342)
  • [bugfix] no-inferrable-types don't warn for inferrable type on readonly property (#2312)
  • [bugfix] trailing-comma no longer crashes on new without parentheses (e.g. new Foo) (#2389)
  • [bugfix] semicolon Ignore comments when checking for unnecessary semicolon (#2240)
  • [bugfix] semicolon Don't report unnecessary semicolon when followed by regex literal (#2240)
  • [bugfix] CLI: exit with 0 on type check errors when --force is specified (#2322)
  • [bugfix] CLI: --test now correctly strips single quotes from patterns on windows (#2322)
  • [bugfix] prefer-const only fix initialized variables (#2219)
  • [bugfix] prefer-const correctly handle variables shadowed by parameters and catched exceptions (#2219)
  • [bugfix] prefer-const don't warn if one variable in a for loop initializer can not be const (#2219)
  • [bugfix] prefer-const handle more cases in destructuring (#2219)
  • [bugfix] no-unused-expression allow comma separated assignments (#2269)
  • [chore] removed update-notifier dependency (#2262)
  • [development] allow rule tests to specify version requirement for typescript (#2323)
  • [enhancement] ignore-properties option of no-inferrable-types now also ignores parameter properties (#2312)
  • [enhancement] unified-signatures now displays line number of the overload to unify if there are more than 2 overloads (#2270)
  • [enhancement] trailing-comma New checks for CallSignature and NamedExports (#2236)
  • [enhancement] semicolon New check for export statements, function overloads and shorthand module declaration (#2240)
  • [enhancement] semicolon Report unnecessary semicolons in classes and in statement position (for option "always" too) (#2240)
  • [enhancement] semicolon check for semicolon after method overload (#2240)
  • [enhancement] array-type now consider object, undefined and never as simple types, allowing object, undefined[] and never[] (#1843)(#2353)
  • [enhancement] align check statement alignment for all blocks (#2379)
  • [enhancement] aligncheck parameter alignment for all signatures (#2379)
  • [enhancement] --test can handle multiple paths at once (#2322)
  • [enhancement] only-arrow-functions allow functions that use this in the body (#2229)
  • [enhancement] CLI: print error when --type-check is used without --project (#2322)
  • [enhancement] CLI: don't print stack trace on type check error (#2322)
  • [enhancement] CLI: added -p as shorthand for --project to be consistent with tsc (#2322)
  • [enhancement] prefer-const show warnings for var (#2219)
  • [enhancement] quotemark fixer unescapes original quotemark (e.g. '\'' -> "'") (#2359)
  • [enhancement] no-unused-expression allow indirect eval (0, eval)(""); (#2269)
  • [enhancement] no-unused-expression checking for unused new can now use option allow-fast-null-checks (#2269)
  • [enhancement] no-unused-expression find unused comma separated expressions in all locations of the code (#2269)
  • [enhancement] no-unused-expression find unused expressions inside void expression (#2269)
  • [new-config-option] Adds defaultSeverity with options error, warning, and off. (#2416)
  • [new-formatter] TAP formatter (#2325)
  • [new-rule-option] no-unused-expression adds option allow-tagged-template to allow tagged templates for side effects (#2269)
  • [new-rule-option] no-unused-expression adds option allow-new to allow new without using the new object (#2269)
  • [new-rule-option] member-access adds no-public option (#2247)
  • [new-rule-option] curly added option ignore-same-line (#2334)
  • [new-rule-option] {destructuring: "all"} to only warn if all variables in a destructuring can be const (#2219)
  • [new-rule-option] added ignore-template-strings to no-trailing-whitespace (#2359)
  • [rule-update] array-type now consider undefined and never as simple types, allowing undefined[] and never[] (#1843)

Thanks to our contributors!

  • Brian Olore
  • Andy Hanson
  • @andy-ms
  • Chris Barr
  • Klaus Meinhardt
  • @bumbleblym
  • Josh Goldberg
  • James Clark
  • @vilic
  • Aleksandr Filatov
  • Matt Banz
  • Karol Janyst
  • Mike Deverell
  • Alexander James Phillips
  • Irfan Hudda
Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

@greenkeeper
Copy link
Author

greenkeeper bot commented Apr 10, 2017

Version 5.1.0 just got published.

Update to this version instead 🚀

Release Notes v5.1.0
  • [new-rule] no-invalid-template-strings (#2332)
  • [new-rule] no-sparse-arrays (#2407)
  • [new-rule-option] no-void-expression: adds ignore-arrow-function-shorthand (#2445)
  • [api] tslint:all configuration (#2417)
  • [bugfix] In tslint:recommended move no-reference-import from jsRules to rules (#2441)
  • [bugfix] no-unnecessary-callback-wrapper: only check if callback is identifier, allow all other expressions (#2510)
  • [bugfix] member-access: Skip index signature, it can not have an access modifier (#2437)
  • [bugfix] restrict-plus-operands fixes regression where every assignment and comparison was checked (#2454)
  • [bugfix] no-unnecessary-callback-wrapper: allow async wrapper function (#2510)
  • [bugfix] prefer-for-of: No error if delete is used (#2458)
  • [bugfix] radix: don't warn for missing radix on method calls (#2352)
  • [bugfix] no-use-before-declare: Handle symbol with empty declarations list. (#2436)
  • [bugfix] strict-type-predicates: Check for construct signatures in isFunction. (#2479)
  • [enhancement] strict-boolean-expressions: When --strictNullChecks is turned off, allow-null-union and allow-undefined-union turn off "always truthy" errors. (#2373)
  • [enhancement] radix: added check for global.parseInt and window.parseInt (#2352)
  • [enhancement] arrow-return-shorthand: Improve failure message when return expression is an object literal (#2466)

greenkeeper bot added a commit that referenced this pull request May 3, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented May 3, 2017

Version 5.2.0 just got published.

Update to this version instead 🚀

Release Notes v5.2.0

Thanks to our contributors!

  • Andy Hanson
  • Alex Eagle
  • Donald Pipowitch
  • Klaus Meinhardt
  • Gord P
  • Andy
  • Quentin
  • Mitchell Wills
  • Vito
  • CSchulz
  • Josh Goldberg
  • Brian Olore
  • Manuel Lopez
  • James Clark

greenkeeper bot added a commit that referenced this pull request May 22, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented May 22, 2017

Version 5.3.0 just got published.

Update to this version instead 🚀

Release Notes v5.3.0

This change may require a change to tslint.json

🎉 Notable features & enhancements

Thanks to our contributors!

  • Andy Hanson
  • Klaus Meinhardt
  • Martin Probst
  • Filipe Silva
  • walkerburgin
  • René Scheibe

greenkeeper bot added a commit that referenced this pull request May 23, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented May 23, 2017

Version 5.3.2 just got published.

Update to this version instead 🚀

Release Notes v5.3.2
  • [bugfix] Fixes not a directory error

greenkeeper bot added a commit that referenced this pull request May 31, 2017
greenkeeper bot added a commit that referenced this pull request Jun 1, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented Jun 2, 2017

Version 5.4.2 just got published.

Update to this version instead 🚀

Release Notes v5.4.2

🛠 Bugfixes

  • [bugfix] Restored support for multiple --exclude options in the CLI (#2855)
  • [bugfix] Restored support for --version CLI option (#2857)

greenkeeper bot added a commit that referenced this pull request Jun 6, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented Jun 6, 2017

Version 5.4.3 just got published.

Update to this version instead 🚀

Release Notes v5.4.3

🛠 Bugfixes

greenkeeper bot added a commit that referenced this pull request Jul 5, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented Jul 5, 2017

Version 5.5.0 just got published.

Update to this version instead 🚀

Release Notes v5.5.0

Editor's note: This release features an important bugfix for overlapping fixes when using --project and --fix (#2864).

🎉 New rules and options

🛠 Bugfixes & enhancements

Thanks to our contributors!

  • Klaus Meinhardt
  • Josh Goldberg
  • Petr Kosikhin
  • Pablo Núñez
  • Benny Neugebauer
  • Radon Rosborough
  • reduckted
  • Chris Barr
  • Julian Verdurmen

greenkeeper bot added a commit that referenced this pull request Aug 7, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented Aug 7, 2017

Version 5.6.0 just got published.

Update to this version instead 🚀

Release Notes v5.6.0

🎉 New rules, options, and fixers

🛠 Bugfixes & enhancements

Thanks to our contributors!

  • Klaus Meinhardt
  • Julian Verdurmen
  • Alexandre Alonso
  • Josh Goldberg
  • ksvitkovsky
  • Daisuke Yokomoto
  • Andrii Dieiev
  • Florent Suc
  • Jason Killian
  • Amin Pakseresht
  • reduckted
  • vilicvane
  • Russell Briggs
  • Andy Hanson
  • Leo Liang
  • Dan Homola
  • BehindTheMath
  • David Golightly
  • aervin
  • Daniel Kucal
  • Ika
  • Chris Barr

greenkeeper bot added a commit that referenced this pull request Aug 25, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented Aug 25, 2017

Version 5.7.0 just got published.

Update to this version instead 🚀

Release Notes v5.7.0

🎉 New rules, options, and fixers

🛠 Bugfixes & enhancements

  • [api] AbstractRule#applyWithFunction allows additional parameter that is passed through to walkFn (#3140)
  • [api] AbstractRule#applyWithFunction has better type checking for its type parameter (#2660)
  • [bugfix] member-access autofix now correcly inserts public keyword after decorators (#3162)
  • [bugfix] prefer-const correctly handle catch without binding parameter introduced in typescript@2.5.1 (#3151)
  • [bugfix] no-invalid-template-strings allows backslash-prefixed template expressions (#3116)
  • [bugfix] deprecation no longer shows errors on imports and exports (#3141)
  • [bugfix] deprecation: fix false positive when calling a function or method where another overload is deprecated (#2883)
  • [bugfix] whitespace: fixed "check-separator" for trivial for cases. (#3132)
  • [bugfix] prefer-object-spread prevent spreading this as it is not allowed by the compiler (#3126)
  • [bugfix] msbuild formatter uses backslashes in paths on Windows (#3145)
  • [bugfix] no-namespace ignores global augmentation (#3161)
  • [enhancement] remove superfluous empty lines on tslint output. (#3121)
  • [enhancement] no-submodule-imports allows whitelisting of submodules like @angular/core/testing (#3129)
  • [enhancement] custom lint rules will be resolved using node's path resolution to allow for loaders like ts-node (#3108)
  • [enhancement] quotemark no longer requires "single" or "double" to be the first option. The rule defaults to "double" if none is specified. (#3114)
  • [enhancement] no-unused-variable autofix removes trailing comments of imports (#3156)
  • [enhancement] no-unnecessary-type-assertion allows certain necessary assertions to prevent type widening (#3120)

Thanks to our contributors!

  • Paul Gschwendtner
  • Andy Hanson
  • ksvitkovsky
  • Santi Albo
  • aervin
  • Junle Li
  • Joscha Feth
  • WiseBird
  • Caleb Eggensperger
  • WGroenestein
  • Bowen Ni

greenkeeper bot added a commit that referenced this pull request Oct 20, 2017
@greenkeeper
Copy link
Author

greenkeeper bot commented Oct 20, 2017

Version 5.8.0 just got published.

Update to this version instead 🚀

Release Notes v5.8.0

⚠️ Deprecations

  • [deprecation] 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

+    "ban-comma-operator": true,
+    "jsdoc-format": {
+        options: "check-multiline-start",
+    },
+    "no-duplicate-switch-case": true,
+    "no-implicit-dependencies": true,
+    "no-return-await": true,

🎉 Features

🛠 Bugfixes & enhancements

Thanks to our contributors!

  • Klaus Meinhardt
  • Charles Samborski
  • Donald Pipowitch
  • Josh Goldberg
  • mmkal
  • Erik
  • Csaba Miklos
  • Dominik Moritz
  • Khalid Saifullah
  • Lukas Spieß
  • Merott Movahedi
  • Bowen Ni
  • ksvitkovsky
  • Hutson Betts
  • Caleb Eggensperger
  • Brent Erickson
  • Trivikram
  • Brandon Furtwangler
  • Pavel Zet
  • aervin_
  • Holger Jeromin
  • Danny Guo
  • Jeremy Morton
  • Cyril Gandon
  • Andy Hanson
  • yadan

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants