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>
When the selected tab uses an aliased group ID, resolve it through
the alias map so the MUI Tabs selection indicator matches the
rendered group key.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
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 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>