13075 Commits

Author SHA1 Message Date
Patrik Oldsberg 00982b947d repo: refresh phased app API reports
Update generated API reports to match the phased app and predicate changes, and drop the stray core-compat-api dependency addition that would otherwise require its own changeset.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 13:03:38 +01:00
aramissennyeydd 4958e320b6 fix other lint warning
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
2026-03-17 13:00:39 +01:00
aramissennyeydd 7c92a250ec fix lint warning
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
2026-03-17 13:00:39 +01:00
aramissennyeydd 10f8fa1df8 migrate to dataloader for batch permissions fetching
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
2026-03-17 13:00:39 +01:00
aramissennyeydd 25b7ddd664 feat: allow dynamically enabling and disabling extensions
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
2026-03-17 13:00:29 +01:00
Patrik Oldsberg 2185cb2577 Merge pull request #33381 from backstage/blam/actions-cli
feat(cli): add actions CLI module for distributed actions registry
2026-03-17 12:41:15 +01:00
Patrik Oldsberg ed3483e560 Merge remote-tracking branch 'origin/master' into bui-toast
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor

# Conflicts:
#	packages/frontend-defaults/src/createPublicSignInApp.test.tsx
#	yarn.lock
2026-03-17 12:05:59 +01:00
Patrik Oldsberg abc12cd8e1 fix: address review feedback for actions CLI module
Fix argument parsing bugs in the execute command where actionId at index 0
was incorrectly skipped when --instance was absent, and flag values matching
the actionId string were erroneously removed. Add --help support to the
execute command for CLI report generation. Add missing bin script and
cli-report.md for cli-module-actions. Add resolveAuth tests. Bump
backend-defaults changeset to minor for the security-relevant auth change.
Replace cross-fetch with native fetch in cli-module-auth to avoid punycode
deprecation warnings during CLI report generation.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 10:54:11 +01:00
Patrik Oldsberg 980faba560 Merge branch 'master' into blam/actions-permissions
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-17 09:50:34 +01:00
benjdlambert 42960f1db7 feat: add actions CLI module for distributed actions registry
Adds @backstage/cli-module-actions with commands for listing and executing
actions from the distributed actions registry. Exports auth helpers from
cli-module-auth for cross-module reuse. Relaxes the actions registry auth
check to allow direct user invocations from the CLI.

Signed-off-by: benjdlambert <ben@blam.sh>
2026-03-16 22:04:16 +01:00
Patrik Oldsberg 22f101e208 Merge pull request #33368 from backstage/rugvip/add-frontend-dev-utils
frontend-dev-utils: add helper for plugin dev apps
2026-03-16 21:32:15 +01:00
Patrik Oldsberg 8ea3899944 Add BUI CSS to createDevApp
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 16:10:28 +01:00
Patrik Oldsberg c25532a7a1 Add @backstage/frontend-dev-utils package
Adds a new `@backstage/frontend-dev-utils` package for the new frontend
system. It provides a minimal `createDevApp` helper for wiring up a
development app from a `dev/` entry point.

The app-visualizer plugin is updated to use this new package as the
initial testing ground.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 16:10:27 +01:00
dependabot[bot] 3a76037381 Bump undici from 5.29.0 to 7.24.4
Bumps [undici](https://github.com/nodejs/undici) from 5.29.0 to 7.24.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.29.0...v7.24.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-16 14:05:42 +00:00
Patrik Oldsberg ede7195275 chore: update yarn.lock for cli-node peer dependency changes
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 13:08:09 +01:00
Patrik Oldsberg 4d081452b1 Address review feedback from freben
- Use cli-defaults instead of listing individual CLI modules in
  create-app template and root package.json
- Move nodeTransform config files from cli-module-build to cli-node
  to avoid cross-module direct imports
- Rename cli-module-create-github-app to cli-module-github
- Start createCliModule init chain with Promise.resolve()
- Deduplicate exitWithError in runCliModule.ts
- Extract shared isCommandNodeHidden to @internal/cli
- Add explanatory comment for fromArray deduplication field
- Restore error for cli role packages missing bin in runCliExtraction

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 12:55:22 +01:00
Patrik Oldsberg 26eab3bf83 Rename CLI module bin entries to use backstage prefix
Rename all bin entries from `cli-module-*` to `backstage-cli-module-*`
to establish a clear namespace for Backstage CLI tooling.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 12:27:08 +01:00
Lokesh Kaki 0b0d8fa7f1 chore: update yarn.lock for gitlab scm events deps
Signed-off-by: Lokesh Kaki <lokeshkaki1@gmail.com>
2026-03-15 20:34:36 -05:00
Lokesh Kaki 121690f95c chore: update yarn.lock for azure scm events deps
Signed-off-by: Lokesh Kaki <lokeshkaki1@gmail.com>
2026-03-15 20:34:18 -05:00
Patrik Oldsberg ac96393a12 Fix jest peer dependency in cli-module-test-jest
Change peer dependency from jest-cli to jest to match the actual
runtime usage of require('jest') and the original @backstage/cli
peer dependency declaration.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-15 23:30:19 +01:00
Patrik Oldsberg 55f6eb8c64 Move config files to CLI modules with lazy proxies
Move jest config files to cli-module-test-jest/config and node
transform + webpack-public-path to cli-module-build/config. Replace
originals in @backstage/cli/config with lazy proxies that forward
to the appropriate module or throw if it is not installed.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-15 22:11:43 +01:00
Patrik Oldsberg 7781ae5911 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
2026-03-15 15:01:35 +01:00
Patrik Oldsberg 47b50ef3c4 Add back @types/webpack-env to CLI dependencies
The CLI provides tsconfig presets that include webpack-env in the
types array, so @types/webpack-env must remain a dependency of the
CLI package for consuming apps to compile correctly.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-15 12:56:32 +01:00
Patrik Oldsberg 9937a8aa8e Clean up CLI module dependencies and revert incorrect require() changes
Align dependency versions in CLI modules to match the original CLI
package versions. Move dependencies that are only used by modules out
of the main CLI package, and add missing dependencies to the modules
that actually use them. Revert import-to-require conversions in
cli-module-build that were incorrectly introduced during the split.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-15 12:40:25 +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 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
Gabriel Dugny e7c6c32f26 Refactor Slack Notifications Backend Module to use MetricsApi
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-14 13:56:34 +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 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 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 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
dependabot[bot] 638e6c73ac chore(deps): bump yauzl from 3.2.0 to 3.2.1
Bumps [yauzl](https://github.com/thejoshwolfe/yauzl) from 3.2.0 to 3.2.1.
- [Commits](https://github.com/thejoshwolfe/yauzl/compare/3.2.0...3.2.1)

---
updated-dependencies:
- dependency-name: yauzl
  dependency-version: 3.2.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 01:44:53 +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
Kurt King 5f1e7b8341 refactor: use MetricsService
Signed-off-by: Kurt King <kurtaking@gmail.com>
2026-03-13 17:38:08 -06: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
renovate[bot] 79453c0e46 chore(deps): update dependency wait-for-expect to v4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 11:15:06 +00:00
renovate[bot] 4f7ce4e6f9 chore(deps): update dependency node-gyp to v12
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 11:12:40 +00:00
renovate[bot] 361285a870 fix(deps): update opentelemetry-js monorepo to ^0.213.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 11:10:06 +00: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
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
renovate[bot] 05c704d07f chore(deps): update dependency flatted to v3.4.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-12 11:06:23 +00:00
Fredrik Adelöw a8ff4ad8c7 Merge pull request #33245 from backstage/renovate/jquery-4.x
chore(deps): update dependency @types/jquery to v4
2026-03-12 10:32:23 +01:00
Fredrik Adelöw 223a3d1f88 Merge pull request #33269 from backstage/renovate/lint-staged-16.x
chore(deps): update dependency lint-staged to v16
2026-03-12 10:31:48 +01:00