You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Magister-Auto-Login/src/builder/index.js

38 lines
988 B

const { join } = require('path');
const { program } = require('commander');
const config = require(join(process.cwd(), 'builder.config.js'));
const validBrowsers = ['chrome', 'firefox', 'edge']
const srcDir = join(process.cwd(), config.root);
const distDir = join(process.cwd(), config.out);
const { builder } = require('./builders');
program
.option(`-t, --target <${validBrowsers.join(' | ')}>`, 'set the target browser')
program.parse(process.argv);
const options = program.opts();
const target = options.target.toLowerCase() || 'chrome'
if (!validBrowsers.includes(target)) {
console.log('Error: invalid target browser, please specify one of the following: ' + validBrowsers.join(', '));
process.exit();
}
process.env.TARGET_BROWSER = target;
if (config.interpreter) {
config.interpreter.forEach((interpreter) => {
const input = join(srcDir, interpreter.input);
const output = join(distDir, interpreter.output);
builder(input, output, interpreter.type);
});
}