From 7dcff851e97d606381958d7a399fd1987fa0ee78 Mon Sep 17 00:00:00 2001 From: MT Lewis Date: Mon, 25 Nov 2024 12:18:59 +0000 Subject: [PATCH] cli: stop ignoring version ranges when templating dependencies on @types packages Signed-off-by: MT Lewis --- .changeset/cold-icons-worry.md | 6 ++++++ packages/cli/src/lib/version.test.ts | 5 ++++- packages/cli/src/lib/version.ts | 6 ------ 3 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 .changeset/cold-icons-worry.md diff --git a/.changeset/cold-icons-worry.md b/.changeset/cold-icons-worry.md new file mode 100644 index 0000000000..4e0b461b24 --- /dev/null +++ b/.changeset/cold-icons-worry.md @@ -0,0 +1,6 @@ +--- +'@backstage/cli': patch +--- + +Remove special-casing for `@types` packages when generating dependency entries +during templating diff --git a/packages/cli/src/lib/version.test.ts b/packages/cli/src/lib/version.test.ts index 6b1aa391d5..744874d7e9 100644 --- a/packages/cli/src/lib/version.test.ts +++ b/packages/cli/src/lib/version.test.ts @@ -66,6 +66,10 @@ describe('createPackageVersionProvider', () => { expect(provider('c', '0.3.0-rc1')).toBe('0.3.0-rc1'); expect(provider('c', '0.3.0')).toBe('^0.3.0'); expect(provider('c', '0.3.6')).toBe('^0.3.4'); + + // No special handling for @types packages. + expect(provider('@types/t', '1.4.2')).toBe('^1.2.3'); + const cliVersion = packageVersions['@backstage/cli']; expect(provider('@backstage/cli')).toBe( // If we're currently in pre-release we expect that to be picked instead @@ -74,6 +78,5 @@ describe('createPackageVersionProvider', () => { expect(provider('@backstage/core-plugin-api')).toBe( `^${corePluginApiPkg.version}`, ); - expect(provider('@types/t', '1.4.2')).toBe('*'); }); }); diff --git a/packages/cli/src/lib/version.ts b/packages/cli/src/lib/version.ts index 51826ef681..f267dadfeb 100644 --- a/packages/cli/src/lib/version.ts +++ b/packages/cli/src/lib/version.ts @@ -90,12 +90,6 @@ export function createPackageVersionProvider(lockfile?: Lockfile) { } const lockfileEntries = lockfile?.get(name); - if ( - name.startsWith('@types/') && - lockfileEntries?.some(entry => entry.range === '*') - ) { - return '*'; - } for (const specifier of ['^', '~', '*']) { const range = `workspace:${specifier}`;