Skip to content

Commit

Permalink
dist-tag: make 'ls' the default action
Browse files Browse the repository at this point in the history
I keep typing `npm dist-tags` expecting it to print out a list of
dist-tags and instead it yells at me and that feels very un-npm-y.
  • Loading branch information
isaacs committed Nov 30, 2018
1 parent 6084ed1 commit a8bd7cf
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 1 deletion.
2 changes: 2 additions & 0 deletions doc/cli/npm-dist-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ Add, remove, and enumerate distribution tags on a package:
Show all of the dist-tags for a package, defaulting to the package in
the current prefix.

This is the default action if none is specified.

A tag can be used when installing packages as a reference to a version instead
of using a specific version number:

Expand Down
2 changes: 1 addition & 1 deletion lib/dist-tag.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ function distTag (args, cb) {
case 'ls': case 'l': case 'sl': case 'list':
return list(args[0], cb)
default:
return cb('Usage:\n' + distTag.usage)
return list(cmd, cb)
}
}

Expand Down
45 changes: 45 additions & 0 deletions test/tap/dist-tag.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,16 @@ function mocks (server) {
server.get('/-/package/@scoped%2fpkg/dist-tags')
.reply(200, { latest: '1.0.0', a: '0.0.1', b: '0.5.0' })

server.get('/-/package/@scoped%2fpkg/dist-tags')
.reply(200, { latest: '1.0.0', a: '0.0.1', b: '0.5.0' })

// ls named package
server.get('/-/package/@scoped%2fanother/dist-tags')
.reply(200, { latest: '2.0.0', a: '0.0.2', b: '0.6.0' })

server.get('/-/package/@scoped%2fanother/dist-tags')
.reply(200, { latest: '2.0.0', a: '0.0.2', b: '0.6.0' })

// add c
server.get('/-/package/@scoped%2fanother/dist-tags')
.reply(200, { latest: '2.0.0', a: '0.0.2', b: '0.6.0' })
Expand Down Expand Up @@ -83,6 +89,25 @@ test('npm dist-tags ls in current package', function (t) {
)
})

test('npm dist-tags ls default in current package', function (t) {
common.npm(
[
'dist-tags',
'--registry', common.registry,
'--loglevel', 'silent'
],
{ cwd: pkg },
function (er, code, stdout, stderr) {
t.ifError(er, 'npm access')
t.notOk(code, 'exited OK')
t.notOk(stderr, 'no error output')
t.equal(stdout, 'a: 0.0.1\nb: 0.5.0\nlatest: 1.0.0\n')

t.end()
}
)
})

test('npm dist-tags ls on named package', function (t) {
common.npm(
[
Expand All @@ -103,6 +128,26 @@ test('npm dist-tags ls on named package', function (t) {
)
})

test('npm dist-tags ls default, named package', function (t) {
common.npm(
[
'dist-tags',
'@scoped/another',
'--registry', common.registry,
'--loglevel', 'silent'
],
{ cwd: pkg },
function (er, code, stdout, stderr) {
t.ifError(er, 'npm access')
t.notOk(code, 'exited OK')
t.notOk(stderr, 'no error output')
t.equal(stdout, 'a: 0.0.2\nb: 0.6.0\nlatest: 2.0.0\n')

t.end()
}
)
})

test('npm dist-tags add @scoped/another@7.7.7 c', function (t) {
common.npm(
[
Expand Down

0 comments on commit a8bd7cf

Please sign in to comment.