npms-io / npms-analyzer

The analyzer behind https://npms.io
MIT License
317 stars 38 forks source link

Stale Packages #231

Open PirateRobert opened 5 years ago

PirateRobert commented 5 years ago

Heyo,

I keep running into very old packages that have very high scores, particularly in maintenance. For example, I recently looked for a Shipwire library. The top result was a library that hasn't been published or committed to in over 2 years but has kept a 100% maintenance rating (API call gives 0.9 to all four maintenance scores). The only way I can see this happening is if stale packages are not being enqueued properly. Any insight into how the Stale observer works and what it's missing (or what I'm missing) would be greatly appreciated.

satazor commented 5 years ago

A stale library shouldn’t be getting a low score just because there are not recent commits or have been recently publish.

There is a state were a package is considered “finished”: it has near 0 issues, is stable (>=1.00) and many other criterias. Please search the source code for “final” and you should find it (I’m on the phone).

The current algorithm might be a bit naive but there were a lot of complains about stable and final small libraries getting punished for not having updates. This shouldn’t be the case, and the “finalized” check solved that.

Moreover, you can request the package details by clicking in the “view analysis info” in each result and check the “analyzedAt” field which will give you the latest date in which packages were analyzed.

PirateRobert commented 5 years ago

Thanks for clarifying. It does seem problematic in some cases (i.e. wrappers no longer keep up with the API they're wrapping, making them significantly less useful) but since the conversation's already been had I'm happy to close the issue.