// turns out tagging isn't very complicated // all the smarts are in the couch. module.exports = tag tag.usage = "npm tag @ []" tag.completion = require("./unpublish.js").completion var npm = require("./npm.js") , mapToRegistry = require("./utils/map-to-registry.js") , npa = require("npm-package-arg") , semver = require("semver") , log = require("npmlog") function tag (args, cb) { var thing = npa(args.shift() || "") , project = thing.name , version = thing.rawSpec , t = args.shift() || npm.config.get("tag") t = t.trim() if (!project || !version || !t) return cb("Usage:\n"+tag.usage) if (semver.validRange(t)) { var er = new Error("Tag name must not be a valid SemVer range: " + t) return cb(er) } log.warn("tag", "This command is deprecated. Use `npm dist-tag` instead.") mapToRegistry(project, npm.config, function (er, uri, auth) { if (er) return cb(er) var params = { version : version, tag : t, auth : auth } npm.registry.tag(uri, params, cb) }) }