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 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!
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
-c
or --cleanup
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
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:
workspace @micro-lc/interfaces
-> i
workspace @micro-lc/iconic
-> c
workspace @micro-lc/composer
-> m
workspace @micro-lc/orchestrator
-> o
workspace @micro-lc/layout
-> l
hence the command above would become:
yarn o build
To run tests ensure some CommonJS to ESM conversion on dependencies by running
yarn prepare-test
then simply run
yarn test
or
yarn coverage
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.
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:
Notice that orchestrator
release, on tag, both the npm library and a docker container,
hence carries 2 tags simultaneously.
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.
micro-lc is Apache 2.0 licensed.