Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OEP-65: Composable Micro-frontends (#575)
* docs: OEP-65: Frontend composability using module federation This commit repurposes OEP-65 to propose using module federation as an architectural approach to solve our frontend composability issues. This stands in contrast to the previous approach for OEP-65, which was to use Piral. * docs: fleshing out authors Standing on the shoulders of giants over here; lets not forget it! * docs: Update oeps/architectural-decisions/oep-0065-frontend-composability.rst Co-authored-by: Adolfo R. Brandes <[email protected]> * docs: incorporating review feedback Adding another use case to the Composability section. * docs: editing and adding more content - Adding an arbiter. - Light editing for punctuation and clarity - Adding another use case for composability. - Adding build-time package overrides as a composability option. - Adding more details to the reference implementation section. * docs: updates for review feedback - Rewriting and clarifying the Specification section. Simplifying language around Webpack module federation and adding a variety of links out to external resources. - Adding specific recommendations for Maintaining Dependency Consistency. Also adding it to the Rationale. - Rewriting the section on why "build time" and "dependency maintenance" aren't improved by adding shared dependencies. - Adding monorepos to the Rejected Alternatives section. - Adding a sub-section on Proposed MFE Architecture to the Reference Implementation section. * docs: a bit of formatting, adding a link to the Upgrade Project Runbook * docs: adding references to FC projects * docs: adding diagram of proposed MFE architecture * docs: updating proposed MFE architecture diagram Adding some other helpful arrows. * docs: fixing italics in Composability section * chore: update OEP-65 to Under Review * docs: some edits from review feedback - Clarifying the "Motivation" section to talk about how our MFEs are more like single-page apps than true micro-frontends. - Review feedback: correct package names around @edx/@openedx npm orgs and some punctuation fixes. * docs: another round of OEP-65 edits - Added table of contents. - Editing for clarity throughout. - Linking out to Open edX repositories and dropping the organization prefix from their names. * docs: squashing Change History and referencing PR. * docs: updating OEP-65 in response to PR feedback - RST formatting changes. - Simplified language here and there. - Removing language around “today” and “current”, which will not age well for folks reading this OEP in the future. - Making Specification section easier to follow with better headers, and a more “oomphy”/active voice introduction. - Simplifying the shared dependency table, since most didn’t have “notes” anyway. - Adding links and references throughout. - Adding diagram “alt” text description and link to LucidChart source. - Removing the “Appendix” on how Module Federation works - the Specification and Reference Implementation sections cover it. - Removing secondary concerns around central data store and eventing - we seem to be in agreement that those are not concerns that we expect to have, so they feel superfluous for the OEP. * docs: removing ‘passthrough’ library suggestion After some discussion, we agreed that the ‘passthrough library’ idea is too experimental/unknown to add to the OEP. Instead, we’ve described the goals of reorganizing our code and suggested that we add a specific approach as an ADR on this OEP on it becomes more clear. * docs: spellchecking and fixing broken links * docs: fixing some RST errors found by the github checks * docs: temporary rename of the OEP doc link This is to satisfy the build - after we merge the current PR #575 we’ll be renaming the document to ‘oep-0065-arch-frontend-composability.rst’ as a separate PR. * docs: updating status and review period. Setting status as “Provisional” pending merge of the PR. --------- Co-authored-by: Adolfo R. Brandes <[email protected]> Co-authored-by: Adam Stankiewicz <[email protected]>
- Loading branch information