Commit Graph

71856 Commits

Author SHA1 Message Date
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
Charles de Dreuille 0345b56076 Merge pull request #33323 from backstage/bui-checkbox-fixes
Update styles and types for Checkbox component
2026-03-12 16:56:34 +00:00
Charles de Dreuille 27c2c24a1a Add migration notes
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-12 16:27:40 +00:00
backstage-goalie[bot] 9199c3207e Merge pull request #33319 from backstage/renovate/express-rate-limit-8.x-lockfile
chore(deps): update dependency express-rate-limit to v8.3.1
2026-03-12 16:15:37 +00:00
Charles de Dreuille 9d5f3baf1e Update styles and types on Checkbox
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-12 16:11:56 +00:00
renovate[bot] c3547fdec3 chore(deps): update dependency express-rate-limit to v8.3.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-12 15:16:24 +00:00