zhangjian
2023-05-30 dabbcc356af21f9f2f88ac69ff07994e6e32e4fc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
'use strict';
var path = require('path');
var commonDir = require('commondir');
var pkgDir = require('pkg-dir');
var mkdirp = require('mkdirp');
 
module.exports = function (options) {
    var name = options.name;
    var dir = options.cwd;
    if (options.files) {
        dir = commonDir(dir, options.files);
    } else {
        dir = dir || process.cwd();
    }
 
    dir = pkgDir.sync(dir);
 
    if (dir) {
        dir = path.join(dir, 'node_modules', '.cache', name);
 
        if (dir && options.create) {
            mkdirp.sync(dir);
        }
 
        if (options.thunk) {
            return function () {
                return path.join.apply(path, [dir].concat(Array.prototype.slice.call(arguments)));
            };
        }
    }
 
    return dir;
};