Add @backstage/cli-defaults package

Introduces a new `@backstage/cli-defaults` package that re-exports all
standard CLI modules as a single array, simplifying dependency management
for consumers. The CLI's `CliInitializer` is updated to support array
exports alongside single module exports. The create-app template,
changesets, and CLI fallback are updated to use `@backstage/cli-defaults`
instead of listing 11 individual modules.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
This commit is contained in:
Patrik Oldsberg
2026-03-15 15:01:35 +01:00
parent 7db7ca5714
commit 7781ae5911
14 changed files with 172 additions and 61 deletions
@@ -50,6 +50,7 @@ jest.mock('./versions', () => ({
packageVersions: {
root: '1.2.3',
'@backstage/cli': '1.0.0',
'@backstage/cli-defaults': '1.0.0',
'@backstage/cli-module-auth': '1.0.0',
'@backstage/cli-module-build': '1.0.0',
'@backstage/cli-module-config': '1.0.0',
+2
View File
@@ -38,6 +38,7 @@ import { version as backendDefaults } from '../../../backend-defaults/package.js
import { version as catalogClient } from '../../../catalog-client/package.json';
import { version as catalogModel } from '../../../catalog-model/package.json';
import { version as cli } from '../../../cli/package.json';
import { version as cliDefaults } from '../../../cli-defaults/package.json';
import { version as cliModuleAuth } from '../../../cli-module-auth/package.json';
import { version as cliModuleBuild } from '../../../cli-module-build/package.json';
import { version as cliModuleConfig } from '../../../cli-module-config/package.json';
@@ -118,6 +119,7 @@ export const packageVersions = {
'@backstage/catalog-client': catalogClient,
'@backstage/catalog-model': catalogModel,
'@backstage/cli': cli,
'@backstage/cli-defaults': cliDefaults,
'@backstage/cli-module-auth': cliModuleAuth,
'@backstage/cli-module-build': cliModuleBuild,
'@backstage/cli-module-config': cliModuleConfig,
@@ -28,17 +28,7 @@
],
"devDependencies": {
"@backstage/cli": "^{{version '@backstage/cli'}}",
"@backstage/cli-module-auth": "^{{version '@backstage/cli-module-auth'}}",
"@backstage/cli-module-build": "^{{version '@backstage/cli-module-build'}}",
"@backstage/cli-module-config": "^{{version '@backstage/cli-module-config'}}",
"@backstage/cli-module-create-github-app": "^{{version '@backstage/cli-module-create-github-app'}}",
"@backstage/cli-module-info": "^{{version '@backstage/cli-module-info'}}",
"@backstage/cli-module-lint": "^{{version '@backstage/cli-module-lint'}}",
"@backstage/cli-module-maintenance": "^{{version '@backstage/cli-module-maintenance'}}",
"@backstage/cli-module-migrate": "^{{version '@backstage/cli-module-migrate'}}",
"@backstage/cli-module-new": "^{{version '@backstage/cli-module-new'}}",
"@backstage/cli-module-test-jest": "^{{version '@backstage/cli-module-test-jest'}}",
"@backstage/cli-module-translations": "^{{version '@backstage/cli-module-translations'}}",
"@backstage/cli-defaults": "^{{version '@backstage/cli-defaults'}}",
"@backstage/e2e-test-utils": "^{{version '@backstage/e2e-test-utils'}}",
"@jest/environment-jsdom-abstract": "^30.0.0",
"@playwright/test": "^1.32.3",