@@ -21,7 +21,8 @@ export const info = {
21
21
22
22
const input = setupCommand ( name , info . description , argv , importMeta )
23
23
if ( input ) {
24
- const spinner = ora ( `Looking up data for version ${ input . pkgVersion } of ${ input . pkgName } \n` ) . start ( )
24
+ const spinnerText = input . pkgVersion === 'latest' ? `Looking up data for the latest version of ${ input . pkgName } \n` : `Looking up data for version ${ input . pkgVersion } of ${ input . pkgName } \n`
25
+ const spinner = ora ( spinnerText ) . start ( )
25
26
const packageData = await fetchPackageData ( input . pkgName , input . pkgVersion , input , spinner )
26
27
if ( packageData ) {
27
28
formatPackageDataOutput ( packageData , { name, ...input } , spinner )
@@ -92,16 +93,8 @@ function setupCommand (name, description, argv, importMeta) {
92
93
93
94
const versionSeparator = rawPkgName . lastIndexOf ( '@' )
94
95
95
- if ( versionSeparator < 1 ) {
96
- throw new InputError ( 'Need to specify a full package identifier, like eg: webtorrent@1.0.0' )
97
- }
98
-
99
- const pkgName = rawPkgName . slice ( 0 , versionSeparator )
100
- const pkgVersion = rawPkgName . slice ( versionSeparator + 1 )
101
-
102
- if ( ! pkgVersion ) {
103
- throw new InputError ( 'Need to specify a version, like eg: webtorrent@1.0.0' )
104
- }
96
+ const pkgName = versionSeparator < 1 ? rawPkgName : rawPkgName . slice ( 0 , versionSeparator )
97
+ const pkgVersion = versionSeparator < 1 ? 'latest' : rawPkgName . slice ( versionSeparator + 1 )
105
98
106
99
return {
107
100
includeAllIssues,
@@ -184,7 +177,11 @@ async function fetchPackageData (pkgName, pkgVersion, { includeAllIssues }, spin
184
177
// Link to issues list
185
178
const format = new ChalkOrMarkdown ( ! ! outputMarkdown )
186
179
const url = `https://socket.dev/npm/package/${ pkgName } /overview/${ pkgVersion } `
187
- console . log ( '\nDetailed info on socket.dev: ' + format . hyperlink ( `${ pkgName } v${ pkgVersion } ` , url , { fallbackToUrl : true } ) )
180
+ if ( pkgVersion === 'latest' ) {
181
+ console . log ( '\nDetailed info on socket.dev: ' + format . hyperlink ( `${ pkgName } ` , url , { fallbackToUrl : true } ) )
182
+ } else {
183
+ console . log ( '\nDetailed info on socket.dev: ' + format . hyperlink ( `${ pkgName } v${ pkgVersion } ` , url , { fallbackToUrl : true } ) )
184
+ }
188
185
if ( ! outputMarkdown ) {
189
186
console . log ( chalk . dim ( '\nOr rerun' , chalk . italic ( name ) , 'using the' , chalk . italic ( '--json' ) , 'flag to get full JSON output' ) )
190
187
}
0 commit comments