DEV Community

loading...

dependencies, devDependencies y peerDependencies

María del carmen R. A.
dev-ops
Updated on ・1 min read

1. dependencies:

Las bibliotecas dentro de dependencies son aquellas que el proyecto realmente necesita para poder trabajar en producción.
Estas dependencias están todas o parte de su código en los paquetes finales cuando generamos el bundle de el proyecto.

  • ejemplos: react, lodash, classnames etc.

2. devDependencies:

Las librerías dentro de devDependencies son las que necesitamos durante el desarrollo

  • ejemplos:
    • bibliotecas de formato de código: eslint, prettier, ...
    • bundlers: Webpack, gulp, rollup, ...
    • babel y todos sus complementos
    • todo lo relacionado con las pruebas: jest, enzime, react-testing-library, ...
    • otros: storybook, react-styleguidist, husky, ...

3. perDependencies

Si deseamos crear y publicar nuestra propia biblioteca para que se pueda usar como dependencia, también necesitamos peerDependencies.
Dentro de peerDependencies podemos indicar qué versiones de algunas de las librerías importantes son necesarias.

  • ejemplo: imaginemos que tenemos el proyecto web-site-a y creamos la librería react-components-a los dos comparten la librería react, entonces para asegurarnos de que las versiones correspondan en nuestra librería react-components-a tendremos react como una peerDependency

  • ejemplos de bibliotecas que normalmente colocamos en peerDependencies: react, react-dom, styled-component, etc

TL;DR:

Las dependencies y devDependencies se utilizan para marcar la diferencia entre las bibliotecas que estarán (o no) en nuestro paquete final. peerDepenmdencies son útiles si queremos crear y publicar nuestra propia biblioteca

Discussion (0)