Pero la desventaja de los plugins de YARN es que actualmente no hay comandos para instalarlos en tu proyecto, por lo que necesitas obtener el archivo para el plugin de YARN tú mismo, y luego necesitas mantenerlo actualizado tú mismo. Y no hay hooks simples que puedas usar. Siempre necesitas declarar un plugin de YARN, lo cual es más trabajo que los hooks de pmpm. Básicamente, los hooks de pmpm se cargan desde un archivo pmpm file.js. Y hay dos tipos diferentes de hooks. Hooks avanzados y hooks simples. Con los hooks avanzados, puedes crear fetchers personalizados, importadores, resolutores, por lo que puedes básicamente cambiar lo que se instala y desde dónde. Un ejemplo de algo que utiliza hooks avanzados es StackBlitz. StackBlitz ejecuta pmpm en un contenedor web, y crearon estos fetchers e importadores personalizados para hacer que pmpm sea realmente rápido dentro del contenedor web. Y los hooks simples pueden cambiar el manifiesto del paquete durante la instalación y cambiar configuraciones.
Así que seré rápido ahora, porque el tiempo es... No queda mucho tiempo. Así que uno de los hooks es el hook update.config, el hook simple. Y este hook permite cambiar el objeto de configuración de pmpm durante el tiempo de ejecución. Por ejemplo, en este ejemplo, puedes ver que establecemos una anulación para Socks, porque Socks tiene una vulnerabilidad en todas las versiones anteriores a la 2.8. De esta manera, puedes corregir vulnerabilidades y compartir estas correcciones en toda tu organización. Solo instala esta config dependency. Puedes cambiar la configuración predeterminada de pmpm para ser más estricta, por ejemplo, porque la configuración predeterminada te permite mucho. Son buenas para las personas que recién comienzan a usar pmpm. Pero si deseas ser más estricto, puedes tener tus propias políticas, crear una config dependency y compartirla. Mantenemos una config dependency llamada better defaults, que podemos usar, y hará que pmpm sea más estricto, y es mejor para usuarios avanzados. Además, cualquier cambio importante en pmpm podría llegar primero a esta config dependency. También puedes compartir catálogos de versiones con este hook. Espero que hayas oído hablar de los catálogos de versiones, pero si no, échales un vistazo. Otro hook simple es el hook read package, que te permite modificar el manifiesto del paquete durante la instalación. Así que si a algún paquete le falta una dependencia, por ejemplo, puedes extender el sujeto de la dependencia aquí, y se instalará. En este caso, pmpm-to-agent carece de un debug en sus dependencias, y básicamente podemos verificar si está allí, y si no, lo editamos. Otro caso de uso es crear listas de permitidos o listas de bloqueados de paquetes. Tal vez tu organización tenga un proceso para permitir nuevos paquetes. Puedes usar este hook para verificar el paquete que se instala y lanzar un error si no lo deseas.
Comments