crates-updater 1.7.4 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{esm/cli.js → cli.js} +7 -3
- package/package.json +11 -20
- package/dist/cjs/CratesUpdater.js +0 -33
- package/dist/cjs/cli.js +0 -57
- package/dist/cjs/package.json +0 -3
- package/dist/esm/CratesUpdater.d.ts +0 -4
- package/dist/esm/cli.d.ts +0 -2
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/package.json +0 -3
- /package/dist/{cjs/CratesUpdater.d.ts → CratesUpdater.d.ts} +0 -0
- /package/dist/{esm/CratesUpdater.js → CratesUpdater.js} +0 -0
- /package/dist/{cjs/cli.d.ts → cli.d.ts} +0 -0
- /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
- /package/dist/{cjs/index.js → index.js} +0 -0
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ Check your [Rust packages](https://crates.io) for updates.
|
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
12
|
-
ℹ️ This is a
|
|
12
|
+
ℹ️ This is a pure [ESM](https://nodejs.org/api/esm.html#introduction) module.
|
|
13
13
|
|
|
14
14
|
Run `yarn global add crates-updater` or `npm i -g crates-updater`.
|
|
15
15
|
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
2
5
|
import { program as commander } from 'commander';
|
|
3
|
-
import { createRequire } from 'module';
|
|
4
|
-
const require = createRequire(import.meta.url);
|
|
5
6
|
import * as CratesUpdater from './CratesUpdater.js';
|
|
6
|
-
const
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = path.dirname(__filename);
|
|
9
|
+
const packageJsonPath = path.join(__dirname, '../package.json');
|
|
10
|
+
const { bin, description, version } = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
7
11
|
commander
|
|
8
12
|
.name(Object.keys(bin)[0])
|
|
9
13
|
.description(description)
|
package/package.json
CHANGED
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "Florian Imdahl <git@ffflorian.de>",
|
|
3
3
|
"bin": {
|
|
4
|
-
"crates-updater": "dist/
|
|
5
|
-
"update-crates": "dist/
|
|
4
|
+
"crates-updater": "dist/cli.js",
|
|
5
|
+
"update-crates": "dist/cli.js"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"commander": "12.1.0",
|
|
9
|
-
"compare-versions": "6.1.
|
|
10
|
-
"crates.io": "2.2.
|
|
9
|
+
"compare-versions": "6.1.1",
|
|
10
|
+
"crates.io": "2.2.8"
|
|
11
11
|
},
|
|
12
12
|
"description": "Check your Rust packages for updates.",
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"rimraf": "
|
|
15
|
-
"typescript": "5.4
|
|
14
|
+
"rimraf": "6.0.1",
|
|
15
|
+
"typescript": "5.5.4"
|
|
16
16
|
},
|
|
17
17
|
"engines": {
|
|
18
18
|
"node": ">= 18.0"
|
|
19
19
|
},
|
|
20
|
-
"exports":
|
|
21
|
-
".": {
|
|
22
|
-
"import": "./dist/esm/index.js",
|
|
23
|
-
"require": "./dist/cjs/index.js"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
20
|
+
"exports": "./dist/index.js",
|
|
26
21
|
"files": [
|
|
27
22
|
"dist"
|
|
28
23
|
],
|
|
@@ -33,20 +28,16 @@
|
|
|
33
28
|
"cli"
|
|
34
29
|
],
|
|
35
30
|
"license": "GPL-3.0",
|
|
36
|
-
"
|
|
37
|
-
"module": "dist/esm/index.js",
|
|
31
|
+
"module": "dist/index.js",
|
|
38
32
|
"name": "crates-updater",
|
|
39
33
|
"repository": "https://github.com/ffflorian/tree/node-packages/crates-updater",
|
|
40
34
|
"scripts": {
|
|
41
|
-
"build": "
|
|
42
|
-
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
43
|
-
"build:esm": "tsc -p tsconfig.json",
|
|
35
|
+
"build": "tsc -p tsconfig.json",
|
|
44
36
|
"clean": "rimraf dist",
|
|
45
37
|
"dist": "yarn clean && yarn build",
|
|
46
|
-
"generate:packagejson": "../../bin/generate-hybrid-package-json.sh",
|
|
47
38
|
"start": "node --loader ts-node/esm src/cli.ts"
|
|
48
39
|
},
|
|
49
40
|
"type": "module",
|
|
50
|
-
"version": "1.
|
|
51
|
-
"gitHead": "
|
|
41
|
+
"version": "1.8.0",
|
|
42
|
+
"gitHead": "f1a74d8ec9721d5b52a00e41b2ec73278e048290"
|
|
52
43
|
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { compareVersions } from 'compare-versions';
|
|
11
|
-
import { CratesIO } from 'crates.io';
|
|
12
|
-
const cratesIO = new CratesIO();
|
|
13
|
-
export function checkForUpdate(packageName, version) {
|
|
14
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const latestVersion = yield getLatestVersion(packageName);
|
|
16
|
-
if (compareVersions(latestVersion.num, version) > 0) {
|
|
17
|
-
return latestVersion.num;
|
|
18
|
-
}
|
|
19
|
-
return null;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
export function getLatestVersion(packageName) {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
const versions = yield getVersions(packageName);
|
|
25
|
-
return versions.sort((versionA, versionB) => compareVersions(versionA.num, versionB.num)).pop();
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
export function getVersions(packageName) {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
const { versions } = yield cratesIO.api.crates.getVersions(packageName);
|
|
31
|
-
return versions;
|
|
32
|
-
});
|
|
33
|
-
}
|
package/dist/cjs/cli.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
import { program as commander } from 'commander';
|
|
12
|
-
import { createRequire } from 'module';
|
|
13
|
-
const require = createRequire(import.meta.url);
|
|
14
|
-
import * as CratesUpdater from './CratesUpdater.js';
|
|
15
|
-
const { bin, description, version } = require('../package.json');
|
|
16
|
-
commander
|
|
17
|
-
.name(Object.keys(bin)[0])
|
|
18
|
-
.description(description)
|
|
19
|
-
.arguments('<package>')
|
|
20
|
-
.arguments('[packageVersion]')
|
|
21
|
-
.option('-q, --quiet', 'quiet mode. Display newer version or nothing')
|
|
22
|
-
.version(version, '-v, --version')
|
|
23
|
-
.parse(process.argv);
|
|
24
|
-
if (!commander.args.length) {
|
|
25
|
-
commander.outputHelp();
|
|
26
|
-
process.exit(1);
|
|
27
|
-
}
|
|
28
|
-
const [packageName, packageVersion] = commander.args;
|
|
29
|
-
const commanderOptions = commander.opts();
|
|
30
|
-
void (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
-
try {
|
|
32
|
-
if (packageVersion) {
|
|
33
|
-
const version = yield CratesUpdater.checkForUpdate(packageName, packageVersion);
|
|
34
|
-
if (commanderOptions.quiet) {
|
|
35
|
-
if (version) {
|
|
36
|
-
console.info(version);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
const text = version
|
|
41
|
-
? `An update for ${packageName} is available: ${version}.`
|
|
42
|
-
: `No update for ${packageName} available.`;
|
|
43
|
-
console.info(text);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
const version = yield CratesUpdater.getLatestVersion(packageName);
|
|
48
|
-
const text = commanderOptions.quiet ? version.num : `Latest ${packageName} version is ${version.num}.`;
|
|
49
|
-
console.info(text);
|
|
50
|
-
}
|
|
51
|
-
process.exit();
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
console.error(error.message);
|
|
55
|
-
process.exit(1);
|
|
56
|
-
}
|
|
57
|
-
}))();
|
package/dist/cjs/package.json
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Version as CrateVersion } from 'crates.io';
|
|
2
|
-
export declare function checkForUpdate(packageName: string, version: string): Promise<string | null>;
|
|
3
|
-
export declare function getLatestVersion(packageName: string): Promise<CrateVersion>;
|
|
4
|
-
export declare function getVersions(packageName: string): Promise<CrateVersion[]>;
|
package/dist/esm/cli.d.ts
DELETED
package/dist/esm/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './CratesUpdater.js';
|
package/dist/esm/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './CratesUpdater.js';
|
package/dist/esm/package.json
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|