codelyzer

Static analysis for Angular projects.

MIT License

Downloads
2.7M
Stars
2.4K
Committers
65

Bot releases are visible (Hide)

codelyzer -

Published by mgechev about 7 years ago

Features

Bug Fixes

codelyzer - 3.2.0

Published by mgechev about 7 years ago

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 @Pipe decorator where we use a shorthand syntax for passing properties #399 8e3fafb
  • Broken check-pipe option of angular-whitespace #365 bef790b
  • Some rules report false positives #379 8719674 4721aca bef790b

Thanks to @wKoza for working on the introduced features, bugfixes and code reviews!

codelyzer -

Published by mgechev over 7 years ago

Features

  • Ensure whitespaces after semicolon in structural dir #330 25667f9

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
codelyzer -

Published by mgechev over 7 years ago

Bug Fixes

  • Incorrect rule name in documentation #344 6656b81
  • Proper displacement in the reports for non-TypeScript files #343 c503510
codelyzer - 3.1.0

Published by mgechev over 7 years ago

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
codelyzer - 3.0.1

Published by mgechev over 7 years ago

codelyzer - 3.0.0

Published by mgechev over 7 years ago

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 as syntax in expressions #289 a7500cb

Refactoring

  • Rename ng2Walker to ngWalker 01bffd5
  • Refactor selector-related rules to depend on less mutable state 4fa35f6
codelyzer - 2.1.1

Published by mgechev over 7 years ago

Bug Fixes

  • Breaking change in the TypeScript AST regarding importDestructuringSpacingRule #282 eebf10a
codelyzer - 2.1.0

Published by mgechev over 7 years ago

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
codelyzer - 3.0.0-beta.3

Published by mgechev over 7 years ago

Bug Fixes

  • Update peerDependency ngast to version ^0.0.6 #257 30e921a.
codelyzer - 3.0.0-beta.2

Published by mgechev over 7 years ago

Bug Fixes

  • Update peerDependency ngast to version ^0.0.4 #257 30e921a.
codelyzer - 3.0.0-beta.1

Published by mgechev over 7 years ago

Features

  • Deep metadata collection with ngast ✨ 🎆 ✨ #217 de13ceb
  • Built-in support for template references.

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
codelyzer - 3.0.0-beta.0

Published by mgechev over 7 years ago

Breaking Changes

  • Remove importDestructuringSpacing.
  • no-access-missing-member, use-life-cycle-interface and template-use-public require 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-member support for inheritance #191 2901718
  • use-life-cycle-interface support for inheritance #64 d0d7138
  • template-use-public support for inheritance #240 2e285e2
codelyzer - 2.0.1

Published by mgechev over 7 years ago

Features

Bug Fixes

  • Fix semantic error when declaration's generation is enabled #221 c694405
  • Inconsistent links to the style guide sections #233 c9e87f6
codelyzer - 2.0.0

Published by mgechev over 7 years ago

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 readTemplate and readStyle to use Maybe<T> 373b152
codelyzer - 2.0.0-beta.2

Published by mgechev almost 8 years ago

Features

Bug Fixes

codelyzer - 2.0.0-beta.1

Published by mgechev almost 8 years ago

Breaking Changes

  • The rules directive-selector-name, component-selector-name, directive-selector-type, component-selector-type, component-selector-prefix, directive-selector-prefix no 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.js which should be located in the root of your project (the directory where node_modules is) 1ca7068
  • Support for tslint ^4.0.0 #157 8c5dbf6
  • Improve no-unused-css 0a9d9014

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
codelyzer -

Published by mgechev almost 8 years ago

Bug Fixes

  • Migrate to the compiler API changes introduced by Angular 2.2.