summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/gentle-fs/lib/mkdir.js
blob: 5b419959716bdbcfef5c048051230707289bc31d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'use strict'

const mkdirp = require('mkdirp')
const inferOwner = require('infer-owner')
const chown = require('./chown.js')

module.exports = (path, cb) => {
  // don't bother chowning if we can't anyway
  if (process.platform === 'win32' || chown.selfOwner.uid !== 0) {
    return mkdirp(path, cb)
  }

  inferOwner(path).then(owner => {
    mkdirp(path, (er, made) => {
      if (er || !made) {
        cb(er, made)
      } else {
        chown(made || path, owner.uid, owner.gid, cb)
      }
    })
  }, cb)
}