Skip to content
This repository was archived by the owner on Aug 11, 2022. It is now read-only.

v3.9.0

Choose a tag to compare

@iarna iarna released this 06 May 02:07
· 1547 commits to latest since this release

v3.9.0 (2016-05-05)

Wow! This is a big release week! We've completed the fixes that let the test suite pass on Windows, plus more general bug fixes we found while fixing things on Windows. Plus a warning to help folks work around a common footgun. PLUS an improvement to how npm works with long cache timeouts.

INFINITE CACHE A LITTLE BETTER

  • 111ae3e #8581 When a package is fetched from the cache which cannot satisfy the version requirements, an attempt to fetch it from the network is made. This is helpful for folks using high values for --cache-min who are willing to accept possibly not-the-most-recent modules in return for less network traffic. (@Zirak)

WARNING: FOOTGUN

  • 60b9a05 #12475 Options can only start with ASCII dashes. Ordinarily this isn't a problem but many web documentation tools "helpfully" convert -- into an emdash (–), or - into an endash (–). If you copy and paste from this documentation your commands won't work the way you expect. This adds a warning that tries to be a little more descriptive about why your command is failing. (@iarna)

WINDOWS CI

We have Windows CI setup now! We still have to tweak it a little bit around paths to the git binaries, but it's otherwise ready!

COVERAGE DATA

Not only do our tests produce coverage reports after they run now, we also automatically update Coveralls with results from Travis CI runs.

EVERYONE BUGS

  • 37c6a51 #12150 Ensure that 'npm cache ls' outputs real filenames. Previously it would sometimes double up the package name in the path it printed. (@isaacs)
  • d3ce0b2 #11444 Fix unbuilding bins for scoped modules. (@iarna)
  • e928a30 #11444 Make handling of local modules (eg npm install /path/to/my/module) more consistent when saved to a package.json. There were bugs previously where it wouldn't consistently resolve relative paths in the same way. (@iarna)
  • b820ed4 #11444 Under certain circumstances the paths produced for linking, either relative or absolute, would end up basing off the wrong virtual cwd. This resulted in failures for npm link in these situations. (@iarna)

WINDOWS BUGS

  • 7380425 #11444 Scoped module names were not being correctly inferred from the path on Windows. (@zkat)
  • 91fc24f #11444 Explore with a command to run didn't work properly in Windows– it would pop open a new cmd window and leave it there. (@iarna)

WINDOWS REFACTORING

  • f07e643 #11444 Move exec path escaping out to its own function. This turns out to be tricky to get right because how you escape commands to run on Windows via cmd is different then how you escape them at other times. Specifically, you HAVE to quote each directory segment that has a quote in it, that is: C:\"Program Files"\MyApp\MyApp.exe By contrast, if that were an argument to a command being run, you CAN'T DO quote it that way, instead you have to wrap the entire path in quotes, like so: "C:\Program Files\MyApp\MyApp.exe". (@iarna)
  • 2e01d29 #11444 Create a single function for detecting if we're running on Windows (and using a Windows shell like cmd) and use this instead of doing it one-off all over the place. (@iarna)

FIX WINDOWS TESTS

As I said before, our tests are passing on Windows! 🎉

DEPENDENCY UPDATES