-
-
Notifications
You must be signed in to change notification settings - Fork 752
Open
Description
Current Behavior
When sort: ["source-order"] is configured in typedoc.json, it only affects the ordering of items within groups, not the groups themselves. Groups are always ordered alphabetically.
Example configuration:
{
"sort": [
"source-order"
]
}Source code order:
/**
* @group Comparators
*/
export function ascending() { }
/**
* @group Factories
*/
export function by() { }
/**
* @group Combinators
*/
export function reverse() { }Generated docs show groups in alphabetical order:
- Combinators
- Comparators
- Factories
Expected Behavior
When sort: ["source-order"] is configured, groups whose order is not explicitly specified in groupOrder should be sorted by source order rather than alphabetically:
- Comparators (first
@groupin source) - Factories (second
@groupin source) - Combinators (third
@groupin source)
Note: groupOrder should maintain precedence when explicitly specified. This is about the fallback behavior for unspecified groups.
Current Workaround
Must explicitly configure groupOrder:
{
"sort": [
"source-order"
],
"groupOrder": [
"Comparators",
"Factories",
"Combinators",
"*"
]
}Proposed Solution
Modify group sorting behavior to respect the sort option when groupOrder doesn't explicitly specify all groups:
- Groups listed in
groupOrdermaintain their explicit order (preserves existing behavior) - Unlisted groups fall back to
sort: ["source-order"]if configured, alphabetically otherwise - Update groupOrder documentation from "Groups whose order is not specified will be sorted alphabetically" to "Groups whose order is not specified will be sorted by source order if
sort: ["source-order"]is configured, alphabetically otherwise."
Metadata
Metadata
Assignees
Labels
No labels