2 var path = require('path');
3 var pathExists = require('path-exists');
4 var Promise = require('pinkie-promise');
6 function splitPath(x) {
7 return path.resolve(x || '').split(path.sep);
10 function join(parts, filename) {
11 return path.resolve(parts.join(path.sep) + path.sep, filename);
14 module.exports = function (filename, opts) {
17 var parts = splitPath(opts.cwd);
19 return new Promise(function (resolve) {
21 var fp = join(parts, filename);
23 pathExists(fp).then(function (exists) {
26 } else if (parts.pop()) {
36 module.exports.sync = function (filename, opts) {
39 var parts = splitPath(opts.cwd);
40 var len = parts.length;
43 var fp = join(parts, filename);
45 if (pathExists.sync(fp)) {