]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/lib/config/set-user.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / lib / config / set-user.js
1 module.exports = setUser
2
3 var assert = require("assert")
4 var path = require("path")
5 var fs = require("fs")
6 var mkdirp = require("mkdirp")
7
8 function setUser (cb) {
9   var defaultConf = this.root
10   assert(defaultConf !== Object.prototype)
11
12   // If global, leave it as-is.
13   // If not global, then set the user to the owner of the prefix folder.
14   // Just set the default, so it can be overridden.
15   if (this.get("global")) return cb()
16   if (process.env.SUDO_UID) {
17     defaultConf.user = +(process.env.SUDO_UID)
18     return cb()
19   }
20
21   var prefix = path.resolve(this.get("prefix"))
22   mkdirp(prefix, function (er) {
23     if (er) return cb(er)
24     fs.stat(prefix, function (er, st) {
25       defaultConf.user = st && st.uid
26       return cb(er)
27     })
28   })
29 }