UNPKG

1.31 kBJavaScriptView Raw
1#!/usr/bin/env node
2const program = require("commander");
3const fs = require("fs");
4const path = require("path");
5
6const brs = require("../lib/");
7
8// read current version from package.json
9// I'll _definitely_ forget to do this one day
10const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json")));
11
12program
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);