Relay Development Kit
Conjunto de pacotes para implementar o relay em um projeto front-end do time de Engenharia de Interfaces na Captalys.
Este pacote faz parte do kit de dependências de desenvolvimento.
Kit de dependências
Os kits de dependências foram criados para centralizar os pacotes utilizados nos projetos de front-end e facilitar a atualização de versão dos mesmos, além de reduzir o dependency hell
, que acontece quando pacotes diferentes dependem de um mesmo pacote, mas em versões diferentes. Isso cria um ciclo onde um upgrade
pode resolver um problema de compatibilidade, mas criar outro, que se resolvido, volta a causar o primeiro problema. Centralizando as bibliotecas, conseguimos mapear e rastrear melhor qual versão podemos manter das dependências para que a aplicação siga estável.
Utilização
Instalando as dependências
Para instalar os pacotes, rodar na raiz do projeto:
npm install @captalys-platform/relay-development-kit --save-dev
ou
yarn @captalys-platform/relay-development-kit -D
Note:
@captalys-platform/relay-development-kit
deve ser instalado como uma dependência de desenvolvimento.
Importante: Todos os kits devem ser instalados na mesma versão para evitar incompatibilidades.
Como configurar o serviço com Typescript e ESLint
Basta adicionar a seguinte regra dentro do objeto rules do arquivo .eslintrc.js
:
module.exports = {
rules: {
'import/no-extraneous-dependencies': [
'error',
{
devDependencies: true,
packageDir: [
'./',
'node_modules/@captalys-platform/relay-development-kit/'
]
},
],
},
};
No caso de um monorepo, deve-se atentar se a biblioteca foi instalada para todo o workspace
ou apenas para um projeto específico, alterando o caminho acima de acordo com a localização correta da instalação da biblioteca. No caso de caminhos complexos, recomenda-se utilizar a biblioteca path
:
const path = require('path');
module.exports = {
rules: {
'import/no-extraneous-dependencies': [
'error',
{
devDependencies: true,
packageDir: [
path.resolve(__dirname),
path.resolve(__dirname, '..', '..', 'node_modules/@captalys-platform/relay-development-kit'),
],
},
],
},
};
Desenvolvimento
Fluxo de desenvolvimento
-
Partindo da branch
staging
, criamos uma nova branch com o comandogit checkout -b <nome-da-nova-branch>
⚠️ Lembrando que o nome da branch deve conter o prefixo da atividade que estamos fazendo, podendo serfix
, que representa a correção de um bug,feature
que representa a adição de uma nova funcionalidade ouhousekeeping
, que representa alguma refatoração de código. Após o prefixo, adicionamos o character/
, seguido do número da atividade gerado pelo Jira.Exemplo:
fix/INTJOV-140
-
Após o desenvolvimento é necessário realizar o commit. É recomendável utilizar o comando
git add -p
, que ajudará a selecionar as porções de códigos referentes à cada commit. -
Após selecionar as porções de código, utilizar o comando
git commit -m <titulo-do-commit>
. Repita a operação até que todo o código esteja dentro de algum commit. -
Antes de finalizar, executar
yarn log
para gerar o changelog, preenchendo as informações referentes às mudanças realizadas. Ao finalizar, realize o commit do arquivo de log utilizandogit add .
egit commit -m <titulo-do-commit>
. -
Quando todos os commit estiverem prontos, subir a tarefa no repositório remoto com o comando
git push origin <nome-da-branch>
.ℹ️ Para mais informações sobre boas práticas no uso do Git, clique aqui -
Abrir um
Pull Request (PR)
parastaging
. Para isso, basta utilizar o link gerado no final do processo do comando anterior ou seguir os passos do seguinte link.⚠️ Não se esqueça de utilizar o template definido no campodescription
, preencha todos os campos e indique duas pessoas para realizar o code review.
Style-guide
O guia de estilos deste projeto pode ser encontrado neste link.
Tarefas e prioridades
O board de tarefas pode ser encontrado nesse link. As tarefas geralmente são ordenadas por ordem de prioridade, considerando o topo como mais prioritárias. Entretanto é importante estar atento na propriedade prioridade
de cada tarefa e nas reuniões de planejamento para estar atento às prioridades do projeto.
Dúvidas
Caso persistam as dúvidas, é possível buscar por informações na documentação do confluence.
Licença
© 2022 Captalys - Todos os direitos reservados.