Files
2026-07-13 12:25:08 +08:00

21 lines
555 B
JavaScript

/**
* @param {{ name: string, version: string, private?: boolean }} pkg
* @param {string | null} registryVersion
* @returns {{ publish: boolean, reason: string }}
*/
export function shouldPublish(pkg, registryVersion) {
if (pkg.private) {
return { publish: false, reason: "private" };
}
if (registryVersion === pkg.version) {
return { publish: false, reason: "already published" };
}
if (registryVersion === null) {
return { publish: true, reason: "new package" };
}
return { publish: true, reason: "version changed" };
}