@ganache/ethereum-options
Version:
65 lines • 2.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoggingOptions = void 0;
const helpers_1 = require("./helpers");
const fs_1 = require("fs");
const utils_1 = require("@ganache/utils");
const os_1 = require("os");
exports.LoggingOptions = {
debug: {
normalize: helpers_1.normalize,
cliDescription: "Set to `true` to log EVM opcodes.",
default: () => false,
legacyName: "debug",
cliType: "boolean"
},
quiet: {
normalize: helpers_1.normalize,
cliDescription: "Set to `true` to disable writing logs to `logger.log` (`stdout` by default).",
default: () => false,
cliAliases: ["q", "quiet"],
cliType: "boolean"
},
verbose: {
normalize: helpers_1.normalize,
cliDescription: "Set to `true` to log detailed RPC requests.",
default: () => false,
legacyName: "verbose",
cliAliases: ["v", "verbose"],
cliType: "boolean"
},
file: {
normalize: (raw) => {
let descriptor;
try {
descriptor = (0, fs_1.openSync)(raw, "a");
}
catch (err) {
const details = err.message;
throw new Error(`Failed to open log file ${raw}. Please check if the file path is valid and if the process has write permissions to the directory.${os_1.EOL}${details}`);
}
return descriptor;
},
cliDescription: "The file to append logs to.",
cliType: "string"
},
logger: {
normalize: (logger, config) => {
return (0, utils_1.createLogger)({
file: config.file,
baseLogger: logger
});
},
cliDescription: "An object, like `console`, that implements a `log` function.",
disableInCLI: true,
default: config => {
const baseLogger = config.quiet ? { log: () => { } } : console;
return (0, utils_1.createLogger)({
file: config.file,
baseLogger
});
},
legacyName: "logger"
}
};
//# sourceMappingURL=logging-options.js.map