@xplorfin/hardhat-solc-excludes
v0.1.1
Published
Enables the exclusion of directories and individual Solidity files from compilation in Hardhat projects.
Downloads
10
Readme
hardhat-solc-excludes
Sometimes, you want to exclude certain files or directories from being compiled by Hardhat. Unfortunately, there's no inbuilt way to do that.
Enter hardhat-solc-excludes.
By importing hardhat-solc-excludes (import @xplorfin/hardhat-solc-excludes
), Hardhat's Solidity configuration
interface is extended with an excludes
sub-object, which looks something like
interface SolcExcludes {
files?: string[],
directories?: string[],
}
The internal Hardhat subtask responsible for gathering the list of Solidity files to compile is overridden
with one that does more or less the same thing, save for filtering out files and directories which are defined
in the excludes
object.
Installation
- Yarn:
yarn add --dev @xplorfin/hardhat-solc-excludes
- NPM:
npm i --save-dev @xplorfin/hardhat-solc-excludes
Usage
// hardhat.config.ts
// make sure hardhat-solc-excludes is imported somewhere close to the top of your hardhat config file.
import {HardhatUserConfig} from "hardhat/types";
import "@xplorfin/hardhat-solc-excludes";
const hardhatConfig: HardhatUserConfig = {
/* your hardhat config goes here */
solidity: {
compilers: [
{
version: "0.7.6",
settings: {/*...*/},
},
{
version: "0.6.12",
settings: {/*...*/},
// Exclude files/directories at the compiler level
excludes: {
files: ["MyContractToExclude.sol"]
}
}
],
// Exclude files/directories at the global config level (applies to ALL compilers)
excludes: {
directories: [
"contracts/directory_to_exclude"
]
}
}
};
export default hardhatConfig;
Contributing/Issues
Issues
Open an issue on GitHub, and we'll take a look.
Pull Requests (Features, bug fixes, etc.)
Open an issue and accompanying pull request on GitHub, and we'll review it from there.
This project is licensed under the MIT license, which means you can modify it however you'd like. That being said, if you're (legally, morally, etc.) able to push your changes upstream, please do!