Blame view

天文台pc/tianwentai-ui/node_modules/find-root/index.js 659 Bytes
bc518174   王天杨   提交两个项目文件
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
  var path = require('path')
  var fs = require('fs')
  
  function defaultCheck (dir) {
    return fs.existsSync(path.join(dir, 'package.json'))
  }
  
  function findRoot (start, check) {
    start = start || module.parent.filename
    check = check || defaultCheck
  
    if (typeof start === 'string') {
      if (start[start.length - 1] !== path.sep) {
        start += path.sep
      }
      start = start.split(path.sep)
    }
    if (!start.length) {
      throw new Error('package.json not found in path')
    }
    start.pop()
    var dir = start.join(path.sep)
    try {
      if (check(dir)) {
        return dir
      }
    } catch (e) {}
    return findRoot(start, check)
  }
  
  module.exports = findRoot