Soy bastante nuevo en el desarrollo de JavaScript, así que pido disculpas de antemano si esto parece obvio. Estoy tratando de crear un paquete npm privado que no sea accesible para los usuarios.
Sin embargo, puedo ver otro código de paquete npm que supuestamente no es de código abierto ingresando a su respectivo subdirectorio node_modules . Entonces, me pregunto cuál es la diferencia entre los paquetes npm públicos y privados, ya que uno puede ver el código fuente a través de la carpeta node_modules de cualquier manera.
¡Gracias por la ayuda!
La configuración de privacidad solo afecta si un paquete se puede publicar en un registro de paquetes o no y qué personas pueden acceder al paquete (por ejemplo, usar paquetes restringidos para paquetes personalizados de la empresa que se usan en varios proyectos). Por lo tanto, "privado" ayuda a evitar que un paquete se publique accidentalmente y restringe el conjunto de usuarios que pueden acceder al paquete.
¡Esta no es una forma de ofuscar u ocultar su código de las personas con las que compartió el paquete!
Si bien hay formas de lograr lo que desea hacer, no es tan simple como podría pensar, ya que JS en sí no es un lenguaje compilado y ca. (Una forma sería escribir el código que desea ocultar en otro lenguaje compilado, por ejemplo, C, y luego llamar a su biblioteca C a través de JS, básicamente usando JS solo como un contenedor)
TL; DR: si otorga a los usuarios acceso a un paquete NPM, podrán ver el código del paquete, fin de la historia. Solo puede decidir quién podrá ver/acceder al paquete configurando la privacidad (pública/privada/restringida) del paquete.