Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

100% compatible tslint checks #5598

Closed
Jicmou opened this issue Apr 20, 2018 · 0 comments · Fixed by #5603 or #5604
Closed

100% compatible tslint checks #5598

Jicmou opened this issue Apr 20, 2018 · 0 comments · Fixed by #5603 or #5604
Assignees
Labels
Type: Enhancement Issue contains an enhancement related to a specific component. Additional functionality has been add
Milestone

Comments

@Jicmou
Copy link

Jicmou commented Apr 20, 2018

If you have a PrimeNG PRO Support subscription please post your issue at;

https://pro.primefaces.org

where our team will respond within 4 business hours.

If you do not have a PrimeNG PRO Support subscription, fill-in the report below. Please note that
your issue will be added to the waiting list of community issues and will be reviewed on a first-come first-serve basis, as a result, the support team is unable to guarantee a specific schedule on when it will be reviewed. Thank you for your understanding.

I'm submitting a ... (check one with "x")

[X] bug report => Search github for a similar issue or PR before submitting
[ ] feature request => Please check if request is not on the roadmap already https://github.com/primefaces/primeng/wiki/Roadmap
[ ] support request => Please do not submit support request here, instead see http://forum.primefaces.org/viewforum.php?f=35

Plunkr Case (Bug Reports)

No need for a Plunkr to reproduce. Just a terminal.

Current behavior

while in Project directory, run in terminal:

node_modules/.bin/tslint --project tslint.json | wc -l

Could not find implementations for the following rules specified in the configuration:
    no-access-missing-member
    templates-use-public
    invoke-injectable
Try upgrading TSLint and/or ensuring that you have all necessary custom rules installed.
If TSLint was recently upgraded, you may have old rules configured which need to be cleaned up.
        
   13536

Which means: "Return the number of lines of the output of tslint"

Expected behavior

  1. tslint should return 0 error from master.
  2. tslint should be part of CI workflow, so no single PR is able to merge if carrying tslint errors.

Indeed, there's no point having a tslint.json file in the project, if we're not using it.

What is the motivation / use case for changing the behavior?

Several actions can be taken to fix this issue.

  1. Some tslint rules need to be adapted to the develepment practices: (e.g: "component-selector", "no-inferrable-types", ...)
  2. Some rules need to stay and the code must be cleaned up.
  3. tslint must be a step in the travis build, so that if any error is present in the PR, the build fails, forcing the developer to fix the error, in order to see his PR merged.

I am ready to open a couple of PR related to this topic, if that's a step the maintainers of this repo are willing to take ;)

Please tell us about your environment:

tslint@5.7.0
IDE: vscode
package manager: npm
OS: macOS 10.13.4

  • Angular version: 5.X

Angular agnostic, as this issue concerns this repo only

  • PrimeNG version: 5.X

6.0.0-SNAPSHOT. Last commit: 10325e1

  • Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

No Browser needed.

  • Language: [all | TypeScript X.X | ES6/7 | ES5]

Typescript 2.4.2

  • Node (for AoT issues): node --version =
@cagataycivici cagataycivici added this to the 6.0 milestone Apr 25, 2018
@cagataycivici cagataycivici changed the title tslint returns 13536 errors for the whole repository 100% compatible tslint checks Apr 25, 2018
@cagataycivici cagataycivici self-assigned this Apr 25, 2018
@cagataycivici cagataycivici added the Type: Enhancement Issue contains an enhancement related to a specific component. Additional functionality has been add label Apr 25, 2018
cagataycivici added a commit that referenced this issue Apr 25, 2018
…operties

[Fix #5598] ignore no-inferrable-types rule on class properties.
cagataycivici added a commit that referenced this issue Apr 25, 2018
@cagataycivici cagataycivici removed this from the 6.0.0-alpha.1 milestone May 18, 2018
ldauvilaire added a commit to ldauvilaire/primeng that referenced this issue Jun 16, 2018
* Fixed primefaces#5577

* Fixed primefaces#5168

* Fixed  primefaces#5270

* Fixed primefaces#5184

* Fixed primefaces#5200

* Fixed primefaces#5274

* Fixed invalid closing tags in table docs example

* Fixed primefaces#5250

* Fixed primefaces#5121

* Refactor on ScrollPanel demo

Fixed primefaces#5532

* Fixed primefaces#5124

* Fixed primefaces#5196

* Fixed primefaces#5207

* Fixed primefaces#5174

* Fixed primefaces#5282

* Fixed primefaces#5211

* Docs for multiselect change detection

* Fixed primefaces#5218

* Fixed primefaces#5169

* Fixed primefaces#5167

* Fixed primefaces#5144

* Fixed #primefaces#5158

* Fixed primefaces#5148

* Fixed primefaces#5123

* set class ui-state-disabled when component is disabled

* Fixed primefaces#5131

* [Fix primefaces#5598] Disable component-class-suffix rule.

As Component suffix is never used in component classes in the whole project,
we expect this rule disabled in tslint.

* [Fix primefaces#5598] ignore no-inferrable-types rule on class properties.

As all class properties are typed, even the obvious ones
(e.g: inline: boolean = false;)
And those can be considered as documentation for an open-source project,
Then we should ignore this rule on class components.

* fix trailing comma

* Fixed primefaces#5159

* Replaced plunkr with stackblitz

* Fixed primefaces#5102

* Fixed primefaces#5193

* Fixed primefaces#5469

* Fixed primefaces#5632

* Refactor primefaces#5549

* Fixed primefaces#5633

* Version update

* Fix demo

* Fixed primefaces#5634

* Fixed primefaces#5503

* Fixed demo source display

* Add doc for hideDelay

* Use setTimeout within runOutsideAngular

* Fixed primefaces#5499

* Fixed primefaces#5637

* Set version

* AOT fixes

* New iteration

* Version at footer

* Fixed primefaces#5656

* Demo fix

* Fix table component only applying the last filter before timeout (primefaces#5660)

* Fixed primefaces#5664

* Update text

* Update text

* Delete ng-conf2018 section

* Fixed primefaces#5672

* Fixed primefaces#5673

* Add ui-multiselect-open class to ui-multiselect and typo fix for multiselect documentation

* Fixed 5687

* Fixed primefaces#5693

* Fixed primefaces#5697

* Fixed primefaces#5699

* Fixed primefaces#5702

* Add style classes for icons

* Set version

* Fix AOT issue

* New version

* Fixed quote

* Add Harmony

* Doc update

* Fixed primefaces#5731

* Fixed primefaces#5705

* Names for icons

* Fixed primefaces#4409

* Add designer to homepage

* Firefox button fix

* Fixed primefaces#5664

* Fixed primefaces#5729

* Fixed primefaces#5744

* Set version

* Change the position of }

* Fixed #primefaces#5758

* Polyfill update

* Demo cosmetics to add margins since Angular 6 has preserveWhiteSpace as false by default now

* Ignore angular.json

* Set version

* New dev iteration

* Version

* Change logo

* Change favicon

* Change logo

* Fix URL

* Syntax Error

Interface syntax Error double curly braces {{ }}

* Fixed primefaces#5772

* Initiated new TreeTable

* Placeholders for new TreeTable demos

* Color for toggler

* update progress spinner link

* Pagination and Sections for new TreeTable

* Single and Multi sort for new TreeTable

* Update state on node toggle

* Lazy loading TreeTable

* Refactor sort demo

* Loading icon for Lazy TreeTable

* Lazy children loading demo for new TreeTable

* Column grouping for new TreeTable

* Demo code refactor

* Added colgroup template support

* Responsive demo for new TreeTable

* Initiated scrollable for new TreeTable

* Remove comma

* Demo update for colgroup

* More data for TreeTable demo

* Implemented scrolling for new TreeTable

* Remove typo

* Row and Cell based styling for new TreeTable

* Cosmetics

* Implemented resizable columns for new TreeTable

* Fixed primefaces#5804

* Column reordering for new TreeTable

* Remove "new" badges from the older components

* Cosmetics

* Toggleable columns for new TreeTable

* Selection for new TreeTable

* Source code for selection demo

* Name refactor for TreeTable directives

* ContextMenu integration for new TreeTable

* Implemented checkbox selection for the new TreeTable

* Doc update

* Header checkbox support for new TreeTable to toggle all nodes

* Incell editing for new TreeTable

* Started documentation for new TreeTable

* Documentation fixes

* Documentation update for TreeTable

* Documentation for new TreeTable

* Fixed typos

* Fixed primefaces#5446

* Fixed primefaces#5706

* Remove unused section

* Fixed primefaces#5657

* Fixed primefaces#5618

* Cosmetics for Demo

* Set version

* New iteration

* Initiated PrimeIcons for PrimeNG

* Fixed primefaces#3746

* Use PrimeIcons for the remaining components

* Updated demos to use PrimeIcons

* Cosmetic changes due to new PrimeIcons

* Bigger loader icon

* Doc update

* Issue template update

* Fixed primefaces#5853

* Fixed primefaces#5854

* Fixed primefaces#5829

* Chart doc typos. Fix for set sizing in responsive mode.

* Made width also work in responsive mode, then forgot to update docs.

* Fixes the turbo table scrollbar overlapping the paginator.

* accessibility(accordion): correctly using of role attribute

* ChartJS generateLegend need to return the HTML string.

* Documentation for PrimeIcons

* Demo fixes

* Fixed primefaces#5751

* Fixed icons

* Convert NodeList to array

* Fixed primefaces#5847

* Add ecuador

* Update version at footer

* Doc update

* Set version

* New dev version

* Fixed primefaces#5867

* Fixed primefaces#5211

* Readme update

* Showcase split button fix

* Fixed primefaces#5882

* PrimeIcons fix

* Remove deprecated components from demo menu

* PrimeIcons fix

* Remove unused property

* Fixed primefaces#5387

* Fixed primefaces#5368

* Fixed primefaces#5359

* Fixed primefaces#5329

* Fixed icon name

* Fixed primefaces#5891

* Fixed primefaces#4124 - Maximizable Dialog

* Block scroll

* Update to new PrimeIcons

* Cosmetics

* Fixed primefaces#5893

* Doc update

* Fixed primefaces#5348

* Refactor

* Animation for dialog maximize

* Demo update

* Version at footer

* Remove deprecated lazy prop from tabview

* Set version

* New version
@mertsincan mertsincan added this to the 5.2.5 milestone Oct 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement Issue contains an enhancement related to a specific component. Additional functionality has been add
Projects
None yet
3 participants