Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/micro-lc/micro-lc
An open source micro-frontend orchestrator
https://github.com/micro-lc/micro-lc
hacktoberfest js lit microfrontends orchestrator qiankun single-spa webcomponents
Last synced: about 1 month ago
JSON representation
An open source micro-frontend orchestrator
- Host: GitHub
- URL: https://github.com/micro-lc/micro-lc
- Owner: micro-lc
- License: apache-2.0
- Created: 2021-03-10T17:24:57.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-30T12:04:33.000Z (7 months ago)
- Last Synced: 2024-05-02T01:42:15.398Z (7 months ago)
- Topics: hacktoberfest, js, lit, microfrontends, orchestrator, qiankun, single-spa, webcomponents
- Language: TypeScript
- Homepage: https://micro-lc.io
- Size: 47.1 MB
- Stars: 212
- Watchers: 7
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
## Introduction
micro-lc is an open source micro-frontend orchestrator for building flexible, multi-tenant frontend applications.
And [much more](https://micro-lc.io/)!**Tip**: use the official **[playground](https://micro-lc.io/playground/)** to try micro-lc immediately.
An introduction about micro frontend and how micro-lc works:
## 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](https://micro-lc.io/docs/getting-started) 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
```shell
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:
```shell
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:```shell
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:
```shell
yarn o build
```### Test
To run tests ensure some CommonJS to ESM conversion on dependencies by running
```shell
yarn prepare-test
```then simply run
```shell
yarn test
```or
```shell
yarn coverage
```### Components Playground
`layout` is a webcomponents repository and provides a storybook environment.
Remind to build dependencies as prompted [before](#build) and then run:```shell
yarn l storybook
```A local playground is also available. Run:
```shell
yarn playground
```to start the playground, and:
```shell
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
```shell
yarn bump [major|minor|patch|]
```which will:
1. update the changelog moving the unreleased entries to the tagged version
2. create the appropriate tags for npm libraries and docker containersNotice 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](./CONTRIBUTING.md) 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](https://www.apache.org/licenses/LICENSE-2.0).