hardhat 3.0.6 → 3.0.8
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 +22 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js +1 -2
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +1 -0
- 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 +9 -2
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js +13 -5
- 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 +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts +4 -3
- 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 +79 -37
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.js +3 -3
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.d.ts +25 -0
- package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js +56 -0
- package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js.map +1 -0
- package/dist/src/internal/builtin-plugins/node/helpers.d.ts +12 -0
- package/dist/src/internal/builtin-plugins/node/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/node/helpers.js +32 -0
- package/dist/src/internal/builtin-plugins/node/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/json-rpc/server.d.ts +3 -10
- package/dist/src/internal/builtin-plugins/node/json-rpc/server.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/node/json-rpc/server.js +1 -1
- package/dist/src/internal/builtin-plugins/node/json-rpc/server.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/node/task-action.js +14 -4
- package/dist/src/internal/builtin-plugins/node/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts +13 -5
- 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 +126 -58
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts.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 +14 -6
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.js +8 -0
- package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.d.ts +4 -2
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.js +37 -10
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts +4 -2
- package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/config.js +24 -4
- package/dist/src/internal/builtin-plugins/solidity-test/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +12 -3
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.d.ts.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/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +16 -39
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts +17 -7
- package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/core/hook-manager.d.ts.map +1 -1
- package/dist/src/internal/core/hook-manager.js +3 -1
- package/dist/src/internal/core/hook-manager.js.map +1 -1
- package/dist/src/internal/core/hre.d.ts +29 -1
- package/dist/src/internal/core/hre.d.ts.map +1 -1
- package/dist/src/internal/core/hre.js +57 -20
- package/dist/src/internal/core/hre.js.map +1 -1
- package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.d.ts +2 -1
- package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.d.ts.map +1 -1
- package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js +5 -4
- package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js.map +1 -1
- package/dist/src/internal/core/plugins/resolve-plugin-list.js +41 -4
- package/dist/src/internal/core/plugins/resolve-plugin-list.js.map +1 -1
- package/dist/src/internal/core/tasks/resolved-task.d.ts.map +1 -1
- package/dist/src/internal/core/tasks/resolved-task.js +1 -1
- package/dist/src/internal/core/tasks/resolved-task.js.map +1 -1
- package/dist/src/internal/utils/package.d.ts +1 -0
- package/dist/src/internal/utils/package.d.ts.map +1 -1
- package/dist/src/internal/utils/package.js +17 -1
- package/dist/src/internal/utils/package.js.map +1 -1
- package/dist/src/types/hre.d.ts +4 -0
- package/dist/src/types/hre.d.ts.map +1 -1
- package/dist/src/types/network.d.ts +40 -0
- package/dist/src/types/network.d.ts.map +1 -1
- package/dist/src/types/plugins.d.ts +8 -0
- package/dist/src/types/plugins.d.ts.map +1 -1
- package/dist/src/types/solidity/build-system.d.ts +23 -8
- package/dist/src/types/solidity/build-system.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +2 -3
- package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +20 -1
- package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +36 -18
- package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +1 -1
- package/src/internal/builtin-plugins/network-manager/network-manager.ts +137 -60
- package/src/internal/builtin-plugins/network-manager/type-validation.ts +3 -3
- package/src/internal/builtin-plugins/node/artifacts/build-info-watcher.ts +82 -0
- package/src/internal/builtin-plugins/node/helpers.ts +64 -0
- package/src/internal/builtin-plugins/node/json-rpc/server.ts +3 -10
- package/src/internal/builtin-plugins/node/task-action.ts +31 -5
- package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +203 -98
- package/src/internal/builtin-plugins/solidity/build-system/cache.ts +1 -1
- package/src/internal/builtin-plugins/solidity/hook-handlers/hre.ts +22 -5
- package/src/internal/builtin-plugins/solidity/index.ts +8 -0
- package/src/internal/builtin-plugins/solidity/tasks/build.ts +59 -16
- package/src/internal/builtin-plugins/solidity-test/config.ts +46 -3
- package/src/internal/builtin-plugins/solidity-test/helpers.ts +17 -4
- package/src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts +5 -1
- package/src/internal/builtin-plugins/solidity-test/task-action.ts +21 -48
- package/src/internal/builtin-plugins/solidity-test/type-extensions.ts +23 -9
- package/src/internal/core/hook-manager.ts +9 -1
- package/src/internal/core/hre.ts +102 -32
- package/src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts +5 -0
- package/src/internal/core/plugins/resolve-plugin-list.ts +58 -4
- package/src/internal/core/tasks/resolved-task.ts +1 -0
- package/src/internal/utils/package.ts +31 -1
- package/src/types/hre.ts +4 -0
- package/src/types/network.ts +45 -0
- package/src/types/plugins.ts +5 -0
- package/src/types/solidity/build-system.ts +23 -7
- package/templates/hardhat-3/01-node-test-runner-viem/package.json +3 -3
- package/templates/hardhat-3/02-mocha-ethers/package.json +5 -5
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HardhatError } from "@nomicfoundation/hardhat-errors";
|
|
2
2
|
import { findClosestPackageRoot } from "@nomicfoundation/hardhat-utils/package";
|
|
3
3
|
import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
|
|
4
|
+
import { getEdrVersion, getHardhatVersion } from "../utils/package.js";
|
|
4
5
|
import { validateUserConfig } from "./config-validation.js";
|
|
5
6
|
import { resolveConfigurationVariable } from "./configuration-variables.js";
|
|
6
7
|
import { buildGlobalOptionDefinitions, resolveGlobalOptions, } from "./global-options.js";
|
|
@@ -14,6 +15,7 @@ export class HardhatRuntimeEnvironmentImplementation {
|
|
|
14
15
|
hooks;
|
|
15
16
|
interruptions;
|
|
16
17
|
globalOptions;
|
|
18
|
+
versions;
|
|
17
19
|
// NOTE: This is a small architectural violation, as these shouldn't be needed
|
|
18
20
|
// here, because they are added by plugins. But as those plugins are builtin,
|
|
19
21
|
// their type extensions also affect this module.
|
|
@@ -27,37 +29,31 @@ export class HardhatRuntimeEnvironmentImplementation {
|
|
|
27
29
|
const resolvedProjectRoot = await resolveProjectRoot(projectRoot);
|
|
28
30
|
const resolvedPlugins = unsafeOptions?.resolvedPlugins ??
|
|
29
31
|
(await resolvePluginList(resolvedProjectRoot, inputUserConfig.plugins));
|
|
32
|
+
const [hardhatVersion, edrVersion] = await Promise.all([
|
|
33
|
+
getHardhatVersion(),
|
|
34
|
+
getEdrVersion(),
|
|
35
|
+
]);
|
|
36
|
+
const versions = {
|
|
37
|
+
hardhat: hardhatVersion,
|
|
38
|
+
edr: edrVersion,
|
|
39
|
+
};
|
|
30
40
|
const hooks = new HookManagerImplementation(resolvedProjectRoot, resolvedPlugins);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// validate config
|
|
34
|
-
const userConfigValidationErrors = await validateUserConfig(hooks, extendedUserConfig);
|
|
35
|
-
if (userConfigValidationErrors.length > 0) {
|
|
41
|
+
const configResolutionResult = await resolveUserConfigToHardhatConfig(inputUserConfig, hooks, resolvedProjectRoot, userProvidedGlobalOptions.config, resolvedPlugins);
|
|
42
|
+
if (!configResolutionResult.success) {
|
|
36
43
|
throw new HardhatError(HardhatError.ERRORS.CORE.GENERAL.INVALID_CONFIG, {
|
|
37
|
-
errors: `\t${userConfigValidationErrors
|
|
44
|
+
errors: `\t${configResolutionResult.userConfigValidationErrors
|
|
38
45
|
.map((error) => `* Config error in config.${error.path.join(".")}: ${error.message}`)
|
|
39
46
|
.join("\n\t")}`,
|
|
40
47
|
});
|
|
41
48
|
}
|
|
42
|
-
|
|
43
|
-
const resolvedConfig = await resolveUserConfig(resolvedProjectRoot, userProvidedGlobalOptions.config, hooks, resolvedPlugins, extendedUserConfig);
|
|
44
|
-
// We override the plugins and the project root, as we want to prevent
|
|
45
|
-
// the plugins from changing them
|
|
46
|
-
const config = {
|
|
47
|
-
...resolvedConfig,
|
|
48
|
-
paths: {
|
|
49
|
-
...resolvedConfig.paths,
|
|
50
|
-
root: resolvedProjectRoot,
|
|
51
|
-
},
|
|
52
|
-
plugins: resolvedPlugins,
|
|
53
|
-
};
|
|
49
|
+
const { config, extendedUserConfig } = configResolutionResult;
|
|
54
50
|
const globalOptionDefinitions = unsafeOptions?.globalOptionDefinitions ??
|
|
55
51
|
buildGlobalOptionDefinitions(resolvedPlugins);
|
|
56
52
|
const globalOptions = resolveGlobalOptions(userProvidedGlobalOptions, globalOptionDefinitions);
|
|
57
53
|
// Set the HookContext in the hook manager so that non-config hooks can
|
|
58
54
|
// use it
|
|
59
55
|
const interruptions = new UserInterruptionManagerImplementation(hooks);
|
|
60
|
-
const hre = new HardhatRuntimeEnvironmentImplementation(extendedUserConfig, config, hooks, interruptions, globalOptions, globalOptionDefinitions);
|
|
56
|
+
const hre = new HardhatRuntimeEnvironmentImplementation(extendedUserConfig, config, hooks, interruptions, globalOptions, versions, globalOptionDefinitions);
|
|
61
57
|
// We create an object with the HRE as its prototype, and overwrite the
|
|
62
58
|
// tasks property with undefined, so that hooks don't have access to the
|
|
63
59
|
// task runner.
|
|
@@ -73,12 +69,13 @@ export class HardhatRuntimeEnvironmentImplementation {
|
|
|
73
69
|
return hre;
|
|
74
70
|
}
|
|
75
71
|
tasks;
|
|
76
|
-
constructor(userConfig, config, hooks, interruptions, globalOptions, globalOptionDefinitions) {
|
|
72
|
+
constructor(userConfig, config, hooks, interruptions, globalOptions, versions, globalOptionDefinitions) {
|
|
77
73
|
this.userConfig = userConfig;
|
|
78
74
|
this.config = config;
|
|
79
75
|
this.hooks = hooks;
|
|
80
76
|
this.interruptions = interruptions;
|
|
81
77
|
this.globalOptions = globalOptions;
|
|
78
|
+
this.versions = versions;
|
|
82
79
|
this.tasks = new TaskManagerImplementation(this, globalOptionDefinitions);
|
|
83
80
|
}
|
|
84
81
|
}
|
|
@@ -93,6 +90,46 @@ export class HardhatRuntimeEnvironmentImplementation {
|
|
|
93
90
|
export async function resolveProjectRoot(absolutePathWithinProject) {
|
|
94
91
|
return findClosestPackageRoot(absolutePathWithinProject ?? process.cwd());
|
|
95
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Runs the provided Hardhat user config through the resolution process,
|
|
95
|
+
* invoking relevant plugin hooks (both internal and external) to extend
|
|
96
|
+
* and transform the config into a full HardhatConfig.
|
|
97
|
+
*
|
|
98
|
+
* @param hooks - The HookManager used to run config extension and validation
|
|
99
|
+
* hooks.
|
|
100
|
+
* @param inputUserConfig - The initial user provided Hardhat config object.
|
|
101
|
+
* @param resolvedProjectRoot - The project root path.
|
|
102
|
+
* @param userProvidedConfigPath - The user provided Hardhat config file path.
|
|
103
|
+
* @param resolvedPlugins - The list of plugins, we do not want the plugins
|
|
104
|
+
* overwriting them so we re-add them to the final HardhatConfig.
|
|
105
|
+
* @returns Either an object containing the resolved HardhatConfig and the
|
|
106
|
+
* extended version of the user config, or a list of validation errors.
|
|
107
|
+
*/
|
|
108
|
+
export async function resolveUserConfigToHardhatConfig(inputUserConfig, hooks, resolvedProjectRoot, userProvidedConfigPath, resolvedPlugins) {
|
|
109
|
+
// extend user config:
|
|
110
|
+
const extendedUserConfig = await runUserConfigExtensions(hooks, inputUserConfig);
|
|
111
|
+
// validate config
|
|
112
|
+
const userConfigValidationErrors = await validateUserConfig(hooks, extendedUserConfig);
|
|
113
|
+
if (userConfigValidationErrors.length > 0) {
|
|
114
|
+
return {
|
|
115
|
+
success: false,
|
|
116
|
+
userConfigValidationErrors,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
// Resolve config
|
|
120
|
+
const resolvedConfig = await resolveUserConfig(resolvedProjectRoot, userProvidedConfigPath, hooks, resolvedPlugins, extendedUserConfig);
|
|
121
|
+
// We override the plugins and the project root, as we want to prevent
|
|
122
|
+
// the plugins from changing them
|
|
123
|
+
const config = {
|
|
124
|
+
...resolvedConfig,
|
|
125
|
+
paths: {
|
|
126
|
+
...resolvedConfig.paths,
|
|
127
|
+
root: resolvedProjectRoot,
|
|
128
|
+
},
|
|
129
|
+
plugins: resolvedPlugins,
|
|
130
|
+
};
|
|
131
|
+
return { success: true, config, extendedUserConfig };
|
|
132
|
+
}
|
|
96
133
|
async function runUserConfigExtensions(hooks, config) {
|
|
97
134
|
return hooks.runHandlerChain("config", "extendUserConfig", [config], async (c) => {
|
|
98
135
|
return c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import type { HardhatPlugin } from "../../../types/plugins.js";
|
|
|
5
5
|
*
|
|
6
6
|
* @param basePathForNpmResolution the dir path for node module resolution
|
|
7
7
|
* @param plugin the plugin to be validated
|
|
8
|
+
* @param originalError the original error why we are running this function
|
|
8
9
|
* @throws {HardhatError} with descriptor:
|
|
9
10
|
* - {@link HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_NOT_INSTALLED} if the plugin is
|
|
10
11
|
* not installed as an npm package
|
|
@@ -13,5 +14,5 @@ import type { HardhatPlugin } from "../../../types/plugins.js";
|
|
|
13
14
|
* - {@link HardhatError.ERRORS.CORE.PLUGINS.DEPENDENCY_VERSION_MISMATCH} if the
|
|
14
15
|
* plugin's package peer dependency is installed but has the wrong version
|
|
15
16
|
*/
|
|
16
|
-
export declare function detectPluginNpmDependencyProblems(basePathForNpmResolution: string, plugin: HardhatPlugin): Promise<void>;
|
|
17
|
+
export declare function detectPluginNpmDependencyProblems(basePathForNpmResolution: string, plugin: HardhatPlugin, originalError: Error): Promise<void>;
|
|
17
18
|
//# sourceMappingURL=detect-plugin-npm-dependency-problems.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-plugin-npm-dependency-problems.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAW/D
|
|
1
|
+
{"version":3,"file":"detect-plugin-npm-dependency-problems.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAW/D;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iCAAiC,CACrD,wBAAwB,EAAE,MAAM,EAChC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,KAAK,GACnB,OAAO,CAAC,IAAI,CAAC,CAuEf"}
|
|
@@ -8,6 +8,7 @@ import { findDependencyPackageJson, } from "@nomicfoundation/hardhat-utils/packa
|
|
|
8
8
|
*
|
|
9
9
|
* @param basePathForNpmResolution the dir path for node module resolution
|
|
10
10
|
* @param plugin the plugin to be validated
|
|
11
|
+
* @param originalError the original error why we are running this function
|
|
11
12
|
* @throws {HardhatError} with descriptor:
|
|
12
13
|
* - {@link HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_NOT_INSTALLED} if the plugin is
|
|
13
14
|
* not installed as an npm package
|
|
@@ -16,7 +17,7 @@ import { findDependencyPackageJson, } from "@nomicfoundation/hardhat-utils/packa
|
|
|
16
17
|
* - {@link HardhatError.ERRORS.CORE.PLUGINS.DEPENDENCY_VERSION_MISMATCH} if the
|
|
17
18
|
* plugin's package peer dependency is installed but has the wrong version
|
|
18
19
|
*/
|
|
19
|
-
export async function detectPluginNpmDependencyProblems(basePathForNpmResolution, plugin) {
|
|
20
|
+
export async function detectPluginNpmDependencyProblems(basePathForNpmResolution, plugin, originalError) {
|
|
20
21
|
if (plugin.npmPackage === null) {
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
@@ -26,7 +27,7 @@ export async function detectPluginNpmDependencyProblems(basePathForNpmResolution
|
|
|
26
27
|
if (pluginPackageJsonPath === undefined) {
|
|
27
28
|
throw new HardhatError(HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_NOT_INSTALLED, {
|
|
28
29
|
pluginId: plugin.id,
|
|
29
|
-
});
|
|
30
|
+
}, originalError);
|
|
30
31
|
}
|
|
31
32
|
const pluginPackageJson = await readJsonFile(pluginPackageJsonPath);
|
|
32
33
|
if (pluginPackageJson.peerDependencies === undefined) {
|
|
@@ -39,7 +40,7 @@ export async function detectPluginNpmDependencyProblems(basePathForNpmResolution
|
|
|
39
40
|
throw new HardhatError(HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_MISSING_DEPENDENCY, {
|
|
40
41
|
pluginId: plugin.id,
|
|
41
42
|
peerDependencyName: dependencyName,
|
|
42
|
-
});
|
|
43
|
+
}, originalError);
|
|
43
44
|
}
|
|
44
45
|
const dependencyPackageJson = await readJsonFile(dependencyPackageJsonPath);
|
|
45
46
|
const installedVersion = dependencyPackageJson.version;
|
|
@@ -50,7 +51,7 @@ export async function detectPluginNpmDependencyProblems(basePathForNpmResolution
|
|
|
50
51
|
peerDependencyName: dependencyName,
|
|
51
52
|
installedVersion,
|
|
52
53
|
expectedVersion: versionSpec,
|
|
53
|
-
});
|
|
54
|
+
}, originalError);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-plugin-npm-dependency-problems.js","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EACL,yBAAyB,GAE1B,MAAM,wCAAwC,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"detect-plugin-npm-dependency-problems.js","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EACL,yBAAyB,GAE1B,MAAM,wCAAwC,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,wBAAgC,EAChC,MAAqB,EACrB,aAAoB;IAEpB,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,yBAAyB,CAC3D,wBAAwB;IACxB,0EAA0E;IAC1E,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAC/B,CAAC;IAEF,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACrD;YACE,QAAQ,EAAE,MAAM,CAAC,EAAE;SACpB,EACD,aAAa,CACd,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAC1C,qBAAqB,CACtB,CAAC;IAEF,IAAI,iBAAiB,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE9D,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CACxD,iBAAiB,CAAC,gBAAgB,CACnC,EAAE,CAAC;QACF,MAAM,yBAAyB,GAAG,MAAM,yBAAyB,CAC/D,iBAAiB,EACjB,cAAc,CACf,CAAC;QAEF,IAAI,yBAAyB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAC1D;gBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,kBAAkB,EAAE,cAAc;aACnC,EACD,aAAa,CACd,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,YAAY,CAC9C,yBAAyB,CAC1B,CAAC;QAEF,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC;QAEvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAC5D;gBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,kBAAkB,EAAE,cAAc;gBAClC,gBAAgB;gBAChB,eAAe,EAAE,WAAW;aAC7B,EACD,aAAa,CACd,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -17,7 +17,7 @@ export async function resolvePluginList(projectRoot, userConfigPluginList = [])
|
|
|
17
17
|
*/
|
|
18
18
|
async function reverseTopologicalSort(projectRoot, plugins) {
|
|
19
19
|
const visitedPlugins = new Map();
|
|
20
|
-
const
|
|
20
|
+
const resolvedPlugins = [];
|
|
21
21
|
async function dfs(plugin) {
|
|
22
22
|
const visited = visitedPlugins.get(plugin.id);
|
|
23
23
|
if (visited !== undefined) {
|
|
@@ -34,7 +34,7 @@ async function reverseTopologicalSort(projectRoot, plugins) {
|
|
|
34
34
|
}
|
|
35
35
|
catch (error) {
|
|
36
36
|
ensureError(error);
|
|
37
|
-
await detectPluginNpmDependencyProblems(projectRoot, plugin);
|
|
37
|
+
await detectPluginNpmDependencyProblems(projectRoot, plugin, error);
|
|
38
38
|
throw new HardhatError(HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_DEPENDENCY_FAILED_LOAD, {
|
|
39
39
|
pluginId: plugin.id,
|
|
40
40
|
}, error);
|
|
@@ -43,11 +43,48 @@ async function reverseTopologicalSort(projectRoot, plugins) {
|
|
|
43
43
|
await dfs(dependencyModule.default);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
resolvedPlugins.push(plugin);
|
|
47
47
|
}
|
|
48
48
|
for (const plugin of plugins) {
|
|
49
49
|
await dfs(plugin);
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
// Resolve conditional dependencies iteratively
|
|
52
|
+
let lastResolvedCount = -1;
|
|
53
|
+
while (resolvedPlugins.length !== lastResolvedCount) {
|
|
54
|
+
lastResolvedCount = resolvedPlugins.length;
|
|
55
|
+
for (const plugin of resolvedPlugins) {
|
|
56
|
+
if (plugin.conditionalDependencies === undefined) {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
for (const conditionalDependency of plugin.conditionalDependencies) {
|
|
60
|
+
// Check all condition plugins are installed
|
|
61
|
+
let conditionModules;
|
|
62
|
+
try {
|
|
63
|
+
conditionModules = await Promise.all(conditionalDependency.condition());
|
|
64
|
+
}
|
|
65
|
+
catch (_error) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
// Check all condition plugins are loaded
|
|
69
|
+
if (conditionModules.some((conditionPlugin) => !resolvedPlugins.includes(conditionPlugin.default))) {
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
// Load the conditional dependency
|
|
73
|
+
let pluginModule;
|
|
74
|
+
try {
|
|
75
|
+
pluginModule = await conditionalDependency.plugin();
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
ensureError(error);
|
|
79
|
+
await detectPluginNpmDependencyProblems(projectRoot, plugin, error);
|
|
80
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_DEPENDENCY_FAILED_LOAD, {
|
|
81
|
+
pluginId: plugin.id,
|
|
82
|
+
}, error);
|
|
83
|
+
}
|
|
84
|
+
await dfs(pluginModule.default);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return resolvedPlugins;
|
|
52
89
|
}
|
|
53
90
|
//# sourceMappingURL=resolve-plugin-list.js.map
|
|
@@ -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;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,OAAwB;IAExB,MAAM,cAAc,GAA+B,IAAI,GAAG,EAAE,CAAC;IAC7D,MAAM,
|
|
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;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,OAAwB;IAExB,MAAM,cAAc,GAA+B,IAAI,GAAG,EAAE,CAAC;IAC7D,MAAM,eAAe,GAAoB,EAAE,CAAC;IAE5C,KAAK,UAAU,GAAG,CAAC,MAAqB;QACtC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACrD,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAClB,CAAC;YACJ,CAAC;YAED,OAAO;QACT,CAAC;QAED,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,iBAAoD,CAAC;YAEzD,IAAI,CAAC;gBACH,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAEpE,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAC9D;oBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;iBACpB,EACD,KAAK,CACN,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;gBACjD,MAAM,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAE3B,OAAO,eAAe,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACpD,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC;QAE3C,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;gBACjD,SAAS;YACX,CAAC;YAED,KAAK,MAAM,qBAAqB,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;gBACnE,4CAA4C;gBAC5C,IAAI,gBAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,qBAAqB,CAAC,SAAS,EAAE,CAClC,CAAC;gBACJ,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,SAAS;gBACX,CAAC;gBAED,yCAAyC;gBACzC,IACE,gBAAgB,CAAC,IAAI,CACnB,CAAC,eAAe,EAAE,EAAE,CAClB,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CACrD,EACD,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,kCAAkC;gBAClC,IAAI,YAAY,CAAC;gBACjB,IAAI,CAAC;oBACH,YAAY,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,CAAC;gBACtD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,WAAW,CAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;oBAEpE,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAC9D;wBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;qBACpB,EACD,KAAK,CACN,CAAC;gBACJ,CAAC;gBAED,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolved-task.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/tasks/resolved-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAajC,qBAAa,YAAa,YAAW,IAAI;;aA2CrB,EAAE,EAAE,MAAM,EAAE;aACZ,WAAW,EAAE,MAAM;aACnB,OAAO,EAAE,WAAW;aACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;aACtC,mBAAmB,EAAE,4BAA4B,EAAE;aACnD,QAAQ,EAAE,MAAM,GAAG,SAAS;aAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;WA9C/B,eAAe,CAC3B,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;WAaD,aAAa,CACzB,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACzC,mBAAmB,EAAE,4BAA4B,EAAE,EACnD,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;gBAcG,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACtC,mBAAmB,EAAE,4BAA4B,EAAE,EACnD,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAC3C,GAAG,EAAE,yBAAyB;IAKhC,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;;;;;;;OASG;IACU,GAAG,CAAC,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"resolved-task.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/tasks/resolved-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAajC,qBAAa,YAAa,YAAW,IAAI;;aA2CrB,EAAE,EAAE,MAAM,EAAE;aACZ,WAAW,EAAE,MAAM;aACnB,OAAO,EAAE,WAAW;aACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;aACtC,mBAAmB,EAAE,4BAA4B,EAAE;aACnD,QAAQ,EAAE,MAAM,GAAG,SAAS;aAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;WA9C/B,eAAe,CAC3B,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;WAaD,aAAa,CACzB,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACzC,mBAAmB,EAAE,4BAA4B,EAAE,EACnD,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;gBAcG,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACtC,mBAAmB,EAAE,4BAA4B,EAAE,EACnD,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAC3C,GAAG,EAAE,yBAAyB;IAKhC,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;;;;;;;OASG;IACU,GAAG,CAAC,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;CA+KlE"}
|
|
@@ -133,7 +133,7 @@ export class ResolvedTask {
|
|
|
133
133
|
if (actionPluginId !== undefined) {
|
|
134
134
|
const plugin = this.#hre.config.plugins.find((p) => p.id === actionPluginId);
|
|
135
135
|
assertHardhatInvariant(plugin !== undefined, `Plugin with id ${actionPluginId} not found.`);
|
|
136
|
-
await detectPluginNpmDependencyProblems(this.#hre.config.paths.root, plugin);
|
|
136
|
+
await detectPluginNpmDependencyProblems(this.#hre.config.paths.root, plugin, error);
|
|
137
137
|
}
|
|
138
138
|
throw new HardhatError(HardhatError.ERRORS.CORE.TASK_DEFINITIONS.INVALID_ACTION_IMPORT, {
|
|
139
139
|
task: formatTaskId(this.id),
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/package.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/package.ts"],"names":[],"mappings":"AAcA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAYzD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAqBrD;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAwB/D"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { findClosestPackageRoot, findDependencyPackageJson, readClosestPackageJson, } from "@nomicfoundation/hardhat-utils/package";
|
|
2
3
|
let cachedHardhatVersion;
|
|
3
4
|
let cachedLatestHardhatVersion;
|
|
5
|
+
let cachedEdrVersion;
|
|
4
6
|
export async function getHardhatVersion() {
|
|
5
7
|
if (cachedHardhatVersion !== undefined) {
|
|
6
8
|
return cachedHardhatVersion;
|
|
@@ -9,6 +11,20 @@ export async function getHardhatVersion() {
|
|
|
9
11
|
cachedHardhatVersion = packageJson.version;
|
|
10
12
|
return packageJson.version;
|
|
11
13
|
}
|
|
14
|
+
export async function getEdrVersion() {
|
|
15
|
+
if (cachedEdrVersion !== undefined) {
|
|
16
|
+
return cachedEdrVersion;
|
|
17
|
+
}
|
|
18
|
+
const hardhatRoot = await findClosestPackageRoot(import.meta.url);
|
|
19
|
+
const edrPackageJsonPath = await findDependencyPackageJson(hardhatRoot, "@nomicfoundation/edr");
|
|
20
|
+
if (edrPackageJsonPath === undefined) {
|
|
21
|
+
return "";
|
|
22
|
+
}
|
|
23
|
+
const rawPackageJson = await readFile(edrPackageJsonPath, "utf-8");
|
|
24
|
+
const edrPackageJson = JSON.parse(rawPackageJson);
|
|
25
|
+
cachedEdrVersion = edrPackageJson.version;
|
|
26
|
+
return cachedEdrVersion;
|
|
27
|
+
}
|
|
12
28
|
export async function getLatestHardhatVersion() {
|
|
13
29
|
const { getRequest } = await import("@nomicfoundation/hardhat-utils/request");
|
|
14
30
|
if (cachedLatestHardhatVersion !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/internal/utils/package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/internal/utils/package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,IAAI,oBAAwC,CAAC;AAC7C,IAAI,0BAA8C,CAAC;AACnD,IAAI,gBAAoC,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,MAAM,WAAW,GAAgB,MAAM,sBAAsB,CAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IAEF,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC;IAE3C,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAElE,MAAM,kBAAkB,GAAG,MAAM,yBAAyB,CACxD,WAAW,EACX,sBAAsB,CACvB,CAAC;IAEF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,cAAc,GAAgB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/D,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC;IAE1C,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;IAE9E,IAAI,0BAA0B,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,MAAM,WAAW,GAAgB,MAAM,sBAAsB,CAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IAErC,MAAM,aAAa,GAAG,MAAM,UAAU,CACpC,8BAA8B,WAAW,SAAS,CACnD,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAClB;iFACyE;QACzE,OAAO,IAAI,CAAC,IAAI,EAA0B,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,0BAA0B,GAAG,aAAa,CAAC,OAAO,CAAC;IAEnD,OAAO,0BAA0B,CAAC;AACpC,CAAC"}
|
package/dist/src/types/hre.d.ts
CHANGED
|
@@ -10,5 +10,9 @@ export interface HardhatRuntimeEnvironment {
|
|
|
10
10
|
readonly userConfig: HardhatUserConfig;
|
|
11
11
|
readonly globalOptions: GlobalOptions;
|
|
12
12
|
readonly interruptions: UserInterruptionManager;
|
|
13
|
+
readonly versions: {
|
|
14
|
+
readonly hardhat: string;
|
|
15
|
+
readonly edr: string;
|
|
16
|
+
};
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=hre.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../src/types/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../src/types/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;CAKH"}
|
|
@@ -37,6 +37,16 @@ export interface NetworkConnectionParams<ChainTypeT extends ChainType | string =
|
|
|
37
37
|
}
|
|
38
38
|
export interface NetworkManager {
|
|
39
39
|
connect<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: NetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>;
|
|
40
|
+
/**
|
|
41
|
+
* Spawns an Ethereum JSON-RPC server listening on HTTP and Websocket.
|
|
42
|
+
*
|
|
43
|
+
* @param networkOrParams The network name or connection parameters.
|
|
44
|
+
* @param hostname Hostname to bind the server to. Defaults to localhost or 0.0.0.0 on docker.
|
|
45
|
+
* @param port Port to listen on. Defaults to a random available port.
|
|
46
|
+
*
|
|
47
|
+
* @return A `JsonRpcServer` instance that can be started with {@link JsonRpcServer.listen}.
|
|
48
|
+
*/
|
|
49
|
+
createServer(networkOrParams?: NetworkConnectionParams | string, hostname?: string, port?: number): Promise<JsonRpcServer>;
|
|
40
50
|
}
|
|
41
51
|
export interface NetworkConnection<ChainTypeT extends ChainType | string = DefaultChainType> {
|
|
42
52
|
readonly id: number;
|
|
@@ -46,4 +56,34 @@ export interface NetworkConnection<ChainTypeT extends ChainType | string = Defau
|
|
|
46
56
|
readonly provider: EthereumProvider;
|
|
47
57
|
close(): Promise<void>;
|
|
48
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* An Ethereum JSON-RPC server that accepts connections via HTTP and websocket.
|
|
61
|
+
*/
|
|
62
|
+
export interface JsonRpcServer {
|
|
63
|
+
/**
|
|
64
|
+
* Starts the Ethereum JSON-RPC server.
|
|
65
|
+
*
|
|
66
|
+
* @returns returns the address and port the server is listening on.
|
|
67
|
+
*/
|
|
68
|
+
listen(): Promise<{
|
|
69
|
+
address: string;
|
|
70
|
+
port: number;
|
|
71
|
+
}>;
|
|
72
|
+
/**
|
|
73
|
+
* Closes the Ethereum JSON-RPC server.
|
|
74
|
+
*
|
|
75
|
+
* @returns A promise that resolves once shutdown is finished.
|
|
76
|
+
*/
|
|
77
|
+
close(): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Resolves once the Ethereum JSON-RPC server has been
|
|
80
|
+
* closed, including its underlying HTTP and Websocket sockets.
|
|
81
|
+
*
|
|
82
|
+
* Useful for awaiting a shutdown that was initiated elsewhere.
|
|
83
|
+
*
|
|
84
|
+
* @returns A promise that resolves once the server and
|
|
85
|
+
* its sockets have been closed.
|
|
86
|
+
*/
|
|
87
|
+
afterClosed(): Promise<void>;
|
|
88
|
+
}
|
|
49
89
|
//# sourceMappingURL=network.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/types/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,SAAS;IACrD,gBAAgB,EAAE,MAAM,CAAC,CAAC;CAC3B,GACG,CAAC,SAAS,SAAS,GACjB,CAAC,GACD,gBAAgB,GAClB,gBAAgB,CAAC;AAIrB,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,uBAAuB,CACtC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB,EAC9D,eAAe,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,MAAM,GAC7D,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/types/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,SAAS;IACrD,gBAAgB,EAAE,MAAM,CAAC,CAAC;CAC3B,GACG,CAAC,SAAS,SAAS,GACjB,CAAC,GACD,gBAAgB,GAClB,gBAAgB,CAAC;AAIrB,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,uBAAuB,CACtC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB,EAC9D,eAAe,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,MAAM,GAC7D,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1C;;;;;;;;OAQG;IACH,YAAY,CACV,eAAe,CAAC,EAAE,uBAAuB,GAAG,MAAM,EAClD,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB,CAChC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
|
|
@@ -28,6 +28,14 @@ export interface HardhatPlugin {
|
|
|
28
28
|
dependencies?: () => Array<Promise<{
|
|
29
29
|
default: HardhatPlugin;
|
|
30
30
|
}>>;
|
|
31
|
+
conditionalDependencies?: Array<{
|
|
32
|
+
condition: () => Array<Promise<{
|
|
33
|
+
default: HardhatPlugin;
|
|
34
|
+
}>>;
|
|
35
|
+
plugin: () => Promise<{
|
|
36
|
+
default: HardhatPlugin;
|
|
37
|
+
}>;
|
|
38
|
+
}>;
|
|
31
39
|
/**
|
|
32
40
|
* An object with the different hook handlers that this plugin defines.
|
|
33
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,sCAAsC,CAAC;AAK9C,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,iBAAiB;QAChC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;KAC3B;IAED,UAAiB,aAAa;QAE5B,OAAO,EAAE,aAAa,EAAE,CAAC;KAC1B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAE5C;;OAEG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEnC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;KACxC,iBAAiB,IAAI,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC;QACxD,OAAO,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;KACxD,CAAC;CACH,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,CACpC,aAAa,SAAS,MAAM,YAAY,IACtC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,sCAAsC,CAAC;AAK9C,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,iBAAiB;QAChC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;KAC3B;IAED,UAAiB,aAAa;QAE5B,OAAO,EAAE,aAAa,EAAE,CAAC;KAC1B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC,CAAC;IAEhE,uBAAuB,CAAC,EAAE,KAAK,CAAC;QAC9B,SAAS,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,aAAa,CAAA;SAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,EAAE,MAAM,OAAO,CAAC;YAAE,OAAO,EAAE,aAAa,CAAA;SAAE,CAAC,CAAC;KACnD,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAE5C;;OAEG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEnC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;KACxC,iBAAiB,IAAI,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC;QACxD,OAAO,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;KACxD,CAAC;CACH,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,CACpC,aAAa,SAAS,MAAM,YAAY,IACtC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -32,17 +32,17 @@ export interface BuildOptions {
|
|
|
32
32
|
* Default: The number of CPU cores - 1.
|
|
33
33
|
*/
|
|
34
34
|
concurrency?: number;
|
|
35
|
-
/**
|
|
36
|
-
* An array of remappings provided by the user.
|
|
37
|
-
*/
|
|
38
|
-
userProvidedRemappings?: string[];
|
|
39
35
|
/**
|
|
40
36
|
* If `true`, the build process doesn't print any output.
|
|
41
37
|
*/
|
|
42
38
|
quiet?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Whether to compile contracts or tests. Defaults to contracts
|
|
41
|
+
*/
|
|
42
|
+
scope?: BuildScope;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* The options of the `
|
|
45
|
+
* The options of the `getCompilationJobs` method.
|
|
46
46
|
*
|
|
47
47
|
* Note that this option object includes a `quiet` property, as this process
|
|
48
48
|
* may require downloading compilers, and potentially printing some output.
|
|
@@ -149,7 +149,13 @@ export interface SolidityBuildSystem {
|
|
|
149
149
|
*
|
|
150
150
|
* @returns An array of root file paths.
|
|
151
151
|
*/
|
|
152
|
-
getRootFilePaths(
|
|
152
|
+
getRootFilePaths(options?: {
|
|
153
|
+
scope?: BuildScope;
|
|
154
|
+
}): Promise<string[]>;
|
|
155
|
+
/**
|
|
156
|
+
* Given the filesystem path for a source file, returns the build scope
|
|
157
|
+
*/
|
|
158
|
+
getScope(fsPath: string): Promise<BuildScope>;
|
|
153
159
|
/**
|
|
154
160
|
* Builds the provided files, generating their compilation artifacts.
|
|
155
161
|
*
|
|
@@ -204,7 +210,9 @@ export interface SolidityBuildSystem {
|
|
|
204
210
|
* @returns A map from user source name to the absolute paths of the
|
|
205
211
|
* artifacts that were emitted for it.
|
|
206
212
|
*/
|
|
207
|
-
emitArtifacts(compilationJob: CompilationJob, compilerOutput: CompilerOutput
|
|
213
|
+
emitArtifacts(compilationJob: CompilationJob, compilerOutput: CompilerOutput, options?: {
|
|
214
|
+
scope?: BuildScope;
|
|
215
|
+
}): Promise<EmitArtifactsResult>;
|
|
208
216
|
/**
|
|
209
217
|
* Analyzes the project and cleans up the artifacts by:
|
|
210
218
|
* - Removing any existing artifact of non-existent contracts.
|
|
@@ -218,7 +226,9 @@ export interface SolidityBuildSystem {
|
|
|
218
226
|
|
|
219
227
|
* @param rootFilePaths All the root files of the project.
|
|
220
228
|
*/
|
|
221
|
-
cleanupArtifacts(rootFilePaths: string[]
|
|
229
|
+
cleanupArtifacts(rootFilePaths: string[], options?: {
|
|
230
|
+
scope?: BuildScope;
|
|
231
|
+
}): Promise<void>;
|
|
222
232
|
/**
|
|
223
233
|
* Compiles a build info, returning the output of the compilation, verbatim,
|
|
224
234
|
* as `solc` returns it.
|
|
@@ -228,5 +238,10 @@ export interface SolidityBuildSystem {
|
|
|
228
238
|
* @returns The output of the compilation.
|
|
229
239
|
*/
|
|
230
240
|
compileBuildInfo(buildInfo: SolidityBuildInfo, options?: CompileBuildInfoOptions): Promise<CompilerOutput>;
|
|
241
|
+
/**
|
|
242
|
+
* Gets the artifacts directory for a given target (contracts/tests)
|
|
243
|
+
*/
|
|
244
|
+
getArtifactsDirectory(scope: BuildScope): Promise<string>;
|
|
231
245
|
}
|
|
246
|
+
export type BuildScope = "contracts" | "tests";
|
|
232
247
|
//# sourceMappingURL=build-system.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2EAA2E,CAAC;AAE1G;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"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"}
|