19202 Commits

Author SHA1 Message Date
Patrik Oldsberg 4b95f50f3b 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-18 17:32:21 +01:00
Patrik Oldsberg 0257ada6de ui: add React Aria and React Stately dependencies
Add `react-aria`, `@react-aria/interactions`, `@react-stately/layout`,
and `@react-stately/overlays` as dependencies, and `react-stately` as a
dev dependency to `@backstage/ui`.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-18 16:21:19 +01:00
Patrik Oldsberg 270efef604 Update peer-deps lint to support React 18-only packages
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-18 16:14:09 +01:00
Patrik Oldsberg bed3307b72 Drop React 17 support from @backstage/ui
Updated the peer dependency ranges for `react`, `react-dom`, and
`@types/react` in `packages/ui` to require React 18+, removing the
`^17.0.0` range.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-18 16:02:42 +01:00
Patrik Oldsberg 4cf9f3a965 create-app: remove unnecessary @backstage/cli-module-new dependency
Removed the direct @backstage/cli-module-new devDependency from the
next-app template since it is already included transitively through
@backstage/cli-defaults.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-18 11:02:34 +01:00
github-actions[bot] 5725b5fcfa Version Packages 2026-03-17 21:39:07 +00:00
Patrik Oldsberg e704c00979 Merge pull request #32627 from backstage/fix-plugipPackage-metadata
cli: Add pluginPackage support to backend-plugin-module template
2026-03-17 22:18:16 +01:00
Patrik Oldsberg 6a565f6880 Merge pull request #33389 from backstage/rugvip/nfs-header-page-migration
plugins: migrate NFS pages to HeaderPage
2026-03-17 22:16:12 +01:00
Patrik Oldsberg c4f973543f Merge pull request #33351 from backstage/dependabot/npm_and_yarn/yauzl-3.2.1
chore(deps): bump yauzl from 3.2.0 to 3.2.1
2026-03-17 22:06:20 +01:00
Patrik Oldsberg d8cfc7ebc8 Remove sub-page href resolution test from PageBlueprint
The test was asserting behavior that now lives in the app PageLayout
component.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 21:36:03 +01:00
Patrik Oldsberg b46970c880 Move known plugin package constants from cli-common to cli-internal
The known plugin package ID mappings don't need to be part of the
public API surface. Move them to @internal/cli and update consumers.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 21:35:25 +01:00
Vincenzo Scamporlino a0bc38b83c Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino ee8e31320a Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino aaf97bdccb Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Patrik Oldsberg 6ae0f41c56 Apply suggestions from code review
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 21:34:58 +01:00
Vincenzo Scamporlino 00328c1321 Add tests to auto-fill pluginPackage for catalog plugins without prompting
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino db13e5f52f Fix plugin package handling by trimming and validating input; add .node-version file
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino 733dd3447e Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino e6675123d8 Refactor plugin package validation to trim and check for valid npm package names
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino 58fb21967a Include additional parameters in answers
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino 6e451dc85c Refactor known plugin IDs to separate backend and frontend packages
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino 72737430e7 Enhance fixPluginPackages to support frontend plugin package names
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:58 +01:00
Vincenzo Scamporlino 769cb030b9 Enhance plugin package input handling by clearing empty/invalid values and updating pre-population logic
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 11060e329a Add centralized known plugin package exports and update imports
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 5f0daba1d5 Enhance plugin package handling by pre-populating known packages in collectPortableTemplateInput
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 7f8daf93fb Add centralized mapping for known plugin packages in knownPluginPackages.ts
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino f22a0822ab Rename knownFrontendPluginPackages to knownFrontendPluginPackageNameByPluginId for consistency
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 5c7186b5d4 Refactor plugin package name handling to use a centralized mapping for backend plugins
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 1b1f7a87aa Update packages/cli/src/modules/new/lib/preparation/collectPortableTemplateInput.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 194d4b1149 Add pluginPackage field to package.json template for frontend plugin module
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 5ebd4800d7 Remove pluginPackage from portable-template.yaml
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino e8ed881fca Update package name validation regex to support additional characters
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 9b261e37ba Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino 994b82ca84 Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:57 +01:00
Vincenzo Scamporlino a84b9e91df Added missing pluginPackage
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:56 +01:00
Vincenzo Scamporlino 7191abef86 Add support for pluginPackage to frontend modules
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:56 +01:00
Vincenzo Scamporlino 971cc9457a cli: Add pluginPackage support to backend-plugin-module template
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2026-03-17 21:34:56 +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 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 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 6211dd871a Move sub-page tab href resolution to PageLayout
Move the logic for resolving relative sub-page tab hrefs from
PageBlueprint into the app PageLayout component, where it belongs
as an app-level rendering concern.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 20:33:11 +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 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
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