Skip to content

[WIP] Build process for frontendbase apps - #282

Closed
holaontiveros wants to merge 7 commits into
overhangio:releasefrom
WGU-Open-edX:frontendapp-base
Closed

[WIP] Build process for frontendbase apps#282
holaontiveros wants to merge 7 commits into
overhangio:releasefrom
WGU-Open-edX:frontendapp-base

Conversation

@holaontiveros

@holaontiveros holaontiveros commented Feb 18, 2026

Copy link
Copy Markdown

Basic details

This is the first step for the build process of the frontend apps and to allow

  • Adds a new filter that will be used to know which apps should be frontendbase
  • Adds a patch to prevent translations being pulled for template site (while I figure out how that should work)
  • Modify a couple of utility functions to allow frontent-template-site to be mounted (while we agree on specific semantics)
  • Modifies Caddyfile so if the app is a frontentbase it directs to template-site instead of the old app folder

Assumptions

This only uses a single build for template-site, the other MFES with a frontendbase branch are not directly pulled during the build, so you need to be sure your packages.json for the template-site has everything to be able to be build.

If the packages that are intented to be used (the apps to be used in the apps array) are not published (so no dist folder yet) you can point to a git branch and they need to have a package.json prepare script and include the right files for it to be build as part of the npm install.

This way you'll endup with the package installed, transpiled and ready to be used, and this magic will only happen when the package is installed from a git repo, which means the build / install dev and normal dependencies will only happen when you need to use a non-published package.

Also for now, the aggregator repo needs to have the same public path as the app_name for the app in this case and for now that's template-site which means PUBLIC_PATH=/template-site/ because that will allow all the assets to be served properly.

How to add a frontendapp

In order to mark something as a frontendbase app you need a plugin that looks like:

from tutormfe.hooks import FRONTEND_APPS

@FRONTEND_APPS.add()
def _add_frontend_apps(apps):
    apps["learner-dashboard"] = {}
    apps["authn"] = {}
    apps["instructor"] = {} 
    return apps

Any app that it's on this list will be considered a fronend-app so when Caddy shows the content for it, it will show the one on template-site instead of the normal app.

@arbrandes

Copy link
Copy Markdown
Collaborator

Closing in favor of #284.

@arbrandes arbrandes closed this Apr 2, 2026
@ahmed-arb ahmed-arb moved this from Pending Triage to Won't fix in Tutor project management Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Won't fix

Development

Successfully merging this pull request may close these issues.

4 participants