O Tuvix.js monta micro apps em React, Vue, Svelte, Angular e vanilla JS em uma única página host. Roteamento, um event bus, sandboxing e renderização no servidor vêm como pacotes separados que você adiciona quando precisar.
npx create-tuvix-appimport { createOrchestrator } from 'tuvix.js';const orchestrator = createOrchestrator({ router: { mode: 'history', routes: [ { path: '/dashboard/*', app: 'dashboard' }, { path: '/settings/*', app: 'settings' }, ], },});orchestrator.register({ name: 'dashboard', entry: 'https://cdn.example.com/dashboard/main.js', container: '#main-content', activeWhen: '/dashboard/*',});orchestrator.start();/dashboard/overviewname: 'dashboard'activeWhen: '/dashboard/*'name: 'catalog'activeWhen: '/shop/*'name: 'checkout'activeWhen: '/checkout/*'name: 'settings'activeWhen: '/settings/*'@tuvix.js/event-busOito blocos de construção. Instale o pacote guarda-chuva tuvix.js para obter os cinco principais, ou adicione pacotes individuais conforme o seu shell cresce.
Rode micro apps em React, Vue, Svelte, Angular e vanilla JS lado a lado em um único shell.
Guia de micro appsCada pacote depende apenas de outros pacotes @tuvix.js. Você instala os que importa.
Todos os pacotesO roteador monta e desmonta apps conforme a URL muda, no modo history ou hash.
@tuvix.js/routerOs apps publicam e assinam eventos tipados sem compartilhar globais.
@tuvix.js/event-busO Shadow DOM mantém os estilos de cada app dentro do seu container. O JsSandbox executa um script contra uma window Proxy que você pode descartar.
@tuvix.js/sandboxO loader busca os bundles dos apps sob demanda, guarda-os em cache e tenta de novo os carregamentos que falham.
@tuvix.js/loaderUm painel na própria página lista os apps registrados, a rota ativa e o tráfego do event bus.
@tuvix.js/devtoolsRenderize micro apps no servidor e junte o HTML deles ao template do shell, como string ou como stream.
@tuvix.js/serverCada adaptador transforma um componente em um micro app que o orquestrador pode montar, atualizar e desmontar.
createReactMicroApp envolve um componente. useTuvixProps e useTuvixBus leem props e eventos.
npm i @tuvix.js/reactcreateVueMicroApp monta um app Vue 3, com composables para props e para o event bus.
npm i @tuvix.js/vuecreateSvelteMicroApp monta componentes Svelte 3, 4 e 5.
npm i @tuvix.js/sveltecreateAngularMicroApp inicializa um componente Angular 15+ no seu container.
npm i @tuvix.js/angulardefineMicroApp dá ao JavaScript puro os hooks mount, unmount e update.
npm i @tuvix.js/coreComece pelo pacote guarda-chuva. Mude para pacotes individuais quando quiser uma instalação menor.
Pacote guarda-chuva com core, router, event bus, loader e sandbox.
O orquestrador. Registra micro apps e executa os ciclos de vida deles.
Ativa micro apps pela URL, no modo history ou hash.
Publish/subscribe tipado entre micro apps.
Carrega bundles de apps sob demanda, com cache e novas tentativas.
Isolamento de CSS por Shadow DOM, isolamento de JS por Proxy.
Composição e streaming no servidor para a página host.
Carrega micro apps de remotes do Webpack Module Federation.
Painel de depuração na própria página para apps, rotas e eventos.
Adaptador React, hooks e utilitários de renderização no servidor.
Adaptador Vue 3, composables e utilitários de renderização no servidor.
Adaptador Svelte com suporte a renderização no servidor.
Adaptador Angular com suporte a renderização no servidor.
Plugin do Vite que coloca o CSS das ilhas e os links modulepreload no head do SSR, para que micro apps renderizados no servidor já tenham estilo na primeira pintura.
Gera um novo projeto com host e micro app pela linha de comando.