fz-react-cli
Version:
A CLI tool for build modern web application and libraries
63 lines (58 loc) • 1.81 kB
JavaScript
;
var jest = require('jest');
var argv = process.argv.slice(2);
var fs = require('fs');
var coverageList = require('./coverage.js');
var testBranch = process.env.npm_config_test_branch || 'master';
var compareBranch = process.env.npm_config_compare_branch || 'master';
var serviceName = process.env.npm_config_service_name || 'ZohoDeskReactApp';
var domainUrl =
process.env.npm_config_impact_api || 'desk-qa-impact.tsi.zohocorpin.com:8080';
var appFolder = process.env.npm_config_app_folder || 'src';
var coverage = process.env.npm_config_commit_coverage || false;
var config = require('./config/jest.config');
if (coverage) {
coverageList(testBranch, compareBranch, serviceName, domainUrl).then(function(
resObj
) {
if (resObj.STATUS) {
if (resObj.LIST.length > 0) {
let content = {
FILES: resObj.LIST
};
if (!fs.existsSync('./coverageTest')) {
fs.mkdirSync('./coverageTest');
fs.writeFileSync(
'./coverageTest/result.json',
JSON.stringify(content),
'utf8'
);
} else {
fs.writeFileSync(
'./coverageTest/result.json',
JSON.stringify(content),
'utf8'
);
}
argv.push('--findRelatedTests');
argv = argv.concat(resObj.LIST);
argv = argv.concat([
'--config',
JSON.stringify(config(appFolder, true))
]);
jest.run(argv);
} else {
console.log('No Js changes');
}
} else {
if (resObj.REASON == 'Service Down') {
console.log(resObj.REASON);
} else {
console.log(resObj.REASON);
}
}
});
} else {
argv.push('--config', JSON.stringify(config(appFolder)), '--no-cache');
jest.run(argv);
}