UNPKG

@solarity/hardhat-markup

Version:

Customizable markdown smart contracts documentation

48 lines 2.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Generator_1 = require("./generator/Generator"); const task_names_1 = require("hardhat/builtin-tasks/task-names"); const config_1 = require("hardhat/config"); const plugins_1 = require("hardhat/plugins"); const config_2 = require("./config"); const constants_1 = require("./constants"); require("./type-extensions"); (0, config_1.extendConfig)(config_2.getDefaultMarkupConfig); const markup = async ({ outdir, markupVerbose, noCompile }, hre) => { hre.config.markup.outdir = outdir === undefined ? hre.config.markup.outdir : outdir; hre.config.markup.noCompile = !noCompile ? hre.config.markup.noCompile : noCompile; hre.config.markup.verbose = !markupVerbose ? hre.config.markup.verbose : markupVerbose; if (!hre.config.markup.noCompile) { await hre.run(task_names_1.TASK_COMPILE); } try { const contracts = await new Generator_1.Generator(hre).generate(); console.log(`\nGenerated markups for ${contracts.length} contracts`); } catch (e) { throw new plugins_1.NomicLabsHardhatPluginError(constants_1.pluginName, e.message); } }; (0, config_1.task)(constants_1.TASK_MARKUP, "Generate markups for compiled contracts") .addOptionalParam("outdir", "Output directory for generated markups", undefined, config_1.types.string) .addFlag("noCompile", "Disables contract compilation before generation") .addFlag("markupVerbose", "Enables Hardhat-markup verbose logging") .setAction(markup); (0, config_1.task)(task_names_1.TASK_COMPILE).setAction(async function (args, hre, runSuper) { for (let compiler of hre.config.solidity.compilers) { compiler.settings.outputSelection["*"]["*"].push("devdoc"); compiler.settings.outputSelection["*"]["*"].push("userdoc"); } await runSuper(); }); (0, config_1.task)(task_names_1.TASK_CLEAN, "Clears the cache and deletes all artifacts").setAction(async ({ global }, hre, runSuper) => { if (!global) try { await new Generator_1.Generator(hre).clean(); } catch (e) { throw new plugins_1.NomicLabsHardhatPluginError(constants_1.pluginName, e.message); } await runSuper(); }); //# sourceMappingURL=index.js.map