‰PNG  IHDRèèÂÁC³×IDATxÚíÖ1 À°ù7 89šTÁ®5<'wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ; wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ»`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸KÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãHÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãHÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜÀ¸Æ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`ÜãÆ0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãw0î€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŒ;wÀ¸€qŒ;`ÜÀ¸Æ0î`Üãw0î€qãwÀ¸€qŒ;`ÜÀ¸ÆŒ;`ÜãÆ0î€qãwÀ¸€qŒ;wÀ¸ÆŒ;`ÜãÆ0î`Üãw0î€qŽºÆá¾d“é­IEND®B`‚ FM / lib
/usr/lib/node_modules/npm/lib
NameSizeModeActions
auth/-0755rm
config/-0755rm
doctor/-0755rm
install/-0755rm
search/-0755rm
utils/-0755rm
access.js56720644editdlrm
adduser.js13370644editdlrm
audit.js108110644editdlrm
bin.js5150644editdlrm
bugs.js8640644editdlrm
build.js45450644editdlrm
cache.js47730644editdlrm
ci.js13410644editdlrm
completion.js72780644editdlrm
config.js76120644editdlrm
dedupe.js49990644editdlrm
deprecate.js21570644editdlrm
dist-tag.js42040644editdlrm
docs.js10630644editdlrm
doctor.js40750644editdlrm
edit.js14070644editdlrm
explore.js17090644editdlrm
fetch-package-metadata.js40640644editdlrm
fetch-package-metadata.md18110644editdlrm
fund.js50260644editdlrm
get.js2350644editdlrm
help-search.js57770644editdlrm
help.js65070644editdlrm
hook.js47270644editdlrm
init.js28050644editdlrm
install-ci-test.js4860644editdlrm
install-test.js5070644editdlrm
install.js373450644editdlrm
link.js57390644editdlrm
logout.js12890644editdlrm
ls.js164800644editdlrm
npm.js147190644editdlrm
org.js42760644editdlrm
outdated.js125720644editdlrm
owner.js67540644editdlrm
pack.js120680644editdlrm
ping.js11410644editdlrm
prefix.js3300644editdlrm
profile.js114010644editdlrm
prune.js22810644editdlrm
publish.js52640644editdlrm
rebuild.js21430644editdlrm
repo.js14710644editdlrm
restart.js640644editdlrm
root.js3200644editdlrm
run-script.js55400644editdlrm
search.js34420644editdlrm
set.js2760644editdlrm
shrinkwrap.js100560644editdlrm
star.js21570644editdlrm
stars.js10540644editdlrm
start.js620644editdlrm
stop.js610644editdlrm
substack.js5090644editdlrm
team.js47240644editdlrm
test.js3740644editdlrm
token.js68180644editdlrm
unbuild.js43740644editdlrm
uninstall.js22610644editdlrm
unpublish.js35940644editdlrm
update.js22130644editdlrm
version.js100290644editdlrm
view.js154730644editdlrm
visnup.js41040644editdlrm
whoami.js18090644editdlrm
xmas.js16630644editdlrm
Edit: /usr/lib/node_modules/npm/lib/search.js (3442B)
'use strict' module.exports = exports = search const npm = require('./npm.js') const allPackageSearch = require('./search/all-package-search') const figgyPudding = require('figgy-pudding') const formatPackageStream = require('./search/format-package-stream.js') const libSearch = require('libnpm/search') const log = require('npmlog') const ms = require('mississippi') const npmConfig = require('./config/figgy-config.js') const output = require('./utils/output.js') const usage = require('./utils/usage') search.usage = usage( 'search', 'npm search [--long] [search terms ...]' ) search.completion = function (opts, cb) { cb(null, []) } const SearchOpts = figgyPudding({ description: {}, exclude: {}, include: {}, limit: {}, log: {}, staleness: {}, unicode: {} }) function search (args, cb) { const opts = SearchOpts(npmConfig()).concat({ description: npm.config.get('description'), exclude: prepareExcludes(npm.config.get('searchexclude')), include: prepareIncludes(args, npm.config.get('searchopts')), limit: npm.config.get('searchlimit') || 20, log: log, staleness: npm.config.get('searchstaleness'), unicode: npm.config.get('unicode') }) if (opts.include.length === 0) { return cb(new Error('search must be called with arguments')) } // Used later to figure out whether we had any packages go out let anyOutput = false const entriesStream = ms.through.obj() let esearchWritten = false libSearch.stream(opts.include, opts).on('data', pkg => { entriesStream.write(pkg) !esearchWritten && (esearchWritten = true) }).on('error', err => { if (esearchWritten) { // If esearch errored after already starting output, we can't fall back. return entriesStream.emit('error', err) } log.warn('search', 'fast search endpoint errored. Using old search.') allPackageSearch(opts) .on('data', pkg => entriesStream.write(pkg)) .on('error', err => entriesStream.emit('error', err)) .on('end', () => entriesStream.end()) }).on('end', () => entriesStream.end()) // Grab a configured output stream that will spit out packages in the // desired format. var outputStream = formatPackageStream({ args: args, // --searchinclude options are not highlighted long: npm.config.get('long'), description: npm.config.get('description'), json: npm.config.get('json'), parseable: npm.config.get('parseable'), color: npm.color }) outputStream.on('data', chunk => { if (!anyOutput) { anyOutput = true } output(chunk.toString('utf8')) }) log.silly('search', 'searching packages') ms.pipe(entriesStream, outputStream, err => { if (err) return cb(err) if (!anyOutput && !npm.config.get('json') && !npm.config.get('parseable')) { output('No matches found for ' + (args.map(JSON.stringify).join(' '))) } log.silly('search', 'search completed') log.clearProgress() cb(null, {}) }) } function prepareIncludes (args, searchopts) { if (typeof searchopts !== 'string') searchopts = '' return searchopts.split(/\s+/).concat(args).map(function (s) { return s.toLowerCase() }).filter(function (s) { return s }) } function prepareExcludes (searchexclude) { var exclude if (typeof searchexclude === 'string') { exclude = searchexclude.split(/\s+/) } else { exclude = [] } return exclude.map(function (s) { return s.toLowerCase() }) }