Skip to content

Commit

Permalink
fix(package-source): fix check for deprecated package
Browse files Browse the repository at this point in the history
Closes #114
  • Loading branch information
jeffijoe committed Jul 2, 2024
1 parent e03166a commit bf68f0c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 13 deletions.
8 changes: 8 additions & 0 deletions src/__tests__/package-source.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ test('package source', async () => {

expect(result).not.toBeNull()
expect(result.name).toBe('awilix')
expect(result.deprecated).toBe(false)
expect(result.latestVersion).toBeDefined()

// I wrote Awilix, and I know v2 didn't have typings while v3 did,
Expand All @@ -28,3 +29,10 @@ test('not found', async () => {
const result = await source.fetch(`some-nonexistent-package-${Date.now()}`)
expect(result).toBeNull()
})

test('deprecated', async () => {
const source = createPackageSource()
const result = await source.fetch(`@types/escape-goat`)
expect(result).not.toBeNull()
expect(result!.deprecated).toBe(true)
})
25 changes: 12 additions & 13 deletions src/package-source.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,24 +28,23 @@ export function createPackageSource(): IPackageSource {
return null
}

const versions = Object.keys(data.versions).map<IPackageVersionInfo>(
(v) => {
const item = data.versions[v]
return {
version: item.version,
containsInternalTypings: !!item.types || !!item.typings,
}
},
)
const versionIdentifiers = Object.keys(data.versions)
.sort(compare)
.reverse()
const versions = versionIdentifiers.map<IPackageVersionInfo>((v) => {
const item = data.versions[v]
return {
version: item.version,
containsInternalTypings: !!item.types || !!item.typings,
}
})

return {
name: data.name,
deprecated: Boolean(data.deprecated),
deprecated: Boolean(data.versions[versionIdentifiers[0]].deprecated),
latestVersion: data['dist-tags'].latest,
// Sort by version, highest version first.
versions: versions
.sort((left, right) => compare(left.version, right.version))
.reverse(),
versions: versions,
}
},
}
Expand Down

0 comments on commit bf68f0c

Please sign in to comment.