"use strict"; const path = require("path"); const chalk = require("chalk"); const process = require("process"); const unhandledError = require("unhandled-error"); unhandledError((error) => { console.log(""); console.log(chalk.bold.red("An unexpected error occurred, and Browservis will now exit. Please report this on the bugtracker!")); console.log(chalk.gray(error.stack)); console.log(error); // TODO: Remove this }); const yargs = require("yargs"); const budoExpress = require("budo-express"); let argv = yargs .demandCommand(2) .parse(); let [ componentSource, processPath, ... processArguments ] = argv._; let absoluteComponentSource = path.join(process.cwd(), componentSource); let absoluteProcessPath = path.join(process.cwd(), processPath); const app = require("../src/server/index.js")({ componentSource, absoluteComponentSource, processPath, absoluteProcessPath, processArguments }); budoExpress({ port: 5990, developmentMode: true, expressApp: app, basePath: path.join(__dirname, ".."), entryFiles: "src/client/index.jsx", staticPath: "public", bundlePath: "js/bundle.js", livereloadPattern: "**/*.{css,html,js,svg}", browserify: { extensions: [".jsx"], transform: [ [require.resolve("babelify"), { presets: [ require.resolve("@babel/preset-env"), require.resolve("@babel/preset-react") ], }], [require.resolve("aliasify"), { aliases: { "__internal_display_component": absoluteComponentSource } }], [require.resolve("brfs")] ] } });