Repository navigation
feat!: migrate to frontend-base - #1512
Conversation
BREAKING CHANGE: refactors the MFE for frontend-base.
The only purpose of the included index.html is to serve the dev environment, so modify it to make that clear.
Apps should avoid having a catch-all route, instead relying on the shell to provide it.
Update package.json for publication as a "buildless" library. (Also upgrade openedx-atlas.)
feat: Prepare for publication to NPM
Now we have a way to discover app URLs dynamically; do so for the (default) redirect on login.
Bump frontend-base to alpha.4 to fix a bug with the route role redirection mechanism.
Bump frontend-base to avoid the inotify handle resource starvation.
BREAKING CHANGE: Pre-design-tokens theming is no longer supported.
|
🎉 This PR is included in version 1.0.0-alpha.9 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Co-Authored-By: Claude <noreply@anthropic.com>
|
🎉 This PR is included in version 1.0.0-alpha.10 🎉 The release is available on: Your semantic-release bot 📦🚀 |
frontend-base now expects `roles: [role]` instead of `role: role` in route handle objects. Co-Authored-By: Claude <noreply@anthropic.com>
|
🎉 This PR is included in version 1.0.0-alpha.11 🎉 The release is available on: Your semantic-release bot 📦🚀 |
The shell stylesheet moved from a SCSS file to a JS manifest at @openedx/frontend-base/shell/style. Imports it directly from site.config.dev.tsx and drops the now-redundant site.scss. Also fixes two @media queries in _base_component.scss that used a single-dash custom-media name and were silently non-matching. Refs openedx/frontend-base#232 Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
|
🎉 This PR is included in version 1.0.0-alpha.12 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Adds a build-ci make target (exposed as npm run build:ci) that runs openedx build against site.config.dev.tsx, and wires it into the CI workflow after the existing tsc-based build step. Catches errors in the real app graph (e.g. broken imports in lazy-loaded routes) that neither tsc nor Jest would surface. Co-Authored-By: Claude <noreply@anthropic.com>
NotFoundPage was the only authn route child without a <Helmet> block, so /authn/notfound kept whatever title the previous page set. Add the title following the per-page pattern from frontend-base ADR 0015. Refs openedx/frontend-base#250. Co-Authored-By: Claude <noreply@anthropic.com>
|
🎉 This PR is included in version 1.0.0-alpha.13 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Ports the org-wide SHA-pinning that landed on master in a2e110c and f5ef023, plus the dependabot bumps since, so that landing this branch with `-s ours` does not silently revert it. The only remaining difference from master's ci.yml is this branch's own `Build (CI)` step. Co-Authored-By: Claude <noreply@anthropic.com>
Per OEP-65 ADR 0004 section 3, the annotation names the branch that still carries the micro-frontend once this branch takes over master. Teak, Ulmo and Verawood all ship it, so it is `legacy-mfe` rather than null. Co-Authored-By: Claude <noreply@anthropic.com>
Points semantic-release and the release workflow at `stable` (latest) and `master` (alpha) instead of `release/frontend-base` and `frontend-base`, and adds the n.x / n.m.x maintenance branch patterns. `release/frontend-base` has already been renamed to `stable` and carries the same change; `master` becomes the unstable line when this branch lands. From this commit on, pushes to this branch no longer trigger Release CI, which is deliberate for the duration of the landing. Also pins the release workflow's actions to the same SHAs ci.yml uses. Part of openedx/public-engineering#563. Co-Authored-By: Claude <noreply@anthropic.com>
Adds a `Branches and Releases` section covering the OEP-10 ADR 0002 layout, states that this repository no longer participates in Open edX releases by branch, and names `legacy-mfe` as where the micro-frontend lives and where its release/RELEASENAME branches are cut. Replaces the tutor-mfe development pointer, which does not apply to an App Repository, with the `npm run dev` flow and the frontend-base npm workspace setup. Replaces the build-time environment variable tables with a Configuration section describing how `getAppConfig` resolves app config, pointing at `src/app.ts` for the full key list and keeping prose only for the keys whose behaviour is not obvious. `MFE_CONFIG_API_URL` and `APP_ID` are dropped: they no longer exist. Also repoints the badges, two of which were dead - a Travis badge and a CI badge that pointed at edx-developer-docs. Co-Authored-By: Claude <noreply@anthropic.com>
Nothing in the App Repository reads it; dev configuration lives in site.config.dev.tsx. Co-Authored-By: Claude <noreply@anthropic.com>
Brings the section hierarchy in line with frontend-template-application and the other landed App Repositories. Getting Help, License, Contributing, The Open edX Code of Conduct, People and Reporting Security Issues were all nested under Getting Started; they become top-level sections, in the template's order. Adds the two sections this README was missing: Slots, pointing at src/slots/, and Developing, covering the project structure, the difference between the library build and the CI build, and where the i18n documentation lives. Drops the empty `Known Issues` section, which the template does not have. Co-Authored-By: Claude <noreply@anthropic.com>
The frontend-base branch takes over master. This repository is now an App Repository: a library published to NPM that plugs into the Open edX frontend shell, rather than a standalone micro-frontend. Its branches follow OEP-10 ADR 0002, and it is no longer branched or tagged for Open edX releases in its own right. The micro-frontend goes on living on legacy-mfe, which is where any further release/RELEASENAME branches for it are cut, for as long as a supported release still ships it. Closes #1685. Co-Authored-By: Claude <noreply@anthropic.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1512 +/- ##
==========================================
+ Coverage 91.02% 92.03% +1.01%
==========================================
Files 110 93 -17
Lines 2350 2047 -303
Branches 666 588 -78
==========================================
- Hits 2139 1884 -255
+ Misses 204 160 -44
+ Partials 7 3 -4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
🎉 This PR is included in version 2.0.0-alpha.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Description
Refer to the parent issue for a full description.
In short, this refactors the codebase for frontend-base support. There are several breaking changes. It is a long-lived feature branch, and as such, should not be rebased or squashed until time comes for it to either merge to master or become master.
BREAKING CHANGE: Plugins written prior to this will need to be adapted to frontend-base syntax.
Closes #1685