[pull] master from backstage:master#508
Merged
pull[bot] merged 65 commits intomiqdigital:masterfrom Mar 17, 2026
Merged
Conversation
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
Mark all pages in docs/plugins/ with legacy admonition banners pointing to the appropriate new frontend system and backend system documentation. Rename the sidebar section to "Plugins (Legacy)" and move it lower in the navigation hierarchy. Add cross-references from the new frontend system building-plugins guide to relevant cross-cutting topics (i18n, analytics, feature flags, search) that still live in the legacy section. Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
Instead of just referencing the legacy docs/plugins documentation, adapt and add them as new pages under frontend-system/building-plugins/ with updated imports and examples for the new frontend system. Also moves the OpenAPI sidebar entry under Framework instead of top-level. Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
- Update internationalization page to use new frontend system patterns (TranslationBlueprint from @backstage/plugin-app-react instead of createApp __experimentalTranslations) - Fix AnalyticsImplementationBlueprint import to use @backstage/plugin-app-react - Remove search integration page from frontend-system section as it belongs in the core feature search docs Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
The caution block referenced a new frontend system version of the search integration doc that was never created. Remove the dead link while keeping the rest of the legacy notice intact. Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
The page only contained a TODO placeholder and was never filled in. Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
…ndle` command Signed-off-by: David Festal <dfestal@redhat.com>
When the transform tests were moved from @backstage/cli to @backstage/cli-module-build, the coveragePathIgnorePatterns config was not carried over. This caused test failures in CI when running with --coverage, as Jest tried to instrument the fixture files containing fake node_modules packages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Fredrik Adelöw <freben@spotify.com>
…nd-plugin-api Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
The __fixtures__ directory that required this exclusion was moved to @backstage/cli-module-build. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Fredrik Adelöw <freben@spotify.com>
The new frontend system is now the default template when creating a new Backstage app. The previous `--next` flag has been replaced with a `--legacy` flag that can be used to create an app using the old frontend system instead. Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
…coverage fix(cli): exclude __fixtures__ from coverage in cli-module-build
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>
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
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
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
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
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
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
docs: sunset the docs/plugins section as legacy documentation
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
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
[Docs] NFS - Authentication
…efs-stable Promote translation refs from alpha to stable entry points
[Doc] Scaffolder clean up
…ader-ready-with-bundle-command chore(dyamic-frontend-feature-loader): update README with the new `bundle` command
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
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
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com> Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
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
- 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
- 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
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
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
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
…efault Make the new frontend system the default for new apps
…o-cli-node cli-node: add CliAuth class for shared CLI authentication
Refactor Slack Notifications Backend Module to use MetricsApi
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )