• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sebnitu / vrembem / 20550461801

28 Dec 2025 07:12AM UTC coverage: 94.132% (-0.7%) from 94.847%
20550461801

push

github

web-flow
Refactor and add documentation for Collection and CollectionEntry API (#2598)

This PR primarily refactored the `Collection` and `CollectionEntry` classes so that they're more intuitive in their use by reducing the complexity of their APIs. Types have also been improved so that they're more strongly typed and reduced the use of `any` where possible. 

**Refactoring Changes**

- Collection `module` property has been renamed to `name`
- Options can now only be passed in via instantiation
- CollectionEntry no longer accepts a config object on instantiation. Instead, configuration of entries should be entirely handled by the `ConfigManager` class which is implemented on the entries `config` property.
- Collection `applyConfig` has been renamed to `updateConfig` and is now the recommended way to update the collection config object.
- Collection `register`, `deregister`, and `destroyEntry` methods not take the collection entry as an argument
- Collection `mount` and `unmount` methods now take a callback function to hook into the collection entry creation and register flow
- `ConfigManager` API has been simplified so that:
  - `apply` and `addConfigSource` logic has been combined into a single `set` method
  - `removeConfigSource` has been renamed to `remove`
- Collection now uses a generic for its config typing
- CollectionEntry has had all of its methods removed such as `init` and `destroy`

**Additional Changes**
- Drawer, Modal and Popover configs now extend `CollectionConfig`
- Improved `Plugin` interface type
- New `CollectionEntryConstructor` type has been added for use in Collection `entryClass` property
- CollectionEntry has had parent collection generic removed in favor of the `any` use to remove the need for recursive dependency typing
- (Docs): Added documentation pages for the `Collection` and `CollectionEntry` classes to better document their API
- (Docs): Added `order` property to the modules collection
- (Docs): Created the `ReferenceBar.astr... (continued)

564 of 614 branches covered (91.86%)

Branch coverage included in aggregate %.

69 of 80 new or added lines in 17 files covered. (86.25%)

2 existing lines in 2 files now uncovered.

928 of 971 relevant lines covered (95.57%)

29.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

62.26
/packages/core/src/js/modules/ConfigManager.ts


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc