Files
2026-08-17 16:01:42 -06:00

29 lines
1.2 KiB
JavaScript

import { readFile } from "node:fs/promises";
import { createRequire } from "node:module";
const require = createRequire(import.meta.url);
const expectedVersion = "1.46.0";
const pluginSource = await readFile(
new URL("../lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol", import.meta.url),
"utf8"
);
const lockfile = JSON.parse(
await readFile(new URL("../package-lock.json", import.meta.url), "utf8")
);
const lockedVersion = lockfile.packages?.["node_modules/@openzeppelin/upgrades-core"]?.version;
const installedVersion = require("@openzeppelin/upgrades-core/package.json").version;
if (!pluginSource.includes('UPGRADES_CORE = "^1.45.0"')) {
throw new Error('Expected the vendored plugin to declare UPGRADES_CORE = "^1.45.0".');
}
if (lockedVersion !== expectedVersion) {
throw new Error(`Expected package-lock.json to resolve @openzeppelin/upgrades-core to ${expectedVersion}, found ${lockedVersion}.`);
}
if (installedVersion !== expectedVersion) {
throw new Error(`Expected installed @openzeppelin/upgrades-core to report ${expectedVersion}, found ${installedVersion}.`);
}
console.log(`@openzeppelin/upgrades-core ${expectedVersion} is pinned and installed.`);