summaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/lib/config/load-prefix.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-04-03 15:43:32 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-04-03 15:45:57 +0200
commit71e285b94c7edaa43aa8115965cf5a36b8e0f80a (patch)
tree7d4aa9d0d5aff686b106cd5da72ba77960c4af43 /deps/node/deps/npm/lib/config/load-prefix.js
parent7dadf9356b4f3f4137ce982ea5bb960283116e9a (diff)
downloadakono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.gz
akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.bz2
akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.zip
Node.js v11.13.0
Diffstat (limited to 'deps/node/deps/npm/lib/config/load-prefix.js')
-rw-r--r--deps/node/deps/npm/lib/config/load-prefix.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/deps/node/deps/npm/lib/config/load-prefix.js b/deps/node/deps/npm/lib/config/load-prefix.js
new file mode 100644
index 00000000..090865d2
--- /dev/null
+++ b/deps/node/deps/npm/lib/config/load-prefix.js
@@ -0,0 +1,51 @@
+module.exports = loadPrefix
+
+var findPrefix = require('find-npm-prefix')
+var path = require('path')
+
+function loadPrefix (cb) {
+ var cli = this.list[0]
+
+ Object.defineProperty(this, 'prefix',
+ {
+ set: function (prefix) {
+ var g = this.get('global')
+ this[g ? 'globalPrefix' : 'localPrefix'] = prefix
+ }.bind(this),
+ get: function () {
+ var g = this.get('global')
+ return g ? this.globalPrefix : this.localPrefix
+ }.bind(this),
+ enumerable: true
+ })
+
+ Object.defineProperty(this, 'globalPrefix',
+ {
+ set: function (prefix) {
+ this.set('prefix', prefix)
+ }.bind(this),
+ get: function () {
+ return path.resolve(this.get('prefix'))
+ }.bind(this),
+ enumerable: true
+ })
+
+ var p
+ Object.defineProperty(this, 'localPrefix',
+ { set: function (prefix) { p = prefix },
+ get: function () { return p },
+ enumerable: true })
+
+ // try to guess at a good node_modules location.
+ // If we are *explicitly* given a prefix on the cli, then
+ // always use that. otherwise, infer local prefix from cwd.
+ if (Object.prototype.hasOwnProperty.call(cli, 'prefix')) {
+ p = path.resolve(cli.prefix)
+ process.nextTick(cb)
+ } else {
+ findPrefix(process.cwd()).then((found) => {
+ p = found
+ cb()
+ }, cb)
+ }
+}