node/deps/npm/lib/edit.js
Kat Marchán d44a9eb11b deps: upgrade npm to 3.10.8
PR-URL: https://github.com/nodejs/node/pull/8706
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2016-09-27 16:39:27 -04:00

36 lines
985 B
JavaScript

// npm edit <pkg>
// open the package folder in the $EDITOR
module.exports = edit
edit.usage = 'npm edit <pkg>[@<version>]'
edit.completion = require('./utils/completion/installed-shallow.js')
var npm = require('./npm.js')
var path = require('path')
var fs = require('graceful-fs')
var editor = require('editor')
var noProgressTillDone = require('./utils/no-progress-while-running').tillDone
function edit (args, cb) {
var p = args[0]
if (args.length !== 1 || !p) return cb(edit.usage)
var e = npm.config.get('editor')
if (!e) {
return cb(new Error(
"No editor set. Set the 'editor' config, or $EDITOR environ."
))
}
p = p.split('/')
.join('/node_modules/')
.replace(/(\/node_modules)+/, '/node_modules')
var f = path.resolve(npm.dir, p)
fs.lstat(f, function (er) {
if (er) return cb(er)
editor(f, { editor: e }, noProgressTillDone(function (er) {
if (er) return cb(er)
npm.commands.rebuild(args, cb)
}))
})
}