66 lines
1.3 KiB
JavaScript
66 lines
1.3 KiB
JavaScript
"use strict";
|
|
|
|
const debug = require('debug')('cypress:cli');
|
|
|
|
const util = require('../util');
|
|
|
|
const spawn = require('./spawn');
|
|
|
|
const verify = require('../tasks/verify');
|
|
|
|
const {
|
|
processTestingType
|
|
} = require('./shared');
|
|
|
|
module.exports = {
|
|
start(options = {}) {
|
|
if (!util.isInstalledGlobally() && !options.global && !options.project) {
|
|
options.project = process.cwd();
|
|
}
|
|
|
|
const args = [];
|
|
|
|
if (options.config) {
|
|
args.push('--config', options.config);
|
|
}
|
|
|
|
if (options.configFile !== undefined) {
|
|
args.push('--config-file', options.configFile);
|
|
}
|
|
|
|
if (options.browser) {
|
|
args.push('--browser', options.browser);
|
|
}
|
|
|
|
if (options.env) {
|
|
args.push('--env', options.env);
|
|
}
|
|
|
|
if (options.port) {
|
|
args.push('--port', options.port);
|
|
}
|
|
|
|
if (options.project) {
|
|
args.push('--project', options.project);
|
|
}
|
|
|
|
args.push(...processTestingType(options.testingType));
|
|
debug('opening from options %j', options);
|
|
debug('command line arguments %j', args);
|
|
|
|
function open() {
|
|
return spawn.start(args, {
|
|
dev: options.dev,
|
|
detached: Boolean(options.detached),
|
|
stdio: 'inherit'
|
|
});
|
|
}
|
|
|
|
if (options.dev) {
|
|
return open();
|
|
}
|
|
|
|
return verify.start().then(open);
|
|
}
|
|
|
|
}; |