Commit Graph

72220 Commits

Author SHA1 Message Date
Patrik Oldsberg e7e2fee8a4 Merge pull request #33337 from chanchalkhatri19/docs/fix-gerrit-readme-link
docs: fix broken link in gerrit catalog module README.
2026-03-17 21:52:33 +01:00
Patrik Oldsberg 4ee971a5dd Merge pull request #33028 from dfl-aeb/feat/gitlab-publish-settings-name-owner-username
feat(scaffolder-backend-module-gitlab): add settings.name and ownerUsername to publish:gitlab
2026-03-17 21:47:32 +01:00
Patrik Oldsberg 580ef981dc Merge pull request #33357 from Believe-SA/slack-metrics-notif
Refactor Slack Notifications Backend Module to use MetricsApi
2026-03-17 21:38:57 +01:00
Patrik Oldsberg ef910b05b9 Merge pull request #33396 from backstage/rugvip/refactor-cli-auth-into-cli-node
cli-node: add CliAuth class for shared CLI authentication
2026-03-17 21:32:07 +01:00
Patrik Oldsberg 60e3dcb098 Merge pull request #32700 from backstage/rugvip/new-frontend-system-default
Make the new frontend system the default for new apps
2026-03-17 21:24:11 +01:00
Patrik Oldsberg db4f942f08 plugins/{app,app-react}: revert API report changes
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-17 20:55:07 +01:00
Patrik Oldsberg 65df955244 e2e-test: remove React 17 compatibility checks
The new frontend system does not support React 17, so the E2E test
no longer switches the scaffolded app to React 17 for a second
verification pass.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:53:51 +01:00
Patrik Oldsberg 4d25b4b784 Address remaining PR review comments
- Fix getAllInstances to handle empty instance array without throwing
- Persist updated token expiry timestamps to disk after refresh
- Mark internal httpJson helpers as @internal instead of @public

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:53:10 +01:00
Patrik Oldsberg 6cc77e2b50 Drop unreleased cli-module-auth changeset
The @backstage/cli-module-auth package is not yet released, so there
is no need for a changeset tracking its exports.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:53:10 +01:00
Patrik Oldsberg 4f6e7de133 Address second round of PR review feedback
- Replace getConfig<T> with getMetadata/setMetadata on CliAuth, removing
  the unsafe type parameter in favor of returning unknown
- Move updateInstanceConfig from cli-module-auth public API to
  CliAuth.setMetadata, removing the cross-package dependency
- Rename 'config' to 'metadata' in StoredInstance and storage schemas
- Add zod validation at consumer sites (cli-module-actions) for
  type-safe metadata access
- Fix zod imports to use zod/v3 for compatibility with zod v4
- Add proper-lockfile to cli-node for metadata write locking
- Refactor cli-node storage from fs-extra to node:fs
- Remove @backstage/cli-module-auth dependency from cli-module-actions

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:53:10 +01:00
Patrik Oldsberg 2b90358730 Address PR review feedback
- Convert CliAuth getters to methods (getInstanceName, getBaseUrl) so
  options can be added in the future
- Remove StoredInstance from cli-node public API, hiding instance details
- Move secretStore to cli-internal for re-use, refactoring from fs-extra
  to node:fs
- Add shared getAuthInstanceService helper in cli-internal for
  constructing secret-store service keys
- Define StoredInstance locally in cli-module-auth instead of importing
  from cli-node
- Update all consumers and tests for the new method-based API

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:53:10 +01:00
Patrik Oldsberg da8e6603a4 Clean up unreleased API surface
Since cli-module-auth and cli-module-actions are not yet released,
remove deprecated exports instead of keeping them. Also make httpJson
and getSecretStore internal to cli-node, duplicating the small httpJson
wrapper locally in each consuming package.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:53:10 +01:00
Patrik Oldsberg 8dda73d806 create-app: fix duplicate search item in next-app
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-17 20:13:06 +01:00
Patrik Oldsberg 3c6de38345 Update API report for cli-module-auth
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:07:51 +01:00
Patrik Oldsberg 12fa965e67 cli-node: add CliAuth class for shared CLI authentication
Introduces a class-based authentication management API in @backstage/cli-node
that reads the on-disk instance store, transparently refreshes expired tokens,
and provides a convenient surface for other CLI modules to consume.

The split keeps filesystem-based instance selection and writes owned by
cli-module-auth, while reading and consuming the current instance is
available through CliAuth in cli-node.

Migrates cli-module-actions to use the new API and deprecates the ad-hoc
function exports from cli-module-auth.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:07:50 +01:00
Patrik Oldsberg 683e49ca32 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-17 19:41:44 +01:00
Patrik Oldsberg df15d409a4 Merge pull request #33397 from davidfestal/update-frontend-feature-loader-ready-with-bundle-command
chore(dyamic-frontend-feature-loader): update README with the new `bundle` command
2026-03-17 19:38:08 +01:00
Andre Wanlin 00617627b1 Merge pull request #33069 from awanlin/docs/scaffolder-clean-up
[Doc] Scaffolder clean up
2026-03-17 13:37:57 -05:00
Patrik Oldsberg 401c1af6d4 Merge pull request #33395 from backstage/rugvip/promote-translation-refs-stable
Promote translation refs from alpha to stable entry points
2026-03-17 18:51:26 +01:00
Andre Wanlin f4c012dee3 Merge pull request #33064 from awanlin/docs/nfs-getting-started-auth
[Docs] NFS - Authentication
2026-03-17 12:35:02 -05:00
Jon Koops 956133bf45 docs: recommend Node.js built-in proxy support for corporate proxies (#33006)
Node.js 22.21.0+ natively supports HTTP_PROXY, HTTPS_PROXY, and
NO_PROXY environment variables via NODE_USE_ENV_PROXY, eliminating the
need for undici and global-agent workarounds. This also works with
node-fetch and cross-fetch since they delegate to node:http/node:https
without overriding the HTTP agent.

Add a new corporate proxy tutorial under docs/ with the recommended
approach and update the legacy guide in contrib/ to point to it.
Update proxy references in the deployment, keeping-backstage-updated,
and TechDocs CLI docs to mention NODE_USE_ENV_PROXY.

Signed-off-by: Jon Koops <jonkoops@gmail.com>
2026-03-17 13:13:00 -04:00
Patrik Oldsberg 717bbaf075 Fix alpha entry point translation ref re-exports to use @alpha instead of @public
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 17:50:25 +01:00
Patrik Oldsberg a8bcba6706 Update extractTranslations test for promoted translation refs
The test expected the org plugin's main entry point to have no
TranslationRef exports, but the promotion changes now export
orgTranslationRef from the stable entry point. Update the test to
verify that only the TranslationRef is extracted while non-TranslationRef
exports are still ignored.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 17:50:25 +01:00
Patrik Oldsberg 0be2541b5c Promote translation refs from alpha to stable entry points
Add each plugin and package translation ref to the corresponding stable
entry point, changing the JSDoc tag from @alpha to @public. The alpha
entry points now re-export with a @deprecated annotation so existing
consumers continue to work.

Affected packages: core-components, api-docs, catalog, catalog-graph,
catalog-import, catalog-react, home, home-react, kubernetes,
kubernetes-cluster, kubernetes-react, notifications, org, scaffolder,
scaffolder-react, search, search-react, user-settings.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 17:50:25 +01:00
Fredrik Adelöw f60c2673ce Merge pull request #33399 from backstage/zod-4
chore(deps): Update all packages to Zod v3 || v4
2026-03-17 17:47:47 +01:00
Andre Wanlin e189e60cb2 Fixed links
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-17 11:36:00 -05:00
Andre Wanlin 11e380b83a Invert based on feedback
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-17 11:15:41 -05:00
Fredrik Adelöw 31aa3ce7b7 dedupe
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 17:00:28 +01:00
Fredrik Adelöw 4919273bea chore: align auth-backend zod version range with rest of repo
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 16:52:00 +01:00
Fredrik Adelöw 68aca28f0e update the import anyway
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 16:48:44 +01:00
Fredrik Adelöw 833f6b5ea4 chore: fix changeset packages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 16:48:44 +01:00
Fredrik Adelöw 4190ec7f0d chore: refresh frontend-plugin-api alpha API report
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 16:48:44 +01:00
Fredrik Adelöw 44a8c0937a chore: regenerate yarn.lock after rebase
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-17 16:48:43 +01:00
Gabriel Dugny e6c41459f5 chore: Switch some zod imports to type only
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-17 16:48:43 +01:00
Gabriel Dugny ffaded0b30 chore: lint & changeset
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-17 16:48:43 +01:00
Gabriel Dugny a49a40d314 Proper /v3 usage everywhere
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-17 16:48:42 +01:00
Gabriel Dugny 0257363c51 Allow zod v3 or v4 dependency (keep using v3)
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-17 16:48:42 +01:00
Gabriel Dugny 49171c9de4 chore: Update all imports to zod/v3
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-17 16:48:42 +01:00
Patrik Oldsberg 219490cd92 create-app: Fix E2E test for new default template
Add @backstage/cli-module-new to the version map so that the
next-app template can resolve it during templating, and update
the E2E test to build the dist workspace from the next-app
template since it is now the default.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 16:45:11 +01:00
Patrik Oldsberg 5d8b4cddb9 Merge pull request #33390 from backstage/rugvip/sunset-docs-plugins
docs: sunset the docs/plugins section as legacy documentation
2026-03-17 16:44:33 +01:00
Andre Wanlin b7f37a60ad Fixed CI and addressed comments
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-17 10:30:59 -05:00
Andre Wanlin 9a82ed5269 [Docs] NFS - Authentication
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-03-17 10:30:58 -05:00
Patrik Oldsberg 4568618cf1 create-app: fix next-app e2e sign-in assertion
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 16:18:02 +01:00
Patrik Oldsberg d0a2b0b7dc e2e-test: preserve next-app styles in React 17 bootstrap
Keep the generated app stylesheet import when rewriting the new frontend app entrypoint for React 17 so the E2E app boots with the same UI setup.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 16:18:01 +01:00
Patrik Oldsberg 2dce1f23eb e2e-test: fix React 17 app bootstrap for new frontend apps
Use the generated app root API when switching the scaffolded app to React 17 so the new frontend app still type-checks in E2E.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 16:18:00 +01:00
Patrik Oldsberg 9603f9c6c0 cli: fix frontend plugin template dev dependency
Add the missing frontend dev utils package so newly scaffolded frontend plugins compile in the create-app E2E flow.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 16:17:59 +01:00
Patrik Oldsberg 7cd15e7c90 create-app: fix next-app template formatting
Align the next-app template output with the scaffolded app Prettier config so the default app E2E checks pass.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 16:17:18 +01:00
Patrik Oldsberg 35686dc9f7 cli: add frontend template filtering coverage
Clarify the legacy frontend plugin template label and lock in template selection behavior for legacy and new frontend system apps.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 16:17:18 +01:00
Patrik Oldsberg 08d9770715 cli: Rename frontend plugin templates and add auto-detection
Renamed the CLI templates for frontend plugins:
- new-frontend-plugin → frontend-plugin
- new-frontend-plugin-module → frontend-plugin-module
- frontend-plugin (legacy) → legacy-frontend-plugin

Added auto-detection logic that checks packages/app/package.json to
determine which frontend system the app uses. When using default
templates, only the appropriate frontend plugin template is shown:
- Apps with @backstage/frontend-defaults see the new system templates
- Apps with @backstage/app-defaults see the legacy template

Both templates display as "frontend-plugin" to users, so existing
workflows are preserved while automatically using the correct template.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-17 16:17:17 +01:00
Fredrik Adelöw c607020290 Merge pull request #33398 from backstage/freben/fix-cli-module-build-coverage
fix(cli): exclude __fixtures__ from coverage in cli-module-build
2026-03-17 16:16:58 +01:00