This page outlines suggested requirements for adding UI modularity support, either to amdatu-webresources or as a new amdatu component.
This is a work in progress
Resource Location
It should be possible for any bundle to declare web resources under any path. This is different than the current behavior of amdatu-webresorces that prevents two bundles from providing resources that share a common path (each bundle needs to define one or several paths that it uses exclusively). Even though it is certainly good practice to concentrate resources for a given module under it's own unique path, flexibility is required for modularizing existing applications. It should be possible to take an existing frontend app and simply move resources to other bundles, maintaining their existing path so that no massive code changes would be required. The framework should be able to handle this and merge resources from any given bundle.
As an example, the following application structure should be considered as valid:
Bundle1:
- index.html
- controllers
- MainController.ts
- directives
- SomeDirective.ts
Bundle2:
- controllers
- FeatureController.ts
- directives
- FeatureRelatedDirective.ts
Resource Conversion
While the simplest operation of the framework would be to unify resources from the various bundles and serve them, it should also support a pluggable architecture for resource compilation and conversion.