From 71e285b94c7edaa43aa8115965cf5a36b8e0f80a Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 3 Apr 2019 15:43:32 +0200 Subject: Node.js v11.13.0 --- deps/node/deps/npm/lib/config/load-prefix.js | 51 ++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 deps/node/deps/npm/lib/config/load-prefix.js (limited to 'deps/node/deps/npm/lib/config/load-prefix.js') 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) + } +} -- cgit v1.2.3