UNPKG

create-web3-dapp-dev

Version:

<p align="center"> <br /> <a href="https://createweb3dapp.alchemy.com"> <img src=".github/images/cw3d-logo.png" width="200" alt=""/></a> <br /> </p>

46 lines 1.78 kB
import path from "path"; import { createWriteStream, mkdirSync } from "fs"; import { generateAlchemyURL } from "../utils/generateAlchemyUrl.js"; export const setUpHardhat = (dappInfo, projectPath) => { if (!dappInfo.isTemplate || dappInfo.backendProvider != "hardhat-template") { mkdirSync(path.join(process.cwd(), "backend")); mkdirSync(path.join(process.cwd(), "backend", "contracts")); mkdirSync(path.join(process.cwd(), "backend", "scripts")); mkdirSync(path.join(process.cwd(), "backend", "test")); } const writeStream = createWriteStream(path.join(projectPath, "backend", "hardhat.config.js")); writeStream.write("require('@nomicfoundation/hardhat-toolbox');\n"); writeStream.write("require('dotenv').config()\n\n"); const modules = { solidity: { version: "0.8.9", settings: { optimizer: { enabled: true, }, }, }, allowUnlimitedContractSize: true, networks: { hardhat: {}, [dappInfo.chain]: { accounts: "[`${process.env.PRIVATE_KEY}`]", url: generateAlchemyURL(dappInfo.chain), }, [dappInfo.testnet]: { accounts: "[`${process.env.PRIVATE_KEY}`]", url: generateAlchemyURL(dappInfo.testnet), }, }, etherscan: { apiKey: "`${process.env.ETHERSCAN_API_KEY}`", }, paths: { artifacts: "'../fronted/artifacts'", }, }; writeStream.write(`module.exports = ${JSON.stringify(modules, null, "\t").replace(/"(?!\d\.\d\.\d)([^",]+)"/g, "$1")}`); writeStream.close(); }; //# sourceMappingURL=setupHardhat.js.map