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>

59 lines 2.79 kB
import { LogLevel, selfDestroy } from "./selfDestroy.js"; import { execSync } from "child_process"; import path from "path"; import fse from "fs-extra"; import { setUpHardhat } from "../backend_helpers/setupHardhat.js"; import { createEnv } from "../utils/createEnv.js"; import { cleanUpFiles } from "../utils/cleanUpFiles.js"; import { getDefaultRainbowkitChain } from "../utils/getDefaultRainbowkitChain.js"; import fs from "fs"; import { gitIgnoreTemplate } from "../utils/gitignore.template.js"; import { FileExtensions, getTemplateFiles, } from "../templates_records/templatesDB.js"; export const getProjectFiles = ({ resolvedProjectPath, dappInfo, }) => { try { if (!resolvedProjectPath || !dappInfo) return; process.chdir(resolvedProjectPath); if (dappInfo.isTemplate) { execSync(`git clone --quiet ${getTemplateFiles(dappInfo.template, dappInfo.isTypescript ? FileExtensions.TYPESCRIPT : undefined)} .`); } else { if (dappInfo.isTypescript) { execSync(`git clone --quiet ${"https://github.com/Eversmile12/cw3d-evm-boilerplates-typescript"} .`); } else { execSync(`git clone --quiet ${"https://github.com/alchemyplatform/cw3d-evm-boilerplate"} .`); } } if (!dappInfo.useBackend) { const frontend = path.join(process.cwd(), "frontend"); fse.copySync(frontend, process.cwd()); fs.writeFileSync(".gitignore", gitIgnoreTemplate); } if (dappInfo.useBackend) { fs.writeFileSync(path.join("frontend", ".gitignore"), gitIgnoreTemplate); switch (dappInfo.backendProvider) { case "hardhat-template": case "hardhat": setUpHardhat(dappInfo, resolvedProjectPath); break; case "foundry": break; default: break; } createEnv(Object.assign(Object.assign({}, dappInfo.apiKeys), { ETHERSCAN_API_KEY: "", PRIVATE_KEY: "" }), path.join(resolvedProjectPath, "backend"), false); fs.writeFileSync(path.join("backend", ".gitignore"), gitIgnoreTemplate); } createEnv(Object.assign(Object.assign({}, dappInfo.apiKeys), { ALCHEMY_NETWORK: dappInfo.testnet, NEXT_PUBLIC_ALCHEMY_NETWORK: dappInfo.testnet, NEXT_PUBLIC_DEFAULT_CHAIN: getDefaultRainbowkitChain(dappInfo.testnet) }), dappInfo.useBackend ? path.join(process.cwd(), "frontend") : process.cwd(), true); cleanUpFiles(dappInfo.useBackend); } catch (e) { selfDestroy(e, LogLevel.ERROR); } }; //# sourceMappingURL=getProjectFiles.js.map