Coder Social home page Coder Social logo

micro-lc

Mia-Platform

npm version npm downloads License ts

Introduction

micro-lc is an open source micro-frontend orchestrator for building flexible, multi-tenant frontend applications. And much more!

Tip: use the official playground to try micro-lc immediately.

An introduction about micro frontend and how micro-lc works:

micro-lc introduction

Installation

micro-lc is shipped as an ES module CDN bundle and can be imported in any HTML page. Moreover, a dockerized webserver is available on Docker Hub.

Read the docs to learn how you can use micro-lc in your next project!

Handle the repo

Build

This repository is made of 5 subpackages. The dependencies can be sketched as follows:

  `interfaces`
           |
    `composer`
           |
`orchestrator` `iconic`
           |    |
          `layout`

to build the packages there's a script which can be invoked after install as

yarn initialize [OPTIONS]

where OPTIONS are

  1. -c or --cleanup
  2. one of the subpackages: interfaces, iconic, composer, orchestrator, and layout (default)

By using cleanup you require initialize to trash anything in the dist, node_modules, and coverage directories. By choosing one subpackage, initialize will build up to that one.

To build the repository disregarding previous actions run:

yarn initialize --cleanup

Shortcuts

Yarn allows to invoke scripts onto subpackages in a workspaces environment. Such commands might become soon verbose since to build a subpackage the command would be like:

yarn workspace @micro-lc/orchestrator build

hence we enforced some shortcuts:

  1. workspace @micro-lc/interfaces -> i
  2. workspace @micro-lc/iconic -> c
  3. workspace @micro-lc/composer -> m
  4. workspace @micro-lc/orchestrator -> o
  5. workspace @micro-lc/layout -> l

hence the command above would become:

yarn o build

Test

To run tests ensure some CommonJS to ESM conversion on dependencies by running

yarn prepare-test

then simply run

yarn test

or

yarn coverage

Components Playground

layout is a webcomponents repository and provides a storybook environment. Remind to build dependencies as prompted before and then run:

yarn l storybook

A local playground is also available. Run:

yarn playground

to start the playground, and:

yarn playground-stop

to stop it.

Tag

To create a tag, a custom script is provided. Given the library/package you'd like to tag:

  • orchestrator
  • composer
  • layout
  • iconic
  • interfaces

just run

yarn bump <PACKAGE> [major|minor|patch|<VERSION>]

which will:

  1. update the changelog moving the unreleased entries to the tagged version
  2. create the appropriate tags for npm libraries and docker containers

Notice that orchestrator release, on tag, both the npm library and a docker container, hence carries 2 tags simultaneously.

Contributing

We are thankful for any contributions from the community, read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to micro-lc.

Licence

micro-lc is Apache 2.0 licensed.

micro-lc's Projects

back-kit icon back-kit

A web-component library with bindings to micro-lc environment

micro-lc icon micro-lc

An open source micro-frontend orchestrator

middleware icon middleware

micro-lc config server implementing parsing and acl utils

prerender icon prerender

Prerender container for improving SEO of micro-lc components.

react-lit-template icon react-lit-template

Template to combine React component and Lit to create web-components for micro-lc-element-composer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.