Fix whitespace and command-output handling of npm.cmd #6664
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 current implementation of the npm wrapper on Windows does not work properly if the username contains a whitespace, because your AppData-path will then contain a whitespace.
Steps to reproduce:
C:\Users\John Doe\
meteor npm version
you end up with Windows' command not found error.The same issue exists for the script path/first parameter. I encountered this when using npm-shrinkwrap: You will not trigger Windows' command not found error but module-not-found errors:
I've also added an @-sign. This allows for easier parsing of the output of
meteor npm version
and the likes via scripts by suppressing CMDs behavior to always write commands in cmd-scripts to the command line. This way it is also consistent with the behavior of those commands on *NIX systems (which is why I would consider the current behavior a bug).