22 setembro 2024

Michelly Oliveira

Para que serve ~ (til) e ^ (acento circunflexo) no esquema de versionamento

    Nenhum comentário:

 



Considerando o modelo de versionamento semântico: MAJOR.MINOR.PATCH


Operador til (~)

operador til (~) permite que último digito seja incrementado

~MAJOR.MINOR.PATCH >=MAJOR.MINOR.PATCH e < MAJOR.(MINOR+1).0

Ou seja, todos os PATCHs da versão MAJOR.MINOR

exemplo: ~ 1.2.3 irá corresponder a todas os PATCHs lançados depois da versão 1.2.3. >1.2.3 e <=1.3.0

Outros exemplos:

"vendor/package": "~1.3.2", // >=1.3.2 <1.4.0
"vendor/package": "~1.3", // >=1.3.0 <2.0.0

 

Operador circunflexo (^)

operador circunflexo (^) procura a versão maior (MAJOR) mais recente.

Há uma exceção se a versão maior é zero. Neste caso o comportamento é buscar até a versão menor mais recente. Essa exceção existe para respeitar a regra 4 do versionamento semântico:

"No início do desenvolvimento, a versão Maior DEVE ser zero (0.y.z). Qualquer coisa pode mudar a qualquer momento. A API pública não deve ser considerada estável."


exemplo: ^ 1.2.3 corresponderá a qualquer versão 1.x.x, incluindo 1.3.0, mas suspenderá no 2.0.0.

Outros exemplos

"vendor/package": "^1.3.2", // >=1.3.2 <2.0.0 "vendor/package": "^0.3.2", // >=0.3.2 <0.4.0 // exceção se a versão maior (MAJOR)




Recente
Anterior
Próximo »