Skip to content
micro-lc logo

Welcome to micro-lc

micro-lc is a lightweight micro-frontend orchestrator that helps building flexible and multi-tenant frontend applications bringing together multiple micro-frontend patterns. The project started in 2021 within Mia-Platform, and was launched open source in 2022 after several months of production usage.

Why micro-lc?

🎼 micro-lc is an open source micro-frontend orchestrator.

🧱 micro-lc offers a solution for building flexible, multi-tenant frontend applications.

🖼 micro-lc is well suited to build any type of web application, from classical top-bar/sidebar multi-pages websites, to CMSs, blogs, or even applications with no layout at all.

⚡ micro-lc aims to be as lightweight as possible and to improve web security.

🔗 micro-lc brings together different micro-frontend patterns inside the same application.

🏃 micro-lc consists of a core interface that loads, embeds, and orchestrates individual frontend applications at runtime, while providing configuration options and useful out-of-the-box features.

Features

micro-lc supports three different micro-frontend patterns at the same time:

  1. iframes,
  2. parcels,
  3. shadowed components.

An iframe is an external websites embedded into our application. A parcel instead is a fully-fledged (possibly single-page) application which lives within the context of the main application, but is JS-sandboxed and routed. Finally, shadowed components refer to business logic encapsulation via web components which allows to protect from style leaks and to scope events using HTML5 elements Shadow DOM.

Orchestration happens at run-time so that a JSON (or YAML) configuration is all needs to add a new micro-frontend application. Configurations can be hot-swapped or edited at run time, meaning a page refresh is enough to preview your application after config changes.

micro-lc provides a smooth navigation experience between different applications, SPAs, and iframes while wrapping them in a static layout.

It ships as a CDN bundle that can be embedded into HTML pages or other scripts, and as a Docker container that can be configured with volumes.

micro-lc is heavily inspired by and based on micro-frontend orchestration tools such as single-spa and qiankun.

By orchestrating micro-frontend applications, micro-lc achieves a fair amount of benefits:

  • applications written in different frameworks can live together on the same page;
  • applications can be deployed independently;
  • applications can communicate through standard APIs leveraging also event-driven patterns.

Compared to other tools, micro-lc provides:

  • live configuration and preview;
  • centralized styling APIs;
  • HTML-like composition tools (lit-html);
  • import map integration (es-module-shims).

Resources

Other open source projects supported by Mia-Platform

  • Rönd: a lightweight container that distributes security policy enforcement
  • kube-green: a k8s operator to reduce CO2 footprint of your clusters

Pinned Loading

  1. micro-lc micro-lc Public

    An open source micro-frontend orchestrator

    TypeScript 219 10

  2. middleware middleware Public

    micro-lc config server implementing parsing and acl utils

    TypeScript

  3. micro-lc.github.io micro-lc.github.io Public

    Documentation site for micro-lc and relative add-ons

    TypeScript 6 5

  4. compose-toolkit compose-toolkit Public

    Types to enhance your webcomponent library and achieve no-code support in Mia's Microfrontend Composer

    JavaScript

Repositories

Showing 10 of 27 repositories
  • post-channel Public

    An utility lib for iframe/service-worker/web-worker/main-thread communications

    micro-lc/post-channel’s past year of commit activity
    TypeScript 0 Apache-2.0 0 0 5 Updated Nov 22, 2024
  • micro-lc Public

    An open source micro-frontend orchestrator

    micro-lc/micro-lc’s past year of commit activity
    TypeScript 219 Apache-2.0 10 0 14 Updated Nov 21, 2024
  • middleware Public

    micro-lc config server implementing parsing and acl utils

    micro-lc/middleware’s past year of commit activity
    TypeScript 0 Apache-2.0 0 0 8 Updated Nov 20, 2024
  • wc-library-template Public template

    Scaffolding for a web-components library

    micro-lc/wc-library-template’s past year of commit activity
    TypeScript 0 Apache-2.0 0 0 5 Updated Nov 20, 2024
  • compose-toolkit Public

    Types to enhance your webcomponent library and achieve no-code support in Mia's Microfrontend Composer

    micro-lc/compose-toolkit’s past year of commit activity
    JavaScript 0 Apache-2.0 0 0 5 Updated Nov 18, 2024
  • micro-lc/back-kit-engine’s past year of commit activity
    TypeScript 5 Apache-2.0 1 0 1 Updated Nov 4, 2024
  • micro-lc.github.io Public

    Documentation site for micro-lc and relative add-ons

    micro-lc/micro-lc.github.io’s past year of commit activity
    TypeScript 6 Apache-2.0 5 0 5 Updated Oct 30, 2024
  • vue3-template Public template

    Template project to create a micro-lc plugin using Vue 3

    micro-lc/vue3-template’s past year of commit activity
    Vue 3 MIT 0 0 6 Updated Feb 19, 2024
  • react-template Public template

    Template project to create a micro-lc parcel using React

    micro-lc/react-template’s past year of commit activity
    JavaScript 3 MIT 1 0 6 Updated Dec 11, 2023
  • angular12-template Public template

    Template project to create a micro-lc plugin using Angular 12

    micro-lc/angular12-template’s past year of commit activity
    TypeScript 1 MIT 0 0 0 Updated Dec 6, 2023

Top languages

Loading…

Most used topics

Loading…