38 KiB
38 KiB
Change Log
v4.5.1
- [enhancement] Updated recommended rules to include
ban-typesandno-duplicate-super(#2271) - [bugfix]
object-literal-key-quoteshandle negative number property name (#2273)
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-docsadds options for location, type, and privacy. Also adds interfaces, enums, types (#2095) - [new-rule-option]
no-inferrable-typesadds optionignore-properties(#2178) - [new-rule-option]
typedefadds optionsobject-destructuringandarray-destructuringoptions (#2146) - [new-rule-option]
member-orderingadds optionalphabetize(#2101) - [new-rule-option]
no-trailing-whitespaceadds optionignore-jsdoc(#2177) - [new-rule-option]
no-trailing-whitespaceadds optionignore-commentsoption (#2153) - [new-fixer]
no-inferrable-typesautomatically remove inferrable type annotations (#2178) - [new-fixer]
no-any(#2165) - [new-fixer]
noConsecutiveBlankLines(#2201) - [new-fixer]
object-literal-shorthand(#2165) - [bugfix]
no-switch-case-fallthroughhandle break, throw, continue and return nested in block, if-else and switch (#2218) - [bugfix]
no-switch-case-fallthroughallow empty case clauses before default clause (#2218) - [bugfix]
no-mergeable-namespaceignore property types that can't be merged (#2105) - [bugfix]
object-literal-key-quotesno need to quote a float if its .toString() is the same. (#2144) - [bugfix]
no-consecutive-blank-linesCorrectly apply fixes at EOF (#2239) - [bugfix]: Fixes installation issue with node 7.5 (#2212)
- [bugfix]:
quotemarknow 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-fallthroughallow single line comment// falls through(#2218) - [enhancement]
no-unbound-methodallows property access and binary expressions (#2143) - [api] Introduce
AbstractWalkerfor performance (#2093)- see [performance] (https://palantir.github.io/tslint/develop/custom-rules/performance.html) and [migration] (https://palantir.github.io/tslint/develop/custom-rules/migration.html) docs
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
v4.4.2
- [bugfix]
whitespacerule caused false positive on EOF (#2131) - [bugfix] WebStorm fails because
jsonformatter parameter has extra space (#2132)
v4.4.1
- [bugfix] errant space in recommended ruleset (couldn't find
no-misused-new)
v4.4.0
- [new-rule]
arrow-return-shorthand(#1972) - [new-rule]
no-unbound-method(#2089) - [new-rule]
no-boolean-literal-compare(#2013) - [new-rule]
no-unsafe-any(#2047) - [new-rule]
no-unnecessary-qualifier(#2008) - [new-rule]
no-unnecessary-initializer(#2106) - [new-rule]
await-promise(#2102) - [new-rule]
no-floating-promises(#1632) - [new-rule]
strict-type-predicates(#2046) - [new-rule]
no-misused-new(#1963) - [new-rule]
prefer-method-signature(#2028) - [new-rule]
prefer-function-over-method(#2037) - [new-rule-option]
allow-fast-null-checksadded tono-unused-expression(#1638) - [new-rule-option]
comment-format-ruleaddsignore-wordsandignore-patternoptions (#1757) - [new-rule-option]
whitespaceaddscheck-preblockoption (#2002) - [new-rule-option]
strict-boolean-expressionsaddsallow-null-union,allow-undefined-union,allow-string, andallow-numberand (#2033) - [new-fixer]
align(#2097) - [new-fixer]
no-trailing-whitespace(#2060) - [bugfix]
no-magic-numbersfalse positive on default parameter values (#2004) - [bugfix]
no-empty-interfaceallow empty interface with 2 or more parents (#2070) - [bugfix]
no-trailing-whitespacefixed for comments and EOF (#2060) - [bugfix]
no-emptyno longer fails for private or protected constructor (#1976) - [bugfix]
tslint:disable/tslint-enablenow handles multiple rules and fixes what code is enabled/disabled (#2061) - [bugfix]
no-inferrable-typesnow validates property declarations (#2081) - [bugfix]
unified-signaturesfalse positive (#2016) - [bugfix]
whitespacefinds all whitespace errors in JsxExpressions and TemplateExpressions (#2036) - [bugfix]
comment-formatno more false positives in JsxText (#2036) - [enhancement]
--testoption now accepts glob (#2079)
Thanks to our contributors!
- Alexander Rusakov
- Andrii Dieiev
- @andy-ms
- Andy Hanson
- Josh Goldberg
- Kei Son
- Klaus Meinhardt
- Krati Ahuja
- Martin Probst
- Mohsen Azimi
- Romke van der Meulen
- cameron-mcateer
v4.3.1
- [bugfix] Fix back-compat break. Allow formattersDirectory === null (#1997)
v4.3.0
- Enabled additional rules in
tslint:latestconfiguration (#1981) - [new-rule]
space-before-function-paren(#1897) - [new-rule]
typeof-compare(#1927) - [new-rule]
import-spacing(#1935) - [new-rule]
unified-signatures(#1944) - [new-fixer]
object-literal-key-quotes(#1953) - [new-fixer]
no-angle-bracket-type-assertion(#1979) - [bugfix]
adjacent-overload-signaturenow handles static/computed function names (#1831) - [bugfix]
file-headernow handles files with only comments (#1913) - [bugfix]
no-consecutive-blank-linesnow allows blank lines in template strings (#1886) - [bugfix]
object-literal-key-quotesno longer throws exception when using rest operator (#1916) - [bugfix]
restrict-plus-operandsno longer shows false positive in ternary operation (#1925) - [bugfix]
prefer-for-ofnow handles nestedforloops with reused iterator (#1926) - [bugfix] Exit gracefully when
tsconfig.jsonpassed as--projectargument doens't have files (#1933) - [bugfix]
object-literal-key-quotesnow handles shorthand and spread properties (#1945) - [bugfix]
arrow-parensAllow binding patterns([x, y]) => ...and({x, y}) => ...to have parens (#1958) - [bugfix]
semicolonfixer now handles comma separator in interfaces and indicates failure when commas are using in interfaces (#1856) - [bugfix]
only-arrow-functionsoptionallow-named-functionsnow allows function declarations (#1961) - [bugfix]
prefer-for-ofno longer shows false positive when array is in parentheses (#1986) - [bugfix]
prefer-constnow works for TypeScript versions < 2.1.0 (#1989) - [enhancement]
member-accessnarrow location of error (#1964)
Thanks to our contributors!
- Andrii Dieiev
- @andy-ms
- Andy Hanson
- Josh Goldberg
- Klaus Meinhardt
- Linda_pp
- Mohsen Azimi
- Victor Grigoriu
- Yuichi Nukiyama
- cameron-mcateer
v4.2.0
- [new-rule]
no-string-throw(#1878) - [new-rule]
no-empty-interface(#1889) - [new-rule]
interface-over-type-literal(#1890) - [new-rule]
callable-types(#1891) - [new-rule]
no-void-expression(#1903) - [new-rule-option]
ban-single-arg-parensadded toarrow-parens(#1893) - [bugfix]
prefer-consthandles destructuring arrays (#1894), destructuring objects (#1906), and forward references (#1908) - [bugfix] Don't error for misplaced braces for 'else' in
one-linerule (#1866) - [bugfix]
no-shadowed-variablenow identifies shadowedforiterator (#1816) - [bugfix]
object-literal-key-quotesnow includes function names (#1874) - [bugfix] error when EOF comes after
disable-next-linecomment (#1902)
Thanks to our contributors!
- Andrew Scott
- @andy-ms
- Andy Hanson
- James Booth
- Klaus Meinhardt
- Vladimir Matveev
v4.1.1
- [bugfix]
typedefrule was showing false positive forcatchclause (#1887)
v4.1.0
- [new-rule]
prefer-const(#1801) - [new-rule]
strict-boolean-expressions(#1820) - [new-rule]
no-magic-numbers(#1799) - [new-rule]
import-blacklist(#1841) - [new-rule]
promise-functions-async(#1779) - [new-rule]
no-inferred-empty-object-type: a type must be specified when using a generic class/function/etc (#1821) - [new-rule-option]
allow-named-functionsadded toonly-arrow-functions(#1857) - [new-fixer]
prefer-const(#1801) - [new-fixer]
quotemark(#1790) - [new-formatter]
code-frameformatter shows you the error in context (#1819) - [enhancement]
no-internal-modulefailures highlight less text (#1781) - [enhancement] Avoid auto-fixing errors that would result in compilation errors for rules that use type-check (#1608)
- [rule-change]
only-arrow-functionswill allow functions with athisparameter (#1597) - [bugfix]
no-use-before-declarefalse positive on named import (#1620) - [bugfix]
prefer-for-ofwas showing false positive when the element is assigned (#1813) - [bugfix] The command line argument
type-checkwas swallowing the next argument (#1783) - [bugfix]
tslint:disable-linewas re-enablingtslint:disable(#1634) - [bugfix]
adjacent-overload-signaturesdid not work for constructors (#1800) - [bugfix]
checkstyleformatter was reporting errors under one file (#1811) - [bugfix]
trailing-commawas applied to parameter lists (#1775) - [api] CLI logic moved into API friendly class (#1688)
Thanks to our contributors!
- Alex Eagle
- Andrii Dieiev
- Andy Hanson
- Art Chaidarun
- Donald Pipowitch
- Feisal Ahmad
- Josh Goldberg
- Klaus Meinhardt
- Maciej Sypień
- Mohsen Azimi
- Ryan Lester
- Simon Schick
- Subhash Sharma
- Timothy Slatcher
- Yaroslav Admin
- Yuichi Nukiyama
- tdsmithATabc
- @wmrowan
v4.0.2
- [enhancement] Don't exit when a rule can't be found. Print as a warning instead (#1771)
- [api-change] Allow 3rd party apps to see exception when the config is invalid (#1764)
- [bugfix] Don't flag a property named as empty string as not needing quotes in an object literal (#1762)
- [bugfix] Report correct number of fixes done by --fix (#1767)
- [bugfix] Fix false positives and exceptions in
prefer-for-of(#1758) - [bugfix] Fix
adjacent-overload-signaturesfalse positive when a static function has the same name (#1772)
Thanks to our contributors!
- @gustavderdrache
v4.0.1
- [bugfix] Removed
no-unused-variablerule from recommended config, as it was causing spurious deprecation warnings.
v4.0.0-dev.2
- Include latest v4.0.0 changes
v4.0.0
- BREAKING CHANGES
- [api-change] Minor changes to the library API. See this PR for changes and upgrade instructions (#1720)
- [removed-rule] Removed
no-unreachablerule; covered by compiler (#661) - [enhancement] Changed order of applied configuration files for the
extendsarray to make it more intuitive. (#1503) - [enhancement] Changed TypeScript peer dependency to >= 2.0.0 (#1710)
- [new-rule]
completed-docsrule added (#1644) - [new-fixer]
ordered-importsauto fixed (#1640) - [new-fixer]
arrow-parensauto fixed (#1731) - [rule-change]
indentrule now ignores template strings (#1611) - [new-rule-option]
object-literal-key-quotesadds the optionsconsistentandconsistent-as-needed(#1733) - [enhancement]
--fixoption added to automatically fix selected rules (#1697) - [enhancement] Updated recommend rules (#1717)
- [enhancement]
adjacent-overload-signaturesnow works with classes, source files, modules, and namespaces (#1707) - [enhancement] Users are notified if they are using an old TSLint version (#1696)
- [bugfix] Lint
.jsxfiles ifjsRulesare configured (#1714) - [bugfix] Command line glob patterns now handle single quotes (#1679)
Thanks to our contributors!
- Andrii Dieiev
- Andy
- Chris Barr
- Davie Schoots
- Jordan Hawker
- Josh Goldberg
- Stepan Riha
- Yuichi Nukiyama
v4.0.0-dev.1
- BREAKING CHANGES
- [enhancement] The
semicolonrule now disallows semicolons in multi-line bound class methods (to get the v3 behavior, use theignore-bound-class-methodsoption) (#1643) - [removed-rule] Removed
use-strictrule (#678) - [removed-rule] Removed
label-undefinedrule; covered by compiler (#1614) - [enhancement] Renamed
no-constructor-varstono-parameter-properties(#1296) - [rule-change] The
orderedImportsrule now sorts relative modules below non-relative modules (#1640)
- [enhancement] The
- Deprecated
- [deprecated]
no-unused-variablerule. This is checked by the TypeScript v2 compiler using the flags--noUnusedParametersand--noUnusedLocals. (#1481)
- [deprecated]
- [enhancement] Lint .js files (#1515)
- [new-fixer]
no-var-keywordreplacesvarwithlet(#1547) - [new-fixer]
trailing-commaauto fixed (#1546) - [new-fixer]
no-unused-variableauto fixed for imports (#1568) - [new-fixer]
semicolonauto fixed (#1423) - [new-rule]
max-classes-per-filerule added (#1666) - [new-rule-option]
no-consecutive-blank-linesrule now accepts a number value indicating max blank lines (#1650) - [new-rule-option]
ordered-importsrule optionimport-sources-orderaccepts valueany(#1602) - [bugfix]
no-emptyrule fixed when parameter has readonly modifier - [bugfix]
no-namespacerule: do not flag nested or .d.ts namespaces (#1571)
Thanks to our contributors!
- Alex Eagle
- Andrii Dieiev
- Ben Coveney
- Boris Aranovich
- Chris Barr
- Cyril Gandon
- Evgeniy Zhukovskiy
- Jay Anslow
- Kunal Marwaha
- Martin Probst
- Mingye Wang
- Raghav Katyal
- Sean Dawson
- Yuichi Nukiyama
- jakpaw
v4.0.0-dev.0
- BREAKING CHANGES
- [enhancement] Drop support for configuration via package.json (#1579)
- [removed-rule] Removed
no-duplicate-keyrule; covered by compiler (#1109) - [enhancement] Call formatter once for all file results. Format output may be different (#656)
- [rule-change]
trailing-commasupports function declarations, expressions, and types (#1486) - [rule-change]
object-literal-sort-keysnow sorts quoted keys (#1529) - [rule-change]
semicolonnow processes type aliases (#1475) - [rule-change]
no-var-keywordnow rejectsexport varstatements (#1256) - [rule-change]
semicolonnow requires semicolon for function declaration with no body (#1447)
- [new-formatter]
fileslistformatter writes a list of files with errors without position or error type specifics (#1558) - [new-rule]
cyclomaticComplexity, enforces a threshold of cyclomatic complexity.] (#1464) - [new-rule]
prefer-for-of, which errors whenfor(var x of y)can be used instead offor(var i = 0; i < y.length; i++)(#1335) - [new-rule]
array-type, which can require using either `T[]' or 'Array' for arrays (#1498) - [rule-change]
object-literal-sort-keyschecks multiline objects only (#1642) - [rule-change]
banrule now can ban global functions (#327) - [bugfix] always write lint result, even if using formatter (#1353)
- [bugfix] npm run test:bin fails on Windows (#1635)
- [bugfix] Don't enforce trailing spaces on newlines in typedef-whitespace rule (#1531)
- [bugfix]
jsdocrule should not match arbitrary comments (#1543) - [bugfix]
one-linerule errors when declaring wildcard ambient modules (#1425)
Thanks to our contributors!
- Alex Eagle
- Andrii Dieiev
- Andy Hanson
- Ben Coveney
- Boris Aranovich
- Chris Barr
- Christian Dreher
- Claas Augner
- Josh Goldberg
- Martin Probst
- Mike Deverell
- Nina Hartmann
- Satoshi Amemiya
- Scott Wu
- Steve Van Opstal
- Umar Bolatov
- Vladimir Matveev
- Yui
v3.15.1
- Enabled additional rules in
tslint:latestconfiguration (#1506)
v3.15.0
- Stable release containing changes from the last dev release (v3.15.0-dev.0)
v3.15.0-dev.0
- [enhancement] Rules can automatically fix errors (#1423)
- [enhancement] Better error messages for invalid source files (#1480)
- [new-rule]
adjacent-overload-signaturesrule (#1426) - [new-rule]
file-headerrule (#1441) - [new-rule]
object-literal-shorthandrule (#1488) - [new-rule-option]
allow-declarationsoption foronly-arrow-functionsrule (#1452) - [new-rule-option]
import-sources-orderoption forordered-importsrule (#1466) - [bugfix]
arrow-parensrule handles async and generics (#1446, #1479) - [bugfix]
comment-formatrule ignores tslint control comments (#1473) - [bugfix] Fix
no-shadowed-variablerule false positives (#1482)
Thanks to our contributors!
- @apacala
- @danvk
- @DovydasNavickas
- @glen-84
- @IllusionMH
- @JoshuaKGoldberg
- @markwongsk
- @rakatyal
- @rhysd
- @ScottSWu
- @YuichiNukiyama
v3.14.0
- Stable release containing changes from the last dev releases (v3.14.0-dev.0, v3.14.0-dev.1)
v3.14.0-dev.1
- [new-rule]
arrow-parensrule (#777) - [new-rule]
max-file-line-countrule (#1360) - [new-rule]
no-unsafe-finallyrule (#1349) - [new-rule]
no-for-in-arrayrule (#1380) - [new-rule]
object-literal-key-quotesrule (#1364) - [enhancement] Better
banrule failure messages (#1385) - [enhancement] New stylish formatter (#1406)
Thanks to our contributors!
- @chrismbarr
- @danvk
- @gjuchault
- @lowkay
- @ScottSWu
- @YuichiNukiyama
v3.14.0-dev.0
- [enhancement] Add optional type information to rules (#1323)
Thanks to our contributors!
- @ScottSWu
v3.13.0
- Stable release containing changes from the last dev release (v3.13.0-dev.0)
v3.13.0-dev.0
- [new-rule]
ordered-importsrule (#1325) - [enhancement] MPEG transport stream files are ignored by the CLI (#1357)
Thanks to our contributors!
- @chrismbarr
- @corydeppen
- @danvk
- @janaagaard75
- @mprobst
v3.12.0-dev.2
- [enhancement] Support TypeScript v2.0.0-dev builds
v3.12.1
- Stable release containing changes from the last dev release (v3.12.0-dev.1)
v3.12.0-dev.1
- [bugfix] Fix null reference bug in typedef rule (#1345)
v3.12.0
- Stable release containing changes from the last dev release (v3.12.0-dev.0)
v3.12.0-dev.0
- [new-rule]
only-arrow-functionsrule (#1318) - [new-rule]
no-unused-newrule (#1316) - [new-rule-option]
arrow-call-signatureoption fortypedefrule (#1284) - [enhancement] Metadata for every rule (#1311)
- [enhancement]
typedefrule is more flexible about the location of typedefs for arrow functions (#1176) - [enhancement] Failure messages are clearer and more consistent for many rules (#1303, #1307, #1309)
- [bugfix]
no-consecutive-blank-linesnow handles lines with only whitespace correctly (#1249) - [bugfix] Correctly load
.jsonconfig files that have a BOM (#1338)
Thanks to our contributors!
- @allannienhuis
- @arnaudvalle
- @bencoveney
- @chrismbarr
- @corydeppen
- @HamletDRC
- @JoshuaKGoldberg
- @timbrown81
- @tomduncalf
- @YuichiNukiyama
v3.11.0
- Stable release containing changes from the last dev release (v3.11.0-dev.0)
v3.11.0-dev.0
- [new-rule]
linebreak-stylerule (#123) - [new-rule]
no-mergeable-namespacerule (#843) - [enhancement] Add built-in configurations (#1261)
- [enhancement] New vso formatter (#1281)
- [new-rule-option]
ignore-interfacesoption forsemicolonrule (#1233) - [bugfix]
no-default-exportrule handles more default export cases (#1241)
Thanks to our contributors!
- @cgwrench
- @HamletDRC
- @lijunle
- @paldepind
- @patsissons
- @schmuli
- @YuichiNukiyama
v3.10.2
- Stable release containing changes from the last dev release (v3.10.0-dev.2)
v3.10.0-dev.2
- [bugfix]
member-orderingrule doesn't crash on methods in class expressions (#1252) - [bugfix]
banrule handles chained methods appropriately (#1234)
Thanks to our contributors!
- @marines
v3.10.1
- Stable release containing changes from the last dev release (v3.10.0-dev.1)
v3.10.0-dev.1
- [bugfix]
member-orderingrule doesn't crash on methods in object literals (#1243)
v3.10.0
- Stable release containing changes from the last dev release (v3.10.0-dev.0)
v3.10.0-dev.0
- [new-rule]
new-parensrule (#1177) - [new-rule]
no-default-exportrule (#1182) - [new-rule-option]
order: ...option formember-orderingrule (#1208) - [new-rule-option] "ignore-for-loop" option for
one-variable-per-declarationrule (#1204) - [enhancement] "no-this-in-function-in-method" option renamed to "check-function-in-method" (#1203)
- [bugfix]
semicolonrule checks export statements (#1155)
Thanks to our contributors!
- @chrismbarr
- @HamletDRC
- @larshp
- @patsissons
- @YuichiNukiyama
v3.9.0
- Stable release containing changes from the last dev release (v3.9.0-dev.0)
v3.9.0-dev.0
- [new-rule]
no-namespacerule (#1133) - [new-rule]
one-variable-per-declarationrule (#525) - [new-rule-option] "ignore-params" option for
no-inferrable-typesrule (#1190) - [new-rule-option] "no-this-in-function-in-method" option for
no-invalid-thisrule (#1179) - [enhancement] Single line enable/disable comments (#144)
- [enhancement] Resolve
extendspackages relative to location of configuration file (#1171) - [enhancement]
Linterclass will throw an error if configuration is of an invalid type (#1167) - [bugfix]
use-isnanallows assaignments toNaN(#1054) - [bugfix]
no-unreachablehandles allows hoisted type aliases (#564) - [bugfix]
member-orderingrule now checks constructors (#1158) - [bugfix]
--testCLI command works correctly with specifiying custom rules (#1195)
Thanks to our contributors!
- @abierbaum
- @HamletDRC
- @inthemill
- @janslow
- @JoshuaKGoldberg
- @mprobst
- @patsissions
- @YuichiNukiyama
v3.8.1
- Stable release containing changes from the last dev release (v3.8.0-dev.1)
v3.8.0-dev.1
- [bugfix] Allow JS directives at the start of constructors, getters, and setters (#1159)
- [bugfix] Remove accidentally included performance profiles from published NPM artifact (#1160)
v3.8.0
- Stable release containing changes from the last dev release (v3.8.0-dev.0)
v3.8.0-dev.0
- [new-rule]
no-invalid-thisrule (#1105) - [new-rule]
use-isnanrule (#1054) - [new-rule]
no-referencerule (#1139) - [new-rule-option] "allow-pascal-case" option for
variable-namerule (#1079) - [enhancement] Comments now allowed in
tslint.jsonfiles (#1129) - [enhancement] Smarter
trailing-commabehavior (#1122) - [enhancement]
semicolonrule more lenient with arrow-function class members (#1076) - [enhancement] Allow enabling/disabling rules with
//comments (#1134) - [enhancement] New checkstyle formatter (#250)
- [enhancement] Clearer message for
no-var-keywordrule (#1124) - [bugfix] Loaded configurations are not cached (#1128)
- [bugfix] Allow JS directives at the start of class methods (#1144)
Thanks to our contributors!
- @AndyMoreland
- @chrismbarr
- @HamletDRC
- @JoshuaKGoldberg
- @sshev
- @unional
v3.7.4
- Stable release containing changes from the last dev release (v3.7.0-dev.5)
v3.7.0-dev.5
- [bugfix] Allow JS directives in namespaces (#1115)
v3.7.3
- Stable release containing changes from the last dev release (v3.7.0-dev.4)
v3.7.0-dev.4
- [bugfix] Downgrade
findup-syncdependency (#1108)
v3.7.2
- Stable release containing changes from the last dev release (v3.7.0-dev.3)
v3.7.0-dev.3
- [bugfix]
findConfigurationPathalways returns an absolute path (#1093) - [bugfix] Update
findup-syncdependency (#1080) - [bugfix]
declare globalno longer triggersno-internal-modulerule (#1069) - [bugfix] Valid JS directives no longer trigger
no-unused-expressionrule (#1050)
v3.7.1
- Stable release containing changes from the last dev release
v3.7.0-dev.2
- [bugfix] Improve handling of paths provided via the -c CLI option (#1083)
v3.7.0
- Stable release containing changes from the last dev release
v3.7.0-dev.1
- [enhancement]
extendsfield fortslint.jsonfiles (#997) - [enhancement]
--forceCLI option (#1059) - [enhancement] Improve how
Linterclass handles configurations with arulesDirectoryfield (#1035) - [new-rule]
no-angle-bracket-type-assertionrule (#639) - [new-rule-option] "allow-undefined-check" option for
triple-equalsrule (#602) - [new-rule-option] "always-prefix" and "never-prefix" option for
interface-namerule (#512)
Thanks to our contributors!
- @Arnavion
- @chrismbarr
- @ChrisPearce
- @JoshuaKGoldberg
- @patsissonso
- @sasidhar
- @unional
- @vvakame
v3.6.0
- Stable release containing changes from the last dev release
v3.6.0-dev.1
- [enhancement] Add
--excludeCLI option (#915) - [bugfix] Fix
no-shadowed-variablerule handling of standalone blocks (#1021) - [deprecation] Configuration through
package.jsonfiles (#1020) - [API] Export additional configuration methods from top-level "tslint" module (#1009)
Thanks to our contributors!
- @blakeembrey
- @hamhut1066
- @meowtec
v3.5.0
- Stable release containing changes from the last dev release
v3.5.0-dev.1
- [new-rule-option] "ignore-pattern" option for
no-unused-variablerule (#314) - [bugfix] Fix occassional crash in
no-string-literalrule (#906) - [enhancement] Tweak behavior of
member-orderingrule with regards to arrow function types in interfaces (#226)
Thanks to our contributors!
- @arusakov
- @Pajn
v3.4.0
- Stable release containing changes from the last two dev releases
v3.4.0-dev.2
- [new-rule-option] "arrow-parameter" option for
typedefrule (#333) - [new-rule-option] "never" option for
semicolonrule (#363) - [new-rule-option] "onespace" setting for
typedef-whitespacerule (#888) - [new-rule-option]
typedef-whitespacerule can now check spacing on right side of typdef colon (#888) - [enhancement]
member-orderingrule treats arrow functions as methods (#226) - [bugfix] Handle spaces before typedefs correctly in
typedef-whitespacerule (#955) - [bugfix]
label-positionrule now allows labels onfor-ofloops (#959)
Thanks to our contributors!
- @b0r3as
- @ChaseMoskal
- @Pajn
- @pe8ter
- @tomduncalf
v3.4.0-dev.1
- [enhancement] Revamped testing system (#620)
- Writing tests for rules is now much simpler with a linter DSL.
See exisitng tests in
test/rules/**/*.ts.lintfor examples.
- Writing tests for rules is now much simpler with a linter DSL.
See exisitng tests in
- [enhancement] New msbuild formatter (#947)
- [bugfix] Fix handling of multiline literals in
trailing-commarule (#856) - [bugfix]
one-linerule correctly checks space betweencatchand opening brace (#925) - [bugfix]
one-linerule correctly checks multiline variable declarations (#935) - [new-rule-option] New option
check-finallyforone-linerule (#925) - BREAKING CHANGES
- [bugfix] Report error when a rule in the config file is not found (#598)
Thanks to our contributors!
- @mmv
- @pe8ter
v3.3.0
- [bugfix] Tweak TSLint build so TSLint works with typescript@next (#926)
v3.3.0-dev.1
- [bugfix] Correctly handle more than one custom rules directory (#928)
v3.2.2
- Stable release containing changes from the last dev release
v3.2.2-dev.1
- [enhancement] Throw an error if a path to a directory of custom rules is invalid (#910)
- [new-rule-option] "jsx-single" and "jsx-double" options for
quotemarkrule (#673) - [bugfix] Handle paths to directories of custom rules more accurately
- [bugfix]
no-unused-expressionrule handlesawaitstatements correctly (#887)
v3.2.1
- Stable release containing changes from the last dev release
v3.2.1-dev.1
- [enhancement] automatically generate a
tslint.jsonfile with new--initCLI command (#717) - [bugfix]
no-var-keywordrule detects the use ofvarin all types offorloops (#855)
v3.2.0
- Stable release containing changes from last two dev releases
v3.2.0-dev.2
- [bugfix] formatters are now exported correctly to work with TS 1.8 (#863)
v3.2.0-dev.1
- [bugfix] fixed bug in how custom rules directories are registered (#844)
- [enhancement] better support for globs in CLI (#827)
- [new-rule]
no-null-keywordrule (#722)
v3.1.1
- Bump TypeScript peer dependency to
>= 1.7.3due toconst enumincompatibility (#832)
v3.1.0
- [bugfix] build with TS v1.7.3 to fix null pointer exception (#832)
- [bugfix] fixed false positive in
no-require-importsrule (#816)
v3.1.0-dev.1
- [bugfix] fixed
no-shadowed-variablefalse positives when handling destructuring in function params (#727) - [enhancement]
rulesDirectoryintslint.jsonnow supports multiple file paths (#795)
v3.0.0
- [bugfix]
member-accessrule now handles object literals and get/set accessors properly (#801)- New rule options:
check-accessorandcheck-constructor
- New rule options:
- All the changes from the following releases, including some breaking changes:
3.0.0-dev.33.0.0-dev.23.0.0-dev.12.6.0-dev.22.6.0-dev.1
v3.0.0-dev.3
- TypeScript is now a peerDependency (#791)
- [bugfix]
no-unused-variablerule withreactoption works with self-closing JSX tags (#776) - [bugfix]
use-strictbugfix (#544)
v3.0.0-dev.2
- [new-rule-option] "react" option for
no-unused-variablerule (#698, #725) - [bugfix] Fix how
Linteris exported from "tslint" module (#760) - [bugfix]
no-use-before-declarerule doesn't crash on uncompilable code (#763)
v3.0.0-dev.1
- BREAKING CHANGES
- Rearchitect TSLint to use external modules instead of merged namespaces (#726)
- Dependencies need to be handled differently now by custom rules and formatters
- See the PR for full details about this change
no-trailing-commarule removed, it is replaced by thetrailing-commarule (#687)- Rename
sort-object-literal-keysrule toobject-literal-sort-keys(#304, #537) Lint.abstract()has been removed (#700)
- Rearchitect TSLint to use external modules instead of merged namespaces (#726)
- [new-rule]
trailing-commarule (#557, #687) - [new-rule-option] "ban-keywords" option for
variable-namerule (#735, #748) - [bugfix]
typedefrule now handlesfor-ofloops correctly (#743) - [bugfix] Handle tslint.json utf-8 files which have a BOM correctly (#90)
v2.6.0-dev.2
- Upgrade TypeScript compiler to
v1.7.0-dev.20151003 - [bugfix]
no-unused-expressionrule now handles yield expressions properly (#706)
v2.6.0-dev.1
- Upgrade TypeScript compiler to
v1.7.0-dev.20150924
v2.5.1
- [new-rule] no-inferrable-types rule (#676)
- [new-rule-option] "avoid-escape" option for quotemark rule (#543)
- [bugfix] type declaration for tslint external module #686
- [enhancement]
AbstractRuleandAbstractFormatterare now abstract classes (#631)- Note:
Lint.abstract()is now deprecated
- Note:
v2.5.0
- Use TypeScript compiler
v1.6.2 - [bugfixes] #637, #642, #650, #652
- [bugfixes] fix various false positives in
no-unused-variablerule (#570, #613, #663) - Update project setup for latest VSCode (#662)
v2.5.0-beta
- Use TypeScript compiler
v1.6.0-beta - [bugfix] Fix
no-internal-modulefalse positives on nested namespaces (#600) - [docs] Add documentation for
sort-object-literal-keysrule
v2.5.0-dev.5
- Upgrade TypeScript compiler to
v1.7.0-dev.20150828 - [bugfix] Handle .tsx files appropriately (#597, #558)
v2.5.0-dev.4
- Upgrade TypeScript compiler to
v1.6.0-dev.20150825
v2.5.0-dev.3
- Upgrade TypeScript compiler to
v1.6.0-dev.20150821
v2.5.0-dev.2
- Upgrade TypeScript compiler to
v1.6.0-dev.20150811 - [bug] fix
whitespacefalse positive in JSX elements (#559)
v2.5.0-dev.1
- Upgrade TypeScript compiler to
v1.6.0-dev.20150805 - [enhancement] Support
.tsxsyntax (#490)
v2.4.5
- [bugfix] fix false positives on
no-shadowed-variablerule (#500) - [enhancement] add
allow-trailing-underscoreoption tovariable-namerule
v2.4.4
- [bugfix] remove "typescript" block from package.json (#606)
v2.4.3
- [new-rule]
no-conditional-assignment(#507) - [new-rule]
member-access(#552) - [new-rule]
no-internal-module(#513) - [bugfix] small fixes to
sample.tslint.json(#545) - [bugfix] fix README docs for quotemark and indent (#523)
- [enhancement] update
findup-syncandunderscore.stringdependencies - [enhancement] add
"typescript"field topackage.json(#560) - [enhancement] small improvements to CLI help text
- [enhancement] expose raw failures array in the JS API (#477)
v2.4.2
- [bug] remove npm-shrinkwrap.json from the published package
v2.4.0
- Upgraded Typescript compiler to 1.5.3
- [bugs] #332, #493, #509, #483
- [bug] fix error message in
no-var-keywordrule - [enhancement] CI tests are now run on node v0.12 in addition to v0.10
- BREAKING
-foption removed from CLI
v2.3.1-beta
- [bugs] #137 #434 #451 #456
- [new-rule]
no-require-importsdisallowsrequire()style imports - [new-rule]
no-shadowed-variablemoves over shadowed variable checking fromno-duplicate-variableinto its own rule - BREAKING
no-duplicate-variablenow only checks for duplicates within the same block scope; enableno-shadowed-variableto get duplicate-variable checking across block scopes
- [enhancement]
no-duplicate-variable,no-shadowed-variable, andno-use-before-declarenow support ES6 destructuring - [enhancement] tslint CLI now uses a default configuration if no config file is found
v2.3.0-beta
- [bugs] #401 #367 #324 #352
- [new-rule]
no-var-keyworddisallowsvarin favor ofletandconst - [new-rule]
sort-object-literal-keysforces object-literal keys to be sorted alphabetically - Add support for ES6 destructuring and module syntax (affects
variable-name,no-use-before-declare,whitespaceandno-unused-variable) - Add support for ES6 for-of and spread operator syntax
- Use tsconfig.json & JSCS in the build system
v2.2.0-beta
- Upgraded Typescript compiler to 1.5.0-beta
- BREAKING CHANGES
- due to changes to the typescript compiler API, old custom rules may no longer work and may need to be rewritten
- the JSON formatter's line and character positions are now back to being 0-indexed instead of 1-indexed
- [bugs] #328 #334 #319 #351 #365 #254
- [bug] fixes for tslint behavior around template strings (fixes #357, #349, #332, and more)
- [new-rule]
alignrule now enforces vertical alignment on parameters, arguments, and statements - [new-rule]
switch-defaultenforces adefaultcase inswitchstatements - [feature]
no-duplicate-variablerule now additionally checks if function parameters have been shadowed - Additional fixes to existing rules to work as before with the typescript 1.5 compiler
v2.1.1
v2.1.0
- Fix crash on Windows
v2.0.1
- Upgraded Typescript compiler to 1.4
- BREAKING CHANGES
- typedef rule options were modified:
- index-signature removed as no longer necessary
- property-signature renamed to property-declaration
- variable-declarator renamed to variable-declaration
- member-variable-declarator renamed to member-variable-declaration
- typedef-whitespace rule options were modified:
- catch-clause was removed as invalid
- further options were added, see readme for more details
- due to changes to the typescript compiler API, old custom rules may no longer work and may need to be rewritten
- the JSON formatter's line and character positions are now 1-indexed instead of 0-indexed
- typedef rule options were modified:
v1.2.0
- [bug] #245
v1.0.1
- [bug] #238
v1.0.0
- upgrade TypeScript compiler to 1.3
- BREAKING CHANGES
- all error messages now start with a lower-case character and do not end with a period
- all rule options are consistent in nomenclature. The
typedefandtypedef-whitespacerules now take in hyphenated options unused-variablesrule cannot find unused private variables defined in the constructor due to a bug in 1.3 compilerindentrule has changed to only check for tabs or spaces and not enforce indentation levels
v0.4.12
- multiple files with -f on cli
- config file search starts with input file
v0.4.11
v0.4.10
v0.4.9
- [new-rule]
no-anydisallows all uses ofany - [bug]
/* tslint:disable */now disables semicolon rule as well - [bug] delete operator no longer results in a false positive for
no-unused-expression
v0.4.8
- [new-rule]
no-var-requiresdisallows require statements not part of an import statement - [new-rule]
typedefrule also checks for member variables - [bug]
no-unused-variableno longer triggers false positives for class members labeled onlystatic - [bug]
no-unused-expressionno longer triggers false positives for"use strict";expressions - [bug]
use-strictworks correctly on function declarations - [bug] config file is now discoverable from other drives on Windows
v0.4.7
- [new-rule] added
no-unused-expressionrule which disallows unused expression statements - [feature] the
check-operatoroption for thewhitespacerule now checks whitespace around the => token - [bug]
no-use-before-declare-ruleno longer triggers false positives for member variables of classes used before the class is declared - [bug] semicolon at end of file no longer triggers false positives for
whitespacerule - [bug] hoisted functions no longer cause false positives for the
no-unreachablerule - [bug] the rule loader no longer transforms/ignores the leading and trailing underscores and dashes of rule names in the config file
- [bug]
export importstatements no longer false positives forno-unused-variable-rule - [docs] added documentation for creating custom rules and formatters
- [docs] added sample
tslint.jsonfile, underdocs/sample.tslint.json
v0.4.6
- [build] migrated build to use
grunt-tsinstead ofgrunt-typescript - [feature]
package.jsonnow contains atslintConfigparamater to allow users to specify the location of the configuration file there - [feature] tslint now searches for the configuration file in the user's home directory if not found in the current path
- [bug] unbraced conditionals no longer cause false positives for the
no-unreachablerule
v0.4.5
- [feature]
no-unused-variableno longer checks parameters by defualt. Parameters are now only checked if thecheck-parametersoption is set. - [bug]
no-unused-variableparameter check no longer fails on variable argument parameters (like ...args) and on cases where the parameters are broken up by newlines.
v0.4.4
- [bug]
no-unused-variablevalidates function parameters and constructor methods - [bug]
no-emptyandno-trailing-commarules handle empty objects
v0.4.3
- [new-rule]
no-unused-variable - [new-rule]
no-trailing-comma - [new-rule]
no-use-before-declare - [feature] support
--versionin CLI - [feature] expose rule names to custom formatters
- [feature] add
verboseformatter - [bug]
no-emptyallows constructors with member declaration parameters - [bug] CLI supports
--help - [bug]
max-line-lengthallows CRLF endings