Move `getHasYarnPlugin` and `SuccessCache` from `@backstage/cli` internal
modules to `@backstage/cli-node` as public exports, making them available
for reuse by other CLI tooling.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
The file was moved from maintenance to build on master, so the
cross-module import is no longer needed.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Split the shared loadCliConfig function into two separate implementations
to remove the cross-module dependency from build to config.
The build module's version keeps the watch/streaming capability needed by
the dev server, while the config module's version is simplified to
one-shot loading since no config commands need watching.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Add separate breaking changeset for the removal of `migrate package-exports`,
and fix a pre-existing bug where the restore assignments in
`createScriptOptionsParser` were swapped.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Move typeDistProject.ts into the build module, duplicate optionsParser.ts
into build and lint modules, inline configOption in the build module,
and simplify the deprecated migrate package-exports command to remove
cross-module dependencies.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
The entity page tab groups were rendered in extension tree order rather
than respecting the order defined in the groups configuration. This
sorts the rendered groups based on the key order from groupDefinitions.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.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>