creevey
Version:
Cross-browser screenshot testing tool for Storybook with fancy UI Runner
56 lines • 2.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const cluster_1 = __importDefault(require("cluster"));
const minimist_1 = __importDefault(require("minimist"));
const index_js_1 = __importDefault(require("./server/index.js"));
const types_js_1 = require("./types.js");
const messages_js_1 = require("./server/messages.js");
const utils_js_1 = require("./server/utils.js");
const loglevel_1 = __importDefault(require("loglevel"));
const logger_js_1 = require("./server/logger.js");
function shutdownOnException(reason) {
if (utils_js_1.isShuttingDown.current)
return;
const error = reason instanceof Error ? (reason.stack ?? reason.message) : reason;
(0, logger_js_1.logger)().error(error);
process.exitCode = -1;
if (cluster_1.default.isWorker)
(0, messages_js_1.emitWorkerMessage)({ type: 'error', payload: { error } });
if (cluster_1.default.isPrimary)
void (0, utils_js_1.shutdownWorkers)();
}
process.on('uncaughtException', shutdownOnException);
process.on('unhandledRejection', shutdownOnException);
if (cluster_1.default.isWorker)
process.on('SIGINT', types_js_1.noop);
if (cluster_1.default.isPrimary)
process.on('SIGINT', utils_js_1.shutdown);
const argv = (0, minimist_1.default)(process.argv.slice(2), {
string: ['browser', 'config', 'reporter', 'reportDir', 'screenDir', 'storybookUrl'],
boolean: ['debug', 'trace', 'ui', 'saveReport', 'tests'],
default: { port: 3000, saveReport: true },
alias: { port: 'p', config: 'c', debug: 'd', update: 'u' },
});
if ('port' in argv && !isNaN(argv.port))
argv.port = Number(argv.port);
if ('browser' in argv && argv.browser)
(0, logger_js_1.setRootName)(argv.browser);
// @ts-expect-error: define log level for storybook
global.LOGLEVEL = argv.trace ? 'trace' : argv.debug ? 'debug' : 'warn';
if (argv.trace) {
(0, logger_js_1.logger)().setDefaultLevel(loglevel_1.default.levels.TRACE);
loglevel_1.default.setDefaultLevel(loglevel_1.default.levels.TRACE);
}
else if (argv.debug) {
(0, logger_js_1.logger)().setDefaultLevel(loglevel_1.default.levels.DEBUG);
loglevel_1.default.setDefaultLevel(loglevel_1.default.levels.DEBUG);
}
else {
(0, logger_js_1.logger)().setDefaultLevel(loglevel_1.default.levels.INFO);
loglevel_1.default.setDefaultLevel(loglevel_1.default.levels.INFO);
}
void (0, index_js_1.default)(argv);
//# sourceMappingURL=creevey.js.map