File tree Expand file tree Collapse file tree
builtin-plugins/solidity/hook-handlers Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ---
2+ " hardhat " : patch
3+ ---
4+
5+ Optimize the ` HookManager ` and the ` coverage ` plugin
Original file line number Diff line number Diff line change @@ -21,7 +21,14 @@ import type {
2121 CompilerOutputError ,
2222} from "../../../../types/solidity/compiler-io.js" ;
2323import type { SolidityBuildInfo } from "../../../../types/solidity.js" ;
24- import type { SolidityBuildSystemOptions } from "../build-system/build-system.js" ;
24+ import type {
25+ SolidityBuildSystemOptions ,
26+ SolidityBuildSystemImplementation as SolidityBuildSystemImplementationT ,
27+ } from "../build-system/build-system.js" ;
28+
29+ let SolidityBuildSystemImplementation :
30+ | typeof SolidityBuildSystemImplementationT
31+ | undefined ;
2532
2633class LazySolidityBuildSystem implements SolidityBuildSystem {
2734 readonly #hooks: HookManager ;
@@ -126,9 +133,11 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
126133 }
127134
128135 async #getBuildSystem( ) : Promise < SolidityBuildSystem > {
129- const { SolidityBuildSystemImplementation } = await import (
130- "../build-system/build-system.js"
131- ) ;
136+ if ( SolidityBuildSystemImplementation === undefined ) {
137+ const buildSystemModule = await import ( "../build-system/build-system.js" ) ;
138+ SolidityBuildSystemImplementation =
139+ buildSystemModule . SolidityBuildSystemImplementation ;
140+ }
132141
133142 if ( this . #buildSystem === undefined ) {
134143 this . #buildSystem = new SolidityBuildSystemImplementation (
You can’t perform that action at this time.
0 commit comments