<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: David Ruiz</title>
    <description>The latest articles on DEV Community by David Ruiz (@davichobits).</description>
    <link>https://dev.to/davichobits</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1118549%2Fe8bfe894-6606-4111-88ff-b9729001d6e6.png</url>
      <title>DEV Community: David Ruiz</title>
      <link>https://dev.to/davichobits</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/davichobits"/>
    <language>en</language>
    <item>
      <title>Cómo crear un servidor web en tu proyecto vanilla javascript</title>
      <dc:creator>David Ruiz</dc:creator>
      <pubDate>Tue, 28 Nov 2023 18:17:14 +0000</pubDate>
      <link>https://dev.to/davichobits/como-crear-un-servidor-web-en-tu-proyecto-vanilla-javascript-591m</link>
      <guid>https://dev.to/davichobits/como-crear-un-servidor-web-en-tu-proyecto-vanilla-javascript-591m</guid>
      <description>&lt;p&gt;Para crear un servidor web en tu proyecto vanilla Javascript, te recomiendo seguir los siguientes pasos:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Inicializa el proyecto.
&lt;/h2&gt;

&lt;p&gt;Abre un terminal en la carpeta donde estás trabajando en tu proyecto y escribe el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm init &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando va a inicializar un nuevo proyecto y crear un archivo &lt;code&gt;package.json&lt;/code&gt; con valores predeterminados:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"prueba"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1.0.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"main"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"index.js"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"test"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"echo &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;Error: no test specified&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt; &amp;amp;&amp;amp; exit 1"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"keywords"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"author"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"license"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ISC"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si deseas personalizar estos valores deberás escribir el comando sin el &lt;code&gt;-y&lt;/code&gt; al final, es decir quedaría así: &lt;code&gt;npm init&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; para poder ejecutar el comando npm, debes tener instalado node primero en tu computador. Si no lo tienes, o no estas seguro de cómo saber si lo tienes instalado, &lt;a href="https://dev.to/davichobits/como-instalar-node-en-tu-computador-2e2c"&gt;acá&lt;/a&gt; te explico instalarlo.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Istala el paquete &lt;code&gt;serve&lt;/code&gt; de &lt;code&gt;npm&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Para hacer esto, en el terminal escribe el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--global&lt;/span&gt; serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para ver más detalles sobre el paquete serve en npm haz clic &lt;a href="https://www.npmjs.com/package/serve?activeTab=readme" rel="noopener noreferrer"&gt;aquí&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Configura un script para ejecutar el comando
&lt;/h2&gt;

&lt;p&gt;Ve a tu archivo &lt;code&gt;package.json&lt;/code&gt; y agrega la siguiente línea &lt;code&gt;"start": "serve src/ -s"&lt;/code&gt; en el objeto scripts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"prueba"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1.0.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"main"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"src/index.html"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;La&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;página&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;que&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;se&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;va&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;mostrar&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"test"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"echo &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;Error: no test specified&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt; &amp;amp;&amp;amp; exit 1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"start"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"serve src/ -s"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;La&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;línea&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;que&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;tienes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;que&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;agregar&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"keywords"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"author"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"license"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ISC"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;También podrás ver que modificamos la línea donde se especifica desde dónde se va a lanzar la página.  En el ejemplo el archivo principal está alojado en dentro de la carpeta SRC y tiene el nombre index.html (este archivo debe existir en tu proyecto)&lt;/p&gt;

&lt;p&gt;Listo, con esto puedes ir a tu consola y ejecutar el servidor con el siguiente comando&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Con esto se inicializará el servidor generalmente en el puerto 3000 si no se encuentra ocupado. Podrás ver el servidor funcionando si te sale algo parecido a la siguiente captura, en tu terminal:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4393ewqzko5yinhw3el4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4393ewqzko5yinhw3el4.png" alt="consola"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para acceder a la página, solamente tienes que ir a la dirección que te indica &lt;code&gt;http://localhost:3000&lt;/code&gt; si quieres verla de forma local o &lt;code&gt;http://172.18.48.1:3000&lt;/code&gt; si quieres vela dentro de tu red.&lt;/p&gt;

&lt;p&gt;Y si te gustó este contenido y quieres saber más sobre desarrollo web, te recomiendo visitar mi canal de YouTube &lt;a href="https://www.youtube.com/CodingTube" rel="noopener noreferrer"&gt;CodingTube &lt;/a&gt;💻&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Cómo instalar Node en tu computador</title>
      <dc:creator>David Ruiz</dc:creator>
      <pubDate>Tue, 28 Nov 2023 16:34:28 +0000</pubDate>
      <link>https://dev.to/davichobits/como-instalar-node-en-tu-computador-2e2c</link>
      <guid>https://dev.to/davichobits/como-instalar-node-en-tu-computador-2e2c</guid>
      <description>&lt;p&gt;Antes de proceder a instalar node en tu computador, una buena idea es verificar si ya lo tienes instalado. &lt;/p&gt;

&lt;p&gt;Para verificar esto, abre una terminal en tu computador y escribe el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto te va arrojar la versión actual de node que tengas instalado. Una posible respuesta sería algo así: &lt;code&gt;v20.10.0.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Si no lo tienes instalado, puedes descargar el instalador desde &lt;a href="https://nodejs.org/en"&gt;acá&lt;/a&gt;. Vas a encontrar una página parecida a esta captura:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SX-5WaXs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oh0rm6lvko2c0tjsaa19.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SX-5WaXs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oh0rm6lvko2c0tjsaa19.png" alt="pagina de node" width="800" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Como puedes ver hay dos versiones. La &lt;code&gt;LTS&lt;/code&gt; y la &lt;code&gt;Current&lt;/code&gt;. Te recomiendo descargar la versión &lt;code&gt;LTS (Long Term Support)&lt;/code&gt; que es la versión estable, mientras que la &lt;code&gt;Current&lt;/code&gt; puede fallar en ciertas circunstancias.&lt;/p&gt;

&lt;p&gt;Ya en la página, simplemente elige tu sistema operativo para iniciar la descarga. Ejecuta el instalador descargado y dale todo a &lt;code&gt;siguiente&lt;/code&gt; hasta el final. Y con eso ya estará instalado.&lt;/p&gt;

&lt;p&gt;Si vuelves a ejecutar el comando &lt;code&gt;node -v&lt;/code&gt; ya deberías ver la versión. &lt;/p&gt;

&lt;p&gt;Nota: Algunas veces es necesario reiniciar el computador para ver completar la instalación, así que si después de ejecutar el comando aún no ves la versión, reinicia tu equipo.&lt;/p&gt;

&lt;p&gt;Y si te gustó este contenido y quieres saber más sobre desarrollo web, te recomiendo visitar mi canal de YouTube &lt;a href="https://www.youtube.com/CodingTube"&gt;CodingTube &lt;/a&gt;💻&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>node</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Cómo instalar JEST en un proyecto con ECMAScript Modules (import/export)</title>
      <dc:creator>David Ruiz</dc:creator>
      <pubDate>Wed, 15 Nov 2023 17:09:37 +0000</pubDate>
      <link>https://dev.to/davichobits/como-instalar-jest-en-un-proyecto-con-ecmascript-modules-importexport-27e0</link>
      <guid>https://dev.to/davichobits/como-instalar-jest-en-un-proyecto-con-ecmascript-modules-importexport-27e0</guid>
      <description>&lt;p&gt;Para instalar &lt;a href="https://dev.to/davichobits/introduccion-a-jest-y-su-importancia-en-el-desarrollo-de-software-4h7l"&gt;Jest&lt;/a&gt; en tu proyecto, basado en ESM (ECMA Script Modules), es decir usando import/export como método para importar y exportar módulos, debemos hacer lo siguiente:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Instalación de Jest y dependencias
&lt;/h2&gt;

&lt;p&gt;Ejecuta el siguiente comando en tu terminal para instalar Jest y sus dependencias de desarrollo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save-dev&lt;/span&gt; jest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando instala las dependencias necesarias en la carpeta &lt;code&gt;node_modules&lt;/code&gt;, y crea los archivos &lt;code&gt;package-lock.json&lt;/code&gt; y &lt;code&gt;package.json&lt;/code&gt;. El archivo principal con el que trabajaremos es &lt;code&gt;package.json&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Configuración de scripts en el &lt;code&gt;package.json&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Dentro del archivo &lt;code&gt;package.json&lt;/code&gt; verás que se ha instalado ya la dependencia de Jest:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"devDependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"jest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^29.7.0"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dentro de este archivo agregaremos un objeto extra, el mismo que nos permitirá ejecutar el comando &lt;code&gt;test&lt;/code&gt; en el terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"test"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"jest --coverage"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este script habilita la ejecución del comando npm test, que a su vez ejecuta Jest con la opción &lt;code&gt;--coverage&lt;/code&gt; para generar informes de cobertura.&lt;/p&gt;

&lt;p&gt;El archivo completo debería quedar de la siguiente forma:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"devDependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"jest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^29.7.0"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"test"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"jest --coverage"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Configuración de Babel
&lt;/h2&gt;

&lt;p&gt;Instala la dependencia &lt;code&gt;babel-jest&lt;/code&gt; con el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save-dev&lt;/span&gt; babel-jest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;babel-jest&lt;/code&gt; es un adaptador que permite a Jest trabajar con Babel para la transformación de código. Jest utiliza transformadores para entender y ejecutar código que puede no ser nativo de Node.js, como el código escrito en ECMAScript 6 (ES6) o superior.&lt;/p&gt;

&lt;p&gt;Luego, agrega la siguiente configuración al objeto "jest" dentro de el archivo &lt;code&gt;package.json&lt;/code&gt; para indicar a Jest que utilice Babel para transformar los archivos con extensiones .js y .jsx:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"jest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"transform"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"^.+\\.[t|j]sx?$"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"babel-jest"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El archivo &lt;code&gt;package.json&lt;/code&gt; de tener la siguiente estructura:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"devDependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"babel-jest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^29.7.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"jest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^29.7.0"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"test"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"jest --coverage"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"jest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"transform"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"^.+\\.[t|j]sx?$"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"babel-jest"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Instalación de Presets de Babel
&lt;/h2&gt;

&lt;p&gt;Ejecuta el siguiente comando para instalar el preset de Babel para entornos de desarrollo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; @babel/preset-env &lt;span class="nt"&gt;--save-dev&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finalmente agrega un nuevo archivo llamado &lt;code&gt;babel.config.json&lt;/code&gt; en la raíz del proyecto con el siguiente contenido:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"presets"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"@babel/preset-env"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Listo, esta es la configuración necesaria para trabajar con &lt;a href="https://dev.to/davichobits/introduccion-a-jest-y-su-importancia-en-el-desarrollo-de-software-4h7l"&gt;Jest&lt;/a&gt; en tu proyecto basado en ESM. El siguiente paso sería crear tus &lt;a href="https://dev.to/davichobits/que-es-y-para-que-sirve-el-testing-en-javascript-nc6"&gt;tests&lt;/a&gt;. Si aún no sabes como crear uno, te recomiendo este post donde te enseño a crear tu primer test con Jest.&lt;/p&gt;

&lt;p&gt;Y si te gustó este contenido y quieres saber más sobre desarrollo web, te recomiendo visitar mi canal de YouTube &lt;a href="https://www.youtube.com/CodingTube"&gt;CodingTube&lt;/a&gt; 💻&lt;/p&gt;

</description>
      <category>testing</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Introducción a Jest y su importancia en el desarrollo de software</title>
      <dc:creator>David Ruiz</dc:creator>
      <pubDate>Thu, 05 Oct 2023 00:23:05 +0000</pubDate>
      <link>https://dev.to/davichobits/introduccion-a-jest-y-su-importancia-en-el-desarrollo-de-software-4h7l</link>
      <guid>https://dev.to/davichobits/introduccion-a-jest-y-su-importancia-en-el-desarrollo-de-software-4h7l</guid>
      <description>&lt;p&gt;Jest es una de las bibliotecas de &lt;a href="https://dev.to/davichobits/que-es-y-para-que-sirve-el-testing-en-javascript-nc6"&gt;testing&lt;/a&gt; más populares y ampliamente utilizadas en el mundo del desarrollo de software, especialmente en el ecosistema de JavaScript. Fue desarrollada por Facebook y es mantenida por un equipo de ingenieros de Facebook y la comunidad de código abierto. Jest se destaca por su simplicidad, velocidad y capacidad para realizar pruebas tanto en aplicaciones de front-end como en back-end.&lt;/p&gt;

&lt;p&gt;A continuación, exploraremos la importancia de Jest en el desarrollo de software y sus características clave:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Automatización de Pruebas:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jest permite automatizar el proceso de prueba de código. Esto significa que puedes escribir pruebas una vez y ejecutarlas repetidamente, lo que ahorra tiempo y reduce la posibilidad de errores humanos al probar manualmente cada cambio en el código.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Facilidad de Uso:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jest es conocido por su sintaxis simple y amigable para los desarrolladores. Incluso aquellos que son nuevos en las pruebas pueden aprender a usar Jest de manera efectiva rápidamente. Esto fomenta la adopción de prácticas de prueba en equipos de desarrollo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Rápido y Eficiente:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jest está diseñado para ser rápido. Utiliza técnicas como la ejecución en paralelo para acelerar las pruebas, lo que es crucial en proyectos grandes donde las pruebas pueden tomar mucho tiempo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Integración con Frameworks y Bibliotecas:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jest se integra fácilmente con frameworks y bibliotecas populares como React, Angular, Vue y Node.js. Esto lo hace ideal para proyectos que utilizan estas tecnologías.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Pruebas Unitarias y de Integración:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jest es versátil y admite pruebas unitarias y de integración. Puedes usarlo para probar pequeñas unidades de código (como funciones) o para realizar pruebas de extremo a extremo (end to end) en todo un sistema.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Reportes Claros:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jest proporciona informes de prueba claros y legibles que muestran el estado de las pruebas y los errores en caso de que ocurran. Esto facilita la identificación y corrección de problemas en el código.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Cobertura de Código:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jest puede generar informes de cobertura de código, lo que significa que puedes medir cuánto de tu código está siendo probado. Esto es útil para identificar áreas del código que necesitan pruebas adicionales.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Comunidad Activa:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jest tiene una comunidad activa de desarrolladores y una amplia base de usuarios. Esto significa que puedes encontrar recursos en línea, bibliotecas adicionales y soporte de la comunidad para resolver problemas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Mantenimiento Continuo:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dado que Jest es mantenido por Facebook y una comunidad dedicada, puedes esperar actualizaciones regulares y mejoras en la biblioteca para mantenerla actualizada con las últimas prácticas y estándares de desarrollo.&lt;/p&gt;

&lt;p&gt;En resumen, Jest es una herramienta fundamental en el desarrollo de software moderno, ya que facilita la creación de software de alta calidad al garantizar que el código funcione como se espera. Al automatizar las pruebas y proporcionar una forma eficiente de realizar pruebas unitarias y de integración, Jest ayuda a los desarrolladores a mantener la calidad del software, reducir errores y acelerar el proceso de desarrollo. Su simplicidad y velocidad lo convierten en una elección popular entre los desarrolladores de JavaScript y una herramienta esencial en el kit de herramientas de cualquier equipo de desarrollo serio.&lt;/p&gt;

&lt;p&gt;Si te gustó este contenido y quieres saber más sobre desarrollo web, te recomiendo visitar mi canal de YouTube &lt;a href="https://www.youtube.com/@CodingTube"&gt;CodingTube&lt;/a&gt; 💻&lt;/p&gt;

</description>
      <category>testing</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>🧪¿Qué es y para qué sirve el TESTING en Javascript?</title>
      <dc:creator>David Ruiz</dc:creator>
      <pubDate>Wed, 27 Sep 2023 23:02:25 +0000</pubDate>
      <link>https://dev.to/davichobits/que-es-y-para-que-sirve-el-testing-en-javascript-nc6</link>
      <guid>https://dev.to/davichobits/que-es-y-para-que-sirve-el-testing-en-javascript-nc6</guid>
      <description>&lt;p&gt;El "testing" en JavaScript se refiere a una práctica fundamental en el desarrollo web que implica probar y verificar que el código JavaScript que se ha escrito para una página web funcione correctamente. Para entenderlo mejor, pensemos en un ejemplo sencillo.&lt;/p&gt;

&lt;p&gt;Imagina que estás construyendo una casa. Antes de permitir que las personas vivan en ella, quieres asegurarte de que todo esté seguro y funcione correctamente. Entonces, haces una serie de pruebas, como verificar que las puertas se abran y cierren correctamente, que las luces se enciendan y apaguen, y que no haya fugas de agua. El "testing" en JavaScript es similar a estas pruebas, pero se aplica al código de una página web en lugar de una casa.&lt;/p&gt;

&lt;p&gt;Aquí hay algunas razones importantes por las que es crucial aplicar el "testing" en JavaScript:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Detectar Errores Temprano&lt;/strong&gt;: Al escribir código JavaScript para una página web, es muy fácil cometer errores, como escribir mal una variable o una función. El "testing" permite detectar estos errores temprano, antes de que la página web se publique en Internet, lo que ayuda a evitar problemas que podrían ser costosos y complicados de solucionar más adelante.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Asegurar el Funcionamiento Correcto&lt;/strong&gt;: Las páginas web modernas suelen ser complejas, con muchas interacciones y funcionalidades. El "testing" garantiza que todas estas partes funcionen correctamente y que los usuarios puedan usar la página web sin problemas, desde hacer clic en botones hasta enviar formularios.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mantener la Calidad&lt;/strong&gt;: El "testing" es fundamental para mantener la calidad de una página web a medida que se hacen cambios y actualizaciones. Cuando se introduce nuevo código o se modifica el existente, las pruebas permiten asegurarse de que no se rompa nada de lo que ya funcionaba.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mejorar la Seguridad&lt;/strong&gt;: El "testing" también ayuda a identificar vulnerabilidades de seguridad en el código JavaScript. Esto es esencial para proteger la información de los usuarios y evitar ataques cibernéticos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aumentar la Confianza&lt;/strong&gt;: Cuando sabes que tu código ha sido probado y funciona correctamente, tienes más confianza en la calidad de tu página web. Esto puede ser importante tanto para los desarrolladores como para los usuarios.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En resumen, el "testing" en JavaScript es una práctica esencial que implica verificar y validar que el código de una página web funcione correctamente. Ayuda a detectar errores temprano, asegura el buen funcionamiento de la página, mantiene la calidad, mejora la seguridad y aumenta la confianza en el desarrollo web. Es una parte fundamental del proceso de construir y mantener sitios web de alta calidad.&lt;/p&gt;

&lt;p&gt;Si quieres saber cómo empezar con el testing en Javascript, te recomiendo leer este artículo sobre &lt;a href="https://dev.to/davichobits/introduccion-a-jest-y-su-importancia-en-el-desarrollo-de-software-4h7l"&gt;Jest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y si te gustó este contenido y quieres saber más sobre desarrollo web, te recomiendo visitar mi canal de YouTube &lt;a href="https://www.youtube.com/@CodingTube"&gt;CodingTube&lt;/a&gt; 💻&lt;/p&gt;

</description>
      <category>testing</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
