Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function killServers(exitCode) {
logger.info('Cleaning up running servers');
if (seleniumServer) {
logger.info('Closing selenium server');
seleniumServer.kill();
seleniumServer = null;
}
// Catch protractor's "Kitchen Sink" error.
if (exitCode === 199) {
logger.warn('Supressing protractor\'s "kitchen sink" error 199');
exitCode = 0;
}
server.stop();
logger.info(`Execution Time: ${(new Date().getTime() - start) / 1000} seconds`);
logger.info(`Exiting process with ${exitCode}`);
process.exit(exitCode || 0);
}
function killServers(exitCode) {
logger.info('Cleaning up running servers');
if (seleniumServer) {
logger.info('Closing selenium server');
seleniumServer.kill();
seleniumServer = null;
}
// Catch protractor's "Kitchen Sink" error.
if (exitCode === 199) {
logger.warn('Supressing protractor\'s "kitchen sink" error 199');
exitCode = 0;
}
server.stop();
logger.info(`Execution Time: ${(new Date().getTime() - startTime) / 1000} seconds`);
logger.info(`Exiting process with ${exitCode}`);
process.exit(exitCode || 0);
}
platform,
skyPagesConfigUtil.outPath(),
''
);
// Using glob so we can find skyux-builder-config regardless of npm install location
let external = glob.sync(getPath(
command,
platform,
process.cwd(),
'node_modules/**/skyux-builder-config/'
));
let config;
if (external.length > 1) {
logger.warn(`Found multiple external config files.`);
external = external.slice(0, 1);
}
if (external.length === 1) {
logger.info(`Using external config ${external[0]}`);
config = external[0];
} else if (fs.existsSync(internal)) {
logger.info(`Using internal config ${internal}`);
config = internal;
} else {
logger.error('Error locating a config file.');
process.exit(1);
}
return config;
}
compiler.run((err, stats) => {
if (err) {
return reject(err);
}
const jsonStats = stats.toJson();
if (jsonStats.errors.length) {
return reject(jsonStats.errors);
}
if (jsonStats.warnings.length) {
logger.warn(jsonStats.warnings);
}
// Normal logging is handled by SimpleProgressWebpackPlugin in common.webpack.config.js
resolve(stats);
});
});
function safeFileWrite(pathParts, fileName, fileContent, force) {
const resolvedFileName = path.resolve('src', 'app', ...pathParts, fileName);
const resolvedFileExists = fs.existsSync(resolvedFileName);
if (resolvedFileExists && !force) {
logger.warn(`${resolvedFileName} already exists. Use --force to overwrite.`);
return;
}
if (resolvedFileExists) {
logger.warn(`${resolvedFileName} already exists. Forcefully overwriting.`);
}
fs.ensureDirSync(path.resolve('src', 'app', ...pathParts));
fs.writeFileSync(resolvedFileName, fileContent);
logger.info(`Successfully created ${resolvedFileName}.`);
}
function safeFileWrite(pathParts, fileName, fileContent, force) {
const resolvedFileName = path.resolve('src', 'app', ...pathParts, fileName);
const resolvedFileExists = fs.existsSync(resolvedFileName);
if (resolvedFileExists && !force) {
logger.warn(`${resolvedFileName} already exists. Use --force to overwrite.`);
return;
}
if (resolvedFileExists) {
logger.warn(`${resolvedFileName} already exists. Forcefully overwriting.`);
}
fs.ensureDirSync(path.resolve('src', 'app', ...pathParts));
fs.writeFileSync(resolvedFileName, fileContent);
logger.info(`Successfully created ${resolvedFileName}.`);
}