Corrected capitalization of 'A Resource' at the beginning of the sentence (as it is a proper noun)
Signed-off-by: Rinke Hoekstra <RinkeHoekstra@users.noreply.github.com>
These are CLI framework infrastructure files that belong alongside
createCliPlugin and CliInitializer rather than in the general lib/
directory.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Move the `package clean`, `package prepack`, `package postpack`, and
`repo clean` commands from the internal maintenance module to the build
module, along with the publishing preflight check utility.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Remove the --bui-bg-popover token and adopt a two-layer background
pattern across overlay components: outer shell uses --bui-bg-app,
inner content uses Box bg="neutral-1".
Components updated: Popover, Tooltip, Menu, Dialog.
Each component gets a local border-radius CSS variable, a Box
content wrapper with neutral-1 background, and updated arrow
fills where applicable.
Story "is open" variants for each component now use a dot-grid
background pattern to detect background transparency issues in
Chromatic snapshots.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Addresses review feedback from PR #32939:
- Remove the `findOwnDir` function which is no longer needed
- Add validation to `findOwnRootDir` to verify the resolved path
actually contains a monorepo root with a `package.json` that has
a `workspaces` field
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Move agent instructions from `.github/copilot-instructions.md` to `AGENTS.md`
at the repo root for broader AI agent tool compatibility, and remove the
Cursor rule that pointed at the old file.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
- Add `packages/ui/src/guidelines/CardsWithTable.stories.tsx` as the
first guideline story, showing three data-driven metric cards in a
3-column grid above a paginated table of catalog services.
- Update Storybook `storySort` order so the new `Guidelines` group
appears at the top of the `Backstage UI` section.
- Wrap story content in a `Box bg="neutral-1"` when the Spotify theme
is active, preserving `layout: centered` centering and always
applying `borderRadius`.
- Import `Box` from the UI package into the Storybook preview.
- Remove `transition` from `Container` CSS to avoid animation on resize.
- Set `padding-inline: 0` on `.bui-Container` inside the Spotify theme
so containers render flush within the themed wrapper.
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(ui): add focus-visible outlines to Menu and Select
Replace the default browser focus-visible outline with a
consistent ring style using the data-focus-visible attribute
on Menu items and Select options.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* fix(ui): add cursor styles to RadioGroup items
Add pointer cursor to radio items and not-allowed cursor
for readonly state.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
---------
Signed-off-by: Johan Persson <johanopersson@gmail.com>
* feat: add MetricsService alpha release
Introduces MetricsService as a new @alpha core service wrapping
@opentelemetry/api. Includes migration of existing catalog metrics
to use the new service.
Signed-off-by: benjdlambert <ben@blam.sh>
* chore: duplicate otel types, add plugin-scoped factory and tests
Signed-off-by: benjdlambert <ben@blam.sh>
* chore: update BEP-0012 metrics service design
Signed-off-by: Kurt King <kurtaking@gmail.com>
* chore: address PR feedback from freben and rugvip
Rename instrument types with MetricsService prefix for namespace
clarity, move config to backend.metrics.plugin.{pluginId}, add
config.d.ts schema, and improve factory test assertions.
Signed-off-by: benjdlambert <ben@blam.sh>
---------
Signed-off-by: benjdlambert <ben@blam.sh>
Signed-off-by: Kurt King <kurtaking@gmail.com>
Co-authored-by: Kurt King <kurtaking@gmail.com>
Remove @alpha tags from translation-related types and switch all
translation API imports in new frontend system packages to use stable
paths from @backstage/frontend-plugin-api instead of
@backstage/core-plugin-api/alpha.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
- Remove cli-node/src/paths.ts compat layer, migrate all cli-node
internal usage to import targetPaths from @backstage/cli-common
- Use single-arg overrideTargetPaths('/root') where dir === rootDir
- Scope mockDir to each describe block in bump.test.ts to avoid
shared state issues with overrideTargetPaths
- Remove unnecessary overrideTargetPaths from plugin-manager.test.ts
- Remove stale findPaths mock from createApp.test.ts
- Use overrideTargetPaths in getWorkspaceRoot.test.ts and cli-node tests
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Strengthens BgPropsConstraint to also check that children is
present and non-optional in the OwnProps type of bg provider
components. This ensures children can only flow through
childrenWithBgProvider, preventing silent bypasses of the bg
context system.
Box and Accordion OwnProps updated to comply — children is now
required. BoxProps updated to Omit children from
React.HTMLAttributes to avoid an incompatible duplicate property
declaration. Storybook stories updated accordingly.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Extract prop-splitting and responsive resolution with default
fallbacks from `useDefinition` into a new `resolveDefinitionProps`
helper. This makes `propDefs.default` the single authoritative
source of truth for default values.
Previously, `useBgProvider` had a separate manual default lookup
(`props.bg ?? (definition.propDefs as any).bg?.default`) that
duplicated the main resolution loop.
Signed-off-by: Johan Persson <johanopersson@gmail.com>