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/.changeset/odd-apples-explain.md b/.changeset/odd-apples-explain.md new file mode 100644 index 0000000000..324d98b0f6 --- /dev/null +++ b/.changeset/odd-apples-explain.md @@ -0,0 +1,8 @@ +--- +'@backstage/plugin-auth-node': patch +'@backstage/plugin-permission-backend': patch +'@backstage/plugin-devtools-backend': patch +'@backstage/plugin-signals-backend': patch +--- + +Restrict `@types/express` version range from `*` to `^4.17.6`. 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}`; diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json index ba8d0ad83b..a1384e33da 100644 --- a/plugins/auth-node/package.json +++ b/plugins/auth-node/package.json @@ -44,7 +44,7 @@ "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/types": "workspace:^", - "@types/express": "*", + "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.17.1", "jose": "^5.0.0", diff --git a/plugins/devtools-backend/package.json b/plugins/devtools-backend/package.json index a87ea14719..b31250b6d3 100644 --- a/plugins/devtools-backend/package.json +++ b/plugins/devtools-backend/package.json @@ -49,7 +49,7 @@ "@backstage/plugin-permission-node": "workspace:^", "@backstage/types": "workspace:^", "@manypkg/get-packages": "^1.1.3", - "@types/express": "*", + "@types/express": "^4.17.6", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "^3.0.0", "express": "^4.18.1", diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json index b5e3f84a90..4d1d0fbe7f 100644 --- a/plugins/permission-backend/package.json +++ b/plugins/permission-backend/package.json @@ -58,7 +58,7 @@ "@backstage/plugin-auth-node": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@backstage/plugin-permission-node": "workspace:^", - "@types/express": "*", + "@types/express": "^4.17.6", "dataloader": "^2.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", diff --git a/plugins/signals-backend/package.json b/plugins/signals-backend/package.json index a35a243522..6d6a8ebfed 100644 --- a/plugins/signals-backend/package.json +++ b/plugins/signals-backend/package.json @@ -44,7 +44,7 @@ "@backstage/plugin-events-node": "workspace:^", "@backstage/plugin-signals-node": "workspace:^", "@backstage/types": "workspace:^", - "@types/express": "*", + "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", "http-proxy-middleware": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index 39e53cfd4c..4ed6c78663 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5323,7 +5323,7 @@ __metadata: "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/types": "workspace:^" - "@types/express": "*" + "@types/express": ^4.17.6 "@types/passport": ^1.0.3 cookie-parser: ^1.4.6 express: ^4.17.1 @@ -6164,7 +6164,7 @@ __metadata: "@backstage/plugin-permission-node": "workspace:^" "@backstage/types": "workspace:^" "@manypkg/get-packages": ^1.1.3 - "@types/express": "*" + "@types/express": ^4.17.6 "@types/ping": ^0.4.1 "@types/supertest": ^2.0.8 "@types/yarnpkg__lockfile": ^1.1.4 @@ -6902,7 +6902,7 @@ __metadata: "@backstage/plugin-auth-node": "workspace:^" "@backstage/plugin-permission-common": "workspace:^" "@backstage/plugin-permission-node": "workspace:^" - "@types/express": "*" + "@types/express": ^4.17.6 "@types/lodash": ^4.14.151 "@types/supertest": ^2.0.8 dataloader: ^2.0.0 @@ -7868,7 +7868,7 @@ __metadata: "@backstage/plugin-events-node": "workspace:^" "@backstage/plugin-signals-node": "workspace:^" "@backstage/types": "workspace:^" - "@types/express": "*" + "@types/express": ^4.17.6 "@types/supertest": ^2.0.8 "@types/ws": ^8.5.10 express: ^4.17.1