@backstage/cli
Version:
CLI for developing Backstage plugins and apps
41 lines (38 loc) • 1.44 kB
JavaScript
function publishPreflightCheck(pkg) {
const { name, backstage } = pkg.packageJson;
if (!backstage || !name) {
return;
}
const { role } = backstage;
if (role === "backend-plugin" || role === "backend-plugin-module" || role === "frontend-plugin") {
if (!backstage.pluginId) {
throw new Error(
`Plugin package ${name} is missing a backstage.pluginId, please run 'backstage-cli repo fix --publish'`
);
}
}
if (role === "backend-plugin" || role === "frontend-plugin") {
if (!backstage.pluginPackages) {
throw new Error(
`Plugin package ${name} is missing a backstage.pluginPackages, please run 'backstage-cli repo fix --publish'`
);
}
}
if (backstage.pluginId && (role === "common-library" || role === "node-library" || role === "web-library")) {
if (!backstage.pluginPackages) {
throw new Error(
`Plugin library package ${name} is missing a backstage.pluginPackages, please run 'backstage-cli repo fix --publish'`
);
}
}
if (role === "backend-plugin-module" || role === "frontend-plugin-module") {
if (backstage.pluginId && !backstage.pluginPackage) {
throw new Error(
`Plugin module package ${name} is missing a backstage.pluginPackage, please run 'backstage-cli repo fix --publish'`
);
}
}
}
exports.publishPreflightCheck = publishPreflightCheck;
//# sourceMappingURL=publishing.cjs.js.map
;