-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: major refactor #88
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nlf
force-pushed
the
nlf/refactor-phase-three
branch
4 times, most recently
from
April 6, 2022 21:17
f2876a2
to
4443c4a
Compare
fritzy
reviewed
Apr 6, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quite the rewrite!
fritzy
approved these changes
Apr 7, 2022
nlf
force-pushed
the
nlf/refactor-phase-three
branch
3 times, most recently
from
April 7, 2022 18:35
08ffbba
to
ee7189c
Compare
32 tasks
nlf
force-pushed
the
nlf/refactor-phase-three
branch
from
August 25, 2022 21:18
8df3baa
to
7a49b4b
Compare
ljharb
reviewed
Aug 25, 2022
nlf
force-pushed
the
nlf/refactor-phase-three
branch
from
September 21, 2022 17:43
271f413
to
aae1831
Compare
…e more consistent BREAKING CHANGE: this module now follows a strict order of operations when applying ignore rules. if a `files` array is present in the package.json, then rules in `.gitignore` and `.npmignore` files from the root will be ignored.
nlf
force-pushed
the
nlf/refactor-phase-three
branch
from
September 21, 2022 17:44
aae1831
to
0b19e7e
Compare
Merged
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
BREAKING CHANGE: this module now follows a strict order of operations when applying ignore rules. if a package.json containing a 'files' array is present, then top level .npmignore and .gitignore files will both be ignored entirely
this refactor drops the previous approach where the
package.json
files
array was used to direct the tree walker, rather than as an ignore list.the
files
array is back to being an ignore list, and may be overridden by nested.npmignore
and.gitignore
files (i.e. not at the project root).in addition, rather than using
npm-bundled
to gather a list of flat package names that are to be bundled in this module, we instead load an arborist tree at the project root and walk the actual tree structure to determine what packages (and from where) should be bundled. this allowed us to reduce the complexity of the code here quite a bit since we're doing several small tree walks that do not traversenode_modules
at all, so we don't have to keep track of which directories should be ignored. we also now force thefollow
option passed toignore-walk
tofalse
as we no longer have any need to traverse a symlinked directory at all.bundled dependencies are now handled somewhat differently as well. if a bundled dependency is a symlink, we assume that it is either a workspace or an otherwise linked standalone project and treat it as such. if a bundled dependency is not a symlink, then we skip all ignore rules except for those found in the
package.json
of the bundled dep as well as any strict inclusions or exclusions we determine based on other fields in thepackage.json
.closes #50
closes #54
closes #66