Commit Graph

71861 Commits

Author SHA1 Message Date
Patrik Oldsberg 935c646e89 Fix CLI module discovery and create-app test mock
Resolve CLI module entry points relative to the target project root
rather than relying on bare module name resolution. This ensures modules
are found even when the CLI package is symlinked from a separate location,
such as in the E2E test workspace setup.

Also add the missing cli-module-* entries to the create-app tasks test
mock that were omitted in a previous commit.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-15 01:12:43 +01:00
Patrik Oldsberg f100c26c92 Fix relative paths in cli-module-translations test
The test file was moved from packages/cli/src/modules/translations/lib/
to packages/cli-module-translations/src/lib/ but the relative paths to
the repo root tsconfig.json and test fixtures were not updated.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 20:25:16 +01:00
Patrik Oldsberg 2fae035613 Move @types packages to devDependencies in cli-module-config and cli-module-create-github-app
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 17:12:41 +01:00
Patrik Oldsberg 95a5771b47 Fix remaining undeclared imports in cli-module-new and cli-module-test-jest
Add missing devDependencies to cli-module-new and add cleye, yargs,
and jest-cli peer dependency to cli-module-test-jest.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 16:57:58 +01:00
Patrik Oldsberg 86509de5c8 Fix CI failures: dependencies, API reports, and create-app versions
- Move runtime dependencies from devDependencies to dependencies in
  cli-module-build, cli-module-auth, cli-module-migrate, cli-module-new,
  cli-module-test-jest, and cli-module-translations
- Fix relative package.json paths in cli-module-build
- Downgrade rollup in cli-module-build to ^4.27.3 to match the CLI
- Downgrade eslint-webpack-plugin to ^4.2.0 to prevent @types/eslint v9
- Add CLI module packages to create-app version helper
- Add allow-warnings for CLI module packages in API reports
- Generate API report files for all CLI module packages

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 16:44:50 +01:00
Patrik Oldsberg 506da6b8be Fix rollup version in cli-module-build to prevent API report breakage
Downgrade rollup from ^4.59.0 to ^4.27.3 to match the main CLI package
and avoid the dedupe upgrading all rollup instances to 4.59.0, which
breaks API report generation.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 16:14:54 +01:00
Patrik Oldsberg 72457cfe98 Fix incorrect relative package.json paths in cli-module-build
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 16:06:33 +01:00
Patrik Oldsberg 7c8bb02ffe Fix eslint-webpack-plugin version and regenerate lockfile
Downgrade eslint-webpack-plugin in cli-module-build from ^5.0.3 to
^4.2.0 to match the main CLI package, preventing @types/eslint from
being resolved to v9 which breaks the eslint-plugin TypeScript checks.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 15:59:28 +01:00
Patrik Oldsberg f51e4df2d1 Fix Prettier formatting and run yarn dedupe
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 15:44:54 +01:00
Patrik Oldsberg 329f394d82 Start CLI module packages at version 0.0.0 with introductory changeset
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:46:37 +01:00
Patrik Oldsberg d806b0cc9f Add automatic discovery of CLI modules from project dependencies
The CLI now scans the project root's dependencies and devDependencies
for packages with the cli-module role, loading them automatically.
Falls back to the built-in set with a deprecation warning when no
modules are found. Updated create-app templates and the monorepo root
to include all CLI modules as explicit devDependencies.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Patrik Oldsberg 64a96d9d9f Add bin entry points for standalone CLI module execution
Each CLI module package now includes a bin script and cli.ts entry
point, allowing modules to be executed directly via npx without
being wired into the main @backstage/cli package.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Patrik Oldsberg 401c1f7e24 Resolve CLI version dynamically in info module
The info command now tries to resolve the @backstage/cli version at
runtime instead of using a hardcoded relative path. This allows the
module to work standalone when the CLI package is not present. The
module's own version is always reported as infoModuleVersion.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Patrik Oldsberg c95a130f52 Add runCliModule helper for standalone module execution
Add a public `runCliModule` function to `@backstage/cli-node` that
allows CLI module packages to be executed directly as standalone
programs, without needing to be wired into a larger CLI host.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Patrik Oldsberg a151ad0814 Split CLI modules into separate packages
Extract each CLI module from packages/cli/src/modules/ into its own
package under packages/cli-module-*. This enables independent versioning
and clearer dependency boundaries for each CLI capability.

Module mapping:
- auth → @backstage/cli-module-auth
- build → @backstage/cli-module-build
- config → @backstage/cli-module-config
- create-github-app → @backstage/cli-module-create-github-app
- info → @backstage/cli-module-info
- lint → @backstage/cli-module-lint
- maintenance → @backstage/cli-module-maintenance
- migrate → @backstage/cli-module-migrate
- new → @backstage/cli-module-new
- test → @backstage/cli-module-test-jest
- translations → @backstage/cli-module-translations

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Patrik Oldsberg 18012b5802 Rename CliPlugin to CliModule and cli-plugin role to cli-module
Rename createCliPlugin to createCliModule, CliPlugin to CliModule, and
the cli-plugin package role to cli-module to better distinguish CLI
modules from other plugin types.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Patrik Oldsberg 1929a95b97 Rename BackstageCommand to CliCommand and CommandContext to CliCommandContext
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Patrik Oldsberg 7d055ef0c4 Merge cli-plugin-api into cli-node
Move createCliPlugin and related types from the standalone
@backstage/cli-plugin-api package into @backstage/cli-node and
remove the now-empty package.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Patrik Oldsberg a90939e138 Use opaque types for command graph nodes
Switch CommandGraph and CliInitializer to use OpaqueCommandTreeNode and
OpaqueCommandLeafNode from @internal/cli instead of raw $$type markers.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:42 +01:00
Patrik Oldsberg 28a438a9f2 Add documentation to cli-plugin-api and remove CliFeature type
Add thorough TSDoc comments to createCliPlugin, BackstageCommand,
CommandContext, and CliPlugin. Remove the CliFeature type alias in
favor of using CliPlugin directly.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:42 +01:00
Patrik Oldsberg 7e6ad01a21 Refine cli-plugin-api: use packageJson, inline types, rename context fields
Replace pluginId with packageJson input for createCliPlugin, remove
CommandExecuteFn type alias by inlining it, and rename
CommandContext.info.description to info.name.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:42 +01:00
Patrik Oldsberg 2e5f189cfa Add @internal/cli package for opaque CLI types
Move OpaqueCliPlugin to a new @internal/cli inline package, following the
same pattern as @internal/frontend. Both cli-plugin-api and cli import it
directly, and it gets bundled into their dists at build time.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:42 +01:00
Patrik Oldsberg d6caf7f13b Slim cli-plugin-api to only export createCliPlugin
Move error handling and lazy utilities back to @backstage/cli since they
are host-only concerns. The cli-plugin-api internals subpath provides
isCliPlugin and initializeCliPlugin for the CLI host.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:42 +01:00
Patrik Oldsberg 0be3eab18b cli: initial cli-plugin-api
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:42 +01:00
Patrik Oldsberg 94a885a2ef Add cli-plugin package role
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-14 12:39:21 +01:00
backstage-goalie[bot] 6f01c33a0e Merge pull request #33350 from backstage/renovate/npm-yauzl-vulnerability
chore(deps): update dependency yauzl to v3.2.1 [security]
2026-03-14 02:03:38 +00:00
renovate[bot] 527d055a78 chore(deps): update dependency yauzl to v3.2.1 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 00:58:20 +00:00
backstage-goalie[bot] 2a7ea8e79e Merge pull request #33348 from backstage/renovate/npm-undici-vulnerability
chore(deps): update dependency undici to v7.24.0 [security]
2026-03-14 00:45:26 +00:00
renovate[bot] 7e1f0f0a09 chore(deps): update dependency undici to v7.24.0 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 23:32:28 +00:00
Andre Wanlin cc11d289de Merge pull request #33345 from awanlin/docs/ai
[Docs] Added new AI section
2026-03-13 18:27:13 -05:00
Andre Wanlin 52fba1c57e Review feedback
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-13 17:59:21 -05:00
Andre Wanlin e4cd6aad70 Update docs/ai/index.md
Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>
Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
2026-03-13 17:57:09 -05:00
Andre Wanlin a148a319df Update docs/ai/index.md
Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>
Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
2026-03-13 17:56:43 -05:00
Andre Wanlin 34d5315991 Update docs/ai/index.md
Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>
Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
2026-03-13 17:56:30 -05:00
Andre Wanlin 8c19ddbadf Update docs/ai/index.md
Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>
Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
2026-03-13 17:56:04 -05:00
Andre Wanlin 8aebd31e34 Minor adjustments
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-13 17:02:42 -05:00
Andre Wanlin f3a9100932 Feedback corrections
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-13 16:47:40 -05:00
Andre Wanlin 5abb339d57 Fixed typo
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-13 16:42:16 -05:00
Andre Wanlin 9b48446864 Added new AI section
Co-authored-by: Nawaraj <mbk36900@gmail.com>
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-13 16:38:16 -05:00
chanchalkhatri 434b0284a3 fix(microsite): correct blog typos and malformed punctuation (#33289)
Signed-off-by: chanchalkhatri19 <chanchal.khatri01@infosys.com>
2026-03-13 16:31:33 -04:00
Andre Wanlin 86f9affed8 Merge pull request #33218 from SanderDelden/feat/plugin-scaffolder-node-add-githelper-removal-function
plugin-scaffolder-node: Add function to gitHelpers to stage files for removal
2026-03-13 14:34:12 -05:00
Andre Wanlin b33e0498fd Merge pull request #33132 from abdellahhn/scaffolder-add-run-id-return-value-to-github-actions-dispatch-v2
feat(scaffolder): add returnWorkflowRunDetails to github:actions:dispatch action
2026-03-13 13:58:16 -05:00
Andre Wanlin d187a8b087 Merge pull request #32840 from iurylenonalves/docs-backstage-openapi
docs(catalog): add mention of backstage-openapi backend module to configuration
2026-03-13 13:35:09 -05:00
Charles de Dreuille b951b629d1 Merge pull request #33343 from backstage/fix-card-press
Fix Card onPress event
2026-03-13 17:31:44 +00:00
Charles de Dreuille fcaac3b8bd Fix Card onPress event
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-13 17:07:52 +00:00
chanchalkhatri 7f84d53161 docs: fix malformed HTML href in documentation landing page (#33338)
Signed-off-by: chanchalkhatri19 <chanchal.khatri01@infosys.com>
2026-03-13 09:29:20 -04:00
chanchalkhatri aaafc3def2 docs: fix broken link in git catalog module README. (#33336)
Signed-off-by: chanchalkhatri19 <chanchal.khatri01@infosys.com>
2026-03-13 09:14:50 -04:00
Ben Lambert 06294aafba feat(auth): migrate auth plugin from Material-UI to Backstage UI (#33282)
Signed-off-by: benjdlambert <ben@blam.sh>
2026-03-13 09:51:53 +01:00
Fredrik Adelöw 50c2aee83d Merge pull request #33200 from divyamagrawal06/fix/homepage-seo-meta 2026-03-13 08:19:14 +01:00
abdellahhanane ad0adafaea Add check on workflowRunHtmlUrl is not undefined
Signed-off-by: abdellahhanane <abdellahhanane44@gmail.com>
2026-03-12 13:41:43 -04:00