Add documentation for the new group aliases and contentOrder options
to the catalog customization guide.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Keep ungrouped tabs in their natural order and only apply content
ordering within actual groups. Rename the contentOrder prop back to
defaultContentOrder to clarify its scope.
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 paths-ignore for microsite/** was also skipping CI for changes to
microsite/data/plugins/, which is where the plugin directory YAML files
live. This meant the verify plugin directory step never ran for the
files it was supposed to validate.
Switch from paths-ignore to paths with negation so that microsite/data/
changes still trigger CI while other microsite changes remain excluded.
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>