-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcli.ts
41 lines (37 loc) · 953 Bytes
/
cli.ts
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
import meow from "meow";
import { jsToFile } from "./index";
async function main() {
const cli = meow(
`\
Usage
$ js2file [folder]
Options
--outDir where to output files to, defaults to [folder]
--ext resulting extension, required
--require require file before execution
Examples
$ js2file templates/ --outDir dist --ext html
typescript
$ js2file templates/ --outDir dist --ext html --require ts-node/register
ttypescript
$ TS_NODE_COMPILER=ttsc js2file templates/ --outDir dist --ext html --require ts-node/register
`
);
if (cli.input.length !== 1) {
console.log("There should be one input file");
cli.showHelp();
process.exit(1);
return;
}
if (cli.flags.ext === undefined) {
console.log("Must specify extension");
cli.showHelp();
process.exit(1);
return;
}
await jsToFile(cli.input[0], cli.flags as any);
}
main().catch(err => {
console.error(err);
process.exit(1);
});