module.exports = setUser var assert = require('assert') var path = require('path') var fs = require('fs') var mkdirp = require('mkdirp') function setUser (cb) { var defaultConf = this.root assert(defaultConf !== Object.prototype) // If global, leave it as-is. // If not global, then set the user to the owner of the prefix folder. // Just set the default, so it can be overridden. if (this.get('global')) return cb() if (process.env.SUDO_UID) { defaultConf.user = +(process.env.SUDO_UID) return cb() } var prefix = path.resolve(this.get('prefix')) mkdirp(prefix, function (er) { if (er) return cb(er) fs.stat(prefix, function (er, st) { defaultConf.user = st && st.uid return cb(er) }) }) }