CraigglesO / EmpireEngine

Let's build a connected world together
ISC License
2 stars 1 forks source link

Update tslint to the latest version πŸš€ #4

Closed greenkeeper[bot] closed 7 years ago

greenkeeper[bot] commented 7 years ago

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](https://greenkeeper.io/faq.html) and of course you may always [ask my humans](https://github.com/greenkeeperio/greenkeeper/issues/new).

Your Greenkeeper Bot :palm_tree:

greenkeeper[bot] commented 7 years ago

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] commented 7 years ago

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] commented 7 years ago

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] commented 7 years ago

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] commented 7 years ago

Version 5.4.3 just got published.

Update to this version instead πŸš€

Release Notes v5.4.3

πŸ›  Bugfixes

greenkeeper[bot] commented 7 years ago

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] commented 7 years ago

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] commented 7 years ago

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