1.0.0-next.5 • Published 5 months ago
@solidstate/hardhat-git v1.0.0-next.5
Hardhat Git
Isolated HRE execution based on Git revisions.
Installation
npm install --save-dev @solidstate/hardhat-git
# or
pnpm add -D @solidstate/hardhat-gitUsage
This plugin is primarily intended to be a dependency for other plugins. It exposes a custom HRE factory which does the following:
- Create a temporary clone of the current repository.
- Check out the specified git revision.
- Install NPM dependencies.
The returned HRE instance can be used just like a standard HRE.
See the @solidstate/hardhat-contract-sizer and @solidstate/hardhat-storage-layout-diff packages for implementation examples.
Load the factory and checkout a git revision:
import { createHardhatRuntimeEnvironmentAtGitRev } from '@solidstate/hardhat-git';
const gitHre = await createHardhatRuntimeEnvironmentAtGitRev(hre, 'HEAD~1');Optionally declare the plugin as a dependency to expose the helper tasks:
const plugin: HardhatPlugin = {
dependencies: [
async () => {
const { default: HardhatGit } = await import('@solidstate/hardhat-git');
return HardhatGit;
},
],
};Load plugin standalone in Hardhat config:
import HardhatGit from '@solidstate/hardhat-git';
const config: HardhatUserConfig = {
plugins: [
HardhatGit,
],
git: {
... // see table for configuration options
},
};Add configuration under the git key:
| option | description | default |
|---|---|---|
npmInstall | Command used to install NPM dependencies in repository clones | inferred via package-manager-detector, falls back to'npm install' |
Development
Install dependencies via pnpm:
pnpm installSetup Husky to format code on commit:
pnpm prepare1.0.0-next.5
5 months ago
1.0.0-next.4
5 months ago
1.0.0-next.3
6 months ago
1.0.0-next.2
6 months ago
1.0.0-next.1
6 months ago
1.0.0-next.0
6 months ago