-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdomercli.js
48 lines (38 loc) · 1.32 KB
/
domercli.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
#!/usr/bin/env node
var domer = require('./src/domer');
var program = require('commander');
var path = require('path');
program
.version('0.1.4');
program
.usage("domer -s [source] -e [encoding] -m [mode]")
.description('Domer, HTML to TypeScript Utility')
.option("-s, --source [source]", "Defines the file pattern of html files. Default is *.html", path.join(process.cwd(), "*.html"))
.option("-e, --encoding [target]", "Defines the encoding type of the source files. Default is utf8.", "utf8")
.option("-m, --mode [mode]", "Defines how dompiler treat DOM ids [strip, resolve, retain]", "strip")
.parse(process.argv);
var source = program.source;
var domerResource = new domer.DomerResource(source, program.encoding);
console.log("Source is: " + source);
console.log("Encoding is: " + program.encoding);
var options;
switch(program.mode) {
case "resolve":
options = domer.Mode.RESOLVE_IDS;
console.log("setting mode to resolve ids");
break;
case "retain":
options = domer.Mode.RETAIN_IDS;
console.log("setting mode to retain ids");
break;
default:
options = domer.Mode.STRIP_IDS;
console.log("setting mode to strip ids");
break;
}
try {
new domer.Domer(domerResource, options).build();
}
catch(e) {
console.error(e);
}