packages/cli/bin/tractor
#!/usr/bin/env node
'use strict';
// Dependencies:
const { Tractor } = require('@tractor/tractor');
const cli = require('commander');
const { version } = require('../package.json');
// Actions:
const { init, patch, start, upgrade } = require('../dist');
cli
.version(version)
.option('-c, --config [value]', 'Path to configuration file from CWD (defaults to ./tractor.conf.js)');
cli
.command('init')
.description('initialise tractor in a project')
.action(() => run(cli.config, init));
cli
.command('patch')
.description('Patch protractor/selenium to resolve issues')
.action(patch);
cli
.command('start', { isDefault: true })
.description('Start the tractor server')
.action(() => run(cli.config, start));
cli
.command('upgrade')
.description('Upgrade tractor plugin files')
.action(() => run(cli.config, upgrade));
cli.parse(process.argv);
function run (configPath, command) {
const tractor = new Tractor(process.cwd(), configPath);
return tractor.call(command);
}