feat!: migrate to frontend-base - #906
Merged
Merged
Conversation
4 tasks
arbrandes
force-pushed
the
frontend-base
branch
2 times, most recently
from
June 27, 2025 01:08
0c86523 to
0dc7444
Compare
Follows the frontend-base migration how-to to turn this template into a library that plugs into the Open edX frontend shell, rather than a standalone webpack-bundled MFE. Co-Authored-By: Claude <[email protected]>
arbrandes
force-pushed
the
frontend-base
branch
from
April 23, 2026 14:05
f511d00 to
1bbac69
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #906 +/- ##
==========================================
+ Coverage 0.00% 27.27% +27.27%
==========================================
Files 3 9 +6
Lines 24 22 -2
Branches 0 1 +1
==========================================
+ Hits 0 6 +6
+ Misses 24 16 -8 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Contributor
Author
|
PR updated for frontend-base 1.0.0 (aka Verawood). |
Adopt the per-page document title pattern from frontend-base ADR 0015, so apps generated from this template ship with a sensible browser-tab title instead of inheriting the previous app's. Since frontend-base's migration how-to points to this repo for complete examples, including the pattern here also makes it discoverable for new apps. Refs openedx/frontend-base#250. Co-Authored-By: Claude <[email protected]>
9 tasks
9 tasks
7 tasks
Ports e6b421f and the action bumps that followed it on master, which the -s ours takeover merge would otherwise discard.
The default branch is renamed to main and the legacy MFE template moves to legacy-mfe as part of the frontend-base takeover, so the landed tree names both up front. Drops the warning banner, folding its substance into Purpose.
Repositories created from this template publish to NPM and are governed by OEP-10 ADR 0002, but the template shipped no .releaserc and no release workflow, so every copy started off the layout the ADR settles on. Adds both, plus the branch documentation each audience needs: one-time repository setup in this README, the durable branch layout in the templated one. The workflow's job is gated on the repository name so the template itself never publishes; copies need no edit to it. Part of openedx/public-engineering#563.
The peer range still admitted 1.0.0 prereleases and the lockfile resolved 1.0.0-alpha.39, long after frontend-base reached latest: 1.0.1. A template should not demonstrate the library it is built on by depending on an alpha of it. The || 0.0.0-dev arm stays: the bind-mounted workspace checkout carries that placeholder version, and npm run dev:packages does not resolve without it.
arbrandes
marked this pull request as ready for review
August 27, 2026 13:05
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
This converts the template into an App Repository built on frontend-base: a library that plugs into the Open edX frontend shell, rather than a standalone micro-frontend with its own webpack build. There are breaking changes throughout, and the work was done on a long-lived branch rather than in place, which is why it arrives as one large diff.
Landing it is not a reconciliation. The two branches have diverged across nearly every file, and there is nothing left to merge because the ports from
masteralready happened. The conversion branch takes over instead:legacy-mfeis cut frommaster's tip first,masteris merged into this branch with-s oursto join both histories while keeping the conversion tree, andmasterthen fast-forwards onto the result. openedx/frontend-base#243 has the procedure, settled in OEP-65 ADR 0004. Please do not use the merge button here, which would add a second merge commit and invert the first-parent history the procedure depends on.The default branch is renamed from
mastertomainimmediately before the landing, per #621. This tree already namesmainin its workflow triggers and documentation links, so they are correct the moment it lands and the new default branch has working push CI from its first commit. The legacy standalone MFE template goes on living onlegacy-mfe, which the README points at.Alongside the conversion, this adds the release setup OEP-10 ADR 0002 defines: a
.releasercnamingstable,mainand the maintenance branch patterns, and a Release CI workflow that publishes from all of them. Repositories created from this template publish to NPM and are governed by that ADR, but the template shipped neither, so every copy started off the layout it settles on. The workflow's job is gated on the repository name, so this template never publishes and copies need no edit to it. That is the part of openedx/public-engineering#563 that belongs here.The
@openedx/frontend-basepeer range also moves from^1.0.0-alphato^1.0.0, and the lockfile from1.0.0-alpha.39to1.0.1with it, so the template stops demonstrating the library it is built on by depending on an alpha of it.One deviation from ADR 0004 is deliberate. The ADR has a converted repository annotate
openedx.org/release: "legacy-mfe"so release tooling keeps finding the micro-frontend it replaces. This repository already left named releases, its annotation is alreadynull, and no supported release ships it, sonullis what it stays. There is nothing forlegacy-mfeto be cut for here.Part of #1029, openedx/frontend-base#243 and #621.
LLM usage notice
Built with assistance from Claude.