How to find search/find npm packages
node.jsNpmnode.js Problem Overview
What ways are there to find npm packages?
Below is community maintained listing compiled from the answers below.
npm Specific
- In console,
npm search <keyword>
- https://www.npmjs.org/
- http://node-modules.com/ via https://stackoverflow.com/a/13593402
- https://openbase.com/ via https://stackoverflow.com/a/66827908/2752520
Generic
Dead
- http://browsenpm.org/ via https://stackoverflow.com/a/24338500
- https://github.com/joyent/node/wiki/modules
- http://toolbox.no.de/ aka http://nodetoolbox.com/
- http://packagefinder1-enome.dotcloud.com/
- http://eirikb.github.com/nipster/ via https://stackoverflow.com/a/10571033
- https://nodejsmodules.org/ via https://stackoverflow.com/a/17821476
- http://npmsearch.com/ via https://stackoverflow.com/a/34471018
node.js Solutions
Solution 1 - node.js
npm search
works pretty well:
npm search connect
npm view
will show you the timestamp of each version and everthing else from package.json
(including node version)
npm view connect
Solution 2 - node.js
There's nipster too, based on npm + github rating.
Solution 3 - node.js
Libraries.io is great for searching and filtering through NPM modules, you can also filter by license and keyword: <https://libraries.io/search?platforms=NPM>
Solution 4 - node.js
For me the best site for this purpose is Openbase:
By VERY far. It's stats and features are, AFAIK, unmatched by any other site.
Solution 5 - node.js
npmsearch sorts the results by a combination of relevance and downloads. The command line version can be installed from npm:
[sudo] npm install -g npmsearch
disclamer: I am the author of npmsearch
node-modules allows you to personalize your results according to the modules that you have starred/followed on github
Solution 6 - node.js
https://npms.io is really nice, provides quality and maintenance stats too
Solution 7 - node.js
For a fast method available in your console, type:
npm search keyword
< Keyword > searches Title, Description, Author and Keywords of all packages.
Solution 8 - node.js
Here's another one: https://npmaddict.com/
Not a search but daily list of New packages with at least 5 GitHub stars
Solution 9 - node.js
https://github.com/Enome/node-package-finder (Latest commit 26ff789 on 4 May 2012, should count as dead)
Solution 10 - node.js
https://nodejsmodules.org/ is one that lets you search, as well as browse by popularity
Solution 11 - node.js
I personally use npmsearch.com
I'm not sure how it works internally but it usually gives the best results.
Solution 12 - node.js
Just in case anyone comes across this question, I also created a tool to help people discover what npm packages other people are using:
Solution 13 - node.js
It's sad but npm search
won't work for me on node version 6+.
A quick workaround is by doing a curl from the command line:
curl --fail -O https://www.npmjs.com/package/q-promise 2>&1 | grep '404'
If this command returns nothing then the module exist if it does return a 404 the name is available for you to use.
Solution 14 - node.js
According to the NPMS (NPM Search) docs on how to perform a search query, you can use the following operators in the npmjs.com search bar:
Search Syntax | Description |
---|---|
scope:types |
Show/filter results that belong to the @types scope |
author:sindresorhus |
Show/filter results in which sindresorhus is the author |
maintainer:sindresorhus |
Show/filter results in which sindresorhus is qualifier as a maintainer |
keywords:gulpplugin |
Show/filter results that have gulpplugin in the keywords (separate multiple keywords with commas, you may also exclude keywords e.g. -framework ) |
not:deprecated |
Exclude deprecated packages from the results |
not:unstable |
Exclude packages whose version is < 1.0.0 |
not:insecure |
Exclude packages that are insecure or have vulnerable dependencies (as per nsp) |
is:deprecated |
Show/filter is deprecated packages |
is:unstable |
Show/filter packages whose version is < 1.0.0 |
is:insecure |
Show/filter packages that are insecure or have vulnerable dependencies (as per nsp) |
boost-exact:false |
Do not boost exact matches, defaults to true |
score-effect:14 |
Set the effect that package scores have for the final search score, defaults to 15.3 |
quality-weight:1 |
Set the weight that quality has for the each package score, defaults to 1.95 |
popularity-weight:1 |
Set the weight that popularity has for the each package score, defaults to 3.3 |
maintenance-weight:1 |
Set the weight that the quality has for the each package score, defaults to 2.05 |
Further Reading
Solution 15 - node.js
NPM can feel overwhelming because it is the largest package registry! Sometimes, we need less or a more curated suggestions when looking...
Give https://pkg.land a try! It helps you find similar packages on npm, e.g https://pkg.land/package/moment will suggest you dayjs
, date-fns
etc.
It's a project I've experimented with over the holidays and intend to maintain and improve over time.