Skip to content

Commit

Permalink
fix(view): Show the correct publish date for versions selected by range
Browse files Browse the repository at this point in the history
Before, `npm view npm@^6` would incorrectly report “published over a
year from now” for every entry.  Now it reports the correct dates.

PR-URL: #3739
Credit: @andersk
Close: #3739
Reviewed-by: @wraithgar
  • Loading branch information
andersk authored and wraithgar committed Sep 13, 2021
1 parent 5974397 commit 0320bd7
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 5 deletions.
2 changes: 1 addition & 1 deletion lib/view.js
Expand Up @@ -336,7 +336,7 @@ class View extends BaseCommand {
email: color.cyan(manifest._npmUser.email),
}),
modified: !packument.time ? undefined
: color.yellow(relativeDate(packument.time[packument.version])),
: color.yellow(relativeDate(packument.time[manifest.version])),
maintainers: (packument.maintainers || []).map((u) => unparsePerson({
name: color.yellow(u.name),
email: color.cyan(u.email),
Expand Down
23 changes: 20 additions & 3 deletions tap-snapshots/test/lib/view.js.test.cjs
Expand Up @@ -82,7 +82,7 @@ dist
dist-tags:
latest: 1.0.0
published {TIME} ago[39m
published [33myesterday[39m
`

exports[`test/lib/view.js TAP should log info of package in current working dir specific version > must match snapshot 1`] = `
Expand All @@ -99,7 +99,7 @@ dist
dist-tags:
latest: 1.0.0
published {TIME} ago[39m
published [33myesterday[39m
`

exports[`test/lib/view.js TAP should log package info package from git > must match snapshot 1`] = `
Expand Down Expand Up @@ -302,7 +302,24 @@ dist
dist-tags:
latest: 1.0.0
published {TIME} ago
published yesterday
`

exports[`test/lib/view.js TAP should log package info package with semver range > must match snapshot 1`] = `
blue@1.0.0 | Proprietary | deps: none | versions: 2
dist
.tarball:http://hm.blue.com/1.0.0.tgz
.shasum:123
.integrity:---
.unpackedSize:1 B
dist-tags:
latest: 1.0.0
published yesterday
`

exports[`test/lib/view.js TAP workspaces all workspaces --json > must match snapshot 1`] = `
Expand Down
12 changes: 11 additions & 1 deletion test/lib/view.js
Expand Up @@ -17,6 +17,9 @@ const cleanLogs = () => {
console.log = fn
}

// 25 hours ago
const yesterday = new Date(Date.now() - 1000 * 60 * 60 * 25)

const packument = (nv, opts) => {
if (!opts.fullMetadata)
throw new Error('must fetch fullMetadata')
Expand All @@ -40,7 +43,7 @@ const packument = (nv, opts) => {
latest: '1.0.0',
},
time: {
'1.0.0': '2019-08-06T16:21:09.842Z',
'1.0.0': yesterday,
},
versions: {
'1.0.0': {
Expand Down Expand Up @@ -332,6 +335,13 @@ t.test('should log package info', t => {
})
})

t.test('package with semver range', t => {
view.exec(['blue@^1.0.0'], () => {
t.matchSnapshot(logs)
t.end()
})
})

t.test('package with no modified time', t => {
viewUnicode.exec(['cyan@1.0.0'], () => {
t.matchSnapshot(logs)
Expand Down

0 comments on commit 0320bd7

Please sign in to comment.