add routes option in oc.json #1442
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Support for File-Based Route Handlers in Development Configuration
Overview
This PR extends the OpenComponents registry to support defining custom routes with file-based handlers in the development configuration. Previously, custom routes could only be defined programmatically with function handlers. Now developers can specify route handlers as file paths in their
oc.jsonconfiguration, improving code organization and reusability.Changes
Type System Updates:
Config.routes.handlertype to accept bothstring(file path) and function handlersroutesconfiguration option underdevelopmentsection inOpenComponentsConfigConfiguration Processing:
options-sanitiser.tsto automatically load handler files whenhandleris a stringRouter Improvements:
Development Integration:
Technical Details
The implementation maintains backward compatibility while adding new functionality. When a route handler is specified as a string, the system:
Handler files should export their function using standard Node.js patterns:
Benefits
This enhancement makes the OpenComponents registry more flexible for development scenarios where custom API endpoints or middleware are needed alongside component serving.