UNPKG

875 BJavaScriptView Raw
1
2module.exports = star
3
4var npm = require("./npm.js")
5 , registry = npm.registry
6 , log = require("npmlog")
7 , asyncMap = require("slide").asyncMap
8
9star.usage = "npm star <package> [pkg, pkg, ...]\n"
10 + "npm unstar <package> [pkg, pkg, ...]"
11
12star.completion = function (opts, cb) {
13 registry.get("/-/short", 60000, function (er, list) {
14 return cb(null, list || [])
15 })
16}
17
18function star (args, cb) {
19 if (!args.length) return cb(star.usage)
20 var s = npm.config.get("unicode") ? "\u2605 " : "(*)"
21 , u = npm.config.get("unicode") ? "\u2606 " : "( )"
22 , using = !(npm.command.match(/^un/))
23 if (!using) s = u
24 asyncMap(args, function (pkg, cb) {
25 registry.star(pkg, using, function (er, data, raw, req) {
26 if (!er) {
27 console.log(s + " "+pkg)
28 log.verbose("star", data)
29 }
30 cb(er, data, raw, req)
31 })
32 }, cb)
33}