@solarity/hardhat-markup
Version:
Customizable markdown smart contracts documentation
31 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDefaultMarkupConfig = void 0;
const plugins_1 = require("hardhat/plugins");
const path_1 = require("path");
const constants_1 = require("./constants");
const getDefaultMarkupConfig = (resolvedConfig, config) => {
const defaultConfig = {
outdir: "./generated-markups",
onlyFiles: [],
skipFiles: [],
noCompile: false,
verbose: false,
};
if (config.markup === undefined) {
resolvedConfig.markup = defaultConfig;
return;
}
if (!areRelativePaths(config.markup.onlyFiles)) {
throw new plugins_1.NomicLabsHardhatPluginError(constants_1.pluginName, "config.markup.onlyFiles must only include relative paths");
}
if (!areRelativePaths(config.markup.skipFiles)) {
throw new plugins_1.NomicLabsHardhatPluginError(constants_1.pluginName, "config.markup.skipFiles must only include relative paths");
}
const { cloneDeep } = require("lodash");
const customConfig = cloneDeep(config.markup);
resolvedConfig.markup = { ...defaultConfig, ...customConfig };
};
exports.getDefaultMarkupConfig = getDefaultMarkupConfig;
const areRelativePaths = (array) => array === undefined || array.every((p) => !(0, path_1.isAbsolute)(p));
//# sourceMappingURL=config.js.map