Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mantendo pacotes em um mono-repositório JavaScript

Lucas Viana
February 23, 2022

Mantendo pacotes em um mono-repositório JavaScript

Esta apresentação faz parte de um conteúdo apresentado em uma palestra que detalha o funcionamento de mono-repositórios em JavaScript, criação e manutenção de projetos que seguem este padrão de projeto.

Lucas Viana

February 23, 2022
Tweet

More Decks by Lucas Viana

Other Decks in Technology

Transcript

  1. Olá! Eu sou o Baú Caiçara, Pintor de Botões profissional

    e montador de quebra cabeças nas horas vagas Você pode me encontrar em @mechamobau 2
  2. 3. Quais ferramentas escolher para um mono-repositório? As muitas opções

    para se considerar para seu projeto. Agenda 1. O que é um monorepo? A definição e significado do conceito mono-repositório. 2. Como criar um monorepo? Detalhes que devem se considerar para criar um projeto que abriga vários projetos. 3 4. Conclusão Vantagens e desvantagens na estratégia de desenvolvimento com monorepos
  3. “É um estratégia de desenvolvimento onde a base de código

    para vários projetos é guardada em um mesmo lugar. 5
  4. Problemas com multirepos ➔ Fragmentação das soluções ➔ Defasagem de

    dependências ➔ Múltiplas esteiras de desenvolvimento Projetos separados geram dificuldades na sincronização entre produtos de mesmo contexto. 8
  5. Você deve avaliar a saúde do seu projeto antes de

    partir para uma solução como mono-repositórios. 11 Antes de tudo, saiba bem o seu contexto © Unsplash
  6. Responsabilidades Dividir as responsabilidades de seus pacotes uma maior qualidade

    em sua solução. Tamanho da base de código Quanto maior for sua base de código, mais detalhes devem ser levados em consideração durante a criação. O que deve ser considerado em sua avaliação 12 Acoplamento Quanto menos acoplado seu projeto, mais fácil será a divisão de responsabilidades entre seus pacotes.
  7. Atualmente existem diversas bibliotecas e projetos focados em mono-repositórios, avalie

    de acordo com sua necessidade. 13 Considere possíveis ferramentas © Unsplash
  8. Sendo uma nova estrutura para o projeto, é necessário migrar

    sua pipeline de desenvolvimento. 14 Transfira sua pipeline para o novo formato © Unsplash
  9. 15 1 3 5 6 4 2 Entender o seu

    contexto Buscar por ferramentas que façam sentido com seu contexto Avaliar as necessidades Iniciar a migração pelo pacote raiz Migrar/Criar pacotes restantes Migrar/Criar pipelines de desenvolvimento
  10. Compartilhamento de código Ser possível reutilizar código entre pacotes, sem

    a necessidade de publicação externa. Algumas considerações para avaliar sua ferramenta Cache local de dependências Capacidade de armazenar as dependências do projeto na primeira instalação. Detecção de pacotes afetados Ser capaz de diferenciar mudanças em pacotes ajustados. Orquestração de tarefas Poder definir a ordem em que pacotes devem ser construídos de acordo com as dependências entre pacotes. 17 Relatório de estrutura Exibir a estrutura do projeto como um todo sem a necessidade de configurações iniciais. Gráfico de dependências Visualizar dependências entre pacotes e tarefas de forma facilitada.
  11. Vantagens - Menor barreira de entrada - Refatorações entre pacotes

    mais fáceis - Cultivo à cultura de compartilhamento entre times O que deve ser considerado em sua avaliação 23 Desvantagens - Tamanho da base de código mais elevado. - Tags em repositórios podem ser defasadas - Maior dificuldade na manipulação do código
  12. Créditos Agradecimento especial ao pessoal que lançou e disponibilizou estes

    fantásticos conteúdos gratuitamente: ➔ Template da apresentação por SlidesCarnival ➔ Fotos por Unsplash 25