1.0.0-beta.16 • Published 9 months ago

hardhat-package v1.0.0-beta.16

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Hardhat Package

Neatly exports your solidity files and artifacts into a packaged folder. This is useful for deployment processes.

Install

# yarn
yarn add -D hardhat-package
# npm
npm i --save-dev hardhat-package

Usage

Add to your hardhat.config.ts

import "hardhat-package"

Running

npx hardhat package

Configuration

Configure the packager by adding a package to the config.

import {HardhatConfig} from "hardhat/types";

const config: HardhatConfig = {
    package: {
        // whether or not to export the artifacts
        artifacts: true, // defaults true
        // whether or not to default the abis in a separate folder
        abis: true, // default true
        // where to output the package contents
        outDir: 'custom-package-dir', // default "package"  
        // where to get the contracts from
        sources: 'contracts/customer-dir', // default "contracts"
        // the esbuild options. please refer to esbuild configuration file.
        buildConfig: {},
        // a custom filter to add which will exclude specific solidity files.
        filter: file => !file.includes('test'), // defaults to this method
        // a list of copy configs of files to additionally copy over into the package
        copy: [
            {
                // can be a file or directory of the location to copy
                src: 'src/utils',
                // the destination
                dest: 'utils',
                // whether or not the file should be exported from index.ts
                exported: true, // defaults to undefined (false)
                // if the file is exported, it will export * as this value
                exportedAs: 'utils', // defaults undefined which is just export *
            }
        ]
    }
}