40 lines
977 B
TypeScript

import readline from "node:readline/promises";
import chalk from "chalk";
import { Board } from "johnny-five";
import { selectPort } from "./ports";
import { run } from "./server";
import { suBoard } from "./setup";
import { cfg } from "./setup/config";
import { getPublicIp } from "./utils/network";
async function questions () {
const line = readline.createInterface({
input: process.stdin,
output: process.stdout
})
const exposeHost = await line.question("Run in public network? (y/n) ");
if (exposeHost.toLowerCase() == "y") {
console.warn(chalk.yellow("Running a server on a public host may not be able to use the socket.io api"));
cfg.server.host = getPublicIp();
}
line.close();
}
export default async function main () {
const port = await selectPort();
await questions();
console.log(`Selected port ${port}`);
cfg.port = port;
suBoard.board = new Board({
port: port,
debug: false,
repl: false
});
run();
}