codeconsole opened a new pull request, #146:
URL: https://github.com/apache/grails-forge-ui/pull/146

   ## Summary
   
   The Grails Forge API now reports two relationship fields per feature 
(apache/grails-core#15987): `dependentFeatures` — features a selection adds 
automatically server-side — and `oneOfGroup` — features sharing a group are 
mutually exclusive. The feature selector previously surfaced neither: implied 
features were invisible in the selection, and conflicting features could be 
selected together only to fail at generation time.
   
   A new `featureRelations` helper expands a selection transitively (a 
feature's dependents, their dependents, and so on), and the selector acts on it:
   
   - **Implied features** are labelled *included automatically by <feature>* on 
their card, made non-toggleable, and appended to the Additional Selected 
Features row as non-removable *(included)* chips.
   - **Conflicting features** — those whose selection, directly or through 
anything they would add automatically, would land in a one-of group already 
occupied by another feature — are greyed out and disabled, labelled 
*unavailable with <feature>*.
   
   Example with the new Spring Security features: selecting **Grails Spring 
Security UI Plugin** shows **Grails Spring Security Plugin** as included and 
disables **Spring Boot Starter Security** (the conflict flows through the 
implied core plugin).
   
   Features without the new metadata behave exactly as before, and the fields 
are absent-tolerant, so the UI works unchanged against API versions that do not 
ship them — the two PRs can merge independently in either order.
   
   ## Testing
   
   - `npm run lint` clean
   - `npx vitest run` — 30/30 passing
   - Verified live against a local Forge API serving the metadata: implied 
labelling, transitive disabling, and chip rendering all as described


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to