UNPKG

harsta

Version:

Harsta is a contract development tool based on Hardhat, designed to streamline the development, testing, and referencing of contracts, addresses, ABIs, and contract instances.

32 lines (26 loc) 1.27 kB
import fs from 'fs-extra' import type { Environment } from 'hardhat/internal/core/runtime-environment' import { absolutePaths } from '../../constants' export async function ensureDirectories(env: Environment, clean?: boolean) { clean && await env.run('clean') await Promise.all([ clean && fs.remove(absolutePaths.generateFactoriesFragments), clean && fs.remove(absolutePaths.generateContractsFragments), clean && fs.remove(absolutePaths.generateFactoriesTypechain), clean && fs.remove(absolutePaths.generateContractsTypechain), clean && fs.remove(absolutePaths.generateFactories), clean && fs.remove(absolutePaths.generateContracts), clean && fs.remove(absolutePaths.packSources), ]) const isExistsUserContracts = fs.existsSync(absolutePaths.userSources) if (isExistsUserContracts) await fs.copy(absolutePaths.userSources, absolutePaths.packSources) await Promise.all([ fs.ensureDir(absolutePaths.generateFactoriesFragments), fs.ensureDir(absolutePaths.generateContractsFragments), fs.ensureDir(absolutePaths.generateFactoriesTypechain), fs.ensureDir(absolutePaths.generateContractsTypechain), fs.ensureDir(absolutePaths.generateFactories), fs.ensureDir(absolutePaths.generateContracts), ]) }