From 35074cae19f702d7c72e20780ca57bdde55dcce1 Mon Sep 17 00:00:00 2001 From: ElaineDeMattosSilvaB Date: Sat, 15 Nov 2025 06:56:43 +0100 Subject: [PATCH 1/3] fix(cli): prevent double @ prefix when using --scope flag Signed-off-by: ElaineDeMattosSilvaB --- packages/cli/src/modules/new/commands/new.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/modules/new/commands/new.ts b/packages/cli/src/modules/new/commands/new.ts index 9d09f42cf3..a38316dd62 100644 --- a/packages/cli/src/modules/new/commands/new.ts +++ b/packages/cli/src/modules/new/commands/new.ts @@ -42,7 +42,10 @@ export default async (opts: ArgOptions) => { let pluginInfix: string | undefined = undefined; let packagePrefix: string | undefined = undefined; if (scope) { - packagePrefix = scope.includes('/') ? `@${scope}` : `@${scope}/`; + const normalizedScope = scope.startsWith('@') ? scope : `@${scope}`; + packagePrefix = normalizedScope.includes('/') + ? normalizedScope + : `${normalizedScope}/`; pluginInfix = scope.includes('backstage') ? 'plugin-' : 'backstage-plugin-'; } From 279279c0583fe50098d93e726218acab6140df3c Mon Sep 17 00:00:00 2001 From: ElaineDeMattosSilvaB Date: Sat, 15 Nov 2025 07:05:45 +0100 Subject: [PATCH 2/3] fix: add changeset Signed-off-by: ElaineDeMattosSilvaB --- .changeset/true-results-shake.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/true-results-shake.md diff --git a/.changeset/true-results-shake.md b/.changeset/true-results-shake.md new file mode 100644 index 0000000000..ab0f1210b3 --- /dev/null +++ b/.changeset/true-results-shake.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Fixes an issue where using the `backstage-cli new --scope` command with a scope that already includes the `@` symbol (e.g., `@backstage-community`) would result in a double `@@` prefix in the generated package name, causing invalid `package.json` files. From 8e04d757d98426796e2e4d0f694205d84acdc29f Mon Sep 17 00:00:00 2001 From: ElaineDeMattosSilvaB Date: Sat, 15 Nov 2025 07:20:46 +0100 Subject: [PATCH 3/3] fix(tests): add test case for scopes starting with @ Signed-off-by: ElaineDeMattosSilvaB --- packages/cli/src/modules/new/commands/new.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/cli/src/modules/new/commands/new.test.ts b/packages/cli/src/modules/new/commands/new.test.ts index 77ee96cd09..2183d80062 100644 --- a/packages/cli/src/modules/new/commands/new.test.ts +++ b/packages/cli/src/modules/new/commands/new.test.ts @@ -23,6 +23,8 @@ describe.each([ [undefined, undefined, undefined], ['internal', '@internal/', 'backstage-plugin-'], ['internal/', '@internal/', 'backstage-plugin-'], + ['@internal', '@internal/', 'backstage-plugin-'], + ['@internal/', '@internal/', 'backstage-plugin-'], ['acme-backstage', '@acme-backstage/', 'plugin-'], ['acme-backstage/', '@acme-backstage/', 'plugin-'], ['acme-backstage-plugins', '@acme-backstage-plugins/', 'plugin-'],