Is there any project that is capable of analyzing a web app's package.json and bower.json files, in order to provide

  • recommendations,
  • alternatives,
  • best practice tips,
  • pros/cons, and
  • report?

It's quite cumbersome to keep up with the changing landscape of frameworks and projects; what's hot and what's not, abandoned/dead projects and what are considered, by the community at large to be best practices. A software solution that provides these recommendations would be ideal.

Playing the software equivalent of "keeping up with the Joneses," isn't a game I'm remotely interested in playing; and choosing a technology because it's being used by a bunch of sheep doesn't seem like a prudent/efficient approach to choosing on frameworks/modules/dependencies. It'd be nice to run said software against an already existing application and analyze based on the vectors listed above in the most objective manner possible.


I don't think there are tools that can recommend alternatives and best practice tips for a few reasons:

  • Every package published on npm doesn't have an alternative.
  • Every package would have to have a way index some alternatives (which is kind of working against yourself, you're advertising your competition), or the package would have to keep a huge listing of tons of alternatives.
  • Best practice tips are sometimes opinion-based.
  • You can find best practices for packages in their own documentation (I would hope they document it with its best usage).

There are tools, however, that can analyze your package.json for various different reasons, and then do things with what it finds:

For instance:

  • npm-check: Check for outdated, incorrect, and unused dependencies.
  • npm-check-updates: Find newer versions of dependencies than what your package.json or bower.json allows
  • license-checker: Check license info for a package and it's dependencies.
  • updatr: Update outdated npm modules with zero pain™
  • ur: Analyze a node project for packages that are required but not included in the package.json, or in package.json but not required.
  • npm view: Get a package's information.
  • package-info: Get the information of a npm package
  • bower-installer: Tool for installing bower dependencies that won't include entire repos
  • ember-cli: The command line interface for ambitious web applications.

And probably many many more.

  • man (or woman). this is great! thanks a ton. this answer should suffice. – culturalanomoly Jan 3 '16 at 19:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.