Files
test-repo/scripts/vendors/validate-vendor-versions.mjs
T
Sosuke Suzuki 0abd1907bb Bundle Pure ESM Packages into /vendors/*.js as CommonJS (#12217)
* string-width

* Add bundle script

* Update package.json

* mem

* Add version validator

* Throw error

* Change filename

* Add documents

* Generate d.ts

* Fix lint problems

* globby

* Add workflow to validate vendor versions

* Fix eslintignore

* Fix

* Fix spell

* Address review

* process.exitCode = 1

* test validation

* Revert "test validation"

This reverts commit 5a86d5f71212e0e900709238a8cc109716678864.

* Remove exists files

* Fix conflicts

* Clean

* Remove globby
2022-02-06 17:31:50 +09:00

43 lines
1.2 KiB
JavaScript

#!/usr/bin/env node
import createEsmUtils from "esm-utils";
import { readPackageUp } from "read-pkg-up";
import { getVendorVersions } from "./vendor-versions.mjs";
import vendors from "./vendors.mjs";
const { require } = createEsmUtils(import.meta);
async function main() {
const errors = [];
const vendorVersions = await getVendorVersions();
for (const vendor of vendors) {
const { packageJson: vendorPackage } = await readPackageUp({
cwd: require.resolve(vendor),
});
const vendorPackageVersion = vendorPackage.version;
const lockedVersion = vendorVersions[vendor];
if (vendorPackageVersion !== lockedVersion) {
errors.push({
oldVersion: lockedVersion,
newVersion: vendorPackageVersion,
packageName: vendor,
});
}
}
if (errors.length > 0) {
for (const { packageName, oldVersion, newVersion } of errors) {
console.error(
`The version of \`${packageName}\` is "${newVersion}", expected locked "${oldVersion}"`
);
}
console.error(
"Did you forget running `./scripts/vendors/bundle-vendors.mjs`?"
);
process.exitCode = 1;
} else {
console.log("Done");
}
}
main();