Skip to content

Commit

Permalink
OEP-65: Composable Micro-frontends (#575)
Browse files Browse the repository at this point in the history
* 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 <arbrandes@arbrand.es>

* 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 <arbrandes@arbrand.es>
Co-authored-by: Adam Stankiewicz <agstanki@gmail.com>
  • Loading branch information
3 people committed May 13, 2024
1 parent 7906387 commit 528f72e
Show file tree
Hide file tree
Showing 3 changed files with 441 additions and 0 deletions.
Loading

0 comments on commit 528f72e

Please sign in to comment.