Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
.option('-f, --folder [value]', 'path of the folder containain json to update');
program.on('--help', () => {
console.log('To update your project settings : ');
console.log('> node bin/migrate_actions_settings_expressions.js --path ../yourapp/settings.json');
console.log('If your project use a folder with multiple json');
console.log('> node migrate_actions_settings_expressions.js --folder ../yourapp/settings');
});
program.parse(process.argv);
if (!program.path && !program.folder) {
throw new Error('You must path either -p or -f');
}
if (program.debug) {
console.log(`use stack version ${stackVersion}`);
}
// ---------------------
// -- Utility functions
// ---------------------
function readFolderContent(folder) {
console.log('scan ', folder);
fs.readdirSync(folder).forEach(path => {
const fullpath = pathLib.join(folder, path);
if (path.endsWith('.json')) {
JSONs.push(fullpath);
} else {
readFolderContent(fullpath);
}
});
async function healthcheck () {
const endpoint = `http://localhost:${program.port}${program.api ? program.apiPrefix : ''}/healthcheck`
const compilers = {
message: _.template(program.messageTemplate),
link: _.template(program.linkTemplate)
}
let previousError
try {
const previousHealthcheck = readFromLog()
previousError = previousHealthcheck.error
const response = await utils.promisify(request.get)(endpoint)
const data = JSON.parse(response.body)
if (program.debug) {
console.log('Current healthcheck output read from service', data)
console.log('Previous healthcheck output read from log', previousHealthcheck)
}
if (response.statusCode === 200) {
// Fault-tolerant jobs always return 200, we use more criteria to check for health status
if (_.has(data, 'successRate') && (data.successRate < program.successRate)) {
data.error = { code: 'HEALTHCHECK_SUCCESS_RATE', message: `Insufficient success rate (${data.successRate.toFixed(2)})` }
}
if (data.nbSkippedJobs >= program.nbSkippedJobs) {
data.error = { code: 'HEALTHCHECK_SKIPPED_JOBS', message: `Too much skipped jobs (${data.nbSkippedJobs})` }
}
if ((program.maxDuration > 0) && (data.duration > program.maxDuration)) {
data.error = { code: 'HEALTHCHECK_DURATION', message: `Too much slow execution (${data.duration}s)` }
}
}
writeToLog(data)
if (program.obj) {
if (exists(program.obj)) {
options = JSON.parse(fs.readFileSync(program.obj));
} else {
options = eval('(' + program.obj + ')');
}
}
// --filename
if (program.path) options.filename = program.path;
// --no-debug
options.compileDebug = program.debug;
// --client
options.client = program.client;
// --pretty
options.pretty = program.pretty;
// --watch
options.watch = program.watch;
// left-over args are file paths
var files = program.args;
program = require('commander'),
download = require('../downloaders/default'),
logger = require('../helpers').logger,
redis = require('../helpers/redis'),
EventEmitter = require('events').EventEmitter;
var app = new EventEmitter();
var stop = false;
program
.version('0.0.1')
.option('-v, --verbose', 'Verbose flag')
.option('-d, --debug', 'Debug flag')
.parse(process.argv);
logger.level(program.debug ? 'debug' : program.verbose ? 'info' : 'error');
if (!redis) {
logger.error('Unable to start Resource Downloader daemon. Redis not configured.');
process.exit(1);
}
logger.info('Starting Resource Downloader...');
_.each(['SIGINT', 'SIGTERM', 'SIGQUIT'], function(signal) {
process.on(signal, function() {
logger.info('Stopping Resource Downloader...');
stop = true;
});
});
redis.on('connect', function() {
options.tag = false;
}
if (program.version_name){
options.version_name = program.version_name;
}
if (program.app_name){
options.app_name = program.app_name;
}
if (program.branch){
options.branch = program.branch;
console.log(' - Branch %s', program.branch);
}
if (program.debug){
console.log('Debug enabled');
options.debug = program.debug;
}
if (program.file){
options.file = program.file;
}
if (program.template){
options.template = program.template;
}
if (program.changelogrc){
options.changelogrc = program.changelogrc;
}
async function show(sessionId, date) {
date = parse(date || new Date());
const data = await api.getPeriod(sessionId, date, addDays(date, 7));
program.debug && console.log(JSON.stringify(data, null, 2));
const headers = [
'Project',
'Task',
'Description',
...data.DayTotals.map(day => format(parse(day.TheDate), 'DD/MM')),
'Text',
'Key'
];
const table = new Table({ head: headers });
const lines = transformLines(data);
lines.forEach(line => {
const {
key,
.catch(function(err) {
if (program && program.debug && err.stack) {
console.error('DEBUG:', err.stack);
if (typeof err.annotate === 'function') {
console.error('Annotated Error Details:');
console.error(err.annotate());
}
} else {
console.error(err.message || err.toString());
}
console.error('---');
console.error('Exiting Screener Storybook');
console.error('Run with --debug flag to log additional information');
console.error('Need help? Contact: help@saucelabs.com');
var exitCode = 1;
if (config && typeof config.failureExitCode === 'number' && config.failureExitCode > 0) {
exitCode = config.failureExitCode;
}
program.request = function (opts, next) {
if (program.debug) {
program.log('REQUEST: '.bold + JSON.stringify(opts, null, 2));
} else {
program.log(opts.uri);
}
status.start();
return request(opts, function (err, res, body) {
status.stop();
if (err) {
if (program.debug) {
program.errorMessage(err.message);
}
return next(err, res, body);
}
else {
if (program.debug) {
program.log('RESPONSE: '.bold + JSON.stringify(res.headers, null, 2));
var debug = false;
//是否压缩
var archive = false;
//-f命令
if (program.file) {
filename = program.file;
}
//-o命令
if (program.open) {
is_open = program.open;
}
//-d命令
if (program.debug) {
debug = program.debug;
}
//-a命令
if (program.archive) {
archive = program.archive;
}
//源文件目录 带后缀(默认是相对路径)
var source_file_path = pwd + '/' + filename;
//根据首字母判断相对路径和绝对路径
var first_char=filename.substr(0,1);
if(first_char=='.'){
source_file_path = pwd + '/' + filename;
}else if(first_char=='/'){
source_file_path=filename;
}
var express = require('express');
var commander = require('commander');
var https = require('https');
var http = require('http');
var fs = require('fs');
var crypto = require('crypto');
var app = express();
commander
.version('0.0.1')
.option('-d, --debug', 'Debug env')
.option('-p, --port ', 'HTTP port', parseInt)
.parse(process.argv);
app.set('port', commander.port? commander.port: 8888);
app.set('env', commander.debug? 'debug': 'release');
app.set('tmp', __dirname + '/tmp/');
app.set('public', __dirname + '/../dist/');
app.set('tmp', app.get('public') + '/tmp/');
app.set('expires', (app.get('env') === 'debug')? 0 : 60*60*24*14 * 1000);
app.configure(function(){
app.use(express.compress());
app.use(express.bodyParser());
app.use(express.static(app.get('public'), { maxAge: app.get('expires') }));
});
fs.mkdir(app.get('tmp'), 0777, function (err) {
});
function my_random() {