Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

tslint

Package Overview
Dependencies
Maintainers
1
Versions
182
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tslint - npm Package Versions

1
19

5.4.0

Diff

Changelog

Source

v5.4.0

:star: Non-breaking API changes

  • --type-check only checks for errors before linting is no longer required to enable rules that use the type checker. You only need to supply --project now.

:tada: New rules, options, and fixers

  • [new-rule]switch-final-break (#2804)
  • [new-rule]use-default-type-parameter (#2253)
  • [new-rule]binary-expression-operand-order (#2805)
  • [new-rule-option]ban new options format: allows to specify an optional explanation message for function bans, banning nested methods and using a wildcard for object of a method ban (#2547)
  • [new-rule-option]no-duplicate-variable adds check-parameters option to check if variable has the same name as a parameter (#2597)
  • [new-rule-option]curly: "as-needed" option (#2842)
  • [new-rule-option]no-unbound-method add option "ignore-static" (#2751)
  • [new-rule-option]strict-boolean-expressions adds allow-boolean-or-undefined (#2820)
  • [new-fixer]object-literal-shorthand can fix longhand methods (#2558)

:hammer_and_wrench: Bugfixes & enhancements

  • [bugfix]prefer-object-spread allows constructor, function and method calls and more as first argument to Object.assign (#2828)
  • [bugfix]no-unbound-method walker skips past the parent if it is a cast or parenthesized expression (#2838)
  • [bugfix]object-literal-shorthand: fixed suggestion for generator functions (#2558)
  • [bugfix] Fixed issue with case sensitivity of no-unused-variable rule on Windows (#2819)
  • [bugfix] don't crash tslint --project if allowJs is set in tsconfig.json (#2823)
  • [bugfix]align with option "members": check members of class expressions; don't check semicolons in classes (#2668)
  • [bugfix]no-inferred-empty-object-type: fix stack overflow (#2762)
  • [bugfix]semicolon: don't warn about unnecesary semicolon when it is actually needed, e.g. when followed by type assertion or template string (#2655)
  • [bugfix]space-before-function-paren: Ignore async arrow function with no parentheses (#2833)
  • [bugfix]: no-unsafe-any: Don't fail on continue label; (#2830)
  • [bugfix]no-unbound-method: Allow unbound method to be used as a condition (#2834)
  • [bugfix]no-unsafe-any: Allow to switch on a value of type any (#2836)
  • [bugfix]no-unsafe-any: Don't mark declare global {} as an unsafe any. (#2839)
  • [bugfix]indent now checks indentation of expressions inside template strings (#2826)
  • [enhancement] --project (or -p) enables rules that require the type checker. --type-check only checks for errors before linting is no longer required (#2773)
  • [enhancement]deprecation: error message includes deprecation text if available (#2748)
  • [enhancement]cyclomatic-complexity: Don't count empty switch case(#2743)
  • [enhancement]strict-boolean-expressions: Allow any, and true and false literal types (#2758)
  • [enhancement]no-floating-promises: Allow 'promise.catch()' (#2774)
  • [enhancement]comment-format no longer excludes comments with triple slash from linting except /// <reference path="..."/> (#2616)
  • [enhancement]prefer-object-spread: lint more locations where return value is used. (#2828)
  • [enhancement]semicolon: option "never" is now spec compliant (#2655)
  • [enhancement]object-literal-shorthand handles async functions correctly (#2558)
  • [enhancement] --test CLI option: allow passing path to tslint.json (#2784)
  • [enhancement] Use commander instead of optimist for CLI arguments (#2689)
  • [enhancement]strict-type-predicates: warn if strictNullChecks is not enabled (#2786)

Thanks to our contributors!

  • Klaus Meinhardt
  • Manuel Lopez
  • Andy Hanson
  • Piotr Tomiak
palantir
published 5.3.2 •

Changelog

Source

v5.3.2

  • [bugfix] Fixes not a directory error (#2813)
palantir
published 5.3.0 •

Changelog

Source

v5.3.0

palantir
published 5.2.0 •

Changelog

Source

v5.2.0

  • [rule-change]no-console bans all console methods when no methods are specified (#2610)
  • [new-rule]no-object-literal-type-assertion (#2580)
  • [new-rule]no-irregular-whitespace (#2487)
  • [new-rule]prefer-switch (#2331)
  • [new-rule]number-literal-format (#2526)
  • [new-rule]deprecation (#2395)
  • [new-rule]no-unnecessary-type-assertion (#2519)
  • [new-fixer]interface-over-type-literal (#2617)
  • [new-fixer]callable-types (#2552)
  • [new-fixer]no-string-literal (#2495)
  • [new-fixer]no-internal-module (#2517)
  • [new-rule-option]align rule added members option, which checks alignment of methods and properties of classes, objects, interfaces, type literals and object destructuring (#2387)
  • [new-rule-option]align rule added elements option, which checks alignment of elements in array literals, array destructuring and tuple types (#2387)
  • [new-rule-option]trailing-comma adds more granular options to specify trailing commas for arrays, objects, functions, type literals, imports, and exports (#2538)
  • [api] Deprecate ScopeAwareRuleWalker and BlockScopeAwareRuleWalker. (#2561)
  • [develop] added support for error templates in rule tests (#2481)
  • [bugfix] Fixes "Severity for rule not found" error (#2516)
  • [bugfix]no-unused-expression: allow void(0) in addition to void 0 and void in expression and statement position (#2645)
  • [bugfix]align: fix false positive for files with BOM (#2642)
  • [bugfix]return-undefined: Handle contextual types with ambiguous signatures; allow any; and handle async functions. (#2576)
  • [bugfix]semicolon: don't mark semicolon as unnecessary when the next statement is on the same line (#2591)
  • [bugfix]no-internal-module: no more false positives for global augmentation (#2517)
  • [bugfix]no-unnecessary-qualifier: no longer breaks when walking a function that references arguments (#2555)
  • [bugfix]prefer-const no longer shows warnings on ambient declarations (#2391)
  • [bugfix]callable-types: suggest correct fix for interfaces with type arguments (#2552)
  • [bugfix]quotemark: fix regression with jsx attributes (#2605)
  • [bugfix]adjacent-overload-signatures handles functions ending in semicolon (#2412)
  • [bugfix]object-literal-key-quotes: correctly stringify numbers when fixing (#2515)
  • [bugfix]object-literal-key-quotes: does no longer require quotes for property names containing digits (#2515)
  • [enhancement] Failures in extended config files now indicate which file (#2588)
  • [enhancement]align: Don't report 'statements are not aligned' for empty statements (#2653)
  • [enhancement]class-name now also checks class expressions (#2553)
  • [enhancement] optionExamples: Allow to use an options array directly instead of a string representation. (#2527)
  • [enhancement] rulesDirectory can now be resolved with Nodes resolve logic, if the directory contains an index.js (#2163) (#2358)
  • [enhancement]no-unused-expression: narrow error location for comma separated expressions and conditional expressions (#2645)
  • [enhancement]no-string-literal now handles escaped strings (#2495)
  • [enhancement]no-unnecessary-callback-wrapper: Allow x => x(x) (#2524)
  • [enhancement]no-var-keyword: Allow global var declarations (#2513)

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
palantir
published 5.1.0 •

Changelog

Source

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)

Thanks to our contributors!

  • Andy Hanson
  • bumbleblym
  • Klaus Meinhardt
  • Jonas Kello
  • Minko Gechev
  • Donald Pipowitch
palantir
published 5.0.0 •

Changelog

Source

v5.0.0

:fire: 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)

:tada: 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
palantir
published 5.0.0-dev.0 •

palantir
published 4.5.1-dev.0 •

palantir
published 4.5.1 •

Changelog

Source

v4.5.1

  • [enhancement] Updated recommended rules to include ban-types and no-duplicate-super (#2271)
  • [bugfix] object-literal-key-quotes handle negative number property name (#2273)
palantir
published 4.5.0 •

Changelog

Source

v4.5.0

  • [new-rule] no-import-side-effect (#2155)
  • [new-rule] match-default-export-name (#2117)
  • [new-rule] no-non-null-assertion (#2221)
  • [new-rule] ban-types (#2175)
  • [new-rule] no-duplicate-super (#2038)
  • [new-rule] newline-before-return (#2173)
  • [new-rule-option] completed-docs adds options for location, type, and privacy. Also adds interfaces, enums, types (#2095)
  • [new-rule-option] no-inferrable-types adds option ignore-properties (#2178)
  • [new-rule-option] typedef adds options object-destructuring and array-destructuring options (#2146)
  • [new-rule-option] member-ordering adds option alphabetize (#2101)
  • [new-rule-option] no-trailing-whitespace adds option ignore-jsdoc (#2177)
  • [new-rule-option] no-trailing-whitespace adds option ignore-comments option (#2153)
  • [new-fixer] no-inferrable-types automatically remove inferrable type annotations (#2178)
  • [new-fixer] no-any (#2165)
  • [new-fixer] noConsecutiveBlankLines (#2201)
  • [new-fixer] object-literal-shorthand (#2165)
  • [bugfix] no-switch-case-fallthrough handle break, throw, continue and return nested in block, if-else and switch (#2218)
  • [bugfix] no-switch-case-fallthrough allow empty case clauses before default clause (#2218)
  • [bugfix] no-mergeable-namespace ignore property types that can't be merged (#2105)
  • [bugfix] object-literal-key-quotes no need to quote a float if its .toString() is the same. (#2144)
  • [bugfix] no-consecutive-blank-lines Correctly apply fixes at EOF (#2239)
  • [bugfix]: Fixes installation issue with node 7.5 (#2212)
  • [bugfix]: quotemark now handles escaped chars (#2224)
  • [enhancement] Don't exit when a rule requires type checking but type checking is not enabled (#2188)
  • [enhancement] no-switch-case-fallthrough allow single line comment // falls through (#2218)
  • [enhancement] no-unbound-method allows property access and binary expressions (#2143)
  • [api] Introduce AbstractWalker for performance (#2093)

Thanks to our contributors!

  • Andy Hanson
  • Stefan Reichel
  • Shlomi Assaf
  • Josh Goldberg
  • Minko Gechev
  • Irfan Hudda
  • Klaus Meinhardt
  • Martin Probst
  • Naoto Usuyama
  • Caleb Eggensperger
  • Arturs Vonda
  • Joscha Feth
  • Moritz
  • Alexander Rusakov
  • Alex Ryan
  • Andy
  • Yuichi Nukiyama
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc