This graph shows how many times the word ______ has been mentioned throughout the history of the program.
Se viene salseo y novedades importantes a Node.
A ver, os voy a explicar.
¿Por qué, amigos?
Yo no sé si conocéis de Node.js una cosita que se llama Core Pack.
¿Sabéis lo que es Core Pack?
Es una herramienta que está todavía en fase experimental
que lo que te permite es decidir cuál es el administrador de paquetes
que vas a utilizar cuando instales Node.
Por ejemplo, por defecto, a día de hoy, con Node viene NPM.
¿Pero qué pasa?
Pues que ahora lo que quiere Node o lo que se ha conseguido desde la comunidad
es que Node.js puedas directamente también utilizarlo con PNPM o con JARN.
Entonces, si quieres utilizarlo con PNPM, puedes ver cómo instalarlo.
Y aquí en PNPM, por ejemplo, ya tienes incluso las instrucciones.
¿Veis?
Desde la versión 16, Node.js está distribuyendo Core Pack.
¿Vale? Para administrador, administrador de paquetes.
Entonces, tú una vez que instalas Node, lo que puedes hacer es poner
Core Pack, enable PNPM.
Y esto automáticamente lo que hace es que te activa PNPM
para utilizarlo como administrador de paquetes.
O sea, es una forma de romper el monopolio de NPM con Node.
Pero el monopolio todavía lo tiene.
¿Por qué?
Porque quieras o no, cuando tú instalas Node, ya de primeras,
tú no instalas, tú nunca has instalado NPM.
No, tú un NPM te viene y punto.
En cambio, los demás sí que tienes que hacer un paso.
Tienes que hacer un paso para decirle, vale, actívame PNPM o actívame JARN.
Tienes que activar una alternativa.
Bueno, hay una discusión.
Hay un temazo.
Hay unos puntos de vista tan diferentes.
Y me gustaría saber y escuchar vuestra opinión porque me parece muy interesante.
Porque hay un debate justamente en el que se habla si debería ya estar CorePack activado por defecto
y entonces eliminar NPM.
Eliminar NPM.
O sea, que tú instales Node y no te venga ningún administrador de paquetes.
No te viene ninguno.
Ni PNPM, ni JARN, ni NPM.
Ninguno.
Te viene CorePack y tú tienes que ejecutar CorePack Enable NPM o PNPM o JARN o el que sea que quieras utilizar.
¿Vale?
O sea, no viene ninguno.
Claro, estoy a favor.
Hostia, hostia, me sorprende, me sorprende.
Vale, hay gente que está a favor.
Está gente a favor.
¿Y cómo instalar paquetes con CorePack?
No puedes, no puedes.
O sea, CorePack no puedes instalar paquetes.
Solo puedes.
CorePack solo es para que actives un administrador de paquetes.
Por ejemplo, podrías activar NPM.
O podrías activar JARN.
Bueno, JARN, el tema es, ¿cuál sería la diferencia?
La diferencia es, os voy a hacer un escalidro, ¿vale?
Porque es que esto de verdad parece una tontería, pero el impacto que va a tener esto, esto va a ser muy brutal.
Cambios en Node.
Hoy, hoy tú instalas Node y ya te viene NPM, ¿vale?
Esto es como sería hoy.
Y entonces, pues tú después, pues, instalas aparte el administrador que quieras, pues, PNPM o ya. Punto.
Esto es como es hoy.
Hoy en día, todos felices.
Hoy es así.
¿Cómo es en experimental?
En experimental es, instalas Node y ya te viene NPM, pero puedes utilizar, usas CorePack Enable y PNPM, por ejemplo.
PNPM o ya.
O sea, que ya tienes una forma en la que puedes utilizar fácilmente sin necesidad de instalarlo, porque ya viene como preinstalado con CorePack, ¿vale?
Pero, ¿cuál es el futuro?
El futuro es que no te viene ninguno, instalas Node y tienes que usar CorePack, Enable, NPM, JARN o PNPM, ¿vale?
O sea, ya tienes que usar uno.
Entonces, esta sería un poco la idea.
Pero claro, hay polémica.
Y ahora os voy a explicar por qué hay polémica, ¿vale?
Ahora mismo estamos aquí, que es como ha funcionado hasta el día de hoy.
Ahora estamos aquí.
¿Dónde se supone que íbamos a ir?
Claro, obviamente la idea era ir al experimental.
Pero mucha gente está batallando literal por cosas como la que estáis diciendo para justamente introducir la posibilidad de que la gente en ningún momento, en ningún momento, pueda decidir, o sea, que la gente tenga que decidir sí o sí desde el principio.
¿Qué pasa con esto?
Esto significa que cuando está en Node no tenéis ningún administrador de paquetes y hay que hacer un paso más.
Claro, esto crea, si queramos o no, esto crea una pequeña fricción.
Porque la gente que, imagínate, está aprendiendo Node no tiene ni puñetera idea, no tiene ni puñetera idea de quiero empezar un proyecto con Node.
Y entonces instala Node y ya, ¡pum!
Una pregunta.
Y dice, bueno, ¿pero qué administrador de paquete quieres?
NPM, PNPM, YARN, y espérate, debería añadir BAN, debería añadir otros.
¿Cuál es realmente el, sabes, cómo, cuándo se va a añadir?
¿Qué lo decide que lo tiene que añadir?
Por ejemplo, nosotros tenemos alguien en la comunidad que hizo Ultra, que era un package manager también.
Y Ultra, este chico se fue a trabajar a PNPM.
Pero Ultra lo deberían añadir también, ¿sabes?
Es que es complicado.
Luego, lo que dicen es, claro, pero es que además lo que vamos a pasar es que van a romper totalmente la retrocompatibilidad con un montón de documentaciones, cursos y tal.
Y que queramos o no, el éxito del ecosistema de Node ha sido el éxito de NPM.
¿Sabes?
Que ha sido un éxito que ha estado uno al lado del otro.
¿Ok?
Fijaos que uno de los miembros del board of directors de Node, que es Mateo Colina, Mateo, Mateo decía que le parecía mala idea.
A ver si lo encuentro.
Mateo, ta, ta, ta.
Bueno, obviamente la gente de NPM está totalmente en contra de la distribución en Corepack.
Tiene sentido.
Aquí cada uno lucha por lo suyo.
¿Por qué?
Porque obviamente NPM, imaginad el hachazo, el hachazo que sería para NPM de pasar a venir instalado siempre con Node a que el usuario lo tenga que activar.
Sería un hachazo al número de descargas increíble.
O sea, es que perderían, no sé, no tengo números, no lo sé, pero es que sería salvaje, salvaje, sería salvaje.
Yo creo que, yo sé, la mitad, más de la mitad, porque la gente, quieras o no, pues diría, ah, pues voy a utilizar PNPM, ya, lo que sea.
Luego, lo que tenemos por aquí es que dentro del board of directors lo que tienen es como diferentes opiniones, ¿no?
Hay gente, por ejemplo, Jagiz Nisipili, que ya lo hemos visto en algún salseo, es el que está más de acuerdo de quitar NPM de Node.js.
Y en cambio, Mateo, que es este chico de aquí, está más a favor de mantener NPM, ¿vale?
Que parece que no le parece bien.
Así que nada, no sé cómo va a terminar esto, ya os digo yo, claro, perdería el monopolio, ya os digo yo que esto va para largo,
que va a ser un tema bastante polémico, es un cambio muy bestia, muy, muy bestia en cómo trabajamos con Node.
Y yo me la voy a jugar, yo me la voy a jugar porque he visto vuestras opiniones, en muchos he visto que decís que está bien dejar elegir,
yo creo que sí que está bien, pero yo creo, sinceramente, yo me quedaría con este de aquí.
Yo me quedaría con este.
Yo creo que ahora mismo, a día de hoy, desligar Node y NPM sería un error.
Para mí sería un error.
Y yo creo que lo que sí que es interesante es poder utilizar Core Pack para activar cualquiera de los otros.
Porque me parece súper bien, o sea, me parece súper bien.
Yo utilizo un montón PNPM, o sea, no es que tenga nada en contra de PNPM o de Jan.
O sea, a mí me encanta PNPM, lo habéis visto, que yo siempre utilizo PNPM.
Pero considero, porque muchas veces tenemos que pensar no solo en qué es lo mejor técnicamente.
Y yo la verdad es que sí que veo que si es una cosa que ya lleva tantos años, que está funcionando,
que no ha habido nunca ningún problema, a mí me parece muy complicado el hecho de quitar esto,
por más que es verdad que es un monopolio.
Pero es que no se entiende Node separado de NPM.
Y sería muy raro cómo separarlos.
A mí no me parece buena idea.
Aunque yo seguiré utilizando PNPM, que me parece mejor idea, ¿no?
Claro, el tema es lo que dice XS Gamer, que estoy de acuerdo.
En un principio Node debía venir sin NPM y con el tiempo agregárselo.
Pero hacerlo al revés está un poco raro.
Estoy de acuerdo, claro, sí, desde el principio.
Pero pensad que por qué se tomó esta decisión al principio.
Esta decisión la tomó el creador de Dino, que era también el creador de Node,
y el otro chico, que ahora no me acuerdo cómo se llama,
la tomaron justamente porque no querían crear esta fricción, ¿no?
O sea que, bueno, bueno.
Ojo, porque esto es una de esas cosas que puede crear tanta fricción en un proyecto.
Ya sé que parece tontería, ¿eh?
No, Ryan Dale es el creador de Dino.
De ese sí que me acordaba el nombre.
Es del otro.
Es de estas cosas que pueden crear tanta, tanta fricción que ya veremos.
Pues ya veremos cómo va la cosa, ¿eh?
Ya veremos cómo va la cosa.
Mira, Isaac Schlüeter es el inventor de NPM, ¿vale?
Este es el que decía.
Y aquí tenéis, por si os interesa el salseo máximo, ¿vale?
Si os interesa el salseo máximo, aquí tenéis el salseo, vamos.
Es que os podéis comprar unas palomitas.
Porque aquí tenéis justamente en el proyecto de Node el Enable Core Pack by Default.
Y aquí lo que dice básicamente es lo de quitar NPM.
Y aquí podéis ver que hay un montón de gente, ¿ves?
Hay un montón de gente en contra.
Este es de NPM.
Y él lo que dice es que el equipo de NPM no está a favor.
Y fijaos que tiene 13 dislikes.
Y aquí hay unas discusiones, tela marinera de actores de todo tipo.
Este, por ejemplo, es un board del equipo de Node.js.
Y él está a favor de dejar NPM.
Pero luego hay gente que está en contra que también es board.
Bueno, bueno, bueno.
Esto puede ser una cosa salvaje.
Os iré comentando.
Porque de verdad yo creo que esto puede tener un impacto brutal en Node.js.