hardhat 3.1.10 → 3.1.11
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 +18 -0
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.d.ts +2 -2
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/helpers.d.ts +3 -5
- package/dist/src/internal/builtin-plugins/coverage/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/helpers.js +7 -19
- package/dist/src/internal/builtin-plugins/coverage/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.d.ts +7 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.js +42 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.js.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/index.js +1 -0
- package/dist/src/internal/builtin-plugins/coverage/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts +3 -5
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js +7 -19
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.d.ts +7 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js +42 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js.map +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/index.js +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/index.js.map +1 -1
- 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 +17 -20
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.js +2 -2
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/type-validation.d.ts +0 -2
- package/dist/src/internal/builtin-plugins/network-manager/edr/type-validation.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/type-validation.js +0 -6
- package/dist/src/internal/builtin-plugins/network-manager/edr/type-validation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts +1 -3
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js +0 -49
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-results.d.ts +2 -2
- package/dist/src/internal/builtin-plugins/solidity/build-results.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-results.js +2 -2
- package/dist/src/internal/builtin-plugins/solidity/build-results.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts +1 -0
- 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 +13 -5
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.d.ts +2 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.d.ts +13 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js +30 -5
- 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/build-system/resolver/types.d.ts +3 -12
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/types.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/types.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/utils.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/utils.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts +8 -6
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.js +103 -27
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/config.js +2 -2
- package/dist/src/internal/builtin-plugins/solidity/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 +5 -0
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/runner.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +16 -27
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/telemetry/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/telemetry/task-action.js +3 -2
- package/dist/src/internal/builtin-plugins/telemetry/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/test/task-action.js +40 -13
- package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/type-extensions.d.ts +27 -0
- package/dist/src/internal/builtin-plugins/test/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/cli/banner-manager.d.ts +26 -0
- package/dist/src/internal/cli/banner-manager.d.ts.map +1 -0
- package/dist/src/internal/cli/banner-manager.js +146 -0
- package/dist/src/internal/cli/banner-manager.js.map +1 -0
- package/dist/src/internal/cli/init/init.d.ts.map +1 -1
- package/dist/src/internal/cli/init/init.js +8 -0
- package/dist/src/internal/cli/init/init.js.map +1 -1
- package/dist/src/internal/cli/main.d.ts.map +1 -1
- package/dist/src/internal/cli/main.js +18 -1
- package/dist/src/internal/cli/main.js.map +1 -1
- package/dist/src/internal/cli/telemetry/analytics/subprocess.js +2 -0
- package/dist/src/internal/cli/telemetry/analytics/subprocess.js.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/anonymize-paths.js +1 -1
- package/dist/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.d.ts +1 -1
- package/dist/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.d.ts.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.js +47 -38
- package/dist/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.js.map +1 -1
- package/dist/src/internal/core/user-interruptions.js +1 -1
- package/dist/src/types/artifacts.d.ts +32 -3
- package/dist/src/types/artifacts.d.ts.map +1 -1
- package/dist/src/types/network.d.ts +1 -1
- package/dist/src/types/solidity/build-system.d.ts +56 -10
- package/dist/src/types/solidity/build-system.d.ts.map +1 -1
- package/dist/src/types/solidity/build-system.js +26 -2
- package/dist/src/types/solidity/build-system.js.map +1 -1
- package/dist/src/types/solidity/resolved-file.d.ts +2 -2
- package/dist/src/types/tasks.d.ts +8 -0
- package/dist/src/types/tasks.d.ts.map +1 -1
- package/dist/src/types/tasks.js.map +1 -1
- package/dist/src/types/test.d.ts +11 -0
- package/dist/src/types/test.d.ts.map +1 -1
- package/dist/src/types/utils.d.ts +16 -0
- package/dist/src/types/utils.d.ts.map +1 -1
- package/dist/src/utils/result.d.ts +33 -0
- package/dist/src/utils/result.d.ts.map +1 -0
- package/dist/src/utils/result.js +43 -0
- package/dist/src/utils/result.js.map +1 -0
- package/package.json +4 -3
- package/src/internal/builtin-plugins/artifacts/artifact-manager.ts +4 -1
- package/src/internal/builtin-plugins/artifacts/hook-handlers/hre.ts +4 -1
- package/src/internal/builtin-plugins/coverage/helpers.ts +11 -29
- package/src/internal/builtin-plugins/coverage/hook-handlers/test.ts +68 -0
- package/src/internal/builtin-plugins/coverage/index.ts +1 -0
- package/src/internal/builtin-plugins/gas-analytics/helpers.ts +11 -29
- package/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.ts +68 -0
- package/src/internal/builtin-plugins/gas-analytics/index.ts +1 -0
- package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +21 -28
- package/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.ts +5 -2
- package/src/internal/builtin-plugins/network-manager/edr/type-validation.ts +0 -13
- package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +0 -64
- package/src/internal/builtin-plugins/solidity/build-results.ts +3 -1
- package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +15 -5
- package/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/dependency-graph.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.ts +36 -6
- package/src/internal/builtin-plugins/solidity/build-system/resolver/types.ts +3 -9
- package/src/internal/builtin-plugins/solidity/build-system/resolver/utils.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.ts +125 -28
- package/src/internal/builtin-plugins/solidity/config.ts +2 -2
- package/src/internal/builtin-plugins/solidity/hook-handlers/hre.ts +8 -0
- package/src/internal/builtin-plugins/solidity/tasks/build.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +2 -2
- package/src/internal/builtin-plugins/solidity-test/runner.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/task-action.ts +36 -38
- package/src/internal/builtin-plugins/telemetry/task-action.ts +4 -2
- package/src/internal/builtin-plugins/test/task-action.ts +71 -25
- package/src/internal/builtin-plugins/test/type-extensions.ts +42 -0
- package/src/internal/cli/banner-manager.ts +234 -0
- package/src/internal/cli/init/init.ts +8 -0
- package/src/internal/cli/main.ts +19 -1
- package/src/internal/cli/telemetry/analytics/subprocess.ts +2 -0
- package/src/internal/cli/telemetry/sentry/anonymize-paths.ts +1 -1
- package/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.ts +98 -50
- package/src/internal/core/user-interruptions.ts +1 -1
- package/src/types/artifacts.ts +40 -3
- package/src/types/hre.ts +1 -1
- package/src/types/network.ts +1 -1
- package/src/types/solidity/build-system.ts +75 -14
- package/src/types/solidity/resolved-file.ts +2 -2
- package/src/types/tasks.ts +10 -0
- package/src/types/test.ts +12 -0
- package/src/types/utils.ts +14 -0
- package/src/utils/result.ts +57 -0
- package/templates/hardhat-3/01-node-test-runner-viem/package.json +9 -9
- package/templates/hardhat-3/02-mocha-ethers/package.json +10 -10
- package/templates/hardhat-3/03-minimal/package.json +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/types/output.d.ts +0 -19
- package/dist/src/internal/builtin-plugins/network-manager/edr/types/output.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/types/output.js +0 -2
- package/dist/src/internal/builtin-plugins/network-manager/edr/types/output.js.map +0 -1
- package/src/internal/builtin-plugins/network-manager/edr/types/output.ts +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edr-artifacts.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"edr-artifacts.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export interface RunOptions {
|
|
|
21
21
|
* Despite the changes, the signature of the function should still be considered
|
|
22
22
|
* a draft that may change in the future.
|
|
23
23
|
*
|
|
24
|
-
* TODO: Once the signature is
|
|
24
|
+
* TODO: Once the signature is finalized, give feedback to the EDR team.
|
|
25
25
|
*/
|
|
26
26
|
export declare function run(chainType: ChainType, artifacts: Artifact[], testSuiteIds: ArtifactId[], configArgs: SolidityTestRunnerConfigArgs, tracingConfig: TracingConfigWithBuffers, sourceNameToUserSourceName: Map<string, string>, options?: RunOptions): TestsStream;
|
|
27
27
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -18,7 +18,7 @@ import { formatArtifactId } from "./formatters.js";
|
|
|
18
18
|
* Despite the changes, the signature of the function should still be considered
|
|
19
19
|
* a draft that may change in the future.
|
|
20
20
|
*
|
|
21
|
-
* TODO: Once the signature is
|
|
21
|
+
* TODO: Once the signature is finalized, give feedback to the EDR team.
|
|
22
22
|
*/
|
|
23
23
|
export function run(chainType, artifacts, testSuiteIds, configArgs, tracingConfig, sourceNameToUserSourceName, options) {
|
|
24
24
|
const stream = new ReadableStream({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAqCrE,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,QAAA,MAAM,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CAmPhE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -3,11 +3,10 @@ import { assertHardhatInvariant, HardhatError, } from "@nomicfoundation/hardhat-
|
|
|
3
3
|
import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
|
|
4
4
|
import { createNonClosingWriter } from "@nomicfoundation/hardhat-utils/stream";
|
|
5
5
|
import { getFullyQualifiedName } from "../../../utils/contract-names.js";
|
|
6
|
+
import { errorResult, successfulResult } from "../../../utils/result.js";
|
|
6
7
|
import { HardhatRuntimeEnvironmentImplementation } from "../../core/hre.js";
|
|
7
8
|
import { isSupportedChainType } from "../../edr/chain-type.js";
|
|
8
9
|
import { ArtifactManagerImplementation } from "../artifacts/artifact-manager.js";
|
|
9
|
-
import { markTestRunStart as initCoverage, markTestWorkerDone as saveCoverageData, markTestRunDone as reportCoverage, } from "../coverage/helpers.js";
|
|
10
|
-
import { markTestRunStart as initGasStats, markTestWorkerDone as saveGasStatsData, markTestRunDone as reportGasStats, } from "../gas-analytics/helpers.js";
|
|
11
10
|
import { edrGasReportToHardhatGasMeasurements } from "../network-manager/edr/utils/convert-to-edr.js";
|
|
12
11
|
import { getEdrArtifacts, getBuildInfos } from "./edr-artifacts.js";
|
|
13
12
|
import { isTestSuiteArtifact, warnDeprecatedTestFail, solidityTestConfigToRunOptions, solidityTestConfigToSolidityTestRunnerConfigArgs, } from "./helpers.js";
|
|
@@ -50,20 +49,20 @@ const runSolidityTests = async ({ testFiles, chainType, grep, noCompile, verbosi
|
|
|
50
49
|
edrArtifacts.push(...(await getEdrArtifacts(artifactManager)));
|
|
51
50
|
buildInfos.push(...(await getBuildInfos(artifactManager)));
|
|
52
51
|
}
|
|
53
|
-
const sourceNameToUserSourceName = new Map(edrArtifacts.map(({ userSourceName,
|
|
54
|
-
|
|
52
|
+
const sourceNameToUserSourceName = new Map(edrArtifacts.map(({ userSourceName, edrArtifact }) => [
|
|
53
|
+
edrArtifact.id.source,
|
|
55
54
|
userSourceName,
|
|
56
55
|
]));
|
|
57
|
-
edrArtifacts.forEach(({ userSourceName,
|
|
56
|
+
edrArtifacts.forEach(({ userSourceName, edrArtifact }) => {
|
|
58
57
|
if (testRootPaths.includes(resolveFromRoot(hre.config.paths.root, userSourceName)) &&
|
|
59
|
-
isTestSuiteArtifact(
|
|
60
|
-
warnDeprecatedTestFail(
|
|
58
|
+
isTestSuiteArtifact(edrArtifact)) {
|
|
59
|
+
warnDeprecatedTestFail(edrArtifact, sourceNameToUserSourceName);
|
|
61
60
|
}
|
|
62
61
|
});
|
|
63
62
|
const testSuiteIds = edrArtifacts
|
|
64
63
|
.filter(({ userSourceName }) => testRootPaths.includes(resolveFromRoot(hre.config.paths.root, userSourceName)))
|
|
65
|
-
.filter(({
|
|
66
|
-
.map(({
|
|
64
|
+
.filter(({ edrArtifact }) => isTestSuiteArtifact(edrArtifact))
|
|
65
|
+
.map(({ edrArtifact }) => edrArtifact.id);
|
|
67
66
|
console.log("Running Solidity tests");
|
|
68
67
|
console.log();
|
|
69
68
|
let includesFailures = false;
|
|
@@ -104,9 +103,8 @@ const runSolidityTests = async ({ testFiles, chainType, grep, noCompile, verbosi
|
|
|
104
103
|
ignoreContracts: false,
|
|
105
104
|
};
|
|
106
105
|
const options = solidityTestConfigToRunOptions(solidityTestConfig);
|
|
107
|
-
await
|
|
108
|
-
|
|
109
|
-
const runStream = run(chainType, edrArtifacts.map(({ edrAtifact }) => edrAtifact), testSuiteIds, config, tracingConfig, sourceNameToUserSourceName, options);
|
|
106
|
+
await hre.hooks.runHandlerChain("test", "onTestRunStart", ["solidity"], async () => { });
|
|
107
|
+
const runStream = run(chainType, edrArtifacts.map(({ edrArtifact }) => edrArtifact), testSuiteIds, config, tracingConfig, sourceNameToUserSourceName, options);
|
|
110
108
|
let failed = 0;
|
|
111
109
|
let passed = 0;
|
|
112
110
|
let skipped = 0;
|
|
@@ -160,22 +158,13 @@ const runSolidityTests = async ({ testFiles, chainType, grep, noCompile, verbosi
|
|
|
160
158
|
console.error(error);
|
|
161
159
|
includesErrors = true;
|
|
162
160
|
}
|
|
163
|
-
await
|
|
164
|
-
await
|
|
165
|
-
// this may print coverage and gas statistics reports
|
|
166
|
-
await reportCoverage("solidity");
|
|
167
|
-
await reportGasStats("solidity");
|
|
168
|
-
if (includesFailures || includesErrors) {
|
|
169
|
-
process.exitCode = 1;
|
|
170
|
-
}
|
|
161
|
+
await hre.hooks.runHandlerChain("test", "onTestWorkerDone", ["solidity"], async () => { });
|
|
162
|
+
await hre.hooks.runHandlerChain("test", "onTestRunDone", ["solidity"], async () => { });
|
|
171
163
|
console.log();
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
todo: 0,
|
|
177
|
-
failureOutput,
|
|
178
|
-
};
|
|
164
|
+
const summary = { failed, passed, skipped, todo: 0, failureOutput };
|
|
165
|
+
return includesFailures || includesErrors
|
|
166
|
+
? errorResult(summary)
|
|
167
|
+
: successfulResult(summary);
|
|
179
168
|
};
|
|
180
169
|
export default runSolidityTests;
|
|
181
170
|
//# sourceMappingURL=task-action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/telemetry/task-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/telemetry/task-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQrE,UAAU,wBAAwB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,QAAA,MAAM,kBAAkB,EAAE,qBAAqB,CAC7C,wBAAwB,CA8BzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { errorResult, successfulResult } from "../../../utils/result.js";
|
|
1
2
|
import { isTelemetryAllowed, setTelemetryEnabled, } from "../../cli/telemetry/telemetry-permissions.js";
|
|
2
3
|
const configureTelemetry = async ({ enable, disable }) => {
|
|
3
4
|
if (enable && disable) {
|
|
4
5
|
console.error("Cannot enable and disable telemetry at the same time");
|
|
5
|
-
|
|
6
|
-
return;
|
|
6
|
+
return errorResult();
|
|
7
7
|
}
|
|
8
8
|
if (enable) {
|
|
9
9
|
console.log("Enabling telemetry...");
|
|
@@ -20,6 +20,7 @@ const configureTelemetry = async ({ enable, disable }) => {
|
|
|
20
20
|
else {
|
|
21
21
|
console.log("Telemetry is disabled, to enable it run `npx hardhat telemetry --enable`");
|
|
22
22
|
}
|
|
23
|
+
return successfulResult();
|
|
23
24
|
};
|
|
24
25
|
export default configureTelemetry;
|
|
25
26
|
//# sourceMappingURL=task-action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/telemetry/task-action.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AAOtD,MAAM,kBAAkB,GAEpB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAChC,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/telemetry/task-action.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AAOtD,MAAM,kBAAkB,GAEpB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAChC,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE3C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,2EAA2E,CAC5E,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/test/task-action.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/test/task-action.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,yBAAyB,CAAC;AAkBjC,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAmBD,QAAA,MAAM,WAAW,EAAE,qBAAqB,CAAC,mBAAmB,CAmL3D,CAAC;AAyEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { assertHardhatInvariant, HardhatError, } from "@nomicfoundation/hardhat-errors";
|
|
2
|
+
import { isObject } from "@nomicfoundation/hardhat-utils/lang";
|
|
2
3
|
import chalk from "chalk";
|
|
4
|
+
import { errorResult, isResult, successfulResult, } from "../../../utils/result.js";
|
|
3
5
|
import { HardhatRuntimeEnvironmentImplementation } from "../../core/hre.js";
|
|
6
|
+
function isTestSummary(value) {
|
|
7
|
+
return (isObject(value) &&
|
|
8
|
+
typeof value.failed === "number" &&
|
|
9
|
+
typeof value.passed === "number" &&
|
|
10
|
+
(value.skipped === undefined || typeof value.skipped === "number") &&
|
|
11
|
+
(value.todo === undefined || typeof value.todo === "number"));
|
|
12
|
+
}
|
|
4
13
|
const runAllTests = async ({ testFiles, chainType, grep, noCompile, verbosity }, hre) => {
|
|
5
14
|
// If this code is executed, it means the user has not specified a test runner.
|
|
6
15
|
// If file paths are specified, we need to determine which test runner applies to each test file.
|
|
@@ -20,6 +29,7 @@ const runAllTests = async ({ testFiles, chainType, grep, noCompile, verbosity },
|
|
|
20
29
|
}
|
|
21
30
|
const testSummaries = {};
|
|
22
31
|
let failureIndex = 1;
|
|
32
|
+
let hasFailures = false;
|
|
23
33
|
for (const subtask of thisTask.subtasks.values()) {
|
|
24
34
|
const files = getTestFilesForSubtask(subtask, testFiles, subtasksToFiles);
|
|
25
35
|
if (files === undefined) {
|
|
@@ -38,18 +48,34 @@ const runAllTests = async ({ testFiles, chainType, grep, noCompile, verbosity },
|
|
|
38
48
|
if (subtask.options.has("verbosity")) {
|
|
39
49
|
args.verbosity = verbosity;
|
|
40
50
|
}
|
|
41
|
-
const summaryId = subtask.id[subtask.id.length - 1];
|
|
42
51
|
if (subtask.options.has("testSummaryIndex")) {
|
|
43
52
|
args.testSummaryIndex = failureIndex;
|
|
44
|
-
testSummaries[summaryId] = await subtask.run(args);
|
|
45
|
-
failureIndex += testSummaries[summaryId].failed ?? 0;
|
|
46
53
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
const subtaskResult = await subtask.run(args);
|
|
55
|
+
const isSubtaskResult = isResult(subtaskResult, isTestSummary, isTestSummary);
|
|
56
|
+
const summary = isSubtaskResult
|
|
57
|
+
? subtaskResult.success
|
|
58
|
+
? subtaskResult.value
|
|
59
|
+
: subtaskResult.error
|
|
60
|
+
: isTestSummary(subtaskResult)
|
|
61
|
+
? subtaskResult
|
|
62
|
+
: undefined;
|
|
63
|
+
if (summary !== undefined) {
|
|
64
|
+
const summaryId = subtask.id[subtask.id.length - 1];
|
|
65
|
+
testSummaries[summaryId] = {
|
|
66
|
+
skipped: 0,
|
|
67
|
+
todo: 0,
|
|
68
|
+
...summary,
|
|
69
|
+
};
|
|
70
|
+
if (subtask.options.has("testSummaryIndex")) {
|
|
71
|
+
failureIndex += summary.failed;
|
|
72
|
+
}
|
|
50
73
|
}
|
|
51
|
-
|
|
52
|
-
|
|
74
|
+
if ((isSubtaskResult && !subtaskResult.success) ||
|
|
75
|
+
// Backwards compatibility: old plugins may not return a Result, so fall
|
|
76
|
+
// back to the process exit code to detect failures
|
|
77
|
+
(process.exitCode !== undefined && process.exitCode !== 0)) {
|
|
78
|
+
hasFailures = true;
|
|
53
79
|
}
|
|
54
80
|
}
|
|
55
81
|
const passed = [];
|
|
@@ -58,16 +84,16 @@ const runAllTests = async ({ testFiles, chainType, grep, noCompile, verbosity },
|
|
|
58
84
|
const todo = [];
|
|
59
85
|
const outputLines = [];
|
|
60
86
|
for (const [subtaskName, results] of Object.entries(testSummaries)) {
|
|
61
|
-
if (results.passed
|
|
87
|
+
if (results.passed > 0) {
|
|
62
88
|
passed.push([subtaskName, results.passed]);
|
|
63
89
|
}
|
|
64
|
-
if (results.failed
|
|
90
|
+
if (results.failed > 0) {
|
|
65
91
|
failed.push([subtaskName, results.failed]);
|
|
66
92
|
}
|
|
67
|
-
if (results.skipped
|
|
93
|
+
if (results.skipped > 0) {
|
|
68
94
|
skipped.push([subtaskName, results.skipped]);
|
|
69
95
|
}
|
|
70
|
-
if (results.todo
|
|
96
|
+
if (results.todo > 0) {
|
|
71
97
|
todo.push([subtaskName, results.todo]);
|
|
72
98
|
}
|
|
73
99
|
if (results.failureOutput !== undefined && results.failureOutput !== "") {
|
|
@@ -111,9 +137,10 @@ const runAllTests = async ({ testFiles, chainType, grep, noCompile, verbosity },
|
|
|
111
137
|
await hre._coverage.report(...ids);
|
|
112
138
|
console.log();
|
|
113
139
|
}
|
|
114
|
-
if (
|
|
140
|
+
if (hasFailures) {
|
|
115
141
|
console.error("Test run failed");
|
|
116
142
|
}
|
|
143
|
+
return hasFailures ? errorResult() : successfulResult();
|
|
117
144
|
};
|
|
118
145
|
function logSummaryLine(label, items, color = chalk.white) {
|
|
119
146
|
let total = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/test/task-action.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/test/task-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,33 @@ declare module "../../../types/hooks.js" {
|
|
|
25
25
|
* default implementation if no more handlers exist.
|
|
26
26
|
*/
|
|
27
27
|
registerFileForTestRunner: (context: HookContext, filePath: string, next: (nextContext: HookContext, filePath: string) => Promise<string | undefined>) => Promise<string | undefined>;
|
|
28
|
+
/**
|
|
29
|
+
* This hook is triggered at the start of a test run, before tests execute.
|
|
30
|
+
*
|
|
31
|
+
* @param context The hook context.
|
|
32
|
+
* @param id A string identifier for the test runner (e.g., "solidity", "nodejs", "mocha").
|
|
33
|
+
* @param next A function to call the next handler for this hook, or the
|
|
34
|
+
* default implementation if no more handlers exist.
|
|
35
|
+
*/
|
|
36
|
+
onTestRunStart: (context: HookContext, id: string, next: (nextContext: HookContext, id: string) => Promise<void>) => Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* This hook is triggered when a test worker has finished executing.
|
|
39
|
+
*
|
|
40
|
+
* @param context The hook context.
|
|
41
|
+
* @param id A string identifier for the test runner (e.g., "solidity", "nodejs", "mocha").
|
|
42
|
+
* @param next A function to call the next handler for this hook, or the
|
|
43
|
+
* default implementation if no more handlers exist.
|
|
44
|
+
*/
|
|
45
|
+
onTestWorkerDone: (context: HookContext, id: string, next: (nextContext: HookContext, id: string) => Promise<void>) => Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* This hook is triggered at the end of a test run, after all tests have completed.
|
|
48
|
+
*
|
|
49
|
+
* @param context The hook context.
|
|
50
|
+
* @param id A string identifier for the test runner (e.g., "solidity", "nodejs", "mocha").
|
|
51
|
+
* @param next A function to call the next handler for this hook, or the
|
|
52
|
+
* default implementation if no more handlers exist.
|
|
53
|
+
*/
|
|
54
|
+
onTestRunDone: (context: HookContext, id: string, next: (nextContext: HookContext, id: string) => Promise<void>) => Promise<void>;
|
|
28
55
|
}
|
|
29
56
|
}
|
|
30
57
|
//# sourceMappingURL=type-extensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/test/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAiB,iBAAiB;QAChC,IAAI,CAAC,EAAE,qBAAqB,CAAC;KAC9B;IAED,UAAiB,aAAa;QAC5B,IAAI,EAAE,iBAAiB,CAAC;KACzB;CACF;AAED,OAAO,QAAQ,yBAAyB,CAAC;IACvC,UAAiB,YAAY;QAC3B,IAAI,EAAE,SAAS,CAAC;KACjB;IAED,UAAiB,SAAS;QACxB;;;;;;;;;;WAUG;QACH,yBAAyB,EAAE,CACzB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CACJ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,KAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/test/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAiB,iBAAiB;QAChC,IAAI,CAAC,EAAE,qBAAqB,CAAC;KAC9B;IAED,UAAiB,aAAa;QAC5B,IAAI,EAAE,iBAAiB,CAAC;KACzB;CACF;AAED,OAAO,QAAQ,yBAAyB,CAAC;IACvC,UAAiB,YAAY;QAC3B,IAAI,EAAE,SAAS,CAAC;KACjB;IAED,UAAiB,SAAS;QACxB;;;;;;;;;;WAUG;QACH,yBAAyB,EAAE,CACzB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CACJ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,KAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAEjC;;;;;;;WAOG;QACH,cAAc,EAAE,CACd,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAC1D,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnB;;;;;;;WAOG;QACH,gBAAgB,EAAE,CAChB,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAC1D,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnB;;;;;;;WAOG;QACH,aAAa,EAAE,CACb,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAC1D,OAAO,CAAC,IAAI,CAAC,CAAC;KACpB;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Dispatcher } from "@nomicfoundation/hardhat-utils/request";
|
|
2
|
+
export declare const BANNER_CONFIG_URL = "https://raw.githubusercontent.com/NomicFoundation/hardhat/refs/heads/main/banner-config-v3.json";
|
|
3
|
+
export declare const BANNER_CACHE_FILE_NAME = "banner-config-v3.json";
|
|
4
|
+
export declare class BannerManager {
|
|
5
|
+
#private;
|
|
6
|
+
private constructor();
|
|
7
|
+
/**
|
|
8
|
+
* Returns a global instance of BannerManager.
|
|
9
|
+
*
|
|
10
|
+
* @param options Options used for testing purposes. Only used in the first
|
|
11
|
+
* invocation of this function, or after calling `resetInstance`.
|
|
12
|
+
* @returns The current global instance of BannerManager.
|
|
13
|
+
*/
|
|
14
|
+
static getInstance(options?: {
|
|
15
|
+
testDispatcher?: Dispatcher;
|
|
16
|
+
print?: (message: string) => void;
|
|
17
|
+
}): Promise<BannerManager>;
|
|
18
|
+
static resetInstance(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Displays a banner message, if any.
|
|
21
|
+
*
|
|
22
|
+
* @param timeout The timeout in milliseconds to wait for the banner display.
|
|
23
|
+
*/
|
|
24
|
+
showBanner(timeout?: number): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=banner-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-manager.d.ts","sourceRoot":"","sources":["../../../../src/internal/cli/banner-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAuBzE,eAAO,MAAM,iBAAiB,oGACqE,CAAC;AAEpG,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,qBAAa,aAAa;;IASxB,OAAO;IAcP;;;;;;OAMG;WACiB,WAAW,CAAC,OAAO,CAAC,EAAE;QACxC,cAAc,CAAC,EAAE,UAAU,CAAC;QAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACnC,GAAG,OAAO,CAAC,aAAa,CAAC;WAiBZ,aAAa,IAAI,IAAI;IAInC;;;;OAIG;IACU,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAoGzD"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { readJsonFile, writeJsonFile, FileNotFoundError, } from "@nomicfoundation/hardhat-utils/fs";
|
|
3
|
+
import { getCacheDir } from "@nomicfoundation/hardhat-utils/global-dir";
|
|
4
|
+
import { isObject } from "@nomicfoundation/hardhat-utils/lang";
|
|
5
|
+
import { getRequest } from "@nomicfoundation/hardhat-utils/request";
|
|
6
|
+
import debug from "debug";
|
|
7
|
+
const log = debug("hardhat:util:banner-manager");
|
|
8
|
+
export const BANNER_CONFIG_URL = "https://raw.githubusercontent.com/NomicFoundation/hardhat/refs/heads/main/banner-config-v3.json";
|
|
9
|
+
export const BANNER_CACHE_FILE_NAME = "banner-config-v3.json";
|
|
10
|
+
export class BannerManager {
|
|
11
|
+
static #instance;
|
|
12
|
+
#bannerConfig;
|
|
13
|
+
#lastDisplayTime;
|
|
14
|
+
#lastRequestTime;
|
|
15
|
+
#dispatcher;
|
|
16
|
+
#print;
|
|
17
|
+
constructor(bannerConfig, lastDisplayTime, lastRequestTime, dispatcher, print) {
|
|
18
|
+
this.#bannerConfig = bannerConfig;
|
|
19
|
+
this.#lastDisplayTime = lastDisplayTime;
|
|
20
|
+
this.#lastRequestTime = lastRequestTime;
|
|
21
|
+
this.#dispatcher = dispatcher;
|
|
22
|
+
this.#print = print;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Returns a global instance of BannerManager.
|
|
26
|
+
*
|
|
27
|
+
* @param options Options used for testing purposes. Only used in the first
|
|
28
|
+
* invocation of this function, or after calling `resetInstance`.
|
|
29
|
+
* @returns The current global instance of BannerManager.
|
|
30
|
+
*/
|
|
31
|
+
static async getInstance(options) {
|
|
32
|
+
if (this.#instance === undefined) {
|
|
33
|
+
log("Initializing BannerManager");
|
|
34
|
+
const { bannerConfig, lastDisplayTime, lastRequestTime } = await readCache();
|
|
35
|
+
this.#instance = new BannerManager(bannerConfig, lastDisplayTime, lastRequestTime, options?.testDispatcher, options?.print ?? console.log);
|
|
36
|
+
}
|
|
37
|
+
return this.#instance;
|
|
38
|
+
}
|
|
39
|
+
static resetInstance() {
|
|
40
|
+
this.#instance = undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Displays a banner message, if any.
|
|
44
|
+
*
|
|
45
|
+
* @param timeout The timeout in milliseconds to wait for the banner display.
|
|
46
|
+
*/
|
|
47
|
+
async showBanner(timeout) {
|
|
48
|
+
await this.#requestBannerConfig(timeout);
|
|
49
|
+
if (this.#bannerConfig === undefined ||
|
|
50
|
+
!this.#bannerConfig.enabled ||
|
|
51
|
+
this.#bannerConfig.formattedMessages.length === 0) {
|
|
52
|
+
log("Banner is disabled or no messages available.");
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const { formattedMessages, minSecondsBetweenDisplays } = this.#bannerConfig;
|
|
56
|
+
const timeSinceLastDisplay = Date.now() - this.#lastDisplayTime;
|
|
57
|
+
if (timeSinceLastDisplay < minSecondsBetweenDisplays * 1000) {
|
|
58
|
+
log(`Skipping banner display. Time since last display: ${timeSinceLastDisplay}ms`);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
// select a random message from the formattedMessages array
|
|
62
|
+
const randomIndex = Math.floor(Math.random() * formattedMessages.length);
|
|
63
|
+
const message = formattedMessages[randomIndex];
|
|
64
|
+
this.#print(message);
|
|
65
|
+
this.#lastDisplayTime = Date.now();
|
|
66
|
+
await writeCache({
|
|
67
|
+
bannerConfig: this.#bannerConfig,
|
|
68
|
+
lastDisplayTime: this.#lastDisplayTime,
|
|
69
|
+
lastRequestTime: this.#lastRequestTime,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
async #requestBannerConfig(timeout) {
|
|
73
|
+
if (this.#bannerConfig !== undefined) {
|
|
74
|
+
const timeSinceLastRequest = Date.now() - this.#lastRequestTime;
|
|
75
|
+
if (timeSinceLastRequest <
|
|
76
|
+
this.#bannerConfig.minSecondsBetweenRequests * 1000) {
|
|
77
|
+
log(`Skipping banner config request. Time since last request: ${timeSinceLastRequest}ms`);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
const response = await getRequest(BANNER_CONFIG_URL, undefined, this.#dispatcher ?? { timeout });
|
|
83
|
+
const bannerConfig = await response.body.json();
|
|
84
|
+
if (!this.#isBannerConfig(bannerConfig)) {
|
|
85
|
+
log(`Invalid banner config received:`, bannerConfig);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
this.#bannerConfig = bannerConfig;
|
|
89
|
+
this.#lastRequestTime = Date.now();
|
|
90
|
+
await writeCache({
|
|
91
|
+
bannerConfig: this.#bannerConfig,
|
|
92
|
+
lastDisplayTime: this.#lastDisplayTime,
|
|
93
|
+
lastRequestTime: this.#lastRequestTime,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
log(`Error requesting banner config: ${error instanceof Error ? error.message : JSON.stringify(error)}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
#isBannerConfig(value) {
|
|
101
|
+
if (!isObject(value)) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
return (Object.getOwnPropertyNames(value).length === 4 &&
|
|
105
|
+
"enabled" in value &&
|
|
106
|
+
typeof value.enabled === "boolean" &&
|
|
107
|
+
"formattedMessages" in value &&
|
|
108
|
+
Array.isArray(value.formattedMessages) &&
|
|
109
|
+
value.formattedMessages.every((message) => typeof message === "string") &&
|
|
110
|
+
"minSecondsBetweenDisplays" in value &&
|
|
111
|
+
typeof value.minSecondsBetweenDisplays === "number" &&
|
|
112
|
+
"minSecondsBetweenRequests" in value &&
|
|
113
|
+
typeof value.minSecondsBetweenRequests === "number");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function readCache() {
|
|
117
|
+
const cacheDir = await getCacheDir();
|
|
118
|
+
const bannerCacheFilePath = path.join(cacheDir, BANNER_CACHE_FILE_NAME);
|
|
119
|
+
try {
|
|
120
|
+
return await readJsonFile(bannerCacheFilePath);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
if (error instanceof FileNotFoundError) {
|
|
124
|
+
log("No banner cache file found, using defaults");
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
log(`Error reading cache file: ${error instanceof Error ? error.message : JSON.stringify(error)}`);
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
bannerConfig: undefined,
|
|
131
|
+
lastDisplayTime: 0,
|
|
132
|
+
lastRequestTime: 0,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async function writeCache(cache) {
|
|
137
|
+
const cacheDir = await getCacheDir();
|
|
138
|
+
const bannerCacheFilePath = path.join(cacheDir, BANNER_CACHE_FILE_NAME);
|
|
139
|
+
try {
|
|
140
|
+
await writeJsonFile(bannerCacheFilePath, cache);
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
log(`Error writing cache file: ${error instanceof Error ? error.message : JSON.stringify(error)}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=banner-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-manager.js","sourceRoot":"","sources":["../../../../src/internal/cli/banner-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/internal/cli/init/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAkD1E,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/internal/cli/init/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAkD1E,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD7E;AA0BD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BzD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,WAAW,GAAG,WAAW,EACzC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CA0BvC;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKpE;AACD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAiHf;AAWD,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,eAAe,EAAE,MAAM,GACtB,OAAO,CAyBT"}
|
|
@@ -71,6 +71,14 @@ export async function initHardhat(options) {
|
|
|
71
71
|
projectTypeAnalyticsPromise,
|
|
72
72
|
]);
|
|
73
73
|
showStarOnGitHubMessage();
|
|
74
|
+
try {
|
|
75
|
+
const { BannerManager } = await import("../banner-manager.js");
|
|
76
|
+
const bannerManager = await BannerManager.getInstance();
|
|
77
|
+
await bannerManager.showBanner();
|
|
78
|
+
}
|
|
79
|
+
catch (bannerError) {
|
|
80
|
+
log("Error showing banner", bannerError);
|
|
81
|
+
}
|
|
74
82
|
}
|
|
75
83
|
catch (e) {
|
|
76
84
|
if (e === "") {
|