If you would like to learn more about how this project works, please access the full presentation slides on Module Federation by Matheus Sunderhus: link to the presentation.
Welcome to the ModuleFederation repository! This repository contains code and resources related to the ModuleFederation project, maintained by Matheus Sunderhus.
ModuleFederation is a project aimed at exploring and demonstrating the power of module federation in modern web development. The project showcases how to effectively use module federation to create scalable and maintainable applications.
The repository consists of the following directories and files:
- /components: This directory contains the source code of federated components.
- /host: Here, you can find a app that uses typescript support and consume federated modules from components app.
- /host-with-tailwind: Same but with a extra of tailwind support.
- README.md: You are currently reading the main README file, which provides an overview of the repository and its contents.
To get started with the ModuleFederation project, follow these steps:
- Clone the repository to your local machine using the following command:
git clone https://github.com/sunderhus/ModuleFederation.git
- Navigate to the project directory:
cd ModuleFederation
- Install the necessary dependencies on each project with:
npm install
yarn
- Start the development server on each project using:
npm run dev
yarn dev
This will launch the application in your default web browser. You can now explore the project and interact with the features.
We welcome contributions from the community to make the ModuleFederation project even better. If you want to contribute, please follow these guidelines:
- Fork the repository and create a new branch for your feature or bug fix.
- Make your changes and ensure the code is well-tested.
- Commit your changes and push them to your fork.
- Open a pull request, describing the changes you made and their purpose.
I got a repository with a VUE project to federate a complete app as a widget for others here
If you encounter any bugs, have questions, or want to suggest improvements, please feel free to open an issue on the repository. We appreciate your feedback and will address the concerns promptly.
ModuleFederation is licensed under the MIT License, which means you are free to use, modify, and distribute the code as long as you retain the original license header.
For any project-related inquiries or communication, you can reach out me at Matheus Sunderhus Linkedin
Thank you for your interest in the ModuleFederation universe! Happy coding!