Ir al contenido principal

Destacado

Javascript | Proxy

Proxy Esta entrada continua con el tema de patrones de diseño y en esta ocasión vamos a examinar el patron Proxy y algunas de sus ventajas. Descripción. El proxy es un patrón de diseño, de tipo estructural y consiste en definir un objeto/componente (sustituto) por medio del cuál controlamos el acceso a otro (original). Esto nos permite agregar funcionalidad adicional así como simplificar la interacción con el objeto original. Ejemplo. RealSubject : es el objeto que nuestro Proxy va a "sustituir. Tiene 2 métodos: connect y disconnect Proxy : es el objeto que controla el acceso a RealSubject . Internamente crea una referencia de RealSubject y hace las llamadas a los métodos correspondientes. La clase mantiene la misma interfaz (connect y disconnect) pero añade funcionalidades extras ( fireBeforeConnectEvent y fireAfterConnectEvent ) así como un control de errores (try/catch). Con este patron podemos agregar funcionalidades que necesitemos en nuestro proyecto sin tener que modifi

npm | Proyecto diferente, registro diferente

Background

Generalmente en una compañía se manejan repositorios privados (seguridad, etc.) para almacenar las dependencias (paquetes) que se utilizan en las diferentes aplicaciones.

Pero ¿Qué pasa si necesitas una dependencia o dependencias para trabajar sobre un POC (Proof of Concept) o solo para probar nuevas librerías? 

No tiene mucho sentido que se agreguen al repositorio privado, si al final de cuentas no se terminaran usando, además de toda la burocracia que puede estar ligada al mismo proceso.

¿Qué opciones tenemos? 

Bueno, ese fue el caso con el que me tope recientemente mientras trabajaba en un proyecto de nodejs nuevo.

.npmrc al rescate

Afortunadamente npm es flexible y nos permite definir opciones de configuración, que afectan el comportamiento de npm a través de diferentes formas; Una de esas formas es mediante un archivo especial:

.npmrc

Este archivo nos permite ajustar configuraciones (por proyecto, por usuario, o globalmente) dependiendo donde se cree.

Si deseamos afectar un proyecto en particular, el archivo debe crearse en el directorio raíz del mismo.

cd ~/code/my-project
touch .nmprc
echo "registry=https://registry.npmjs.org/" > .npmrc

En en el snippet anterior especificamos usar el registro oficial de npm (en vez del registro privado de la compañía). 

Y listo, problema resuelto.

De la misma manera también es posible establecer otras opciones de configuración, como el proxy de red a utilizar, los tokens de autenticación, y mas.

En resumen, el archivo .npmrc es una herramienta importante para personalizar el comportamiento de npm y adaptarlo a nuestras necesidades.

Comentarios

Entradas populares