...
In this solution, We have to design and implement a base editor. which will use by the both question set and collection editor.
The base editor will contain the common components such as hierarchy tree, header, and base service
The Base Editor is responsible for defining the contract used by itself and the editors to communicate.
Here’s the diagram architecture of the base editor.
...
Pros:
Customize UI
Dependency handling is a bit more flexible
Better separation of features
Improved code splitting when lazy loading modulesIndependently deployable and release process (CI/CD pipelines)
Third-party library Dependency can be handled independently(Specific to repositories)
Features specific to the editor can be implemented in the respective GitHub repo.
Easier adoption and deploymentcontribution
Reduce the build size/ better performance
...
Efficiency: Reuse markups across components, Future changes are simple
Consistency: Updating reusable components get affected everywhere it is used
Very easy to implement
Development effort and testing are less compared to approach 1
Cons:
...
Shared modules can not be shared and used by adaptors to build their own editor
...
Not publishable as an NPM package
...
Conclusion:
TBD…..