[Meteor 3] Fix missing files when copying node modules to rebuild native deps #12535
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.
The code for copying the node modules folders was converted to use for loops instead of forEach, but the returns were left which caused it to stop before it had copied all files.
This should fix #12530. The first time Meteor was run, it would save the isopacks to disk. The second time Meteor was run, it would try to rebuild any native deps, which involves copying part of the node_modules folder, rebuilding native deps, and then overwriting the original files with the copy. Due to the bug this PR fixes, the copy was missing files which would break the package.
I found it surprising that Meteor was rebuilding native deps here since it should have already ensured they were built correctly when writing the isopack. There might be another issue someplace here, or this something we can optimize in the future.