| Server IP : 68.183.124.220 / Your IP : 216.73.216.141 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/npm/node_modules/realize-package-specifier/ |
Upload File : |
"use strict"
var fs = require("fs")
var path = require("path")
var dz = require("dezalgo")
var npa = require("npm-package-arg")
module.exports = function (spec, where, cb) {
if (where instanceof Function) { cb = where; where = null }
if (where == null) where = "."
cb = dz(cb)
try {
var dep = npa(spec)
}
catch (e) {
return cb(e)
}
if ((dep.type == "range" || dep.type == "version") && dep.name != dep.raw) return cb(null, dep)
var specpath = dep.type == "local"
? path.resolve(where, dep.spec)
: path.resolve(dep.rawSpec? dep.rawSpec: dep.name)
fs.stat(specpath, function (er, s) {
if (er) return finalize()
if (!s.isDirectory()) return finalize("local")
fs.stat(path.join(specpath, "package.json"), function (er) {
finalize(er ? null : "directory")
})
})
function finalize(type) {
if (type != null && type != dep.type) {
dep.type = type
if (! dep.rawSpec) {
dep.rawSpec = dep.name
dep.name = null
}
}
if (dep.type == "local" || dep.type == "directory") dep.spec = specpath
cb(null, dep)
}
}