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
Top comments (0)