Commit Graph

71464 Commits

Author SHA1 Message Date
Fredrik Adelöw ca7748bed7 Merge pull request #32960 from backstage/renovate/knip-5.x-lockfile
chore(deps): update dependency knip to v5.85.0
2026-03-05 22:53:17 +01:00
Fredrik Adelöw 0b2e3feb3d Merge pull request #32981 from backstage/dependabot/npm_and_yarn/bn.js-4.12.3
build(deps): bump bn.js from 4.12.0 to 4.12.3
2026-03-05 22:53:00 +01:00
Fredrik Adelöw c21c86ccf4 Merge pull request #33023 from backstage/renovate/codemirror
chore(deps): update codemirror
2026-03-05 22:52:41 +01:00
Fredrik Adelöw cf40d27ac5 Merge pull request #33024 from backstage/renovate/lodash-4.x-lockfile
chore(deps): update dependency @types/lodash to v4.17.24
2026-03-05 22:52:03 +01:00
Fredrik Adelöw cc30f5c5f8 Merge pull request #33048 from backstage/dependabot/npm_and_yarn/minimatch-10.2.4
build(deps): bump minimatch from 10.2.1 to 10.2.4
2026-03-05 22:51:48 +01:00
Fredrik Adelöw 7218a2aa93 Merge pull request #33105 from backstage/dependabot/npm_and_yarn/underscore-1.13.8
build(deps): bump underscore from 1.13.7 to 1.13.8
2026-03-05 22:51:30 +01:00
Fredrik Adelöw 13c09f6a77 Merge pull request #33121 from backstage/dependabot/npm_and_yarn/hono-4.12.5
chore(deps): bump hono from 4.12.0 to 4.12.5
2026-03-05 22:50:31 +01:00
Fredrik Adelöw 6b9eee7226 Merge pull request #33123 from backstage/dependabot/npm_and_yarn/hono/node-server-1.19.10
chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10
2026-03-05 22:50:12 +01:00
Fredrik Adelöw eb0757a406 Merge pull request #33127 from backstage/dependabot/npm_and_yarn/microsite/immutable-5.1.5
chore(deps): bump immutable from 5.0.2 to 5.1.5 in /microsite
2026-03-05 22:49:55 +01:00
Fredrik Adelöw e867e7949a Merge pull request #33130 from backstage/dependabot/npm_and_yarn/svgo-2.8.2
chore(deps): bump svgo from 2.8.0 to 2.8.2
2026-03-05 22:49:38 +01:00
Fredrik Adelöw bfc6da9f07 Merge pull request #33135 from backstage/dependabot/npm_and_yarn/multer-2.1.1
chore(deps): bump multer from 2.0.2 to 2.1.1
2026-03-05 22:49:13 +01:00
Fredrik Adelöw 863ed41ca1 Merge pull request #33155 from backstage/dependabot/npm_and_yarn/dompurify-3.3.2
chore(deps): bump dompurify from 3.3.1 to 3.3.2
2026-03-05 22:46:53 +01:00
dependabot[bot] 9795d3022b chore(deps): bump dompurify from 3.3.1 to 3.3.2
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.3.1...3.3.2)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.3.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 19:18:40 +00:00
Fredrik Adelöw 182cd749d4 Merge pull request #33157 from backstage/freben/novr
skip verify on the dependabot pr fixup
2026-03-05 20:11:42 +01:00
Fredrik Adelöw 03bcb6e8e8 skip verify on the dependabot pr fixup
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 20:09:46 +01:00
Fredrik Adelöw e359d84d1c Merge pull request #33156 from backstage/freben/dependabot-dedupe
ci: dedupe yarn.lock in Dependabot PR workflow
2026-03-05 19:48:41 +01:00
Fredrik Adelöw cc6c579945 ci: add upfront dependabot branch check
Move the branch verification to a separate step right after checkout,
and gate all subsequent steps on its output. Removes the redundant
branch check from inside the changeset generation script.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 19:08:22 +01:00
Fredrik Adelöw dda57bdf3d ci: update actions/setup-node to v6.2.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 17:47:48 +01:00
Fredrik Adelöw 5e9e97af08 ci: use node-version 22.x
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 17:47:07 +01:00
Fredrik Adelöw 51a36847ae ci: use yarn dedupe for all lockfiles
All lockfiles in the repo use Yarn 4, so use `yarn --cwd <dir> dedupe`
uniformly instead of npx yarn-deduplicate for subdirectories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 17:45:45 +01:00
Fredrik Adelöw 619f6d37cb ci: split dedupe/changeset/commit into separate steps
Each step sets an output only if it actually modified files. The
dedupe step checks git diff after running to avoid staging unchanged
lockfiles. A final step commits and pushes only if either step
made changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 17:14:54 +01:00
Fredrik Adelöw b3076be06b ci: use node 22 for consistency with other workflows
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 17:10:23 +01:00
Fredrik Adelöw 85fcc10e80 ci: dedupe all lockfiles conditionally
Only dedupe each lockfile if it was actually changed by Dependabot.
Covers root (Yarn 4) and docs-ui/microsite (Yarn Classic) lockfiles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 17:06:29 +01:00
Fredrik Adelöw 11d7150b5a ci: dedupe yarn.lock in Dependabot PR workflow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-05 17:03:45 +01:00
Johan Persson 430d5ed323 fix(ui): allow CardBody scrolling in interactive cards (#33151)
* refactor(ui): rename CardOverlay to CardTrigger

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* refactor(ui): replace Card overlay with visually-hidden trigger and focus ring

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* feat(ui): implement hybrid click delegation for interactive cards

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* docs(ui): add story for interactive scrollable card

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* chore: add changeset for interactive card scroll fix

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* fix(ui): fix bottom scroll shadow showing when CardBody has no overflow

The reversed scroll-driven animation used `both` fill mode, causing the
backwards fill to show opacity: 1 when no scroll timeline was active.
Replace with two stacked animations using `forwards` fill only.

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* docs(ui): update InteractiveScrollable story to use onPress

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* style: format Card.module.css

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* fix(ui): guard against Text node target in Card click handler

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* feat(ui): render Card as article element for better semantics

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* chore(ui): update API report

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* fix(ui): prevent synthetic click from double-bubbling and exclude onClick from Card types

Signed-off-by: Johan Persson <johanopersson@gmail.com>

---------

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-05 14:57:00 +00:00
renovate[bot] e81671c996 chore(deps): update dependency knip to v5.85.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 14:34:52 +00:00
renovate[bot] e7651d4adb chore(deps): update dependency @types/lodash to v4.17.24
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 14:26:58 +00:00
renovate[bot] 53aa8034a8 chore(deps): update codemirror
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 14:25:17 +00:00
Patrik Oldsberg 4c32f367e4 Merge pull request #33149 from backstage/rugvip/deprecate-mock-api-exports
frontend-test-utils: deprecate standalone mock API exports
2026-03-05 15:22:47 +01:00
Andre Wanlin 20cfcb9481 Merge pull request #33065 from awanlin/docs/clean-up
[Doc] Removed Mentions of the New Backend System
2026-03-05 08:18:27 -06:00
Patrik Oldsberg d9e999a631 Merge pull request #33152 from backstage/rugvip/use-api-holder-no-throw
frontend-plugin-api: change `useApiHolder` to not throw outside API context
2026-03-05 14:10:02 +01:00
Patrik Oldsberg 3b0c46e272 deprecate MockFetchApi class, keep MockFetchApiOptions
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 13:56:51 +01:00
Patrik Oldsberg a462d9ae8b Merge pull request #33148 from backstage/rugvip/move-extensionFactoryMiddleware-to-frontend-app-api
Move `ExtensionFactoryMiddleware` from frontend-plugin-api to frontend-app-api
2026-03-05 13:56:01 +01:00
Patrik Oldsberg 0f61db8bfe Merge pull request #33147 from backstage/rugvip/simplify-extension-attach-to
Simplify the `ExtensionAttachTo` type
2026-03-05 13:52:02 +01:00
Patrik Oldsberg 9581cdfbc5 Merge pull request #33144 from backstage/rugvip/remove-any-extension-data-ref
Remove deprecated `AnyExtensionDataRef` type
2026-03-05 13:51:54 +01:00
Patrik Oldsberg be07392d48 Merge pull request #33143 from backstage/rugvip/remove-allowUnknownExtensionConfig
Remove `allowUnknownExtensionConfig` option from frontend app APIs
2026-03-05 13:51:46 +01:00
Patrik Oldsberg ec9665666a fix api report generation to use standard pipeline flags
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 13:51:32 +01:00
Patrik Oldsberg f41cd2478e Merge pull request #33142 from backstage/rugvip/deprecate-nav-item-blueprint
Deprecate NavItemBlueprint in @backstage/frontend-plugin-api
2026-03-05 13:51:00 +01:00
Patrik Oldsberg 1408dfc6ca Merge pull request #33141 from backstage/rugvip/deprecate-withApis-frontend-plugin-api
Deprecate `withApis` in `@backstage/frontend-plugin-api`
2026-03-05 13:50:53 +01:00
Patrik Oldsberg 9989e9f98d Merge pull request #33139 from backstage/rugvip/move-analytics-blueprint-to-app-react
Move AnalyticsImplementationBlueprint to @backstage/plugin-app-react
2026-03-05 13:50:43 +01:00
Patrik Oldsberg 9b8d43069d Merge pull request #33138 from backstage/rugvip/fix-dialog-api-jsx-type-inconsistency
Fix JSX type reference inconsistency in DialogApiDialog
2026-03-05 13:50:34 +01:00
Patrik Oldsberg 369079ef50 Merge pull request #33137 from backstage/rugvip/remove-page-blueprint-defaultpath
Remove deprecated `defaultPath` migration helper from `PageBlueprint`
2026-03-05 13:50:25 +01:00
Patrik Oldsberg cae80d6d91 Freeze the empty ApiHolder singleton
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-05 13:50:19 +01:00
Patrik Oldsberg d7311c8bac Address review feedback from PR #33140
- Keep explicit error when API context provider exists but v1 is not
  available, only return empty holder when there is no provider at all
- Update tests in core-app-api to expect the new error message when
  rendering outside a provider
- Add @backstage/core-plugin-api to changeset since it re-exports
  useApiHolder

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-03-05 13:32:15 +01:00
Patrik Oldsberg b56f573815 frontend-test-utils: deprecate standalone mock API exports
Deprecate all standalone mock API exports in favor of the `mockApis`
namespace. This includes the mock classes, their option types, and
the `ErrorWithContext` type. Inline option types into the `mockApis`
function signatures to avoid dependence on the deprecated types.

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>
Made-with: Cursor
2026-03-05 13:14:55 +01:00
Johan Persson 7960d54215 feat(ui): support native HTML attributes on Grid components
Extend GridProps and GridItemProps to accept standard HTML div
attributes by inheriting from React.HTMLAttributes<HTMLDivElement>.
The rest props are spread onto the underlying div elements.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-05 12:43:03 +01:00
Johan Persson a733fd1a68 feat(ui): support native HTML attributes on Flex component
Extend FlexProps to accept standard HTML div attributes (e.g. onClick,
id, aria-*) by inheriting from React.HTMLAttributes<HTMLDivElement>.
The rest props are spread onto the underlying div element.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-05 12:43:03 +01:00
Patrik Oldsberg 749ccb432d Use plain text instead of @link in deprecation tags
The {@link} tags resolve to the local deprecated symbols rather than
the new ones in @backstage/plugin-app-react, and TSDoc doesn't support
cross-package links.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 12:34:33 +01:00
Patrik Oldsberg fa0277093e Address review feedback
- Remove {@link} from @deprecated tag (freben feedback)
- Use Object.hasOwn instead of hasOwnProperty
- Use NotImplementedError instead of plain Error
- Add @backstage/errors dependency
- Add tests for withApis in core-compat-api

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 12:30:47 +01:00
Patrik Oldsberg 01929491d7 Keep internal array attachTo support, only simplify public types
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-05 11:51:10 +01:00