Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
More accurate updating of last access time when `maxAge` is set.
|
|
It's too difficult for npm contributors to figure out what the
conventional style is for tests. Part of the problem is that the
documentation in CONTRIBUTING.md is inadequate, but another important
factor is that the tests themselves are written in a variety of styles.
One of the most notable examples of this is the fact that many tests use
fixture directories to store precooked test scenarios and package.json
files.
This had some negative consequences:
* tests weren't idempotent
* subtle dependencies between tests existed
* new tests get written in this deprecated style because it's not
obvious that the style is out of favor
* it's hard to figure out why a lot of those directories existed,
because they served a variety of purposes, so it was difficult to
tell when it was safe to remove them
All in all, the fixture directories were a major source of technical
debt, and cleaning them up, while time-consuming, makes the whole test
suite much more approachable, and makes it more likely that new tests
written by outside contributors will follow a conventional style. To
support that, all of the tests touched by this changed were cleaned up
to pass the `standard` style checker.
|
|
Some fixtures are necessary, but they should all be combined into one
place to signpost what they're for.
Part of #7929.
|
|
|
|
npm doesn't support Node 0.6 any more.
|
|
|
|
|
|
|
|
|
|
Package scopes cause an additional level in the tree structure which
must be considered when resolving the target folders of a package's
peerDependencies.
Fixes #7454.
|
|
|
|
`git+https:` and `git+http:` are authed protocols.
|
|
|
|
Move platform-specific shim from one place to another.
|
|
BUg fixes and some simplification.
|
|
Switch to using babel from 6to5.
|
|
|
|
|
|
|
|
|
|
|
|
Instead of checking if from is just a URL, use npm-package-arg to figure
out what kind of URL or shorthand it might be, and save that to
package.json.
|
|
|
|
Support round-tripping gist: shortcuts. gist: shorthand gets normalized
to remove the username (because all you need is the ID to clone). This
confuses url.parse(), which is used to parse out the git URL.
|
|
* Save the lightest-possibly normalized URL into `package.json` and
package.json _from fields, because read-package-json, read-installed,
and the cache all know how to handle them now.
* Add support for github:, gist:, bitbucket:, and gitlab: shortcut
syntax. GitHub shortcuts will continue to be normalized to org/repo
instead of being saved with a github: prefix (for now).
* If presented with shortcuts, try cloning via git, SSH, and HTTPS (in
that order, skipping any methods that aren't supported by a given
hosting provider).
* No longer prompt for credentials -- it didn't work right with the
spinner, and wasn't guaranteed to work anyway. We may experiment with
doing this a better way in the future. Users can override this by
setting GIT_ASKPASS in their environment if they want to experiment
with interactive cloning, but should also set --no-spin on the npm
command line (or run `npm config set spin=false`).
|
|
Add support for auth embedded directly in Git URLs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Normalize symlinks less aggressively -- only convert to absolute paths
if they would actually point outside the extraction root, not all
symlinks with relative paths.
|
|
Node.js v0.8 will not emit a separate `error` event if the command
could not be found. Exit code 127 is reserved for “command not found”,
see http://tldp.org/LDP/abs/html/exitcodes.html.
|
|
This is probably a sign that we shouldn't be using new versions of
`nock` in these tests if 0.8 is a concern.
|
|
|
|
|
|
Under Node.js v0.8, `node -p` alone does nothing, see https://github.com/joyent/node/issues/3938.
|
|
|
|
|
|
|
|
|
|
* only add `@` to scopes if they're missing
* validate package names inside promzard
|