UNPKG

558 Btext/coffeescriptView Raw
1{join, dirname} = require 'path'
2
3# for a given directory:
4# Walk backwards, looking for 'package.json' or equivalent
5module.exports = findProjectRoot = (dir) ->
6
7 # If we hit root, we've failed to find any 'package.*'.
8 return undefined if (not dir) or (dir is '/')
9
10 try
11
12 # If this doesn't throw, then it exists.
13 # We've found a 'package.*', so we're done!
14 resolved = require.resolve join(dir, 'package')
15 return dir
16
17 catch err
18
19 # No luck here, so walk back up and check the parent directory
20 return findProjectRoot dirname(dir)