// npm edit [@] // open the package folder in the $EDITOR module.exports = edit edit.usage = "npm edit " edit.completion = require("./utils/completion/installed-shallow.js") var npm = require("./npm.js") , path = require("path") , fs = require("graceful-fs") , editor = require("editor") 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 }, function (er) { if (er) return cb(er) npm.commands.rebuild(args, cb) }) }) }