hardhat
Version:
Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.
27 lines • 1.22 kB
JavaScript
import { readClosestPackageJson } from "@nomicfoundation/hardhat-utils/package";
let cachedHardhatVersion;
let cachedLatestHardhatVersion;
export async function getHardhatVersion() {
if (cachedHardhatVersion !== undefined) {
return cachedHardhatVersion;
}
const packageJson = await readClosestPackageJson(import.meta.url);
cachedHardhatVersion = packageJson.version;
return packageJson.version;
}
export async function getLatestHardhatVersion() {
const { getRequest } = await import("@nomicfoundation/hardhat-utils/request");
if (cachedLatestHardhatVersion !== undefined) {
return cachedLatestHardhatVersion;
}
const packageJson = await readClosestPackageJson(import.meta.url);
const packageName = packageJson.name;
const latestHardhat = await getRequest(`https://registry.npmjs.org/${packageName}/latest`).then(({ body }) => {
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions
-- Cast to PackageJson because that's what we expect from the registry */
return body.json();
});
cachedLatestHardhatVersion = latestHardhat.version;
return cachedLatestHardhatVersion;
}
//# sourceMappingURL=package.js.map