Package Exports
- hardhat-package
- hardhat-package/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hardhat-package) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-packageUsage
Add to your hardhat.config.ts
import "hardhat-package"Running
npx hardhat packageConfiguration
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 *
}
]
}
}