https://github.com/cau-se/bimf

Demo Micro-Frontend with Rspack and module-federation 2.0

https://github.com/cau-se/bimf

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Demo Micro-Frontend with Rspack and module-federation 2.0

Basic Info
  • Host: GitHub
  • Owner: cau-se
  • Language: TypeScript
  • Default Branch: master
  • Homepage:
  • Size: 676 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

Bundle-Independent Micro-Frontend Demo

This repository showcases a Micro-Frontend implementation using RsPack, a high-performance bundler for JavaScript and TypeScript applications.

Overview

Micro-Frontends enable you to break down a large frontend application into smaller, independently deliverable units. This demo leverages RsPack’s blazing-fast build capabilities to demonstrate:

  • Sharing components between micro-frontends.
  • Independent builds for each micro-frontend.
  • A seamless user experience with dynamic module federation.

Features

  • Micro-Frontend Architecture: Modularize your frontend into independently deployed applications.
  • Dynamic Module Federation: On-the-fly loading of shared components and dependencies.
  • Blazing Performance: Build and serve using RsPack for faster iteration.

Prerequisites

Ensure you have the following installed on your system:

  • Node.js (version 20 or higher)
  • npm or yarn

Getting Started

Install Dependencies

Run the following command to install the required dependencies for all micro-frontends:

bash npm install

Start the Development Server

Run the following command to start the demo application:

bash npm run start

Each micro-frontend will be served locally, and the host application will combine them seamlessly.

Build for Production

To build the micro-frontends for production, use:

bash npm run build

The production-ready assets will be output to the dist/ directory.

How It Works

  1. Independent Micro-Frontends: Each micro-frontend is a standalone application with its own RsPack configuration.
  2. Module Federation: The host app dynamically loads remote modules from each micro-frontend.
  3. Shared Components: Common dependencies (e.g., React) and utilities are shared to minimize duplication.

Key Scripts

  • npm run start: Starts the development servers for all micro-frontends and the host application.
  • npm run build: Builds the production-ready assets.
  • npm run lint: Lints the codebase.

Technologies Used

  • RsPack: Fast and efficient JavaScript bundler.
  • React: For building user interfaces.
  • Module Federation: For implementing micro-frontends.

Contributing

Contributions are welcome! If you find any bugs or have feature requests, feel free to open an issue or submit a pull request.

Steps to Contribute

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature-name).
  3. Commit your changes (git commit -m 'Add feature-name').
  4. Push to the branch (git push origin feature-name).
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

Special thanks to the RsPack team for creating a fantastic bundler and to the community for inspiring micro-frontend architectures and to https://github.com/RussellCanfield for his tutorials and example implementations.

Future plans

  • Add Wasm examples
  • Include other bundles

Happy coding! 🚀

Owner

  • Name: Kiel University - Software Engineering Group
  • Login: cau-se
  • Kind: organization
  • Location: Kiel, Germany

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 12
  • Total Committers: 1
  • Avg Commits per committer: 12.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 12
  • Committers: 1
  • Avg Commits per committer: 12.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Billy Lando b****o@y****m 12