/
cli.js
executable file
·65 lines (54 loc) · 1.5 KB
/
cli.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/env node
/**
* @file index.js
* @author mengke(kekee000@gmail.com)
*/
const meow = require('meow');
const fs = require('fs');
const main = require('./index');
const cli = meow(
`Usage
$ react-font-svg <file> [<output>]
Example
$ react-font-svg ./src/font.ttf
$ react-font-svg ./src/font.ttf -n 'music,search' -u '0xf00d,0xf00e' -d ./src/icons
Options,
-n, --names glyph names to output eg. -n music,search
-u, --unicodes unicode code points to output eg. -u 0xe001,0xe002
-d, --dest output folder
-p, --platform component template: react-native|react
`, {
flags: {
names: {type: 'string', alias: 'n'},
unicodes: {type: 'string', alias: 'u'},
separate: {type: 'boolean', alias: 's'},
dest: {type: 'string', alias: 'd'},
platform: {type: 'string', alias: 'p'}
}
});
// version
if (cli.flags.version) {
console.log(require('./package.json').version);
process.exit(0);
}
if (cli.flags.h) {
console.log(cli.help);
process.exit(0);
}
if (!cli.input.length) {
console.log('no font file selected.');
process.exit(1);
}
if (!fs.existsSync(cli.input[0])) {
console.log('font file not exists.');
process.exit(1);
}
// console.log(cli.flags)
main(cli.input[0], {
names: cli.flags.names,
unicodes: cli.flags.unicodes,
separate: cli.flags.separate,
dest: cli.flags.dest,
platform: cli.flags.platform,
isCLI: true
});