21 lines
555 B
JavaScript
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" };
|
|
}
|