{"id":13527474,"url":"https://github.com/micro-lc/micro-lc","last_synced_at":"2025-04-12T20:45:58.868Z","repository":{"id":37085617,"uuid":"346436647","full_name":"micro-lc/micro-lc","owner":"micro-lc","description":"An open source micro-frontend orchestrator","archived":false,"fork":false,"pushed_at":"2024-10-29T13:54:10.000Z","size":51309,"stargazers_count":219,"open_issues_count":13,"forks_count":10,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-29T16:07:00.143Z","etag":null,"topics":["hacktoberfest","js","lit","microfrontends","orchestrator","qiankun","single-spa","webcomponents"],"latest_commit_sha":null,"homepage":"https://micro-lc.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/micro-lc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-10T17:24:57.000Z","updated_at":"2024-10-29T13:31:13.000Z","dependencies_parsed_at":"2023-10-15T03:23:46.197Z","dependency_job_id":"5868d3fc-ddc5-42fa-91a9-feb352eb7a3d","html_url":"https://github.com/micro-lc/micro-lc","commit_stats":{"total_commits":1388,"total_committers":24,"mean_commits":"57.833333333333336","dds":0.6268011527377522,"last_synced_commit":"2f05a8e043e1a55b716677df2bf71cedcf29d438"},"previous_names":[],"tags_count":112,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-lc%2Fmicro-lc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-lc%2Fmicro-lc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-lc%2Fmicro-lc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-lc%2Fmicro-lc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micro-lc","download_url":"https://codeload.github.com/micro-lc/micro-lc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631692,"owners_count":21136559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","js","lit","microfrontends","orchestrator","qiankun","single-spa","webcomponents"],"created_at":"2024-08-01T06:01:48.738Z","updated_at":"2025-04-12T20:45:58.827Z","avatar_url":"https://github.com/micro-lc.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://micro-lc.io\"\u003e\u003cimg src=\"https://micro-lc.io/img/logo-light.png\" alt=\"micro-lc\"\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://mia-platform.eu/?utm_source=referral\u0026utm_medium=github\u0026utm_campaign=micro-lc\"\u003e\u003cimg src=\"https://img.shields.io/badge/Supported%20by-Mia--Platform-green?style=for-the-badge\u0026link=https://mia-platform.eu/\u0026color=DE0D92\u0026labelColor=214147\" alt=\"Mia-Platform\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.jsdelivr.com/package/npm/@micro-lc/orchestrator\"\u003e\n    \u003cimg src=\"https://data.jsdelivr.com/v1/package/npm/@micro-lc/orchestrator/badge?style=rounded\" alt=\"\" /\u003e\n  \u003c/a\u003e\n  \u003ca\u003e\n    \u003cimg src=\"https://github.com/micro-lc/micro-lc/actions/workflows/main.yml/badge.svg?branch=main\" alt=\"\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://badge.fury.io/js/@micro-lc%2Forchestrator\"\u003e\n    \u003cimg src=\"https://badge.fury.io/js/@micro-lc%2Forchestrator.svg\" alt=\"npm version\" height=\"20\"\u003e\n  \u003c/a\u003e\n  \u003ca\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/@micro-lc/orchestrator.svg\" alt=\"npm downloads\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\n    \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca\u003e\n    \u003cimg alt=\"ts\" src=\"https://badgen.net/badge/-/TypeScript/blue?icon=typescript\u0026label\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Introduction\n\nmicro-lc is an open source micro-frontend orchestrator for building flexible, multi-tenant frontend applications.\nAnd [much more](https://micro-lc.io/)!\n\n**Tip**: use the official **[playground](https://micro-lc.io/playground/)** to try micro-lc immediately.\n\nAn introduction about micro frontend and how micro-lc works:\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.youtube.com/watch?v=QumadjC2krU\"\u003e\u003cimg src=\"https://img.youtube.com/vi/QumadjC2krU/0.jpg\" alt=\"micro-lc introduction\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## Installation\n\nmicro-lc is shipped as an ES module **CDN bundle** and can be imported in any HTML page. Moreover, a **dockerized \nwebserver** is available on Docker Hub.\n\n[Read the docs](https://micro-lc.io/docs/getting-started) to learn how you can use micro-lc in your\nnext project!\n\n## Handle the repo\n\n### Build\n\nThis repository is made of 5 subpackages. The dependencies can be sketched as follows:\n\n```\n  `interfaces`\n           |\n    `composer`\n           |\n`orchestrator` `iconic`\n           |    |\n          `layout`\n```\n\nto build the packages there's a script which can be invoked after install as\n\n```shell\nyarn initialize [OPTIONS]\n```\n\nwhere `OPTIONS` are\n\n1. `-c` or `--cleanup`\n2. one of the subpackages: `interfaces`, `iconic`, `composer`, `orchestrator`, and `layout` (default)\n\nBy using `cleanup` you require `initialize` to trash anything in the `dist`, `node_modules`, and `coverage` directories.\nBy choosing one subpackage, `initialize` will build up to that one.\n\nTo build the repository disregarding previous actions run:\n\n```shell\nyarn initialize --cleanup\n```\n\n### Shortcuts\n\nYarn allows to invoke scripts onto subpackages in a `workspaces` environment. Such commands might\nbecome soon verbose since to build a subpackage the command would be like:\n\n```shell\nyarn workspace @micro-lc/orchestrator build\n```\n\nhence we enforced some shortcuts:\n\n1. `workspace @micro-lc/interfaces` -\u003e `i`\n2. `workspace @micro-lc/iconic` -\u003e `c`\n3. `workspace @micro-lc/composer` -\u003e `m`\n4. `workspace @micro-lc/orchestrator` -\u003e `o`\n5. `workspace @micro-lc/layout` -\u003e `l`\n\nhence the command above would become:\n\n```shell\nyarn o build\n```\n\n### Test\n\nTo run tests ensure some CommonJS to ESM conversion on dependencies by running\n\n```shell\nyarn prepare-test\n```\n\nthen simply run\n\n```shell\nyarn test\n```\n\nor\n\n```shell\nyarn coverage\n```\n\n### Components Playground\n\n`layout` is a webcomponents repository and provides a storybook environment.\nRemind to build dependencies as prompted [before](#build) and then run:\n\n```shell\nyarn l storybook\n```\n\nA local playground is also available. Run:\n\n```shell\nyarn playground\n```\n\nto start the playground, and:\n\n```shell\nyarn playground-stop\n```\nto stop it.\n\n## Tag\n\nTo create a tag, a custom script is provided. Given the library/package you'd like to tag:\n\n- `orchestrator`\n- `composer`\n- `layout`\n- `iconic`\n- `interfaces`\n\njust run\n\n```shell\nyarn bump \u003cPACKAGE\u003e [major|minor|patch|\u003cVERSION\u003e]\n```\n\nwhich will:\n\n1. update the changelog moving the unreleased entries to the tagged version\n2. create the appropriate tags for npm libraries and docker containers\n\nNotice that `orchestrator` release, on tag, both the npm library and a docker container,\nhence carries 2 tags simultaneously.\n\n## Contributing\n\nWe are thankful for any contributions from the community, read our [contributing guide](./CONTRIBUTING.md) to learn\nabout our development process, how to propose bugfixes and improvements, and how to build and test your changes to\nmicro-lc.\n\n## Licence\n\nmicro-lc is [Apache 2.0 licensed](https://www.apache.org/licenses/LICENSE-2.0).\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicro-lc%2Fmicro-lc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicro-lc%2Fmicro-lc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicro-lc%2Fmicro-lc/lists"}