fix: isUnpackedDir
matches non-child directories that have same folder name prefix
#333
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.
Fixes: #331 and updates test case for minimatch patterns. (Happy to write additional or separate tests if preferred)
Test project file structure:
The pattern passed to
unpackDir
minimatch glob.asar/src/asar.ts
Lines 22 to 31 in 464e834
The issue I'm running into is that
test-smart-unpack-empty
is not supposed to be getting unpacked as it fails the minimatch, but theelse
logic inisUnpackedDir
is causing it to do astartsWith
match on the folder path and then returnstrue
.This PR introduces a check to make sure that the previous folders being unpacked do not include folders that happen to have the same prefix but are not a child directory of a previously flagged unpacked directory.
Additional note, this does not change logic for non-minimatch patterns (e.g.
--unpack-dir dir2/subdir
) as that logic flow is left unchanged.asar/src/asar.ts
Line 23 in 464e834