Files
kami-parse-server/src/cli/utils/runner.js

49 lines
1.1 KiB
JavaScript

import program from './commander';
function logStartupOptions(options) {
if (!options.verbose) {
return;
}
// Keys that may include sensitive information that will be redacted in logs
const keysToRedact = [
'databaseURI',
'masterKey',
'maintenanceKey',
'push',
];
for (const key in options) {
let value = options[key];
if (keysToRedact.includes(key)) {
value = '<REDACTED>';
}
if (typeof value === 'object') {
try {
value = JSON.stringify(value);
} catch (e) {
if (value && value.constructor && value.constructor.name) {
value = value.constructor.name;
}
}
}
/* eslint-disable no-console */
console.log(`${key}: ${value}`);
/* eslint-enable no-console */
}
}
export default function ({ definitions, help, usage, start }) {
program.loadDefinitions(definitions);
if (usage) {
program.usage(usage);
}
if (help) {
program.on('--help', help);
}
program.parse(process.argv, process.env);
const options = program.getOptions();
start(program, options, function () {
logStartupOptions(options);
});
}