Commit Graph

69930 Commits

Author SHA1 Message Date
Charles de Dreuille 7108c158f2 Remove requestAnimationFrame hack and use proper ESLint disable
Replaced the requestAnimationFrame workaround with an explicit ESLint
disable comment. The setState call in this effect is intentional and
valid - it's syncing component state with localStorage when switching
to the custom theme, which is a legitimate use case for effects.

This is clearer and more maintainable than hiding the intent with
requestAnimationFrame.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-30 13:31:09 +00:00
Charles de Dreuille 088ec1fa25 Prettier
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 15:30:01 +00:00
Charles de Dreuille 62a3add97f Fix some other issues
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 15:15:23 +00:00
Charles de Dreuille 29006ec722 Update sync-css script to output to src/css instead of public
Changed the CSS sync script to output theme files to src/css/ instead
of public/, matching the new location for theme CSS files.

Updated variable names from publicPath to outputPath for clarity and
updated log messages to reflect the correct output location.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 15:14:03 +00:00
Charles de Dreuille 73b56cc9c4 Move theme CSS files from public to src and fix imports
Next.js cannot import CSS from the /public directory - it's for static
assets only. Moved theme-backstage.css and theme-spotify.css from
/public to /src/css and updated imports to use proper relative paths.

This fixes the @next/next/no-css-tags ESLint warnings and follows
Next.js best practices for CSS imports.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 15:10:00 +00:00
Charles de Dreuille ad435e4344 Fix React hooks ESLint errors without disabling rules
Refactored components to avoid synchronous setState calls in effects
by using proper React patterns:

- TableOfContents: Use requestAnimationFrame to defer setState calls
  and useLayoutEffect for DOM measurements
- CustomTheme: Use lazy state initialization for isClient and defer
  theme loading with requestAnimationFrame
- PlaygroundContext: Use lazy initialization for localStorage hydration

These changes maintain functionality while satisfying the strict
react-hooks/set-state-in-effect ESLint rule.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 15:01:12 +00:00
Charles de Dreuille 9db03083a0 Update fix-nextjs16-css-modules.md
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 14:21:02 +00:00
Charles de Dreuille a416231b1c Update accept.txt
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 14:19:48 +00:00
Charles de Dreuille 2398c3d1d9 Update tsconfig.json
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 13:45:37 +00:00
Charles de Dreuille e7159c00fe Cleanup changeset
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 13:34:12 +00:00
Charles de Dreuille b9be9d33aa Upgrade to ESLint 9 for Next.js 16 compatibility
Next.js 16 requires ESLint 9 for proper flat config support. This commit:
- Upgrades eslint from ^8 to ^9
- Migrates from .eslintrc.json to eslint.config.mjs (flat config)
- Updates lint script to use eslint directly (next lint removed in Next.js 16)
- Adds tsconfig.json includes for Next.js 16 dev types
- Fixes layout.tsx to use proper theme CSS link tags

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 13:30:44 +00:00
Charles de Dreuille 4d1b7f4093 Add changeset for CSS Module fixes
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 13:21:26 +00:00
Charles de Dreuille aac1f68de4 Fix CSS Module purity errors for Next.js 16 compatibility
After upgrading to Next.js 16.1.6, the build failed with CSS Module
purity errors in Popover and Tooltip components. Next.js 16 with
Turbopack enforces stricter validation requiring global selectors
like [data-theme='dark'] to be combined with local classes.

Changed nested selector structure:
  [data-theme='dark'] { .bui-Popover { ... } }

To flattened structure:
  [data-theme='dark'] .bui-Popover { ... }

This matches the pattern used in Dialog.module.css and satisfies
Turbopack's CSS Module purity requirements.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 13:19:34 +00:00
Patrik Oldsberg 95850a52a3 Merge pull request #32013 from hopehadfield/dynamic-docs
Update backend-dynamic-feature-service README to reflect current state
2026-01-29 14:03:26 +01:00
Fredrik Adelöw 9891bfbd8b Merge pull request #32568 from backstage/freben/changeset-mem
bump version packages memory limits
2026-01-29 13:48:02 +01:00
Fredrik Adelöw bcc6cf0d8c bump version packages memory limits
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-01-29 13:26:48 +01:00
Charles de Dreuille 55381d1263 Merge pull request #32566 from backstage/fix/storybook-v10.3-config-cleanup
fix(storybook): clean up configuration after v10.3 upgrade
2026-01-29 12:17:48 +00:00
Patrik Oldsberg c47d2efd3f Merge pull request #32564 from backstage/revert-api-conflict-warning
Revert API conflict warning change
2026-01-29 12:48:33 +01:00
Charles de Dreuille 2048ff4946 fix(storybook): clean up configuration after v10.3 upgrade
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 11:15:17 +00:00
Charles de Dreuille 3a8b5e23df Merge pull request #32565 from backstage/nextjs-upgrade
Upgrade Next.js to 16.1.6
2026-01-29 11:10:44 +00:00
Charles de Dreuille 025e9a8fe0 Upgrade Next.js to 16.1.6
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 10:52:07 +00:00
Johan Persson 2c219b9817 feat(ui): add danger variant to Button component
Added a `danger` variant for destructive actions like delete or remove.
Uses solid red background with white text in both light and dark modes.

- Added CSS styles with custom properties for future token migration
- Updated Storybook stories to include danger variant examples
- Updated docs-ui documentation to reflect the new variant

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-01-29 11:42:56 +01:00
Patrik Oldsberg bdf05eac2f Revert "frontend-app-api: switch new API conflict error to be a warning"
This reverts commit 17e0eb3e5f.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-29 11:41:01 +01:00
Patrik Oldsberg 87da9c08b4 Merge pull request #32517 from Believe-SA/gabdug/prettier-3-27559
fix: Support Prettier v3 in repo-tools (#27559)
2026-01-28 21:42:47 +01:00
KoB ce3639c588 feat(kubernetes-plugin): add pv and pvc rendering (#31355)
* feat: add persistent volumes rendering

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: add pv status

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: add volume status and volume type

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: add test for pv

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: add persistent volume claims

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: add persistent volume status pending

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: add persistent volume metadata

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: add persistent volume claims metadata

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: add persistent volume claims test code

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: changeset

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: remove gcp and gke.io

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: yarn build:api-reports

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: update pv to table drawer like pod

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* feat: update pvc to table drawer like pod

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: remove user event at test code

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: exclude pv,pvc from default objects

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: remove duplication import for pv

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: yarn build:api-reports

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: retrigger required checks

Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: retrigger required checks

Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: retrigger required checks

Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

* chore: retrigger required checks

Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>

---------

Signed-off-by: 김병준 <kingbj0429@gmail.com>
Signed-off-by: KoB <63000843+kingbj940429@users.noreply.github.com>
2026-01-28 14:31:01 -05:00
Johan Persson 5af9e14bb0 fix(ui): prevent literal "undefined" class name in useDefinition
When no className prop was passed to a component using useDefinition,
the hook would add a literal "undefined" string as a CSS class. This
happened because clsx treats object keys as class names, and
`{ [undefined]: true }` creates an "undefined" key.

Fixed by using conditional expressions instead of object syntax,
which clsx correctly ignores when falsy.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-01-28 17:31:14 +01:00
Johan Persson 74c5a76990 fix(ui): improve disabled Switch styling
Add proper visual feedback for disabled Switch component by
applying `not-allowed` cursor and disabled text color.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-01-28 16:27:06 +01:00
Patrik Oldsberg 23916a0b5c Merge pull request #32548 from backstage/rugvip/patch-refinement
.patches: ignore already applied patches, remove broken cleanup workflow
2026-01-28 15:20:00 +01:00
Johan Persson 058ffd913f fix(ui): remove non-existent large size from Button types
Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-01-28 14:09:26 +01:00
Johan Persson 2a57064226 docs(ui): comprehensive documentation improvements for all components
Improves documentation quality and consistency across all UI components.

Props documentation:
- Added descriptions to all props across all components
- Fixed prop types to match source implementations
- Added missing props (onAction, isInvalid, aria-label, etc.)
- Corrected default values and removed non-existent props
- Converted props-definition files to .tsx for Chip component usage

Examples and snippets:
- Added side-by-side layout option to Snippet component
- Fixed snippet/preview mismatches
- Improved example code indentation and formatting
- Added live previews to Container, Box, Grid examples
- Wrapped Skeleton examples in themed Box for visibility

API reference:
- Added ReactAriaLinks to all components
- Updated React Aria URLs to react-aria.adobe.com format
- Cleaned up verbose prose and standardized descriptions

Other:
- Updated PageTitle descriptions to 5-12 word format
- Varied example intro phrasing for consistency

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-01-28 14:09:26 +01:00
Andre Wanlin 268888e656 Merge pull request #32121 from awanlin/plugins/directory-validation
Plugins - Added plugin directory validation
2026-01-28 06:43:18 -06:00
Andre Wanlin 5d21916c0d Updates based on feedback
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-01-28 06:26:25 -06:00
Patrik Oldsberg f107bd5c8c Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-28 12:11:53 +01:00
Patrik Oldsberg 90e8283458 .patches: ignore already applied patches, remove broken cleanup workflow
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-28 11:25:10 +01:00
Andre Wanlin 508b51c3e2 Merge pull request #32544 from backstage/sennyeya/hard-navigate
fix: hard navigation to reference docsite
2026-01-27 19:29:28 -06:00
Andre Wanlin 6c5be07d36 Revert quote change
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-01-27 19:22:11 -06:00
Andre Wanlin 4977f58b9a Refactored into a script using zod based on feedback
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-01-27 19:14:44 -06:00
aramissennyeydd cdffa38b46 fix: hard navigation to reference docsite
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
2026-01-27 19:55:50 -05:00
Andre Wanlin ed3bcf377c Plugins - Added plugin directory validation
Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Correct file check

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Correct file extension

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Minor corrections

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Corrected ldap-auth file

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Added pattern to npmPackageName

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Removing pattern

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Ran prettier

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Changes based on feedback

Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-01-27 18:26:47 -06:00
Patrik Oldsberg 827aa1ea6d Merge pull request #32538 from backstage/rugvip/reorg
microsite: reorg top bar
2026-01-27 20:13:34 +01:00
Andre Wanlin b527cf7fde Merge pull request #32183 from tomislacker/bugfix/msgraph-semantic-logging
fix(catalog-msgraph) Semantic Logging of Operational Statistics
2026-01-27 12:14:43 -06:00
Fredrik Adelöw 4d4178e4c9 Merge pull request #32415 from backstage/changeset-release/master
Version Packages (next)
2026-01-27 17:27:04 +01:00
github-actions[bot] d4b85dddee Version Packages (next) 2026-01-27 15:51:11 +00:00
Patrik Oldsberg 095f44a184 microsite: make references header item a dropdown for stable/next
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-27 16:40:02 +01:00
Patrik Oldsberg 0087c907c9 microsite: reorg top bar
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-27 16:40:02 +01:00
Fredrik Adelöw 35c5b64344 Update .changeset/rare-papers-decide.md
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-01-27 16:17:52 +01:00
Johan Persson 092c453b06 fix(ui): prevent infinite render loop in Tabs with routed tabs
When navigating to a URL that doesn't match any tab href, the Tabs
component would pass `selectedKey={null}` to React Aria's Tabs,
which triggers an infinite render loop.

This fix uses an empty string instead of null to indicate no
selection, which React Aria handles correctly.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-01-27 16:17:52 +01:00
Andre Wanlin 60c1af6a79 Merge pull request #32539 from hetsaliya-crestdata/add-apiiro-marketplace
Created apiiro.yaml for adding into the marketplace
2026-01-27 08:43:19 -06:00
Fredrik Adelöw 95a2bb63bf microsite: bump and use the faster build (#32160)
* microsite: bump and use the faster build

Signed-off-by: Fredrik Adelöw <freben@gmail.com>

* fix: disable option causing issues + turn on other flags (#32532)

* feat: make the docsite build faster

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* revert unnecessary change

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

---------

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>

---------

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>
2026-01-27 09:38:25 -05:00
Fredrik Adelöw b4d9e9f1f6 Merge pull request #32375 from backstage/link-button-fix
Remove link styles from LinkButton
2026-01-27 15:03:05 +01:00