npmsearchblazing fast npm search utility
npmsearch.com
This is the code that powers npmsearch.com, which provides a clean interface to searching pseudo-rated node packages from npm.
api
To query the npmsearch index, you can use the HTTP api which is effectively a proxy to elasticsearch's URI Search.
All requests go through http://npmsearch.com/query. Here's an example:
curl "http://npmsearch.com/query?q=dom&fields=name"
{"results":[{"name":["select-dom"]},{"name":["dom-manipulations"]},{"name":["zero-dom"]},{"name":["dom-stub"]},{"name":["dom-walk"]},{"name":["dom-value"]},{"name":["karma-chai-dom"]},{"name":["dom-select"]},{"name":["dom-listeners"]},{"name":["has-dom"]}],"total":7265,"from":0}
Available fields
- author
- created
- dependencies
- description
- devDependencies
- homepage
- keywords
- maintainers
- modified
- name
- readme
- repository
- scripts
- times
- version
- rating - computed rating as per bin/rating.js
Running your own npmsearch
Setup Elasticsearch
See the elasticsearch docs for setting up a node
# create an index
curl -XPUT http://localhost:9200/my-index-name
# setup the package field mappings
cat mappings.json | curl -v -XPOST http://localhost:9200/my-index-name/package/_mapping -H "Content-type: application/json" -d @-
# setup an alias to 'registry'
curl -XPOST 'http://localhost:9201/_aliases' -d '
{
"actions" : [
{ "add" : { "index" : "my-index-name", "alias" : "registry" } }
]
}'
pipe the npm registry into elasticsearch
npm2es --couch="https://skimdb.npmjs.com/registry" --es="http://localhost:9200/registry"
run the server
node bin/server.js --es="http://localhost:9200/registry"
compute ratings
node bin/rating.js --es="http://localhost:9200/registry"
Authors and Contributors
Elijah Insua | GitHub/tmpvar | Twitter/@tmpvar |
---|
Authored by Elijah Insua. Contributions are welcomed from anyone wanting to improve this project!
License & Copyright
npmsearch is Copyright (c) 2016 NodeSource and licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.txt file for more details.
评论
npminstallMake `npm install` fast and easy.
npminstallMake npm install fast and handy.Use as C
npminstallMake `npm install` fast and easy.
0
npminstallMake `npm install` fast and easy.
npminstallMakenpminstallfastandhandy.UseasCliInstall$npminstallnpminstall-gUsageIncnpmItisintegrated
npminstallMake `npm install` fast and easy.
0
ngx-configConfiguration utility for Angular
ngx-configConfigurationutilityforAngularPleasesupportthisprojectbysimplyputtingaGithubstar.Sharethis
ngx-configConfiguration utility for Angular
0
TeX Live Utility
TeXLiveUtility是MacOSX下的一款TeXLiveManager的图形化工具,旨在提供Mac下原生的GUI工具来使用TeXLiveManager提供的命令行工具。
TeX Live Utility
0
Genetic Algorithm Utility Library
Aflexibleprogramminglibraryforevolutionarycomputation.Steady-state,generationalandislandmodelgenetic
Genetic Algorithm Utility Library
0
C# Developer Utility Library
C#DeveloperUtilityLibrary(ScrimpNet.Core)包括有集合,配置,加密,IO,网络,反射,序列化,文本,Web, 验证,日期等的封装。
C# Developer Utility Library
0
Genetic Algorithm Utility Library
A flexible programming library for evolutionary co
Genetic Algorithm Utility Library
0