Pular para o conteúdo principal

Atualizar versões do Tangram

Este é um guia para te ajudar a atualizar o Tangram no seu projeto.

info

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ão 8.9.x, mas não vai atualizar para a 8.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ão 8.x, mas não vai atualizar para a 9.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

tip

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.

Feedback