This graph shows how many times the word ______ has been mentioned throughout the history of the program.
Hay dos novedades que tienen muy buena pinta.
NoGS se ha actualizado con dos novedades muy interesantes que os va a gustar un montón.
Creo, sinceramente, que se están poniendo las pilas, como ya hacía falta que necesitábamos.
Y lo primero es que NoGS va a matar definitivamente a PHP.
Efectivamente.
Pero no solo a PHP.
No, a PHP no.
A Dotem.
¿Por qué es esto?
Porque acaban de sacar, ya hace tiempo que sacaron la posibilidad de leer un archivo .env.
Lo hicieron con un parámetro.
Por ejemplo, tú podrías tener aquí apiKey, abc123fgh.
Entonces, con Dotem, una dependencia muy famosa de NoGS, lo que podéis hacer es Dotem, podéis hacer esto.
Require.env.config y tal.
Bueno, pues ya no va a ser necesario.
¿Por qué?
Lo ideal sería ver aquí nuestro API Key, pues ver esto y que funcionase.
Ahora mismo, si guardo los cambios y ejecutamos nodeindex.js, vemos que nos da undefined, ¿vale?
Porque esto no ha funcionado como esperábamos, porque no lo lee automáticamente.
Una cosa que se podía hacer, que a ver si me acuerdo cómo era esto, creo que era así, creo que era así, a ver, .ef, creo que es así.
No.
¿Cómo leer?
Ah, pues sí, sí que era así, ¿no?
Ah, pues lo he hecho bien, ¿no?
Lo que pasa es que igual lo de Node.js es un poco raro, porque esto hay que ponerlo creo que aquí, a ver ahora.
Ahora sí.
Esta era una forma que ya había salido, la de poner node, luego los parámetros, y le dices el archivo de env es .env.
Esto no estaba mal, pero había mucha gente que se quejaba, porque decía, bueno, pero es que ahora le tengo que pasar un parámetro a Node.js, y no sé qué, no sé cuánto, no sé qué.
Callao, que ahora vas a ver.
La nueva versión de Node, justamente la que tengo instalada, la 21.7.0, acaba de sacar una novedad muy interesante, y es la posibilidad de leer los archivos .env, sino cualquiera, y lo hacemos con process.loadEnvFile.
Si no le pasamos, si no le pasas nada, va a leer el .env por defecto.
Así que ahora, ya solo ejecutando eso, puedes hacer console.log, y hacer aquí, process.envApyKey.
Y ahora ejecutando esto, fíjate, Node.js sin pasarle el parámetro, aquí tenemos la variable de entorno.
Ejecutando process.loadEnvFile, le podemos decir que, por defecto, nos cargue el .env.
Pero también podéis tener, por ejemplo, env.loqueSea, ¿vale?
Y aquí, si le ponemos el loqueSea, y aquí digo loqueSea, le podríamos pasar aquí el path, que no sé si necesitará el punto.
Vamos a probar.
Y ejecutando, ¿veis? Ahora ha cargado el loqueSea.
Porque le hemos dicho, tienes que cargar las variables de entorno del archivo .env.loqueSea.
También podéis cargar tantos archivos como necesitéis.
O sea, podríais cargar los dos diferentes, por ejemplo, aquí dbhost y poner localhost un 2.3, ¿vale?
Y ponemos, si ponemos que cargue ese y que cargue este, esto no lo he probado, pero creo, creo, quiero pensar que no va a haber ningún problema en cargar dos diferentes, ¿vale?
.env, dbhost, vale, lo que sea.
¿Veis? Se pueden cargar tantos archivos de variables de entorno como queráis.
En este caso ahora estamos cargando el de loqueSea y el de el .envFile, ¿vale?
O sea, que ya tenemos los dos.
Pero fijaos que no se está, el API key no se sobreescribe.
En cuanto lo encuentra por primera vez, ya lo deja ahí.
Pero bueno, que esto sería el .env totalmente integrado en las variables de entorno, o sea, en tu código de Node.js.
No lo hace inseguro.
A ver, si ya tienes el .env, básicamente te puede pasar lo mismo.
Y al final, una vez que tienes acceso al código, ya lo tendrías, ¿eh?
¿Hace distinción entre entorno def y prod?
No, pero tú sí que lo puedes hacer.
Por ejemplo, tú lo que puedes hacer aquí es decir, si el process.env no es producción,
entonces lo que hago es process.envFile.
Y aquí podrías decir que el que vas a cargar es el .env.dev, por ejemplo, ¿no?
Y si no, lo que haces es cargar el por defecto.
Y así quitas esto y ya lo tendrías.
En lo que sea, vamos a poner que este sea .dev, .dev, .dev y ya tendrías dos, ¿vale?
Si no es producción, pues carga este y si es producción, pues carga este.
También yo creo que lo mejor sería, pues, el .envFile, decir, si esto, ¿vale?
Lo podrías hacer un poquito mejor para quitarte justamente esto y ya aquí, process,
te lo haces así y lo tienes y cargas sin necesidad de un if y lo tienes aquí directamente.
Y aquí, en realidad, podrías poner undefine si quieras porque por defecto iría al otro.
Y ya lo tendrías así, ¿vale? Menos código.
Pero bueno, lo he hecho antes para que también lo puedas entender más fácilmente.
Y con esto ya tendrías la carga esta.
Luego, ojo, cuidado, porque, bueno, en este caso ahora lo que sea, a ver,
ah, claro, pues está aquí. Voy a poner estos aquí, ¿vale?
Para que tengamos los dos también y lo carguemos.
Hay otra novedad de Node.js muy chula, ¿vale?
Esto es la primera novedad de Node.js que sería para matar .env, las variables de entorno, ¿ok?
Pero hay otra, hay otra que también tiene muy buena pinta.
Es que también vamos a matar todas las dependencias de colorcillos porque no sé si conoces,
si has trabajado con Node, seguro que conoces esta dependencia que se llama chalk o como sea.
Que básicamente lo que te permite es añadir colores a tus console.log de la terminal.
Esta dependencia, aunque tú a lo mejor no la has usado, la usan un montón de dependencias como Slint.
Fijaos, utilizado por 86.000 paquetes en octubre del 2022.
Bueno, es que es tremendo, es que cuántas, 300 millones de descargas a la semana.
Una barbaridad. Bueno, es como .env.
.env también tiene que estar, ser utilizada por, mira, 40 millones.
Bueno, pues chalk todavía más. O sea, tremendo.
Pues esto lo vamos a añadir también a Node.js.
La nueva versión que ha salido ya, la 21, que no es la LTS, no sería la más estable, pero que ya lo tiene.
Lo que te permite ahora es también añadirle colores a la terminal.
Por ejemplo, podrías añadir style text.
Y esto lo sacamos de require node, node, útil, ¿vale?
Y ahora, con este style text, lo que puedes hacer es decirle, yo que sé, console.log este que habíamos hecho aquí.
Pues vamos a poner aquí un console.log.
Style text, vamos a decirle de color rojo.
Y vamos a decir aquí, api keys.
Y ahora, si ejecutamos esto, ¿ves?
Aquí lo tenemos de color rojo.
También lo podríamos hacer que sea en negrita.
Hacemos un bold, ¿vale?
Y ahí lo tenéis en negrita.
Podríais hacer las dos cosas.
Para eso lo que tenéis que hacer es envolver uno con el otro.
O sea, style text, aquí le decíamos que sería rojo.
Y esto lo pasamos aquí, ¿vale?
Y style text con una coma.
Vamos a poner en rojo el style text de hacerlo en negrita.
Y ahora, ¿veis?
Ya lo tenemos en negrita.
Tenéis un montón de colores.
Tenéis también la posibilidad de hacerlo que tenga fondo.
Es muy parecido al que ya existe justamente con la dependencia actual.
Pero totalmente nativo.
Sin necesidad de instalar absolutamente nada.
¿Ves?
Todas estas.
Italic, el dim, el underline.
Todo esto.
Todo esto ya os digo que también lo tenéis.
Underline.
Pues también.
Lo que va a permitir.
¿Veis?
Underline.
Esto es un montón de herramientas.
A lo mejor para vuestro día a día.
A lo mejor no lo utilizáis.
Pero sí que es una cosa que en todas las herramientas de Node.
Pues va a ser dos dependencias que no vamos a necesitar mucho.
Nunca más.
¿Por qué?
Porque ya lo vamos a tener totalmente integrado en Node.js.
Esto.
Porque la pregunta del millón es.
¿Pero esto es estable?
Sí y no.
Es estable.
En el sentido de que está en la versión 21.7.1.
Que es la actual.
Digamos estable.
Pero no es LTS.
¿Qué quiere decir esto?
La LTS quiere decir Long Term Support.
Y es la versión que siempre deberías tener en producción en tu máquina.
O para tu web y tal.
Porque la 21.7.1 es la que suele tener las cosas un poco más experimentales.
Entonces no están tan tan tan comprobadas.
Sí que son estables.
Sí que se pueden utilizar.
Pero no es la que te recomiendan tener en producción.
Sí que para que te vayas probando.
Pero para que lo tengas totalmente en producción.
Te recomiendan la A20.
Ahora bien.
¿Qué pasa?
Que la 2021.
Dentro de un mes.
Sale la versión 22.
Que va a incluir todo lo que te acabo de enseñar.
Y sale en abril.
Sale justamente.
¿Ves aquí?
Esto es abril.
Pues aquí lo tenéis.
A mediados de abril.
Más o menos.
Mediados de abril.
Sale la versión Note 22.
Sale nada.
En menos de un mes.
La tenemos ahí.
Y va a venir con todo lo que os he dicho.
Y esa es la versión que se recomienda que esté en producción.
Así que muy pronto, sin ningún tipo de problema, lo vais a tener ahí ya perfecto para que lo utilicéis
Justamente en los nuevos tutoriales que vamos a hacer el día de mañana
Ya no vamos a editar ni .env, ni nada de dependencias para hacer colorillos
Porque va a estar en Node.js
Y esto, yo lo que creo que demuestra que está muy bien
Es el hecho de que Node.js está evolucionando últimamente un montón
Añadiendo un montón de cosas que se han pedido durante un montón de tiempo
Y solo por la competencia
Porque tanto Van como Dino como todas estas han aparecido
Y están dando un poquito de miedo
Mira, como decía uno, Aníbal dice tarde
Yo no sé si es tarde, yo creo que no
Porque Node.js sigue siendo el rey
En esto, yo creo, te puede gustar más o menos, pero sigue siendo el rey
Y ya veremos si esto lo que hace es evitar justamente el que haya un sorpaso
Yo creo que sí, pero bueno, lo veremos