Skip to content

Commit 40b896b

Browse files
committed
feat: cli mode
1 parent 586b73a commit 40b896b

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

bin/cli.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/env node
2+
3+
const { getUnityChangeset, scrapeArchivedChangesets, scrapeBetaChangesets } = require("../dist/index");
4+
const cli = require('cac')();
5+
6+
cli.command('[version]', 'Get a changeset for specific version')
7+
.option('-l, --list', 'List changesets')
8+
.option('-b, --list-beta', 'List beta changesets')
9+
.example('unity-changeset 2020.2.14f1')
10+
.example('unity-changeset --list')
11+
.example('unity-changeset --list-beta')
12+
.example('unity-changeset --list --list-beta')
13+
.action((version, options) => (async () => {
14+
if (version) {
15+
try {
16+
var changeset = await getUnityChangeset(version);
17+
console.log(changeset.changeset);
18+
} catch {
19+
console.error('The given version was not found.');
20+
process.exit(1);
21+
}
22+
}
23+
else {
24+
if (process.argv.length < 3) {
25+
cli.outputHelp();
26+
}
27+
if (options.list) {
28+
var changesets = await scrapeArchivedChangesets();
29+
console.log(changesets.map(c => c.toString()).join('\n'));
30+
}
31+
if (options.listBeta) {
32+
var changesets = await scrapeBetaChangesets();
33+
console.log(changesets.map(c => c.toString()).join('\n'));
34+
}
35+
}
36+
})());
37+
38+
cli.help();
39+
cli.version('1.0.0');
40+
41+
cli.parse();

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "0.0.0",
44
"description": "Get/List Unity changeset",
55
"main": "lib/index.js",
6+
"bin": "bin/cli.js",
67
"repository": "git@github.com:mob-sakai/unity-changeset.git",
78
"author": "mob-sakai <sakai861104@gmail.com>",
89
"license": "MIT",
@@ -15,6 +16,7 @@
1516
"node": "10"
1617
},
1718
"dependencies": {
19+
"cac": "^6.6.1",
1820
"jsdom": "^16.4.0",
1921
"node-fetch": "^2.6.1"
2022
},

0 commit comments

Comments
 (0)