DEV Community

Stefany Repetcki
Stefany Repetcki

Posted on

8

Diferença entre dependencies, devDependencies e peerDependencies

Você já se questionou qual a diferença entre "dependencies", "devDependencies" ou "peerDependencies" que muitas vezes estão presentes em nosso Package.json?

Muitos programadores ainda não se questionaram sobre esta diferença, e por isso estou aqui para ajudar você a entender de uma vez por todas qual é ela :)

dependencies

dependencies são todas as bibliotecas necessárias para a aplicação poder trabalhar em produção. Caso se queira instalar somente as dependencias de produção pode usar-se npm install --production.

Para gravar uma dependencia como essencial:

npm install pacote --save

devDependencies

devDependencies como podemos adivinhar graças ao seu nome, as bibliotecas em devDependencies são aquelas que você precisa durante o desenvolvimento da aplicação.

Então você encontrará aqui diferentes tipos de bibliotecas, como:
compressores de código

  • bundlers: webpack, gulp, parceljs, ...
  • testes unitários (ex: enzyme, jest)
  • ferramentas de debug
  • babel e todos os seus plugins
  • bibliotecas de formatação (ex: eslint)
  • outras bibliotecas: storybook, react-styleguidist, husky, etc..

Estes não são necessários para a aplicação funcionar, mas sim para desenvolver e /ou testar.

Para gravar uma dependencia como "dev":

npm install pacote --save-dev

peerDependencies

peerDependencies: se você quiser criar e publicar sua própria biblioteca para que possa ser usada como uma dependência, você também pode precisar do peerDependencies. Nesta seção, você pode indicar quais versões de algumas de suas bibliotecas importantes são necessárias.

Aqui estão alguns exemplos de bibliotecas que geralmente colocamos em peerDependencies : react, react-dom, styled-components, etc.

link de instalação do peer

RESUMÃO:

  • dependencies: programas necessários para produção
  • devDependencies: programas usados para desenvolvimento
  • peerDependencies: são úteis apenas se você deseja criar e publicar sua própria biblioteca.

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay