diff --git a/.changeset/few-mails-help.md b/.changeset/few-mails-help.md new file mode 100644 index 0000000000..221481c596 --- /dev/null +++ b/.changeset/few-mails-help.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Updated backend plugin ID during creation to match user-entered input. diff --git a/packages/cli/src/lib/new/factories/backendPlugin.test.ts b/packages/cli/src/lib/new/factories/backendPlugin.test.ts index f85d52c935..f326de88b8 100644 --- a/packages/cli/src/lib/new/factories/backendPlugin.test.ts +++ b/packages/cli/src/lib/new/factories/backendPlugin.test.ts @@ -100,6 +100,15 @@ describe('backendPlugin factory', () => { 'backstage-plugin-test-backend': '^1.0.0', }, }); + const standaloneServerFile = await fs.readFile( + '/root/plugins/test-backend/src/service/standaloneServer.ts', + 'utf-8', + ); + + expect(standaloneServerFile).toContain( + `const logger = options.logger.child({ service: 'test-backend' });`, + ); + expect(standaloneServerFile).toContain(`.addRouter('/test', router);`); expect(Task.forCommand).toHaveBeenCalledTimes(2); expect(Task.forCommand).toHaveBeenCalledWith('yarn install', { diff --git a/packages/cli/src/lib/new/factories/backendPlugin.ts b/packages/cli/src/lib/new/factories/backendPlugin.ts index 4d03a4da7b..c5c9b5bd0e 100644 --- a/packages/cli/src/lib/new/factories/backendPlugin.ts +++ b/packages/cli/src/lib/new/factories/backendPlugin.ts @@ -38,17 +38,18 @@ export const backendPlugin = createFactory({ }), optionsPrompts: [pluginIdPrompt(), ownerPrompt()], async create(options: Options, ctx: CreateContext) { - const id = `${options.id}-backend`; + const { id } = options; + const pluginId = `${id}-backend`; const name = ctx.scope - ? `@${ctx.scope}/plugin-${id}` - : `backstage-plugin-${id}`; + ? `@${ctx.scope}/plugin-${pluginId}` + : `backstage-plugin-${pluginId}`; Task.log(); Task.log(`Creating backend plugin ${chalk.cyan(name)}`); const targetDir = ctx.isMonoRepo - ? paths.resolveTargetRoot('plugins', id) - : paths.resolveTargetRoot(`backstage-plugin-${id}`); + ? paths.resolveTargetRoot('plugins', pluginId) + : paths.resolveTargetRoot(`backstage-plugin-${pluginId}`); await executePluginPackageTemplate(ctx, { targetDir,