hardhat 3.4.0 → 3.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/dist/src/cli.js +5 -5
- package/dist/src/cli.js.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js +11 -4
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js +10 -10
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/clean/index.js +1 -1
- package/dist/src/internal/builtin-plugins/clean/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/console/index.js +1 -1
- package/dist/src/internal/builtin-plugins/console/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/exports.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/coverage/exports.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/exports.js +1 -1
- package/dist/src/internal/builtin-plugins/coverage/exports.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/helpers/accessors.d.ts +7 -0
- package/dist/src/internal/builtin-plugins/coverage/helpers/accessors.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/helpers/accessors.js +24 -0
- package/dist/src/internal/builtin-plugins/coverage/helpers/accessors.js.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/helpers/compat.d.ts +4 -0
- package/dist/src/internal/builtin-plugins/coverage/helpers/compat.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/helpers/compat.js +27 -0
- package/dist/src/internal/builtin-plugins/coverage/helpers/compat.js.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/clean.js +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/clean.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/hre.js +18 -15
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js +3 -3
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.js +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.js.map +1 -1
- package/dist/src/internal/builtin-plugins/flatten/index.js +1 -1
- package/dist/src/internal/builtin-plugins/flatten/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.js +10 -4
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js +18 -14
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/index.js +2 -2
- package/dist/src/internal/builtin-plugins/gas-analytics/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js +2 -7
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/config-resolution.js +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/config-resolution.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.d.ts +14 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.js +40 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.js.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +1 -12
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +3 -42
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/types/hardfork.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/types/hardfork.js +2 -5
- package/dist/src/internal/builtin-plugins/network-manager/edr/types/hardfork.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js +2 -2
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js +4 -4
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js +2 -2
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/http-provider.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/http-provider.js +2 -2
- package/dist/src/internal/builtin-plugins/network-manager/http-provider.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +7 -7
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/helpers.js +2 -2
- package/dist/src/internal/builtin-plugins/node/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/index.js +1 -1
- package/dist/src/internal/builtin-plugins/node/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/run/index.js +1 -1
- package/dist/src/internal/builtin-plugins/run/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +61 -28
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js +4 -4
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.js +2 -2
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/read-source-file.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/read-source-file.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.js +10 -10
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js +16 -11
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.js +4 -4
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +2 -2
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/test.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/test.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/index.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/reporter.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/reporter.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/telemetry/index.js +1 -1
- package/dist/src/internal/builtin-plugins/telemetry/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/hook-handlers/config.js +1 -1
- package/dist/src/internal/builtin-plugins/test/hook-handlers/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/index.js +1 -1
- package/dist/src/internal/builtin-plugins/test/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/task-action.js +1 -1
- package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
- package/dist/src/internal/cli/init/init.d.ts.map +1 -1
- package/dist/src/internal/cli/init/init.js +18 -9
- package/dist/src/internal/cli/init/init.js.map +1 -1
- package/dist/src/internal/cli/init/template.d.ts.map +1 -1
- package/dist/src/internal/cli/init/template.js +5 -14
- package/dist/src/internal/cli/init/template.js.map +1 -1
- package/dist/src/internal/cli/main.d.ts.map +1 -1
- package/dist/src/internal/cli/main.js +4 -2
- package/dist/src/internal/cli/main.js.map +1 -1
- package/dist/src/internal/cli/node-version.d.ts +1 -1
- package/dist/src/internal/cli/node-version.d.ts.map +1 -1
- package/dist/src/internal/cli/node-version.js +18 -8
- package/dist/src/internal/cli/node-version.js.map +1 -1
- package/dist/src/internal/cli/telemetry/analytics/analytics.js +2 -2
- package/dist/src/internal/cli/telemetry/analytics/analytics.js.map +1 -1
- package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.d.ts +6 -0
- package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.d.ts.map +1 -0
- package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.js +47 -0
- package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.js.map +1 -0
- package/dist/src/internal/cli/telemetry/error-reporter/reporter.d.ts +27 -0
- package/dist/src/internal/cli/telemetry/error-reporter/reporter.d.ts.map +1 -0
- package/dist/src/internal/cli/telemetry/error-reporter/reporter.js +40 -0
- package/dist/src/internal/cli/telemetry/error-reporter/reporter.js.map +1 -0
- package/dist/src/internal/cli/telemetry/sentry/anonymizer.js +1 -1
- package/dist/src/internal/cli/telemetry/sentry/anonymizer.js.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/init.d.ts +0 -8
- package/dist/src/internal/cli/telemetry/sentry/init.d.ts.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/init.js +1 -37
- package/dist/src/internal/cli/telemetry/sentry/init.js.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/reporter.d.ts +8 -2
- package/dist/src/internal/cli/telemetry/sentry/reporter.d.ts.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/reporter.js +18 -12
- package/dist/src/internal/cli/telemetry/sentry/reporter.js.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/transport.js +1 -1
- package/dist/src/internal/cli/telemetry/sentry/transport.js.map +1 -1
- package/dist/src/internal/cli/telemetry/telemetry-permissions.js +1 -1
- package/dist/src/internal/cli/telemetry/telemetry-permissions.js.map +1 -1
- package/dist/src/internal/config-loading.js +3 -3
- package/dist/src/internal/config-loading.js.map +1 -1
- package/dist/src/internal/core/configuration-variables.d.ts.map +1 -1
- package/dist/src/internal/core/configuration-variables.js +1 -1
- package/dist/src/internal/core/configuration-variables.js.map +1 -1
- package/dist/src/internal/core/hook-manager.d.ts.map +1 -1
- package/dist/src/internal/core/hook-manager.js +196 -59
- package/dist/src/internal/core/hook-manager.js.map +1 -1
- package/dist/src/internal/core/hre.d.ts.map +1 -1
- package/dist/src/internal/core/hre.js +5 -5
- package/dist/src/internal/core/hre.js.map +1 -1
- package/dist/src/internal/core/lazy-user-interruptions.d.ts +11 -0
- package/dist/src/internal/core/lazy-user-interruptions.d.ts.map +1 -0
- package/dist/src/internal/core/lazy-user-interruptions.js +39 -0
- package/dist/src/internal/core/lazy-user-interruptions.js.map +1 -0
- package/dist/src/internal/core/plugins/resolve-plugin-list.js +1 -1
- package/dist/src/internal/core/plugins/resolve-plugin-list.js.map +1 -1
- package/dist/src/internal/core/tasks/resolved-task.js +4 -4
- package/dist/src/internal/core/tasks/resolved-task.js.map +1 -1
- package/dist/src/internal/core/user-interruptions.js +9 -9
- package/dist/src/internal/core/user-interruptions.js.map +1 -1
- package/dist/src/internal/hre-initialization.js +1 -1
- package/dist/src/internal/hre-initialization.js.map +1 -1
- package/package.json +4 -4
- package/src/cli.ts +5 -5
- package/src/internal/builtin-plugins/artifacts/artifact-manager.ts +13 -6
- package/src/internal/builtin-plugins/artifacts/hook-handlers/hre.ts +16 -10
- package/src/internal/builtin-plugins/clean/index.ts +1 -1
- package/src/internal/builtin-plugins/console/index.ts +1 -1
- package/src/internal/builtin-plugins/coverage/exports.ts +1 -1
- package/src/internal/builtin-plugins/coverage/helpers/accessors.ts +44 -0
- package/src/internal/builtin-plugins/coverage/helpers/compat.ts +37 -0
- package/src/internal/builtin-plugins/coverage/hook-handlers/clean.ts +1 -1
- package/src/internal/builtin-plugins/coverage/hook-handlers/hre.ts +26 -16
- package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +3 -3
- package/src/internal/builtin-plugins/coverage/hook-handlers/test.ts +1 -1
- package/src/internal/builtin-plugins/flatten/index.ts +1 -1
- package/src/internal/builtin-plugins/gas-analytics/helpers/accessors.ts +12 -5
- package/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.ts +29 -17
- package/src/internal/builtin-plugins/gas-analytics/index.ts +4 -2
- package/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.ts +2 -6
- package/src/internal/builtin-plugins/network-manager/config-resolution.ts +1 -1
- package/src/internal/builtin-plugins/network-manager/edr/edr-constants.ts +61 -0
- package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +3 -62
- package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +1 -1
- package/src/internal/builtin-plugins/network-manager/edr/types/hardfork.ts +3 -9
- package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +2 -2
- package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +4 -4
- package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +2 -2
- package/src/internal/builtin-plugins/network-manager/http-provider.ts +6 -2
- package/src/internal/builtin-plugins/network-manager/network-manager.ts +11 -7
- package/src/internal/builtin-plugins/node/helpers.ts +2 -2
- package/src/internal/builtin-plugins/node/index.ts +1 -1
- package/src/internal/builtin-plugins/run/index.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +84 -49
- package/src/internal/builtin-plugins/solidity/build-system/compilation-job.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.ts +4 -4
- package/src/internal/builtin-plugins/solidity/build-system/compiler/index.ts +2 -2
- package/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/read-source-file.ts +2 -2
- package/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.ts +11 -11
- package/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.ts +1 -1
- package/src/internal/builtin-plugins/solidity/hook-handlers/config.ts +1 -1
- package/src/internal/builtin-plugins/solidity/hook-handlers/hre.ts +27 -14
- package/src/internal/builtin-plugins/solidity/index.ts +1 -1
- package/src/internal/builtin-plugins/solidity/solidity-hooks.ts +1 -1
- package/src/internal/builtin-plugins/solidity/tasks/build.ts +4 -4
- package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +2 -2
- package/src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/hook-handlers/test.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/index.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/reporter.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/task-action.ts +1 -1
- package/src/internal/builtin-plugins/telemetry/index.ts +1 -1
- package/src/internal/builtin-plugins/test/hook-handlers/config.ts +1 -1
- package/src/internal/builtin-plugins/test/index.ts +1 -1
- package/src/internal/builtin-plugins/test/task-action.ts +1 -1
- package/src/internal/cli/init/init.ts +32 -14
- package/src/internal/cli/init/template.ts +22 -27
- package/src/internal/cli/main.ts +5 -3
- package/src/internal/cli/node-version.ts +21 -10
- package/src/internal/cli/telemetry/analytics/analytics.ts +2 -2
- package/src/internal/cli/telemetry/error-reporter/global-error-handlers.ts +64 -0
- package/src/internal/cli/telemetry/error-reporter/reporter.ts +49 -0
- package/src/internal/cli/telemetry/sentry/anonymizer.ts +1 -1
- package/src/internal/cli/telemetry/sentry/init.ts +2 -62
- package/src/internal/cli/telemetry/sentry/reporter.ts +27 -15
- package/src/internal/cli/telemetry/sentry/transport.ts +1 -1
- package/src/internal/cli/telemetry/telemetry-permissions.ts +1 -1
- package/src/internal/config-loading.ts +3 -3
- package/src/internal/core/configuration-variables.ts +19 -18
- package/src/internal/core/hook-manager.ts +267 -103
- package/src/internal/core/hre.ts +7 -5
- package/src/internal/core/lazy-user-interruptions.ts +75 -0
- package/src/internal/core/plugins/resolve-plugin-list.ts +1 -1
- package/src/internal/core/tasks/resolved-task.ts +4 -4
- package/src/internal/core/user-interruptions.ts +9 -9
- package/src/internal/hre-initialization.ts +1 -1
- package/templates/hardhat-3/01-node-test-runner-viem/package.json +10 -10
- package/templates/hardhat-3/02-mocha-ethers/package.json +13 -13
- package/templates/hardhat-3/03-minimal/package.json +1 -1
- package/dist/src/internal/builtin-plugins/coverage/helpers.d.ts +0 -15
- package/dist/src/internal/builtin-plugins/coverage/helpers.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/coverage/helpers.js +0 -35
- package/dist/src/internal/builtin-plugins/coverage/helpers.js.map +0 -1
- package/src/internal/builtin-plugins/coverage/helpers.ts +0 -63
|
@@ -5,25 +5,71 @@ import { detectPluginNpmDependencyProblems } from "./plugins/detect-plugin-npm-d
|
|
|
5
5
|
export class HookManagerImplementation {
|
|
6
6
|
#mutex = new AsyncMutex();
|
|
7
7
|
#projectRoot;
|
|
8
|
-
#pluginsInReverseOrder;
|
|
9
8
|
/**
|
|
9
|
+
* The context passed to hook handlers, except to the `config` ones, to break
|
|
10
|
+
* a circular dependency between the config and the hook handler.
|
|
11
|
+
*
|
|
10
12
|
* Initially `undefined` to be able to run the config hooks during
|
|
11
13
|
* initialization.
|
|
12
14
|
*/
|
|
13
15
|
#context;
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
17
|
+
* Plugins that provide hook handlers for each category, in reverse order.
|
|
18
|
+
*
|
|
19
|
+
* Precomputed from the plugin list at construction.
|
|
20
|
+
*/
|
|
21
|
+
#pluginsByHookCategory = new Map();
|
|
22
|
+
/**
|
|
23
|
+
* Cached resolved category objects per hook category in reverse plugin
|
|
24
|
+
* order.
|
|
25
|
+
*
|
|
26
|
+
* Only written by #getStaticHookHandlerCategories, which uses a mutex to
|
|
27
|
+
* ensure that every Hook Category Factory is run once per HookManager
|
|
28
|
+
* instance.
|
|
16
29
|
*/
|
|
17
|
-
#
|
|
30
|
+
#resolvedStaticCategories = new Map();
|
|
18
31
|
/**
|
|
19
32
|
* A map of the dynamically registered handler categories.
|
|
20
33
|
*
|
|
21
34
|
* Each array is a list of categories, in reverse order of registration.
|
|
35
|
+
*
|
|
36
|
+
* Written by registerHandlers and unregisterHandlers.
|
|
22
37
|
*/
|
|
23
38
|
#dynamicHookHandlerCategories = new Map();
|
|
39
|
+
/**
|
|
40
|
+
* Cached combined (dynamic + static) handlers per (category, hook name) in
|
|
41
|
+
* chained running order.
|
|
42
|
+
*
|
|
43
|
+
* Only written by #getHandlersInChainedRunningOrder, and invalidated
|
|
44
|
+
* per-category on dynamic handlers register/unregister.
|
|
45
|
+
*/
|
|
46
|
+
#chainedHandlers = new Map();
|
|
47
|
+
/**
|
|
48
|
+
* Cached combined handlers per (category, hook name) in sequential running
|
|
49
|
+
* order (reverse of chained).
|
|
50
|
+
*
|
|
51
|
+
* Only written by #getHandlersInSequentialRunningOrder, and invalidated
|
|
52
|
+
* per-category on dynamic handlers register/unregister.
|
|
53
|
+
*/
|
|
54
|
+
#sequentialHandlers = new Map();
|
|
24
55
|
constructor(projectRoot, plugins) {
|
|
25
56
|
this.#projectRoot = projectRoot;
|
|
26
|
-
|
|
57
|
+
for (const plugin of plugins.toReversed()) {
|
|
58
|
+
if (plugin.hookHandlers === undefined) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
for (const hookCategoryName of Object.keys(plugin.hookHandlers)) {
|
|
62
|
+
if (plugin.hookHandlers[hookCategoryName] === undefined) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
let pluginsForCategory = this.#pluginsByHookCategory.get(hookCategoryName);
|
|
66
|
+
if (pluginsForCategory === undefined) {
|
|
67
|
+
pluginsForCategory = [];
|
|
68
|
+
this.#pluginsByHookCategory.set(hookCategoryName, pluginsForCategory);
|
|
69
|
+
}
|
|
70
|
+
pluginsForCategory.push(plugin);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
27
73
|
}
|
|
28
74
|
setContext(context) {
|
|
29
75
|
this.#context = context;
|
|
@@ -35,6 +81,7 @@ export class HookManagerImplementation {
|
|
|
35
81
|
this.#dynamicHookHandlerCategories.set(hookCategoryName, categories);
|
|
36
82
|
}
|
|
37
83
|
categories.unshift(hookHandlerCategory);
|
|
84
|
+
this.#invalidateResolvedHandlersCache(hookCategoryName);
|
|
38
85
|
}
|
|
39
86
|
unregisterHandlers(hookCategoryName, hookHandlerCategory) {
|
|
40
87
|
const categories = this.#dynamicHookHandlerCategories.get(hookCategoryName);
|
|
@@ -42,9 +89,21 @@ export class HookManagerImplementation {
|
|
|
42
89
|
return;
|
|
43
90
|
}
|
|
44
91
|
this.#dynamicHookHandlerCategories.set(hookCategoryName, categories.filter((c) => c !== hookHandlerCategory));
|
|
92
|
+
this.#invalidateResolvedHandlersCache(hookCategoryName);
|
|
45
93
|
}
|
|
46
94
|
async runHandlerChain(hookCategoryName, hookName, params, defaultImplementation) {
|
|
47
|
-
|
|
95
|
+
// Synchronous fast path for already cached handlers. This duplicates
|
|
96
|
+
// the check inside #getHandlersInChainedRunningOrder on purpose:
|
|
97
|
+
// calling that async method introduces a microtask tick even on a
|
|
98
|
+
// cache hit, whereas a direct Map lookup stays on the current tick.
|
|
99
|
+
// That tick matters here because runHandlerChain is on every hook's
|
|
100
|
+
// hot path, and this path pairs with the empty-handlers shortcut
|
|
101
|
+
// below to dispatch straight to defaultImplementation with no awaits.
|
|
102
|
+
const cachedHandlers = this.#chainedHandlers
|
|
103
|
+
.get(hookCategoryName)
|
|
104
|
+
?.get(hookName);
|
|
105
|
+
const handlers = cachedHandlers ??
|
|
106
|
+
(await this.#getHandlersInChainedRunningOrder(hookCategoryName, hookName));
|
|
48
107
|
let handlerParams;
|
|
49
108
|
if (hookCategoryName !== "config") {
|
|
50
109
|
assertHardhatInvariant(this.#context !== undefined, "Context must be set before running non-config hooks");
|
|
@@ -53,6 +112,12 @@ export class HookManagerImplementation {
|
|
|
53
112
|
else {
|
|
54
113
|
handlerParams = params;
|
|
55
114
|
}
|
|
115
|
+
// Fast path for the common case of no registered handlers: skip building
|
|
116
|
+
// handlerParams and the `next` closure, and call the default implementation
|
|
117
|
+
// directly.
|
|
118
|
+
if (handlers.length === 0) {
|
|
119
|
+
return (await defaultImplementation(...handlerParams));
|
|
120
|
+
}
|
|
56
121
|
const numberOfHandlers = handlers.length;
|
|
57
122
|
let index = 0;
|
|
58
123
|
const next = async (...nextParams) => {
|
|
@@ -61,7 +126,7 @@ export class HookManagerImplementation {
|
|
|
61
126
|
: await defaultImplementation(...nextParams);
|
|
62
127
|
return result;
|
|
63
128
|
};
|
|
64
|
-
return next(...handlerParams);
|
|
129
|
+
return await next(...handlerParams);
|
|
65
130
|
}
|
|
66
131
|
async runSequentialHandlers(hookCategoryName, hookName, params) {
|
|
67
132
|
const handlers = await this.#getHandlersInSequentialRunningOrder(hookCategoryName, hookName);
|
|
@@ -90,7 +155,7 @@ export class HookManagerImplementation {
|
|
|
90
155
|
else {
|
|
91
156
|
handlerParams = params;
|
|
92
157
|
}
|
|
93
|
-
return Promise.all(handlers.map((handler) => handler(...handlerParams)));
|
|
158
|
+
return await Promise.all(handlers.map((handler) => handler(...handlerParams)));
|
|
94
159
|
}
|
|
95
160
|
async hasHandlers(hookCategoryName, hookName) {
|
|
96
161
|
// The ordering of handlers is unimportant here, as we only check if any exist
|
|
@@ -98,65 +163,137 @@ export class HookManagerImplementation {
|
|
|
98
163
|
return handlers.length > 0;
|
|
99
164
|
}
|
|
100
165
|
async #getHandlersInChainedRunningOrder(hookCategoryName, hookName) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
166
|
+
let handlersByName = this.#chainedHandlers.get(hookCategoryName);
|
|
167
|
+
if (handlersByName === undefined) {
|
|
168
|
+
handlersByName = new Map();
|
|
169
|
+
this.#chainedHandlers.set(hookCategoryName, handlersByName);
|
|
170
|
+
}
|
|
171
|
+
const cached = handlersByName.get(hookName);
|
|
172
|
+
if (cached !== undefined) {
|
|
173
|
+
return cached;
|
|
174
|
+
}
|
|
175
|
+
const staticCategories = await this.#getStaticHookHandlerCategories(hookCategoryName);
|
|
176
|
+
// IMPORTANT NOTE: Accessing the dynamic hook handlers MUST happen
|
|
177
|
+
// after awaiting the static ones. See
|
|
178
|
+
// #invalidateResolvedHandlersCache for more info.
|
|
179
|
+
const dynamicCategories = this.#dynamicHookHandlerCategories.get(hookCategoryName);
|
|
180
|
+
const handlers = [];
|
|
181
|
+
if (dynamicCategories !== undefined) {
|
|
182
|
+
for (const category of dynamicCategories) {
|
|
183
|
+
const handler = category[hookName];
|
|
184
|
+
if (handler !== undefined) {
|
|
185
|
+
handlers.push(handler);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
for (const category of staticCategories) {
|
|
190
|
+
const handler = category[hookName];
|
|
191
|
+
if (handler !== undefined) {
|
|
192
|
+
handlers.push(handler);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
handlersByName.set(hookName, handlers);
|
|
196
|
+
return handlers;
|
|
104
197
|
}
|
|
105
198
|
async #getHandlersInSequentialRunningOrder(hookCategoryName, hookName) {
|
|
106
|
-
|
|
107
|
-
|
|
199
|
+
let handlersByName = this.#sequentialHandlers.get(hookCategoryName);
|
|
200
|
+
if (handlersByName === undefined) {
|
|
201
|
+
handlersByName = new Map();
|
|
202
|
+
this.#sequentialHandlers.set(hookCategoryName, handlersByName);
|
|
203
|
+
}
|
|
204
|
+
const cached = handlersByName.get(hookName);
|
|
205
|
+
if (cached !== undefined) {
|
|
206
|
+
return cached;
|
|
207
|
+
}
|
|
208
|
+
const chained = await this.#getHandlersInChainedRunningOrder(hookCategoryName, hookName);
|
|
209
|
+
const sequential = chained.toReversed();
|
|
210
|
+
handlersByName.set(hookName, sequential);
|
|
211
|
+
return sequential;
|
|
108
212
|
}
|
|
109
|
-
async #
|
|
110
|
-
const
|
|
111
|
-
if (
|
|
213
|
+
async #getStaticHookHandlerCategories(hookCategoryName) {
|
|
214
|
+
const cached = this.#resolvedStaticCategories.get(hookCategoryName);
|
|
215
|
+
if (cached !== undefined) {
|
|
216
|
+
return cached;
|
|
217
|
+
}
|
|
218
|
+
const plugins = this.#pluginsByHookCategory.get(hookCategoryName);
|
|
219
|
+
// We don't need to get the mutex to resolve this case, as it will always
|
|
220
|
+
// be an empty array, and won't execute any factory.
|
|
221
|
+
if (plugins === undefined) {
|
|
222
|
+
this.#resolvedStaticCategories.set(hookCategoryName, []);
|
|
112
223
|
return [];
|
|
113
224
|
}
|
|
114
|
-
return
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const categories = await this.#mutex.exclusiveRun(async () => {
|
|
120
|
-
return Promise.all(this.#pluginsInReverseOrder.map(async (plugin) => {
|
|
121
|
-
const existingCategory = this.#staticHookHandlerCategories
|
|
122
|
-
.get(plugin.id)
|
|
123
|
-
?.get(hookCategoryName);
|
|
124
|
-
if (existingCategory !== undefined) {
|
|
125
|
-
return existingCategory;
|
|
126
|
-
}
|
|
127
|
-
const hookHandlerCategoryFactory = plugin.hookHandlers?.[hookCategoryName];
|
|
128
|
-
if (hookHandlerCategoryFactory === undefined) {
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
let factory;
|
|
132
|
-
try {
|
|
133
|
-
factory = (await hookHandlerCategoryFactory()).default;
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
ensureError(error);
|
|
137
|
-
await detectPluginNpmDependencyProblems(this.#projectRoot, plugin, error);
|
|
138
|
-
throw error;
|
|
139
|
-
}
|
|
140
|
-
assertHardhatInvariant(typeof factory === "function", `Plugin ${plugin.id} doesn't export a hook factory for category ${hookCategoryName}`);
|
|
141
|
-
const hookCategory = await factory();
|
|
142
|
-
assertHardhatInvariant(hookCategory !== null && typeof hookCategory === "object", `Plugin ${plugin.id} doesn't export a valid factory for category ${hookCategoryName}, it didn't return an object`);
|
|
143
|
-
if (!this.#staticHookHandlerCategories.has(plugin.id)) {
|
|
144
|
-
this.#staticHookHandlerCategories.set(plugin.id, new Map());
|
|
145
|
-
}
|
|
146
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Defined right above
|
|
147
|
-
this.#staticHookHandlerCategories
|
|
148
|
-
.get(plugin.id)
|
|
149
|
-
.set(hookCategoryName, hookCategory);
|
|
150
|
-
return hookCategory;
|
|
151
|
-
}));
|
|
152
|
-
});
|
|
153
|
-
return categories.flatMap((category) => {
|
|
154
|
-
const handler = category?.[hookName];
|
|
155
|
-
if (handler === undefined) {
|
|
156
|
-
return [];
|
|
225
|
+
return await this.#mutex.exclusiveRun(async () => {
|
|
226
|
+
// Re-check under the mutex in case another caller just populated it.
|
|
227
|
+
const recheck = this.#resolvedStaticCategories.get(hookCategoryName);
|
|
228
|
+
if (recheck !== undefined) {
|
|
229
|
+
return recheck;
|
|
157
230
|
}
|
|
158
|
-
|
|
231
|
+
const resolved = await Promise.all(plugins.map(async (plugin) => await this.#getPluginStaticHookCategory(plugin, hookCategoryName)));
|
|
232
|
+
this.#resolvedStaticCategories.set(hookCategoryName, resolved);
|
|
233
|
+
return resolved;
|
|
159
234
|
});
|
|
160
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Returns the hook category object for a plugin that has the hook category
|
|
238
|
+
* defined.
|
|
239
|
+
*
|
|
240
|
+
* @param plugin A plugin that MUST have the given hook category defined.
|
|
241
|
+
* @param hookCategoryName The name of the hook category.
|
|
242
|
+
* @returns The hook category object.
|
|
243
|
+
*/
|
|
244
|
+
async #getPluginStaticHookCategory(plugin, hookCategoryName) {
|
|
245
|
+
const hookHandlerCategoryFactory = plugin.hookHandlers?.[hookCategoryName];
|
|
246
|
+
assertHardhatInvariant(hookHandlerCategoryFactory !== undefined, "#pluginsByHookCategory only contains plugins with this hook category");
|
|
247
|
+
let factory;
|
|
248
|
+
try {
|
|
249
|
+
factory = (await hookHandlerCategoryFactory()).default;
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
ensureError(error);
|
|
253
|
+
await detectPluginNpmDependencyProblems(this.#projectRoot, plugin, error);
|
|
254
|
+
throw error;
|
|
255
|
+
}
|
|
256
|
+
assertHardhatInvariant(typeof factory === "function", `Plugin ${plugin.id} doesn't export a hook factory for category ${hookCategoryName}`);
|
|
257
|
+
const hookCategory = await factory();
|
|
258
|
+
assertHardhatInvariant(hookCategory !== null && typeof hookCategory === "object", `Plugin ${plugin.id} doesn't export a valid factory for category ${hookCategoryName}, it didn't return an object`);
|
|
259
|
+
return hookCategory;
|
|
260
|
+
}
|
|
261
|
+
#invalidateResolvedHandlersCache(hookCategoryName) {
|
|
262
|
+
// Invalidation deletes the outer entry rather than clearing the inner
|
|
263
|
+
// map. This matters under concurrency.
|
|
264
|
+
//
|
|
265
|
+
// A reader of #getHandlersInChainedRunningOrder (or its sequential
|
|
266
|
+
// sibling) captures a reference to the inner map before awaiting the
|
|
267
|
+
// static categories, and writes its computed array back after the
|
|
268
|
+
// await. If invalidation runs during that await, deleting the outer
|
|
269
|
+
// entry leaves the reader's inner map orphaned: its write lands in a
|
|
270
|
+
// map no longer reachable from #chainedHandlers/#sequentialHandlers,
|
|
271
|
+
// so it cannot poison the shared cache. The next reader sees
|
|
272
|
+
// `undefined`, installs a fresh inner map, and rebuilds from the
|
|
273
|
+
// current dynamic state.
|
|
274
|
+
//
|
|
275
|
+
// Two distinct properties make this safe, guaranteed by two different
|
|
276
|
+
// things:
|
|
277
|
+
//
|
|
278
|
+
// 1. The in-flight reader's own return value is correct. This is
|
|
279
|
+
// because #getHandlersInChainedRunningOrder reads
|
|
280
|
+
// #dynamicHookHandlerCategories *after* awaiting the static
|
|
281
|
+
// categories. Any invalidation that happened during the await is
|
|
282
|
+
// visible to the reader when it resumes, so the array it builds
|
|
283
|
+
// reflects the current dynamic state.
|
|
284
|
+
//
|
|
285
|
+
// 2. The shared cache never holds a stale array. This is guaranteed
|
|
286
|
+
// by the orphaning-by-delete described above: a reader that
|
|
287
|
+
// started before the invalidation can only write into an
|
|
288
|
+
// unreachable inner map.
|
|
289
|
+
//
|
|
290
|
+
// Property 1 depends on the ordering of the dynamic handlers read relative
|
|
291
|
+
// to the await. If that read ever moved *before* the await, a reader
|
|
292
|
+
// could build a stale array and return it to its caller — the cache
|
|
293
|
+
// would still be protected by property 2, but the reader's caller
|
|
294
|
+
// would see the stale result.
|
|
295
|
+
this.#chainedHandlers.delete(hookCategoryName);
|
|
296
|
+
this.#sequentialHandlers.delete(hookCategoryName);
|
|
297
|
+
}
|
|
161
298
|
}
|
|
162
299
|
//# sourceMappingURL=hook-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-manager.js","sourceRoot":"","sources":["../../../../src/internal/core/hook-manager.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAE5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AAEvG,MAAM,OAAO,yBAAyB;IAC3B,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;IAEtC,YAAY,CAAS;
|
|
1
|
+
{"version":3,"file":"hook-manager.js","sourceRoot":"","sources":["../../../../src/internal/core/hook-manager.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAE5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AAEvG,MAAM,OAAO,yBAAyB;IAC3B,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;IAEtC,YAAY,CAAS;IAE9B;;;;;;OAMG;IACH,QAAQ,CAA0B;IAElC;;;;OAIG;IACM,sBAAsB,GAC7B,IAAI,GAAG,EAAE,CAAC;IAEZ;;;;;;;OAOG;IACM,yBAAyB,GAG9B,IAAI,GAAG,EAAE,CAAC;IAEd;;;;;;OAMG;IACM,6BAA6B,GAGlC,IAAI,GAAG,EAAE,CAAC;IAEd;;;;;;OAMG;IACM,gBAAgB,GACvB,IAAI,GAAG,EAAE,CAAC;IAEZ;;;;;;OAMG;IACM,mBAAmB,GAC1B,IAAI,GAAG,EAAE,CAAC;IAEZ,YAAY,WAAmB,EAAE,OAAwB;QACvD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,KAAK,MAAM,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAE7D,EAAE,CAAC;gBACF,IAAI,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;oBACxD,SAAS;gBACX,CAAC;gBAED,IAAI,kBAAkB,GACpB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAEpD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBACrC,kBAAkB,GAAG,EAAE,CAAC;oBACxB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;gBACxE,CAAC;gBAED,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,OAAoB;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,gBAAgB,CACrB,gBAAmC,EACnC,mBAA6D;QAE7D,IAAI,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,UAAU,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACvE,CAAC;QAED,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAExC,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAEM,kBAAkB,CACvB,gBAAmC,EACnC,mBAA6D;QAE7D,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,6BAA6B,CAAC,GAAG,CACpC,gBAAgB,EAChB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,mBAAmB,CAAC,CACpD,CAAC;QAEF,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,eAAe,CAK1B,gBAAmC,EACnC,QAAmB,EACnB,MAA0D,EAC1D,qBAA2C;QAE3C,qEAAqE;QACrE,iEAAiE;QACjE,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,iEAAiE;QACjE,sEAAsE;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB;aACzC,GAAG,CAAC,gBAAgB,CAAC;YACtB,EAAE,GAAG,CAAC,QAAkB,CAAC,CAAC;QAE5B,MAAM,QAAQ,GACZ,cAAc;YACd,CAAC,MAAM,IAAI,CAAC,iCAAiC,CAC3C,gBAAgB,EAChB,QAAQ,CACT,CAAC,CAAC;QAEL,IAAI,aAAuD,CAAC;QAC5D,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAClC,sBAAsB,CACpB,IAAI,CAAC,QAAQ,KAAK,SAAS,EAC3B,qDAAqD,CACtD,CAAC;YAEF,aAAa,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAQ,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,MAAa,CAAC;QAChC,CAAC;QAED,yEAAyE;QACzE,4EAA4E;QAC5E,YAAY;QACZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,qBAAqB,CAAC,GAAG,aAAa,CAAC,CAAQ,CAAC;QAChE,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,KAAK,EAAE,GAAG,UAAgC,EAAE,EAAE;YACzD,MAAM,MAAM,GACV,KAAK,GAAG,gBAAgB;gBACtB,CAAC,CAAC,MAAO,QAAQ,CAAC,KAAK,EAAE,CAAS,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC;gBACvD,CAAC,CAAC,MAAM,qBAAqB,CAAC,GAAG,UAAU,CAAC,CAAC;YAEjD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAKhC,gBAAmC,EACnC,QAAmB,EACnB,MAAmD;QAInD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oCAAoC,CAC9D,gBAAgB,EAChB,QAAQ,CACT,CAAC;QAEF,IAAI,aAAkB,CAAC;QACvB,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAClC,sBAAsB,CACpB,IAAI,CAAC,QAAQ,KAAK,SAAS,EAC3B,qDAAqD,CACtD,CAAC;YAEF,aAAa,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,MAAO,OAAe,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAK9B,gBAAmC,EACnC,QAAmB,EACnB,MAAmD;QAInD,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAC3D,gBAAgB,EAChB,QAAQ,CACT,CAAC;QAEF,IAAI,aAAkB,CAAC;QACvB,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAClC,sBAAsB,CACpB,IAAI,CAAC,QAAQ,KAAK,SAAS,EAC3B,qDAAqD,CACtD,CAAC;YAEF,aAAa,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAE,OAAe,CAAC,GAAG,aAAa,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,WAAW,CAItB,gBAAmC,EACnC,QAAmB;QAEnB,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAC3D,gBAAgB,EAChB,QAAQ,CACT,CAAC;QAEF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,iCAAiC,CAIrC,gBAAmC,EACnC,QAAmB;QAEnB,IAAI,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAkB,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;QAE/D,kEAAkE;QAClE,sCAAsC;QACtC,kDAAkD;QAClD,MAAM,iBAAiB,GAAG,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAC9D,gBAAgB,CAC8C,CAAC;QAEjE,MAAM,QAAQ,GAAsD,EAAE,CAAC;QAEvE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,QAAQ,CAAC,IAAI,CAAC,OAAqD,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC,OAAqD,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,cAAc,CAAC,GAAG,CAAC,QAAkB,EAAE,QAAQ,CAAC,CAAC;QAEjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,oCAAoC,CAIxC,gBAAmC,EACnC,QAAmB;QAEnB,IAAI,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAkB,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAC1D,gBAAgB,EAChB,QAAQ,CACT,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QAExC,cAAc,CAAC,GAAG,CAAC,QAAkB,EAAE,UAAU,CAAC,CAAC;QAEnD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,+BAA+B,CAGnC,gBAAmC;QAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,gBAAgB,CAErD,CAAC;QAEd,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAElE,yEAAyE;QACzE,oDAAoD;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YAC/C,qEAAqE;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,gBAAgB,CAEtD,CAAC;YAEd,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,OAAO,CAAC,GAAG,CACT,KAAK,EAAE,MAAM,EAAE,EAAE,CACf,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CACpE,CACF,CAAC;YAEF,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAE/D,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,4BAA4B,CAGhC,MAAqB,EACrB,gBAAmC;QAEnC,MAAM,0BAA0B,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAE3E,sBAAsB,CACpB,0BAA0B,KAAK,SAAS,EACxC,sEAAsE,CACvE,CAAC;QAEF,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;YAEnB,MAAM,iCAAiC,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAE1E,MAAM,KAAK,CAAC;QACd,CAAC;QAED,sBAAsB,CACpB,OAAO,OAAO,KAAK,UAAU,EAC7B,UAAU,MAAM,CAAC,EAAE,+CAA+C,gBAAgB,EAAE,CACrF,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,OAAO,EAAE,CAAC;QAErC,sBAAsB,CACpB,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,EACzD,UAAU,MAAM,CAAC,EAAE,gDAAgD,gBAAgB,8BAA8B,CAClH,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,gCAAgC,CAE9B,gBAAmC;QACnC,sEAAsE;QACtE,uCAAuC;QACvC,EAAE;QACF,mEAAmE;QACnE,qEAAqE;QACrE,kEAAkE;QAClE,oEAAoE;QACpE,qEAAqE;QACrE,qEAAqE;QACrE,6DAA6D;QAC7D,iEAAiE;QACjE,yBAAyB;QACzB,EAAE;QACF,sEAAsE;QACtE,UAAU;QACV,EAAE;QACF,mEAAmE;QACnE,uDAAuD;QACvD,iEAAiE;QACjE,sEAAsE;QACtE,qEAAqE;QACrE,2CAA2C;QAC3C,EAAE;QACF,sEAAsE;QACtE,iEAAiE;QACjE,8DAA8D;QAC9D,8BAA8B;QAC9B,EAAE;QACF,2EAA2E;QAC3E,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,8BAA8B;QAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EAKd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EAEhC,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAmBrF,qBAAa,uCACX,YAAW,yBAAyB;aA0HlB,UAAU,EAAE,iBAAiB;aAC7B,MAAM,EAAE,aAAa;aACrB,KAAK,EAAE,WAAW;aAClB,aAAa,EAAE,uBAAuB;aACtC,aAAa,EAAE,aAAa;aAC5B,QAAQ,EAAE;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB;IA7HI,OAAO,EAAG,cAAc,CAAC;IACzB,SAAS,EAAG,eAAe,CAAC;IAC5B,QAAQ,EAAG,mBAAmB,CAAC;IAO/B,SAAS,EAAG,eAAe,CAAC;IAC5B,aAAa,EAAG,mBAAmB,CAAC;WAEvB,MAAM,CACxB,eAAe,EAAE,iBAAiB,EAClC,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,EACjD,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,sCAAsC,GACrD,OAAO,CAAC,uCAAuC,CAAC;IAiGnD,SAAgB,KAAK,EAAE,WAAW,CAAC;IAEnC,OAAO;CAcR;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,yBAAyB,EAAE,MAAM,GAAG,SAAS,GAC5C,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EAKd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EAEhC,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAmBrF,qBAAa,uCACX,YAAW,yBAAyB;aA0HlB,UAAU,EAAE,iBAAiB;aAC7B,MAAM,EAAE,aAAa;aACrB,KAAK,EAAE,WAAW;aAClB,aAAa,EAAE,uBAAuB;aACtC,aAAa,EAAE,aAAa;aAC5B,QAAQ,EAAE;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB;IA7HI,OAAO,EAAG,cAAc,CAAC;IACzB,SAAS,EAAG,eAAe,CAAC;IAC5B,QAAQ,EAAG,mBAAmB,CAAC;IAO/B,SAAS,EAAG,eAAe,CAAC;IAC5B,aAAa,EAAG,mBAAmB,CAAC;WAEvB,MAAM,CACxB,eAAe,EAAE,iBAAiB,EAClC,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,EACjD,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,sCAAsC,GACrD,OAAO,CAAC,uCAAuC,CAAC;IAiGnD,SAAgB,KAAK,EAAE,WAAW,CAAC;IAEnC,OAAO;CAcR;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,yBAAyB,EAAE,MAAM,GAAG,SAAS,GAC5C,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gCAAgC,CACpD,eAAe,EAAE,iBAAiB,EAClC,KAAK,EAAE,WAAW,EAClB,mBAAmB,EAAE,MAAM,EAC3B,sBAAsB,EAAE,MAAM,GAAG,SAAS,EAC1C,eAAe,EAAE,aAAa,EAAE,GAC/B,OAAO,CACN;IACE,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,kBAAkB,EAAE,iBAAiB,CAAC;CACvC,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,0BAA0B,EAAE,gCAAgC,EAAE,CAAC;IAC/D,sBAAsB,CAAC,EAAE,4BAA4B,EAAE,CAAC;CACzD,CACJ,CA0DA"}
|
|
@@ -6,9 +6,9 @@ import { validateUserConfig } from "./config-validation.js";
|
|
|
6
6
|
import { resolveConfigurationVariable } from "./configuration-variables.js";
|
|
7
7
|
import { buildGlobalOptionDefinitions, resolveGlobalOptions, } from "./global-options.js";
|
|
8
8
|
import { HookManagerImplementation } from "./hook-manager.js";
|
|
9
|
+
import { LazyUserInterruptionManager } from "./lazy-user-interruptions.js";
|
|
9
10
|
import { resolvePluginList } from "./plugins/resolve-plugin-list.js";
|
|
10
11
|
import { TaskManagerImplementation } from "./tasks/task-manager.js";
|
|
11
|
-
import { UserInterruptionManagerImplementation } from "./user-interruptions.js";
|
|
12
12
|
export class HardhatRuntimeEnvironmentImplementation {
|
|
13
13
|
userConfig;
|
|
14
14
|
config;
|
|
@@ -63,7 +63,7 @@ export class HardhatRuntimeEnvironmentImplementation {
|
|
|
63
63
|
const globalOptions = resolveGlobalOptions(userProvidedGlobalOptions, globalOptionDefinitions);
|
|
64
64
|
// Set the HookContext in the hook manager so that non-config hooks can
|
|
65
65
|
// use it
|
|
66
|
-
const interruptions = new
|
|
66
|
+
const interruptions = new LazyUserInterruptionManager(hooks);
|
|
67
67
|
const hre = new HardhatRuntimeEnvironmentImplementation(extendedUserConfig, config, hooks, interruptions, globalOptions, versions, globalOptionDefinitions);
|
|
68
68
|
// We create an object with the HRE as its prototype, and overwrite the
|
|
69
69
|
// tasks property with undefined, so that hooks don't have access to the
|
|
@@ -99,7 +99,7 @@ export class HardhatRuntimeEnvironmentImplementation {
|
|
|
99
99
|
* the config file.
|
|
100
100
|
*/
|
|
101
101
|
export async function resolveProjectRoot(absolutePathWithinProject) {
|
|
102
|
-
return findClosestPackageRoot(absolutePathWithinProject ?? process.cwd());
|
|
102
|
+
return await findClosestPackageRoot(absolutePathWithinProject ?? process.cwd());
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
105
|
* Runs the provided Hardhat user config through the resolution process,
|
|
@@ -153,7 +153,7 @@ export async function resolveUserConfigToHardhatConfig(inputUserConfig, hooks, r
|
|
|
153
153
|
return { success: true, config, extendedUserConfig };
|
|
154
154
|
}
|
|
155
155
|
async function runUserConfigExtensions(hooks, config) {
|
|
156
|
-
return hooks.runHandlerChain("config", "extendUserConfig", [config], async (c) => {
|
|
156
|
+
return await hooks.runHandlerChain("config", "extendUserConfig", [config], async (c) => {
|
|
157
157
|
return c;
|
|
158
158
|
});
|
|
159
159
|
}
|
|
@@ -168,7 +168,7 @@ async function resolveUserConfig(projectRoot, configPath, hooks, sortedPlugins,
|
|
|
168
168
|
tasks: config.tasks ?? [],
|
|
169
169
|
paths: resolvePaths(projectRoot, configPath, config.paths),
|
|
170
170
|
};
|
|
171
|
-
return hooks.runHandlerChain("config", "resolveUserConfig", [config, (variable) => resolveConfigurationVariable(hooks, variable)], async (_, __) => {
|
|
171
|
+
return await hooks.runHandlerChain("config", "resolveUserConfig", [config, (variable) => resolveConfigurationVariable(hooks, variable)], async (_, __) => {
|
|
172
172
|
return initialResolvedConfig;
|
|
173
173
|
});
|
|
174
174
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { HookManager } from "../../types/hooks.js";
|
|
2
|
+
import type { UserInterruptionManager } from "../../types/user-interruptions.js";
|
|
3
|
+
export declare class LazyUserInterruptionManager implements UserInterruptionManager {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(hooks: HookManager);
|
|
6
|
+
displayMessage(interruptor: string, message: string): Promise<void>;
|
|
7
|
+
requestInput(interruptor: string, inputDescription: string): Promise<string>;
|
|
8
|
+
requestSecretInput(interruptor: string, inputDescription: string): Promise<string>;
|
|
9
|
+
uninterrupted<ReturnT>(f: () => ReturnT): Promise<Awaited<ReturnT>>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=lazy-user-interruptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-user-interruptions.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/lazy-user-interruptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAMjF,qBAAa,2BAA4B,YAAW,uBAAuB;;gBAK7D,KAAK,EAAE,WAAW;IAIjB,cAAc,CACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAKH,YAAY,CACvB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC;IAQL,kBAAkB,CAC7B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC;IAQL,aAAa,CAAC,OAAO,EAChC,CAAC,EAAE,MAAM,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;CAyB7B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
let UserInterruptionManagerImplementation;
|
|
2
|
+
export class LazyUserInterruptionManager {
|
|
3
|
+
#hooks;
|
|
4
|
+
#userInterruptionManager;
|
|
5
|
+
constructor(hooks) {
|
|
6
|
+
this.#hooks = hooks;
|
|
7
|
+
}
|
|
8
|
+
async displayMessage(interruptor, message) {
|
|
9
|
+
const userInterruptionManager = await this.#getUserInterruptionManager();
|
|
10
|
+
return await userInterruptionManager.displayMessage(interruptor, message);
|
|
11
|
+
}
|
|
12
|
+
async requestInput(interruptor, inputDescription) {
|
|
13
|
+
const userInterruptionManager = await this.#getUserInterruptionManager();
|
|
14
|
+
return await userInterruptionManager.requestInput(interruptor, inputDescription);
|
|
15
|
+
}
|
|
16
|
+
async requestSecretInput(interruptor, inputDescription) {
|
|
17
|
+
const userInterruptionManager = await this.#getUserInterruptionManager();
|
|
18
|
+
return await userInterruptionManager.requestSecretInput(interruptor, inputDescription);
|
|
19
|
+
}
|
|
20
|
+
async uninterrupted(f) {
|
|
21
|
+
const userInterruptionManager = await this.#getUserInterruptionManager();
|
|
22
|
+
return await userInterruptionManager.uninterrupted(f);
|
|
23
|
+
}
|
|
24
|
+
async #getUserInterruptionManager() {
|
|
25
|
+
// Note: `await import` must run BEFORE the instance cache check so that
|
|
26
|
+
// concurrent callers share a single microtask-dedupe point — otherwise
|
|
27
|
+
// each suspended caller re-enters the branch and constructs its own
|
|
28
|
+
// impl, so callers end up holding different impl instances and state,
|
|
29
|
+
// which can cause concurrency issues.
|
|
30
|
+
if (UserInterruptionManagerImplementation === undefined) {
|
|
31
|
+
({ UserInterruptionManagerImplementation } = await import("./user-interruptions.js"));
|
|
32
|
+
}
|
|
33
|
+
if (this.#userInterruptionManager === undefined) {
|
|
34
|
+
this.#userInterruptionManager = new UserInterruptionManagerImplementation(this.#hooks);
|
|
35
|
+
}
|
|
36
|
+
return this.#userInterruptionManager;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=lazy-user-interruptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-user-interruptions.js","sourceRoot":"","sources":["../../../../src/internal/core/lazy-user-interruptions.ts"],"names":[],"mappings":"AAIA,IAAI,qCAES,CAAC;AAEd,MAAM,OAAO,2BAA2B;IAC7B,MAAM,CAAc;IAE7B,wBAAwB,CAAqD;IAE7E,YAAY,KAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,WAAmB,EACnB,OAAe;QAEf,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzE,OAAO,MAAM,uBAAuB,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,WAAmB,EACnB,gBAAwB;QAExB,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzE,OAAO,MAAM,uBAAuB,CAAC,YAAY,CAC/C,WAAW,EACX,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,WAAmB,EACnB,gBAAwB;QAExB,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzE,OAAO,MAAM,uBAAuB,CAAC,kBAAkB,CACrD,WAAW,EACX,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,CAAgB;QAEhB,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzE,OAAO,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,wEAAwE;QACxE,uEAAuE;QACvE,oEAAoE;QACpE,sEAAsE;QACtE,sCAAsC;QACtC,IAAI,qCAAqC,KAAK,SAAS,EAAE,CAAC;YACxD,CAAC,EAAE,qCAAqC,EAAE,GAAG,MAAM,MAAM,CACvD,yBAAyB,CAC1B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;YAChD,IAAI,CAAC,wBAAwB,GAAG,IAAI,qCAAqC,CACvE,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -5,7 +5,7 @@ import { detectPluginNpmDependencyProblems } from "./detect-plugin-npm-dependenc
|
|
|
5
5
|
* Resolves the plugin list, returning them in the right order.
|
|
6
6
|
*/
|
|
7
7
|
export async function resolvePluginList(projectRoot, userConfigPluginList = []) {
|
|
8
|
-
return reverseTopologicalSort(projectRoot, userConfigPluginList);
|
|
8
|
+
return await reverseTopologicalSort(projectRoot, userConfigPluginList);
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Returns an array of reverse topological order of the plugins and their dependencies.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-plugin-list.js","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/resolve-plugin-list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAE/F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,uBAAwC,EAAE;IAE1C,OAAO,sBAAsB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-plugin-list.js","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/resolve-plugin-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,13 +94,13 @@ export class ResolvedTask {
|
|
|
94
94
|
if (currentIndex === 0) {
|
|
95
95
|
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions --
|
|
96
96
|
We know that the first action in the array is a NewTaskActionFunction */
|
|
97
|
-
return actionFn(nextTaskArguments, this.#hre);
|
|
97
|
+
return await actionFn(nextTaskArguments, this.#hre);
|
|
98
98
|
}
|
|
99
|
-
return actionFn(nextTaskArguments, this.#hre, async (newTaskArguments) => {
|
|
100
|
-
return next(newTaskArguments, currentIndex - 1);
|
|
99
|
+
return await actionFn(nextTaskArguments, this.#hre, async (newTaskArguments) => {
|
|
100
|
+
return await next(newTaskArguments, currentIndex - 1);
|
|
101
101
|
});
|
|
102
102
|
};
|
|
103
|
-
return next(validatedTaskArguments);
|
|
103
|
+
return await next(validatedTaskArguments);
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* Validates that a required argument has a value. A argument is required if
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolved-task.js","sourceRoot":"","sources":["../../../../../src/internal/core/tasks/resolved-task.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resolved-task.js","sourceRoot":"","sources":["../../../../../src/internal/core/tasks/resolved-task.ts"],"names":[],"mappings":"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"}
|