Refactor plugin package name handling to use a centralized mapping for backend plugins

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
Vincenzo Scamporlino
2026-03-10 21:28:26 +01:00
committed by Patrik Oldsberg
parent 1b1f7a87aa
commit 5c7186b5d4
2 changed files with 6 additions and 20 deletions
@@ -347,7 +347,7 @@ export function fixPluginId(pkg: FixablePackage) {
}
}
const backendPluginPackageNameByPluginId = new Map(
export const knownBackendPluginPackageNameByPluginId = Object.fromEntries(
[
'app',
'auth',
@@ -356,6 +356,7 @@ const backendPluginPackageNameByPluginId = new Map(
'kubernetes',
'notifications',
'permission',
'proxy',
'scaffolder',
'search',
'signals',
@@ -415,8 +416,7 @@ export function fixPluginPackages(
p =>
p.packageJson.backstage?.pluginId === pluginId &&
p.packageJson.backstage?.role === targetRole,
)?.packageJson.name ?? backendPluginPackageNameByPluginId.get(pluginId);
)?.packageJson.name ?? knownBackendPluginPackageNameByPluginId[pluginId];
if (!pluginPkgName) {
// If we can't find a matching package in the repo but one is declared, skip
if (pkgBackstage.pluginPackage) {
@@ -27,20 +27,7 @@ import {
} from '../types';
import { PortableTemplate } from '../types';
import { resolvePackageParams } from './resolvePackageParams';
const knownBackendPluginPackages: Record<string, string> = {
app: '@backstage/plugin-app-backend',
auth: '@backstage/plugin-auth-backend',
catalog: '@backstage/plugin-catalog-backend',
events: '@backstage/plugin-events-backend',
kubernetes: '@backstage/plugin-kubernetes-backend',
notifications: '@backstage/plugin-notifications-backend',
permission: '@backstage/plugin-permission-backend',
proxy: '@backstage/plugin-proxy-backend',
scaffolder: '@backstage/plugin-scaffolder-backend',
search: '@backstage/plugin-search-backend',
techdocs: '@backstage/plugin-techdocs-backend',
};
import { knownBackendPluginPackageNameByPluginId } from '../../../maintenance/commands/repo/fix';
const knownFrontendPluginPackages: Record<string, string> = {
app: '@backstage/plugin-app',
@@ -48,10 +35,9 @@ const knownFrontendPluginPackages: Record<string, string> = {
catalog: '@backstage/plugin-catalog',
kubernetes: '@backstage/plugin-kubernetes',
notifications: '@backstage/plugin-notifications',
permission: '@backstage/plugin-permission',
proxy: '@backstage/plugin-proxy',
scaffolder: '@backstage/plugin-scaffolder',
search: '@backstage/plugin-search',
signals: '@backstage/plugin-signals',
techdocs: '@backstage/plugin-techdocs',
};
@@ -114,7 +100,7 @@ export async function collectPortableTemplateInput(
) {
const knownPackages =
template.role === 'backend-plugin-module'
? knownBackendPluginPackages
? knownBackendPluginPackageNameByPluginId
: knownFrontendPluginPackages;
pluginPackage =