Fix read permission error on ignore files search #259
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR should fix #254 and fix #258. As well as
xo
’s #737 whenglobby
’s dependency gets upgraded.It allows to forward the
ignore
option field passed toglobby
’sisIgnoredByIgnoreFiles
tofast-glob
.To give some more context, this function is used to find all
.gitignore
files relative to the current working directory. If any subdirectory of the current working directory is not readable,fast-glob
exits with an error.By forwarding the
ignore
option tofast-glob
when searching for ignore files, we prevent this behavior.A few things that should be considered before this gets merged:
Documentation
There are currently no docs about this, but since the readme file mentions that the
options
object extends thefast-glob
options, I’m not sure if it’s worth to document.Tests
When a directory is not readable, the behavior of
fast-glob
is to exit, not to throw.So, if we remove the
ignore
option of the test,ava
will fail all tests run with the following error:Some side nodes about the test:
.notThrowsAsync
is used, but as said above:fast-glob
doesn’t throw, it exits ; so this might be wrong. You tell me.serial
is used to prevent other tests to fail because of the bad directory permissions.teardown
is used to revert the directory permissions to something readable