PATH:
usr
/
local
/
lib
/
node_modules
/
npm
/
lib
// npm explore <pkg>[@<version>] // open a subshell to the package folder. module.exports = explore explore.usage = 'npm explore <pkg> [ -- <command>]' explore.completion = require('./utils/completion/installed-shallow.js') var npm = require('./npm.js') var spawn = require('./utils/spawn') var path = require('path') var fs = require('graceful-fs') var isWindows = require('./utils/is-windows.js') var escapeExecPath = require('./utils/escape-exec-path.js') var escapeArg = require('./utils/escape-arg.js') var output = require('./utils/output.js') var log = require('npmlog') function explore (args, cb) { if (args.length < 1 || !args[0]) return cb(explore.usage) var p = args.shift() var cwd = path.resolve(npm.dir, p) var opts = {cwd: cwd, stdio: 'inherit'} var shellArgs = [] if (args) { if (isWindows) { var execCmd = escapeExecPath(args.shift()) var execArgs = [execCmd].concat(args.map(escapeArg)) opts.windowsVerbatimArguments = true shellArgs = ['/d', '/s', '/c'].concat(execArgs) } else { shellArgs.unshift('-c') shellArgs = ['-c', args.map(escapeArg).join(' ').trim()] } } var sh = npm.config.get('shell') fs.stat(cwd, function (er, s) { if (er || !s.isDirectory()) { return cb(new Error( "It doesn't look like " + p + ' is installed.' )) } if (!shellArgs.length) { output( '\nExploring ' + cwd + '\n' + "Type 'exit' or ^D when finished\n" ) } log.silly('explore', {sh, shellArgs, opts}) var shell = spawn(sh, shellArgs, opts) shell.on('close', function (er) { // only fail if non-interactive. if (!shellArgs.length) return cb() cb(er) }) }) }
[-] star.js
[edit]
[-] ping.js
[edit]
[-] xmas.js
[edit]
[+]
search
[-] stop.js
[edit]
[-] team.js
[edit]
[-] run-script.js
[edit]
[-] edit.js
[edit]
[-] explore.js
[edit]
[-] access.js
[edit]
[-] repo.js
[edit]
[-] root.js
[edit]
[-] completion.js
[edit]
[-] bugs.js
[edit]
[-] restart.js
[edit]
[+]
..
[-] pack.js
[edit]
[-] unbuild.js
[edit]
[-] fetch-package-metadata.md
[edit]
[-] npm.js
[edit]
[-] install-test.js
[edit]
[+]
utils
[-] org.js
[edit]
[-] dedupe.js
[edit]
[+]
auth
[-] visnup.js
[edit]
[-] test.js
[edit]
[-] audit.js
[edit]
[-] install-ci-test.js
[edit]
[-] cache.js
[edit]
[-] outdated.js
[edit]
[-] link.js
[edit]
[-] substack.js
[edit]
[-] logout.js
[edit]
[-] install.js
[edit]
[-] fetch-package-metadata.js
[edit]
[-] fund.js
[edit]
[-] ci.js
[edit]
[-] get.js
[edit]
[-] profile.js
[edit]
[-] uninstall.js
[edit]
[+]
doctor
[-] init.js
[edit]
[-] prune.js
[edit]
[-] dist-tag.js
[edit]
[-] search.js
[edit]
[-] view.js
[edit]
[-] owner.js
[edit]
[+]
config
[-] rebuild.js
[edit]
[-] start.js
[edit]
[-] config.js
[edit]
[-] update.js
[edit]
[-] docs.js
[edit]
[+]
install
[-] build.js
[edit]
[-] help.js
[edit]
[-] ls.js
[edit]
[-] deprecate.js
[edit]
[-] hook.js
[edit]
[-] publish.js
[edit]
[-] prefix.js
[edit]
[-] adduser.js
[edit]
[-] shrinkwrap.js
[edit]
[-] help-search.js
[edit]
[-] stars.js
[edit]
[-] doctor.js
[edit]
[-] set.js
[edit]
[-] whoami.js
[edit]
[-] version.js
[edit]
[-] bin.js
[edit]
[-] token.js
[edit]
[-] unpublish.js
[edit]