Move the transform tests from packages/cli/src/tests/transforms/ into
packages/cli/src/modules/build/tests/transforms/ so that the build
module is self-contained and can eventually become its own package.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
- Rename 'alpha' to 'title' for content order enum value
- Inline EntityContentGroupDefinition type into EntityContentGroupDefinitions
- Rename defaultContentOrder prop to contentOrder
- Apply content ordering to ungrouped tabs as well
- Fix no-nested-ternary lint error
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Add two new configuration features for entity page groups:
- Group alias IDs: groups can declare aliases so that content targeting
an aliased group ID is included in the aliasing group
- Configurable content ordering: a new contentOrder option (alpha/natural)
controls how content items within each group are sorted, with support
for both a page-level default and per-group overrides. The new default
is alpha (alphabetical by title).
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Split version.ts into two locations:
- Template version provider moved to modules/new/lib/version.ts
- CLI version info moved to wiring/version.ts
Remove publishPreflightCheck from repo fix command (still runs during
package prepack). Fix build module self-references to use shorter
within-module paths.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
The shared dependency key `@mui/material/styles/` (with trailing slash) caused
module resolution failures because MUI's package.json exports map only defines
`./styles`, not `./styles/`. This resulted in errors like:
Package subpath './styles/' is not defined by "exports" in
@mui/material/package.json
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
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 TableToolbar component was using the same CSS class for both the
root container and the nested filter controls container, causing
layout conflicts when both filters and title props were present.
Changes:
- Added dedicated filterControls CSS class for the filter icon/text
- Added flex-wrap: wrap to root container for better responsiveness
- Fixed nested Box using the same class issue
Fixes#32120
Signed-off-by: samarthsinh2660 <rajuvala80@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>
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>
- 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>