Skip to content

Commit

Permalink
Fix don't throw when specifying a non-existing cwd directory
Browse files Browse the repository at this point in the history
  • Loading branch information
popomore committed Jul 2, 2019
1 parent 8aadde8 commit 9aa7c50
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 2 deletions.
13 changes: 11 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,17 @@ const assertPatternsInput = patterns => {
};

const checkCwdOption = options => {
if (options && options.cwd && !fs.statSync(options.cwd).isDirectory()) {
throw new Error('The `cwd` option must be a path to a directory');
if (options && options.cwd) {
let stat;
try {
stat = fs.statSync(options.cwd);
} catch (_) {
return;
}

if (!stat.isDirectory()) {
throw new Error('The `cwd` option must be a path to a directory');
}
}
};

Expand Down
10 changes: 10 additions & 0 deletions test.js
Original file line number Diff line number Diff line change
Expand Up @@ -362,3 +362,13 @@ test('throws when specifying a file as cwd - stream', t => {
globby.stream('*', {cwd: isFile});
}, 'The `cwd` option must be a path to a directory');
});

test('don\'t throw when specifying a non-existing cwd directory - async', async t => {
const actual = await globby('.', {cwd: '/unknown'});
t.is(actual.length, 0);
});

test('don\'t throw when specifying a non-existing cwd directory - sync', t => {
const actual = globby.sync('.', {cwd: '/unknown'});
t.is(actual.length, 0);
});

0 comments on commit 9aa7c50

Please sign in to comment.