Geralmente definir as configurações de ambiente de um projeto é muito complicado, burocratico e leva MUITO tempo
O D3 MFE Lib é um template que foi gerado a partir do D3 LIB
Os objetivos dessa Lib são:
✔️ Fazer com que o dev economize horas ou até dias que iria gastar configurando o ambiente
✔️ Novos integrantes do time estudar MFE com uma base sólida
✔️ Criarmos experimentos usando a lib e aprimorarmos os projetos front-ends
✔️ Automatizar processos
✔️ Centralizar todos os temas da D3, incluindo as fontes, cores e assets
✔️ Dependências e estrutura de pastas configurados
✔️ Uso do Docker
- Shell
- Javascript
- React and Router DOM
- Docker
- Single-SPA
- Cypress
- Husky
- Jest
- ESLint and Prettier
- Styled-components
- Git, Github
GitBashDocker
-
Entre no repositorio e clique em
Use this template -
Você deve setar um Owner, defina um nome para o repositório e depois selecione
Include all branches -
Clone o repositório, exemplo:
$ git clone [email protected]:d3estudio/d3-lib-mfe.git
- Com o terminal, abra o diretório do template
$ cd d3-mfe-lib
-
Agora você pode usar o terminal para executar um dos 4 scripts da lib:
- 💿 build: executa todos os docker-compose, monta todas as imagens e sobe os containers
- 💿 clone: clona todos os repositórios
- 💿 d3shell: A função desse script é iniciar uma sessão de terminal com autenticação SSH para os repositórios da D3. Ao dar o comando bash d3shell.sh o script irá te guiar na criação de uma chave SSH (caso você não possua), configuração da chave no github (caso ainda não esteja configurada) e gerenciamento da sua chave na máquina. Se você já possui uma chave configurada, o script vai apenas iniciar a sessão do terminal autenticada.
- 💿 deploy: Utilize o script deploy.sh para automatizar o deploy de suas aplicações, podendo também fazer o deploy automático a partir de sua maquina, assim como em diversas plataformas com suas configurações. O que facilita a integração e estruturação inicial do projeto, trazendo flexibilidade para diversos contextos.
-
Com o terminal use o script d3shell, o script irá te guiar na criação de uma chave SSH (caso você não possua)
$ bash d3shell.sh
- Clonando todos os repositórios dos MFES
Digite no terminal
$ bash clone.sh
ele irá clonar os repositórios que você incluiu no arquivo .config inclusive a branch, hash, e path especifico
- Será criado uma pasta
srcdentro do template com os repositórios já clonados
- 📂 src: Contém todos os MFEs:
- 📂 root: MFE orquestrador
- 📂 mfes: Todos os sub MFEs:
- 📂 app-mfe: MFE main
- 📂 navbar-mfe: Navbar
- 📂 secondary-mfe: MFE parcel que será carregado dentro do MFE main
- 📂 app-mfe: MFE main
- 📂 root: MFE orquestrador
Agora voce pode usar o build.sh para fazer o build de todas as imagens dos MFES e rodar os seus containers:
Digite no terminal
$ bash build.sh
A aplicação irá rodar no http://localhost:9000/
-
⚙️ .config: SSH dos repositórios, branch, commit hash
-
🐋 docker-compose: imagens, containers, volumes, portas, network de todos os repositórios
-
🐋 Dockerfile
-
📂 src / root
- ⚙️ husky
- 🧪 cypress: os testes ficam na pasta
integration, para executar o teste E2E usenpm test - 📂 public
- 🖼️ favicon
- 📂 utils
- 📄 importmap: importe o caminho de todos os endereços dos MFES aqui
- 📂 src
- 📄 index.ejs: edite varias coisas por aqui como: title, import das CDNs
- 📄 microfrontend-layout: O mapa das applications "MFEs", um overview
exceto aplicaçõesparcelporque eles são importados dentro de outro MFE
- 📄 package: dependencias
-
📂 src / mfes / ...
- ⚛️ components
- ⚛️ pages
- 💅 styles
- 💅 global styles
- 🎨 theme
- 🧪 unit tests
- 🚏 routes
- 🖌 eslint and prettier
- 📄 .env