Atualizar versões do Tangram
Este é um guia para te ajudar a atualizar o Tangram no seu projeto.
O pacote @resultadosdigitais/tangram-components
já faz o download dos pacotes @resultadosdigitais/tangram-design-tokens
e @resultadosdigitais/tangram-react-icons
, ou seja, você não precisa gerenciar essas dependências. Caso elas estejam no seu arquivo package.json
, pode removê-las. A importação de módulos desses pacotes continuam iguais.
Versionamento
No Tangram seguimos o versionamento de acordo com o SemVer, que é um conjunto de regras e requisitos que determinam como os números de versão são atribuídos e incrementados.
Eles são os números após o nome do pacote. Exemplo: "@resultadosdigitais/tangram-components": "8.9.0"
Cada posição representa um tipo de mudança:
- Primeiro posição: versão Major, é alterada quando existe uma quebra de compatibilidade no API (também conhecida como breaking changes)
- Segundo posição: versão Minor, é alterada quando é adicionada novas funcionalidades mantendo a compatibilidade com a versão anterior
- Terceiro posição: versão Patch, é alterado quando correções são adicionadas mantendo a compatibilidade com a versão anterior
Também é possível que tenham alguns símbolos junto dos números da versão:
- O til (
~
) garante que o pacote seja sempre carregado respeitando o número do meio da versão, a Minor. Exemplo:~8.9.0
sempre vai carregar o pacote mais recente da versão8.9.x
, mas não vai atualizar para a8.10.x
- O circunflexo (
^
) garante que o pacote seja sempre carregado respeitando o primeiro número da versão. Exemplo:^8.9.0
sempre vai carregar o pacote mais recente da versão8.x
, mas não vai atualizar para a9.x
- Os símbolos
>
,>=
,<
,<=
garantem que a versão estará dentro dos limites específicado. Exemplo:<=8.9.0
a versão deve ser inferior ou igual à8.9.0
e nunca maior que
Atualizando o tangram-components
1. Identifique a versão atual
Vá até o package.json
do projeto e localize a dependência @resultadosdigitais/tangram-components
.
"other-dependency": "^0.3.22",
"@resultadosdigitais/tangram-components": "^8.9.0",
"any-deps": "^2.1.3",
2. Verifique qual é a próxima versão
Recomendamos sempre atualizar uma versão por vez, assim pode avaliar melhor possíveis alterações no código.
Acesse as Releases do Tangram no Github. Nessa página constam todas as mudanças feitas em cada versão.
No campo de busca procure por tangram-components
, assim vai filtrar somente pelas releases deste pacote.
Localize a próxima versão oficial maior que a sua versão atual.
Junto da versão, também consta uma lista com tudo que foi feito. Essa lista, junto com a documentação, irá te auxiliar para realizar possíveis mudanças no código caso necessário.
Vermelho: Aqui é um exemplo de mudança onde existe a quebra de API. Nesse tipo de mudança é estritamente necessário a alteração no código. Neste caso, alterar o nome do componente Auto
para Autocomplete
e criar um Resize Observer no seu arquivo de teste global.
Azul: está a parte de correções de bugs, que não necessariamente precisa de uma ação. Também é onde vai estar sobre novas features.
3. Baixar a nova versão
Há diferentes maneiras de fazer isso, você pode alterar diretamente no package.json
ou fazer via linha de comando.
Via package.json
Altere a versão no package.json
do pacote @resultadosdigitais/tangram-components
. Caso não saiba a próxima versão, veja o passo anterior.
"other-dependency": "^0.3.22",
"@resultadosdigitais/tangram-components": "^8.10.0",
"any-deps": "^2.1.3",
Altera a versão, na raiz do projeto rode o comando yarn install
. Caso esteja em um monorepo, rode o comando yarn lerna bootstrap
.
Se achar que as mudanças não estão sendo refletidas, remova a pasta node_modules
rodando o comando rm - rf node-modules
. Caso esteja em um monorepo, rode o comando yarn lerna clean
na raiz.
Avalie as mudanças feitas na release que está instalando e, caso necessário, faça as alterações no seu código.
Via linha de comando
Na raiz do projeto rode o comando yarn upgrade @resultadosdigitais/tangram-components@x.x.x
Caso esteja em um monorepo, na raiz do projeto, rode o comando yarn lerna exec yarn add @resultadosdigitais/tangram-components@x.x.x --scope=@nomeDoPacote
O nome do pacote é o que está definido na propriedade name
do package.json
.
Avalie as mudanças feitas na release que está instalando e, caso necessário, faça as alterações no seu código.