Skip to content
This repository was archived by the owner on Feb 5, 2023. It is now read-only.

Commit 70c3b55

Browse files
authored
feat: Cleanup, better error message (#42)
1 parent a46e8e8 commit 70c3b55

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"author": "Florian Keller <github@floriankeller.de>",
33
"bin": {
44
"crates-updater": "dist/cli.js",
5-
"update-crate": "dist/cli.js",
65
"update-crates": "dist/cli.js"
76
},
87
"dependencies": {

src/CratesUpdater.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@ class CratesUpdater {
99
}
1010

1111
public async getVersions(packageName: string): Promise<CrateVersion[]> {
12-
const result = await this.cratesIO.api.crates.getVersions(packageName);
13-
return result.versions;
12+
const {versions} = await this.cratesIO.api.crates.getVersions(packageName);
13+
return versions;
1414
}
1515

1616
public async getLatestVersion(packageName: string): Promise<CrateVersion> {
1717
const versions = await this.getVersions(packageName);
18-
const sorted = versions.sort((a, b) => compareVersions(a.num, b.num));
19-
return sorted[versions.length - 1];
18+
return versions.sort((a, b) => compareVersions(a.num, b.num)).pop()!;
2019
}
2120

2221
public async checkForUpdate(packageName: string, version: string): Promise<string | null> {

src/cli.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,24 @@ if (!program.options.length || !program.package) {
2020

2121
const cratesUpdater = new CratesUpdater();
2222

23-
if (program.package && !program.packageVersion) {
23+
if (program.package && program.packageVersion) {
2424
cratesUpdater
25-
.getLatestVersion(program.package)
26-
.then(version => console.log(version.num))
25+
.checkForUpdate(program.package, program.packageVersion)
26+
.then(version => {
27+
if (version) {
28+
console.log(`An update for ${program.package} is available: ${version}.`);
29+
} else {
30+
console.log(`No update for ${program.package} available.`);
31+
}
32+
})
2733
.catch(error => {
2834
console.error(error);
2935
process.exit(1);
3036
});
3137
} else {
3238
cratesUpdater
33-
.checkForUpdate(program.package, program.packageVersion)
34-
.then(version => {
35-
if (version) {
36-
console.log(version);
37-
}
38-
})
39+
.getLatestVersion(program.package)
40+
.then(version => console.log(version.num))
3941
.catch(error => {
4042
console.error(error);
4143
process.exit(1);

0 commit comments

Comments
 (0)