O que os símbolos(~) e (^) representam nas dependências de projetos?

Em português: (~) til e (^) circunflexo. Em inglês, (~) tilde e (^) caret. Você pode continuar chamando esses símbolos pelo apelido carinhoso (minhoquinha e chapeuzinho) mas agora já sabe os nomes técnicos.

Uso dos símbolos ^ e ~

Em arqui…


This content originally appeared on DEV Community and was authored by Jessilyneh

Em português: (~) til e (^) circunflexo. Em inglês, (~) tilde e (^) caret. Você pode continuar chamando esses símbolos pelo apelido carinhoso (minhoquinha e chapeuzinho) mas agora já sabe os nomes técnicos.

Uso dos símbolos ^ e ~

Em arquivos package.json,package-lock.json ou outro que especifique dependências, você pode encontrar os símbolos de ^ e ~ antes do range (intervalo) de versão:

      "dependencies": {
        "basic-auth": "^2.0.1",
        "chalk": "^4.1.2",
        "corser": "^2.0.1",
        "he": "^1.2.0",
        "html-encoding-sniffer": "^3.0.0",
        "http-proxy": "^1.18.1",
        "mime": "^1.6.0",
        "minimist": "^1.2.6",
        "opener": "^1.5.1",
        "portfinder": "^1.0.28",
        "secure-compare": "3.0.1",
        "union": "~1.5.0",
        "url-join": "^4.0.1"
      },

Entenda cada parte:

(~) ou (^) especificam os intervalos de versão

(~) “aproximadamente equivalente à versão”

(^) “compatível com a versão”

X.Y.Z (major.minor.patch), juntos nesta ordem e formato, indicam o número de versão. Individualmente, Z, Y e Z são identificadores de versão

major (maior), minor (minor) e patch (correção) são categorias de numero de versão

^X.Y.Z ou ~X.Y.Z juntos nesta ordem e formato, formam ranges de versão

Ranges de versão especificam quais intervalos (de A até B, exceto B) de versões de uma dependência funcionarão no projeto.

Aproximadamente equivalente à versão(~) como em "union": "~1.5.0" , permite alterações do identificador de patch se uma versão no identificador minor corresponder ao especificado no comparador.

Em "union": "~1.5.0" , ~ permite versões de 1.5.0 até 1.5.99 mas não inclui 1.6.0. As versões major e minor devem corresponder ao valor do identificador especificado, mas qualquer versão de patch maior ou igual à especificada é válida.

Compatível com a versão (^) permite alterações que não modifiquem o identificador que esteja mais à esquerda, aceitando atualizações minor e de patch para as versões 1.0.0 e superiores. Para versões que modificam apenas o patch, por exemplo ^0.0.1 o range permitido seria >=0.0.1 <0.0.2 , já que não podemos modificar o valor mais à esquerda, o 1.

Em "url-join: "^4.0.1" o identificador mais à esquerda é o major. Qualquer versão minor ou de patch que seja maior ou igual ao especificado é válida. O ^ permitiria versões até 4.99.99 por exemplo mas, não permitira 5.0.0 porque o 4 é o dígito mais a esquerda em "^4.0.1".

Ilustrando o que foi dito:

Tabela de significado de símbolos citados no texto
Print retirado de https://devhints.io/semver em 07/03/2023

Links para se aprofundar nos assuntos:

Comparadores
Comparador de versões avançado
Diferença entre build, version e release
Diferença entre til e circunflexo
Major, minor e patch
Range de versões
Versão de software
Versionamento


This content originally appeared on DEV Community and was authored by Jessilyneh


Print Share Comment Cite Upload Translate Updates
APA

Jessilyneh | Sciencx (2023-03-09T02:35:49+00:00) O que os símbolos(~) e (^) representam nas dependências de projetos?. Retrieved from https://www.scien.cx/2023/03/09/o-que-os-simbolos-e-representam-nas-dependencias-de-projetos/

MLA
" » O que os símbolos(~) e (^) representam nas dependências de projetos?." Jessilyneh | Sciencx - Thursday March 9, 2023, https://www.scien.cx/2023/03/09/o-que-os-simbolos-e-representam-nas-dependencias-de-projetos/
HARVARD
Jessilyneh | Sciencx Thursday March 9, 2023 » O que os símbolos(~) e (^) representam nas dependências de projetos?., viewed ,<https://www.scien.cx/2023/03/09/o-que-os-simbolos-e-representam-nas-dependencias-de-projetos/>
VANCOUVER
Jessilyneh | Sciencx - » O que os símbolos(~) e (^) representam nas dependências de projetos?. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/03/09/o-que-os-simbolos-e-representam-nas-dependencias-de-projetos/
CHICAGO
" » O que os símbolos(~) e (^) representam nas dependências de projetos?." Jessilyneh | Sciencx - Accessed . https://www.scien.cx/2023/03/09/o-que-os-simbolos-e-representam-nas-dependencias-de-projetos/
IEEE
" » O que os símbolos(~) e (^) representam nas dependências de projetos?." Jessilyneh | Sciencx [Online]. Available: https://www.scien.cx/2023/03/09/o-que-os-simbolos-e-representam-nas-dependencias-de-projetos/. [Accessed: ]
rf:citation
» O que os símbolos(~) e (^) representam nas dependências de projetos? | Jessilyneh | Sciencx | https://www.scien.cx/2023/03/09/o-que-os-simbolos-e-representam-nas-dependencias-de-projetos/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.