Skip to content

Commit c2bdaad

Browse files
authored
Add vscode config (#5)
* chore: add vscode configuration * feat: add comparisson based on vscode setting * fix: correct typehint for version map * chore: change config version to level and update config description * style: remove semicolon in getPackageInfo.ts
1 parent d2afdf7 commit c2bdaad

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

package.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,23 @@
6464
},
6565
"dependencies": {
6666
"semver": "^7.3.2"
67+
},
68+
"contributes": {
69+
"configuration": {
70+
"type": "object",
71+
"title": "npm Outdated",
72+
"properties": {
73+
"npm-outdated.level": {
74+
"type": "string",
75+
"default": "patch",
76+
"enum": [
77+
"major",
78+
"minor",
79+
"patch"
80+
],
81+
"markdownDescription": "Minimum semver bump required for a package to display as outdated. See npm's [Semver docs](https://docs.npmjs.com/cli/v6/using-npm/semver) for more details."
82+
}
83+
}
84+
}
6785
}
6886
}

src/diagnostics/getPackageInfo.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
11
import semverCoerce from "semver/functions/coerce"
2-
import semverGt from "semver/functions/gt"
2+
import semverDiff from "semver/functions/diff"
3+
import { workspace } from 'vscode'
34
import { fetchPackage } from "../utils/packages"
45

56
export async function getPackageInfo([name, version]: string[]) {
67
const info = await fetchPackage(name)
78
const localVersion = semverCoerce(version)
9+
const versionToCompare = workspace.getConfiguration().get<string>('npm-outdated.version')
10+
const versionDiff = info && localVersion && semverDiff(info.version, localVersion)
11+
12+
const versionMap: Record<string, number> = {
13+
major: 2,
14+
minor: 1,
15+
patch: 0
16+
}
817

918
return {
1019
latestVersion: info?.version,
1120
name,
12-
outdated: info && localVersion && semverGt(info.version, localVersion),
21+
outdated: versionDiff && versionToCompare && (versionMap[versionDiff] >= versionMap[versionToCompare]),
1322
}
1423
}

0 commit comments

Comments
 (0)