npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@openedx/frontend-base

v1.0.1

Published

Build tools, setup and config for frontend apps

Readme

Open edX frontend framework

This library is part of a project to create a reference implementation of OEP-65: Frontend Composability.

In practice, it's a replacement for some of the foundational libraries in the Open edX frontend. In particular:

  • https://github.com/openedx/frontend-build
  • https://github.com/openedx/frontend-platform
  • https://github.com/openedx/frontend-plugin-framework
  • https://github.com/openedx/frontend-component-header
  • https://github.com/openedx/frontend-component-footer

It takes over responsibility for the functionality of those libraries, and also includes a "shell" application.

Furthermore, it enables Open edX frontends to be loaded as "direct plugins" as part of a single, unified application, while also supporting creation of "site" repositories as a central place to check in an Open edX instance's frontend customizations and extensions.

Migrating an MFE to frontend-base

For a step-by-step guide on converting an MFE into a frontend-base app, refer to the Frontend App Migration How To. It is the authoritative reference on the conversion process.

Note that the existing Open edX MFEs are being ported over to frontend-base gradually. For an up-to-date reference of the apps that have already undergone the process, see the app dependencies in frontend-template-site's package.json.

Development

For prototyping changes to the library, this repository includes a self-contained dev mode. Run npm run dev to build frontend-base and start its bundled dev shell, which serves a minimal site from the source files directly, so you can iterate without a separate site checkout. The dev site will be available at http://apps.local.openedx.io:8080.

Once the change matures, we recommend moving over to the pre-configured npm workspaces in a local checkout of frontend-template-site. This will allow you to test changes against multiple real-world apps.

To do so, check this repository out into the site's packages/ directory. Then, run npm run dev:packages from the site's root directory: this will watch-build any workspace check-outs and start the dev server, picking up changes automatically. If any apps (such as frontend-app-instructor-dashboard) require corresponding changes, you can check them out into the packages/ directory as siblings to frontend-base. See Local development with workspaces for full setup details.

Continuous integration

In addition to running lint and the test suite, Github CI builds the included test-site against a packed tarball of frontend-base. This verifies that the library still works end-to-end as a real dependency of a consuming site.

If a change requires corresponding updates to a consuming site (for example, new or changed configuration, exports, or APIs), update test-site as part of your pull request so that CI continues to pass.

Releases

This library is published automatically to npm using semantic-release. On merges to main, alpha versions are published. Stable releases come from the release branch. See ADR 0012: Frontend branching strategy for details.

Further reading

Communication

You can follow ongoing progress on the project's Github project board.

Feel free to reach out in #wg-frontend on Slack with any questions.