1 | #!/usr/bin/env node
|
2 | const program = require("commander");
|
3 | const fs = require("fs");
|
4 | const path = require("path");
|
5 |
|
6 | const brs = require("../lib/");
|
7 |
|
8 |
|
9 |
|
10 | const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json")));
|
11 |
|
12 | program
|
13 | .description("Off-Roku BrightScript interpreter")
|
14 | .arguments("brs [brsFiles...]")
|
15 | .option(
|
16 | "-r, --root <directory>",
|
17 | "The root directory from which `pkg:` paths will be resolved.",
|
18 | process.cwd()
|
19 | )
|
20 | .action(async (brsFiles, program) => {
|
21 | if (brsFiles.length > 0) {
|
22 | try {
|
23 | await brs.execute(brsFiles, { root: program.root });
|
24 | } catch (err) {
|
25 | if (err.messages && err.messages.length) {
|
26 | err.messages.forEach(message => console.error(message));
|
27 | } else {
|
28 | console.error(err.message);
|
29 | }
|
30 | process.exitCode = 1;
|
31 | }
|
32 | } else {
|
33 | console.log(`Off-Roku BrightScript interpreter [Version ${packageJson.version}]`);
|
34 | console.log("");
|
35 | brs.repl();
|
36 | }
|
37 | })
|
38 | .version(packageJson.version, "-v, --version")
|
39 | .parse(process.argv);
|