build(plugin-sdk): enforce export sync in check

This commit is contained in:
Peter Steinberger
2026-03-16 02:08:15 +00:00
parent 39aba198f1
commit 2b57d3bb34
2 changed files with 14 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ import fs from "node:fs";
import path from "node:path";
import { buildPluginSdkPackageExports } from "./lib/plugin-sdk-entries.mjs";
const checkOnly = process.argv.includes("--check");
const packageJsonPath = path.join(process.cwd(), "package.json");
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
const currentExports = packageJson.exports ?? {};
@@ -30,5 +31,16 @@ if (!insertedPluginSdkExports) {
Object.assign(nextExports, syncedPluginSdkExports);
}
const nextExportsJson = JSON.stringify(nextExports);
const currentExportsJson = JSON.stringify(currentExports);
if (checkOnly) {
if (currentExportsJson !== nextExportsJson) {
console.error("plugin-sdk exports out of sync. Run `pnpm plugin-sdk:sync-exports`.");
process.exit(1);
}
console.log("plugin-sdk exports synced.");
process.exit(0);
}
packageJson.exports = nextExports;
fs.writeFileSync(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`, "utf8");