Changelog
September 30, 2020 · View on GitHub
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
6.0.1 (2020-09-30)
Bug Fixes
6.0.0 (2020-09-30)
Bug Fixes
5.3.0 (2020-07-02)
Features
- add support for angular v10 (d27202c)
Bug Fixes
- deps: update dependency app-root-path to v3 (#923) (4218091)
- add support for tslint 6.0+ (#961) (ef5f158)
- deps: update dependency codemirror to v5.51.0 (#914) (87bbfd5)
- deps: update dependency typescript to v3 (#837) (49c2828)
- 3.6 compile time errors (0066e93)
5.2.3 (2020-03-26)
Bug Fixes
- add support for tslint 6.0+ (#961) (ef5f158)
- deps: update dependency codemirror to v5.51.0 (#914) (87bbfd5)
- deps: update dependency typescript to v3 (#837) (49c2828)
- 3.6 compile time errors (0066e93)
5.2.1 (2020-03-03)
Bug Fixes
- deps: update dependency codemirror to v5.51.0 (#914) (87bbfd5)
- deps: update dependency typescript to v3 (#837) (49c2828)
- 3.6 compile time errors (0066e93)
5.2.0 (2019-10-22)
Bug Fixes
- deps: update angular monorepo (#867) (98ff423)
- deps: update dependency codelyzer to v5.1.2 (#900) (9b0caec)
Features
5.1.2 (2019-09-26)
Bug Fixes
- angular: update function call broken by Angular changes (#857) (d916eb3)
- deps: update dependency codelyzer to v5.1.1 (#894) (2902c31)
- deps: update dependency codemirror to v5.49.0 (#877) (76fa03e)
5.1.1 (2019-09-19)
Bug Fixes
- deps: pin dependencies (#826) (fa40a63)
- deps: update dependency codelyzer to v5 (#847) (98deb50)
- deps: update dependency codemirror to v5.48.2 (#839) (21504e1)
- deps: update dependency tslint to v3.15.1 (#841) (fc80f4e)
- rule: template-click-events-have-key-events - support pseudo events (#893) (5b57bd6)
5.1.0 (2019-06-02)
Bug Fixes
- rule: 'contextual-decorator' - decorators with arguments, accessors and some missing decorators not being handled (#798) (efbcb69)
- rule: template-banana-in-box regex failing in some environments (#820) (3b82574)
Features
5.0.1 (2019-04-25)
Bug Fixes
- rule: detect trackBy function when ngFor spans multiple lines (#813) (2260dfd)
- rule: template-accessibility-label-for not recognizing options and interpolated values (#812) (1fb5d8a)
5.0.0 (2019-03-27)
BREAKING CHANGES
Angular CLI will automatically migrate your projects to reflect the latest config.
contextual-life-cycleis renamed tocontextual-lifecycleno-conflicting-life-cycle-hooksis renamed tono-conflicting-lifecycleno-life-cycle-callis renamed tono-lifecycle-calluse-life-cycle-interfaceis renamed touse-lifecycle-interfacedecorator-not-allowedis renamed tocontextual-decoratorenforce-component-selectoris renamed touse-component-selectorno-output-named-after-standard-eventis renamed tono-output-nativeuse-host-property-decoratoris renamed tono-host-metadata-propertyuse-input-property-decoratoris renamed tono-inputs-metadata-propertyuse-output-property-decoratoris renamed tono-outputs-metadata-propertyno-queries-parameteris renamed tono-queries-metadata-propertypipe-impureis renamed tono-pipe-impureuse-view-encapsulationis renamed touse-component-view-encapsulationi18nis renamed totemplate-i18nbanana-in-boxis renamed totemplate-banana-in-boxno-template-call-expressionis renamed totemplate-no-call-expressiontemplates-no-negated-asyncis renamed totemplate-no-negated-asynctrackBy-functionis renamed totemplate-use-track-by-functionno-attribute-parameter-decoratoris renamed tono-attribute-decoratormax-inline-declarationsis renamed tocomponent-max-inline-declarations
Bug Fixes
- rule: template-use-track-by-function not reporting failures involving multiple *ngFor directives (#721) (9269be6), closes #718
- rule: template-no-call-expression should allow $any usages (#735) (a75c204)
- rule: no-input-rename reporting some failures incorrectly (#723) (f692dcb)
- rule: prefer-inline-decorator should not set a max number of options (#787) (31b2b6a)
- rule: add template-accessibility-elements-content to index.ts (#803) (1e8cbbf), closes #801
- rule: NgModule not being handled for contextual-lifecycle and contextual-decorators (#790) (cedfa2e)
- rule: prefer-inline-decorator not reporting failures for some cases (#794) (a76ebbc)
- update peerDependencies (d5bfbd5)
- improve ngWalker by preventing an error when a class has no name (#788) (17c0fe2)
Features
- rule: add component-change-detection (#737) (a23ccde), closes #135
- rule: add relative-url-prefix (#725) (f12f27b)
- rule: add template-accessibility-alt-text (#741) (0815ec5)
- rule: add template-accessibility-elements-content (#742) (6ff8c56)
- rule: add template-accessibility-label-for (#739) (76c24fa)
- rule: add template-accessibility-tabindex-no-positive (#744) (43902f7)
- rule: add template-accessibility-table-scope (#743) (2832615)
- rule: add template-accessibility-valid-aria (#746) (762f67f)
- rule: add template-click-events-have-key-events (#761) (b0b330f)
- rule: add template-mouse-events-have-key-events (#759) (3a7b15d)
- rule: add template-no-autofocus (#749) (799382f)
- rule: add template-no-distracting-elements (#760) (6b21a9e)
- rule: add template-no-any (#755) (77a5e32)
- rule: prefer-inline-decorator now accept options (#794) (a76ebbc)
- add support for svg templates (#800) (dadf8ec)
5.0.0-beta.2 (2019-03-25)
Bug Fixes
- rule: NgModule not being handled for contextual-lifecycle and contextual-decorators (#790) (cedfa2e)
5.0.0-beta.1 (2019-03-14)
Bug Fixes
- update peerDependencies (d5bfbd5)
5.0.0-beta.0 (2019-03-12)
This release contains many breaking changes due to the rename of several rules (see more at (bbf7a32)). Currently, there's an open PR (https://github.com/angular/angular-cli/pull/13801) that will help migrate your app if you are affected by these changes.
BREAKING CHANGES
contextual-life-cycleis renamed tocontextual-lifecycleno-conflicting-life-cycle-hooksis renamed tono-conflicting-lifecycleno-life-cycle-callis renamed tono-lifecycle-calluse-life-cycle-interfaceis renamed touse-lifecycle-interfacedecorator-not-allowedis renamed tocontextual-decoratorenforce-component-selectoris renamed touse-component-selectorno-output-named-after-standard-eventis renamed tono-output-nativeuse-host-property-decoratoris renamed tono-host-metadata-propertyuse-input-property-decoratoris renamed tono-inputs-metadata-propertyuse-output-property-decoratoris renamed tono-outputs-metadata-propertyno-queries-parameteris renamed tono-queries-metadata-propertypipe-impureis renamed tono-pipe-impureuse-view-encapsulationis renamed touse-component-view-encapsulationi18nis renamed totemplate-i18nbanana-in-boxis renamed totemplate-banana-in-boxno-template-call-expressionis renamed totemplate-no-call-expressiontemplates-no-negated-asyncis renamed totemplate-no-negated-asynctrackBy-functionis renamed totemplate-use-track-by-functionno-attribute-parameter-decoratoris renamed tono-attribute-decoratormax-inline-declarationsis renamed tocomponent-max-inline-declarations
Bug Fixes
- rule: template-use-track-by-function not reporting failures involving multiple *ngFor directives (#721) (9269be6), closes #718
- rule: template-no-call-expression should allow $any usages (#735) (a75c204)
- rule: no-input-rename reporting some failures incorrectly (#723) (f692dcb)
- rule: prefer-inline-decorator should not set a max number of options (#787) (31b2b6a)
- improve ngWalker by preventing an error when a class has no name (#787) (17c0fe2)
Features
- rule: add component-change-detection (#737) (a23ccde), closes #135
- rule: add relative-url-prefix (#725) (f12f27b)
- rule: add template-accessibility-alt-text (#741) (0815ec5)
- rule: add template-accessibility-elements-content (#742) (6ff8c56)
- rule: add template-accessibility-label-for (#739) (76c24fa)
- rule: add template-accessibility-tabindex-no-positive (#744) (43902f7)
- rule: add template-accessibility-table-scope (#743) (2832615)
- rule: add template-accessibility-valid-aria (#746) (762f67f)
- rule: add template-click-events-have-key-events (#761) (b0b330f)
- rule: add template-mouse-events-have-key-events (#759) (3a7b15d)
- rule: add template-no-autofocus (#749) (799382f)
- rule: add template-no-distracting-elements (#760) (6b21a9e)
- rule: add template-no-any (#755) (77a5e32)
4.5.0 (2018-10-04)
Bug Fixes
- assertFailure should not catch the exception thrown by assert (#703) (#704) (0bac287)
- rule: no-unused-css leaving blank lines after applying fixes (#701) (c69e2ae)
Features
4.4.4 (2018-08-13)
Bug Fixes
4.4.3 (2018-08-06)
Bug Fixes
- url not passed to transformStyle when using styleUrls (#686) (5a84041)
- templates-no-negated-async: not reporting failures for some cases (#694) (2ffe2ea)
4.4.2 (2018-06-25)
Bug Fixes
4.4.1 (2018-06-23)
Bug Fixes
4.4.0 (2018-06-23)
Bug Fixes
- no-input-prefix: exact strings not being reported (#597) (1ed8d8c)
- no-input-rename: aria attributes not being allowed to be renamed (#665) (2c905ab), closes #663
- no-input-rename: fix bugs (#585) (75f9de6), closes #580
- no-template-call-expression: not being exported (#582) (ad57552), closes #577
- no-life-cycle-call: fix bugs (#575) (4415cc2), closes #573
- no-input-prefix: not being able to check for multiple concurrent prefixes (#590) (43d415a), closes #589
- no-output-rename: not being reported for some cases (#614) (5e34f41), closes #613
- template-conditional-complexity: not reporting failures for '[ngIf]' (#611) (7fc3b09), closes #607
- template-cyclomatic-complexity: not reporting failures for '[ngForOf]' and '[ngIf]' (#612) (fedd331), closes #609
- trackBy-function: not reporting failures for '[ngForOf]' (#610) (af52912), closes #608
- some rules not considering options correctly (#617) (bce0026)
Features
- import-destructuring-spacing: add fixer (#595) (2acc27b)
- max-inline-declarations: add option to limit animations lines (#569) (25f3e16), closes #568
- rule: add no-queries-parameter rule (#571) (e9f4d23)
- rule: add prefer-inline-decorator rule (#586) (5d5e21d), closes #549
- build scripts are not cross-platform #581 204c8ef, closes #454
- upgrade TypeScript dependency to 2.7.2 #584 d4bf62d, closes #583
- turn on strict TS compilation mode (#631) (da0f553), closes #629
- externalizing template, css visitor abstractions and NgWalker (#658) (b79ea58)
Credits to the codelyzer's maintainers and contributors.
4.3.0
New Rules
max-inline-declarationswhich limits the size of inline templates and/or styles. Credits to NagRock #536 174ed46.prefer-output-readonlyrequires the@Outputs of a component to bereadonly. Credits to rafaelss95 #515 3d652d1.no-conflicting-life-cycle-hooksprevents to implement OnChanges and DoCheck on the same class. Credits to rafaelss95 #560 e521115.enforce-component-selectorComponent Selector Required #551 b9c899b. Credits to wKoza.no-life-cycle-calldisallow explicit calls to lifecycle hooks. Credits to rafaelss95 #427 3e10013
Bug Fixes
- Possible bug with no-input-rename #374 f3a53bd.
- Removed dependency on
@angular/platform-browser-dynamic#525 671e954. - Rule
contextual-life-cycletoo aggressively scoped #545 dcb4b3e. no-output-named-after-standard-eventDoes Not Check Output Rename #537 96d9292.- Template Conditional Complexity reports incorrect threshold #533 5851306.
A lot of credits go to rafaelss95, wKoza. The rest of the amazing people who work on codelyzer, can be found here.
4.2.1
Bug Fixes
- Improved
peerDependenciesrange.
4.2.0
New Rules
template-cyclomatic-complexitywhich limits the estimated Cyclomatic complexity in your templates. Credits to wKoza.template-conditional-complexitywhich limits the complexity of boolean expressions inside of your templates. Credits to wKoza.
Features
- Support for Angular version 6 #524 50fa2d6
- Cyclomatic complexity rule
template-cyclomatic-complexity#514 3221330 - Limiting template condition complexity (rule
template-conditional-complexity) #508 bb86295 - Complete Rules Status section in README and complete Rules Page #501 1fe9d22
Bug Fixes
- "extends": ["codelyzer"] is broken #505 7b76dfa
- Message for 'use-host-property-decorator' includes invalid link to Angular style docs #510 5fc77c9
4.1.0
Features
- Feature request: no output named after a standard DOM event #473 ae3f07b
- Support for Angular Compiler 5.2 #496 6a6b3de
Bug Fixes
- i18n check-text edge cases #442 4c1c8d4
- Codelyzer hanging for "styles" attribute in Angular component #446 a31c6d2 and 9c90ac3
- no-output-on-prefix incorrectly throws error if output property name starts with "one" #480 9b844cc
Thanks to @gbilodeau for NoOutputNamedAfterStandardEventRule and wKoza for the code reviews!
4.0.2
Bug Fixes
- Two issues in
angular-whitespacerelated tocheck-semicolonandcheck-interpolation#469 2ef7438 - Check multiple semicolons inside the directive expressions #472 e6036d2
Thanks to @sagittarius-rev for the bug fixes!
4.0.1
Bug Fixes
- Fix
noOutputOnPrefixRuleand rename it tono-output-on-prefix. You can now enable it with:
"no-output-on-prefix": true
- Fix broken tests for
noOutputOnPrefixRule.
4.0.0
Features
- Support for Angular version 5 #409 0217e2d
- Rule for checking the name events without the prefix on https://angular.io/guide/styleguide#dont-prefix-output-properties #449 8f2b4e7.
Enable the new rule by adding the following line in your tslint.json config file:
"no-output-on-prefix-name": true
Thanks to @eromano for the rule implementation!
Breaking Changes
- The rules
templates-use-public,no-access-missing-member,invoke-injectableandtemplate-to-ng-templateno longer exist. Remove them from yourtslint.jsonconfiguration.
3.2.1
Features
Bug Fixes
3.2.0
Features
- i18n best practices #377 5ef90aa
- Add a rule which verifies the use of the life cycle methods according to the type of class (Component, Directive, Service,...) #363 6b042f7
- Friendlier checking of validator directive names #397 28ecbdd
Bug Fixes
- Error on validating a pipe with
@Pipedecorator where we use a shorthand syntax for passing properties #399 8e3fafb - Broken
check-pipeoption ofangular-whitespace#365 bef790b - Some rules report false positives #379 8719674 4721aca bef790b
Thanks to @wKoza for working on the introduced features, bug fixes and code reviews!
3.1.2
Features
Thanks to @wKoza for code reviews and implementation of "check-semicolon".
angular-whitespace: [true, "check-semicolon", "check-interpolation", "check-pipe"] - Checks if there's whitespace after semicolon, around an expression surrounded by interpolation characters, and after a pipe symbol.
Bug Fixes
- Auto fix for check-interpolation part of angularWhitespace is broken #345 0be8563
- check-pipe should ignore i18n meaning and description | separator #359 5aad7f3
- check-pipe breaks with ngFor #346 fa08a3b
3.1.1
Bug Fixes
- Incorrect rule name in documentation #344 6656b81
- Proper displacement in the reports for non-TypeScript files #343 c503510
3.1.0
New rules
angular-whitespace: [true, "check-interpolation", "check-pipe"]- Checks if there's whitespace around an expression surrounded by interpolation characters, and after a pipe symbol.banana-in-box: true- Checks for proper banana in a box syntax -[(ngModel)]instead of([ngModel]).templates-no-negated-async: true- Enforces(foo | async) === false, rather than!(foo | async), because of the initial falsy value emitted.use-view-encapsulation: true- Enforces enabled view encapsulation.
Special thanks to @wKoza, @GregOnNet and @connor4312 for their contributions.
Features
- Align to the template parser API of Angular compiler 4.1.0 #301 0fcdcd1
- Align to the changes in the template parser API 4.1.3 #319 b608296
- Rule for enforcing
ViewEncapsulation#300 509c8d9. Big thanks to @GregOnNet. - Add a no-negated-async rule #332 0f0924d. Big thanks to @connor4312.
- Enforce proper banana in a box syntax #331 f95b2d5
- Ensure whitespace around interpolation #320 335776f
Bug Fixes
- Template micro-syntax closure and 'bind only to public class members' #220 61f9fe9
- Report warnings when bound to private iterable in
*ngFor#306 36705fc - 'templates-use-public' throws error when attempting to access a property of a property with the [] syntax #315 6323d2c
- no-access-missing-member doesn't work with external HTML #311 b608296
- rules name in documentation aren't consistent #325 7a67607. Big thanks to @wKoza.
- Our links to angular.io are broken #333 5a532b4. Big thanks to @wKoza.
- Report errors twice #336 44a9306
3.0.1
Bug Fixes
3.0.0
Major release required because of the breaking changes introduced by tslint@5. The ngast support will be pushed to codelyzer@4.
Features
- Support for tslint@5 #281 01bffd5 49b1e80
- Allow more than one selector kind of directives & components #290 4fa35f6
"directive-selector": [true, ["attribute", "element"], "sg", "camelCase"], "component-selector": [true, ["element", "attribute"], "sg", "kebab-case"], - Specs for the support of
assyntax in expressions #289 a7500cb
Refactoring
- Rename
ng2WalkertongWalker01bffd5 - Refactor selector-related rules to depend on less mutable state 4fa35f6
2.1.1
Bug Fixes
2.1.0
Features
- Automatic removal of dead styles (experimental) #244 30f2667
- Warning for the deprecated
<template>element #280 0d0e81c - Rise a warning if given class implements PipeTransform but is not decorated with @Pipe #104 638e72f
Bug Fixes
- no-unused-css ignores elements with structural directives #249 0aff6b7
- Improve position to line & character and line & character to position #245 30f2667
3.0.0-beta.4
Features
3.0.0-beta.3
Bug Fixes
3.0.0-beta.2
Bug Fixes
3.0.0-beta.1
Features
Bug Fixes
- Access to inline template objects results in "no-access-missing-member" rule being triggerred #231 d10e980
- no-access-missing-member and async pipe #190 de13ceb
3.0.0-beta.0
Breaking Changes
- Remove
importDestructuringSpacing. Can be enforced with the tslint's rulewhitespace. no-access-missing-member,use-life-cycle-interfaceandtemplate-use-publicrequire type checking which means that tslint should be run with the corresponding options
The rules should now be run as follows:
$ tslint --type-check --project src/client/tsconfig.json
Features
no-access-missing-membersupport for inheritance #191 2901718use-life-cycle-interfacesupport for inheritance #64 d0d7138template-use-publicsupport for inheritance #240 2e285e2
2.0.1
Features
- Improve testing #235 77ef89e
- Log template parsing errors on log-level debug #227 19fdabf
- Better error messages for
template-use-public#229 0b7e459 - Support for Angular 4.0.0-beta.8 #241 98639a9
Bug Fixes
- Fix semantic error when declaration's generation is enabled #221 c694405
- Inconsistent links to the style guide sections #233 c9e87f6
2.0.0
Bug Fixes
- The rule for binding to publich members breaks for readonly properties #206 cc3ed9a
- Add checks for ngIf and ngSwitch #193 0118b56
- Support for tslint@^4.3.1 (4.3.0 was broken) 3e7edfa
- Support for Angular 4 #214 4d79933
Refactoring
- Refactoring
readTemplateandreadStyleto useMaybe<T>373b152
2.0.0-beta.4
Features
- Allow multiple suffixes for better compatibility with Ionic #194 08fdaf0
- Add declarations of frequiently used directive declarations #199 36f5cb4
- Support for Angular 2.4.x #201 ad81f2d
- Support for tslint@^4.1.0 #204 13b722e
Bug Fixes
2.0.0-beta.3
Bug Fixes
2.0.0-beta.2
Features
- Ionic 2 Support #132 a019e3f
- Support for TypeScript 2.2.x #149 d5f117e
- Support for Angular 2.3.0 #182 20ce61a
Bug Fixes
- False positive with TypeScript 2.1.4 #184 d5f117e
- Certain Codelyzer Rules hang linting #181 d5f117e
- Do not process non-css & non-html files by default #186 d5f117e
- Handle properly
KeyedReads andKeyadWrites #185 20ce61a - False positive of
no-access-missing-member#179 20ce61a - Atom fatal error from app-root-path #177 5b26419
2.0.0-beta.1
Breaking Changes
-
The rules
directive-selector-name,component-selector-name,directive-selector-type,component-selector-type,component-selector-prefix,directive-selector-prefixno longer exist. Instead use:// The rule have the following arguments: // [ENABLED, "attribute" | "element", "selectorPrefix" | ["listOfPrefixes"], "camelCase" | "kebab-case"] "directive-selector": [true, "attribute", "sg", "camelCase"], "component-selector": [true, "element", "sg", "kebab-case"],
Features
- External template support via command line interface. Note that the VSCode tslint plugin cannot report warnings in CSS and HTML files yet #94 67d5a07
- Support for custom hooks for transpilation of languages which transpile to HTML, CSS #164 1ca7068
- Source map support. You can have pug templates and get error reporting in the correct position if inside of the hook you return not only the transpiled version of the template but also the source map 1ca7068
- Optional configuration file
.codelyzer.jswhich should be located in the root of your project (the directory wherenode_modulesis) 1ca7068 - Support for tslint ^4.0.0 #157 8c5dbf6
- Improve
no-unused-css0a9d9014
Bug Fixes
- Do not throw error when validating
@Pipes without metadata #111 eb6ccc0d - Use proper syntax types for TypeScript 2.1.x #145 d49cc26
- More consistent naming for selector-related rules #79 3373dff
- Support for templateRefs #151 52ba382
- Support for properties declared inline into the constructor #153 23fe633
- Report missing styles in the correct position #166 e9575fb
- Proper selector prefix matching #103 7285121
- Selectors compatible with the spec #15 3373dffe
1.0.0-beta.4
Bug Fixes
1.0.0-beta.3
Features
- Introduce support for unused CSS styles in components.
Bug Fixes
- Migrate to API changes introduced by Angular 2.1.1 #128 787ff3b.
- Do not consider
$eventas non-declared variable #129 8751184. - Consider template variables such as
let foo of bars#123 cbd86e1. - Consider getters and setters when listing all the declared in controller symbols #118 6060ce0.
1.0.0-beta.2
Bug Fixes
- Migrate to the compiler API changes introduced by Angular 2.1.
1.0.0-beta.1
Features
Bug Fixes
- Do not process webpack dynamically injected templates #106 ff2dc85.
- Do not process
@Componentdecorators which are not invoked as expressions #110 5ee2422 - Preserve the original interpolation expression #99 5ee2422.
- Consider both property access and method invocation when deciding if property is used or not #97 da15305.
- Migrate to the changes introduced by Angular 2.0.2 #107 06483ce.
1.0.0-beta.0
Features
- Linting over inline templates #90 4347d09.
- Use
Injectable()instead ofInjectable#70 c84df93. - Show warning when binding to non-public class members #87 c849808.
- Support for TypeScript 2.1.0 #72 a002661.
Bug Fixes
- On non-implemented life-cycle hook/
PipeTransforminterface, mark only the corresponding method #89 a9104b2. - Do not throw error when interface is implemented but under a namespace #91 a9104b2.
Refactoring
- Migrate from typings to
@typesf9cc498.