<?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: Diego Letelier</title>
    <description>The latest articles on DEV Community by Diego Letelier (@diegoleteliers10).</description>
    <link>https://dev.to/diegoleteliers10</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%2F2017551%2F8e873958-7f18-4ec0-9d41-16ae3ef0c963.jpeg</url>
      <title>DEV Community: Diego Letelier</title>
      <link>https://dev.to/diegoleteliers10</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/diegoleteliers10"/>
    <language>en</language>
    <item>
      <title>Using WAVE as new terminal.</title>
      <dc:creator>Diego Letelier</dc:creator>
      <pubDate>Sun, 03 Nov 2024 20:20:36 +0000</pubDate>
      <link>https://dev.to/diegoleteliers10/using-wave-as-new-terminal-3eee</link>
      <guid>https://dev.to/diegoleteliers10/using-wave-as-new-terminal-3eee</guid>
      <description>&lt;p&gt;Hi everyone, Diego here. For a while, I’ve been looking to switch to a different terminal on Windows because the standard shells offer limited accessibility and customization. I was really drawn to terminals like Warp, but unfortunately, I couldn’t use it since it’s only available for Linux and macOS.&lt;/p&gt;

&lt;p&gt;Recently, though, I discovered a new terminal called Wave. After using it, here’s what I’ve learned about it so far.&lt;/p&gt;

&lt;h3&gt;
  
  
  First Look
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F0dwn1ztkp4d4o6zapqis.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F0dwn1ztkp4d4o6zapqis.png" alt="Image description" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the top of the window, you can see tabs, allowing you to open as many as you need. On the right side, there are several tools that you can attach to each tab window, such as an AI assistant, a web page viewer, file access, or system info display.&lt;/p&gt;

&lt;p&gt;Another feature is the ability to have four terminals open at once, or even more, thanks to the option to create additional tabs. It's a high-productivity tool because it allows you to share the same workspace with different types of elements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cool Stuff to do
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fnxxn3dxki29172iucaha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fnxxn3dxki29172iucaha.png" alt="Image description" width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One main command I learned — and there are many more available in the documentation or demos — is &lt;code&gt;wsh&lt;/code&gt;. This command lets you view files within the shell and, for code files, even opens a built-in code editor right inside the terminal. So, as you can see in the image, I used &lt;code&gt;wsh page.tsx&lt;/code&gt; from my Next.js project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Just Starting
&lt;/h3&gt;

&lt;p&gt;So, for now, this has been my journey using this new terminal, &lt;strong&gt;which I believe is high-quality. It really boosts productivity and offers many handy features that can be useful for a developer.&lt;/strong&gt; I hope you can give it a look; I’ve included the link below for you to check it out and try it out.&lt;/p&gt;

&lt;p&gt;Cheers, my friends, and happy coding!&lt;/p&gt;

&lt;p&gt;Link to the terminal:&lt;br&gt;
&lt;a href="https://www.waveterm.dev/#beta-access" rel="noopener noreferrer"&gt;Wave Terminal&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terminal</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
    <item>
      <title>Making your First Project with Deno 2.0</title>
      <dc:creator>Diego Letelier</dc:creator>
      <pubDate>Tue, 15 Oct 2024 19:49:11 +0000</pubDate>
      <link>https://dev.to/diegoleteliers10/making-your-first-project-with-deno-20-220d</link>
      <guid>https://dev.to/diegoleteliers10/making-your-first-project-with-deno-20-220d</guid>
      <description>&lt;p&gt;To introduce this topic, let's start by defining what deno is. Deno is a runtime environment for JavaScript, TypeScript and WebAssembly, developed by Ryan Dahl, the creator of Node.js. It uses Chrome's V8 engine and is written in Rust12.'&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Security by default: Deno has no access to files, networks or environments unless explicitly granted. This reduces the risk of security vulnerabilities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Native TypeScript support: Deno runs TypeScript natively without additional configuration, which simplifies development and improves productivity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Standard modules: Deno includes a set of reviewed and audited standard modules, which reduces dependency on external packages and improves code security and stability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Integrated tools: Comes with useful tools such as a dependency inspector, a code formatter and a linter, which facilitates code maintenance and quality.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dependency handling: Deno uses URLs to import modules, eliminating the need for a package.json file and a package manager like npm. This simplifies dependency management.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebAssembly support: Deno supports WebAssembly, allowing you to run high-performance code written in other languages.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Creating your first project
&lt;/h2&gt;

&lt;p&gt;To start with a deno project, use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; deno init &amp;lt;project_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will create a project that will have the following&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- project_name/
  |- main.ts
  |- deno.json
  |- main_test.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And that's it, you have created your first deno project.&lt;/p&gt;

&lt;h2&gt;
  
  
  About modules and imports
&lt;/h2&gt;

&lt;p&gt;When you used to create a project in astro, next.js and others, you installed the dependencies via npm, pnpm, bun, etc. Now this is no longer necessary.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ways to import
&lt;/h3&gt;

&lt;p&gt;With deno, there are two main ways to import packages. The first is to simply import from that package whether it's npm or another package you use.&lt;/p&gt;

&lt;p&gt;In some Next.js, Vite or Astro file of yours for example, one would install the required package and then import it into the file. Now, with deno, instead of installing the package, you simply import it by naming your package manager before the package you require. For example if we wanted to use express, it would be done like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  import express from “npm:express”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This indicates that you want to import express, from the npm express package, so, repeating what has already been said, you don't need to install it, just import it!!!!&lt;/p&gt;

&lt;p&gt;Or secondly, instead of having to import it with the nomenclature of “npm:”, what we do is edit the created deno.json file, where to this you add the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  “imports": {
  “express": ”npm:express”
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the code added to deno.json you can now import from wherever you want with just the word express like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  import express from “express”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Run your first deno project
&lt;/h2&gt;

&lt;p&gt;Finally, to run the project you no longer need to use npm run, now you use the tasks as shown as follows in the deno.json:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; “tasks": {
    “dev": ‘deno run --watch main.ts’, //it comes by default
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tells us that to run the project, we would simply have to do:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;deno task dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You will be running your deno project with typescript natively.&lt;/p&gt;

&lt;p&gt;I hope this mini tutorial has helped you and that you enjoy this new way of making projects with a very promising native typescript runtime.&lt;/p&gt;

</description>
      <category>deno</category>
      <category>typescript</category>
      <category>javascript</category>
      <category>node</category>
    </item>
    <item>
      <title>Haciendo tu Primer Proyecto con Deno 20</title>
      <dc:creator>Diego Letelier</dc:creator>
      <pubDate>Mon, 14 Oct 2024 22:27:06 +0000</pubDate>
      <link>https://dev.to/diegoleteliers10/haciendo-tu-primer-proyecto-con-deno-20-1m2</link>
      <guid>https://dev.to/diegoleteliers10/haciendo-tu-primer-proyecto-con-deno-20-1m2</guid>
      <description>&lt;p&gt;Para introducir este tema, hay que comenzar definiendo que es deno. Deno, es un entorno de ejecución (runtime) para JavaScript, TypeScript y WebAssembly, desarrollado por Ryan Dahl, el creador de Node.js. Utiliza el motor V8 de Chrome y está escrito en Rust12.´&lt;/p&gt;

&lt;h2&gt;
  
  
  Ventajas
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Seguridad por defecto: Deno no tiene acceso a archivos, redes o entornos a menos que se le otorgue explícitamente. Esto reduce el riesgo de vulnerabilidades de seguridad.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Soporte nativo para TypeScript: Deno ejecuta TypeScript de manera nativa sin necesidad de configuración adicional, lo que simplifica el desarrollo y mejora la productividad.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Módulos estándar: Deno incluye un conjunto de módulos estándar revisados y auditados, lo que reduce la dependencia de paquetes externos y mejora la seguridad y estabilidad del código.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Herramientas integradas: Viene con herramientas útiles como un inspector de dependencias, un formateador de código y un linter, lo que facilita el mantenimiento y la calidad del código.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manejo de dependencias: Deno utiliza URLs para importar módulos, eliminando la necesidad de un archivo package.json y un gestor de paquetes como npm. Esto simplifica la gestión de dependencias.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compatibilidad con WebAssembly: Deno soporta WebAssembly, lo que permite ejecutar código de alto rendimiento escrito en otros lenguajes.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Creando tu primer proyecto
&lt;/h2&gt;

&lt;p&gt;Para partir con un proyecto de deno, hay que usar el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; deno init &amp;lt;project_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto creara un proyecto que tendrá lo siguiente&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- project_name/
  |- main.ts
  |- deno.json
  |- main_test.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y listo, ya tienes creado tu primer proyecto de deno.&lt;/p&gt;

&lt;h2&gt;
  
  
  Acerca de los modulos e importaciones
&lt;/h2&gt;

&lt;p&gt;Cuando se creaba un proyecto en astro, next.js y otros, se instalaban las dependencias vía npm, pnpm, bun, etc. Ahora esto ya no es necesario.&lt;/p&gt;

&lt;h3&gt;
  
  
  Formas de importar
&lt;/h3&gt;

&lt;p&gt;Con deno, hay dos principales formas de importar paquetes. La primera es simplemente importando desde ese paquete ya sea npm u otro que utilices.&lt;/p&gt;

&lt;p&gt;En algún archivo tuyo de Next.js, Vite o Astro por ejemplo, uno debia instalar el paquete requerido y luego importarlo dentro del archivo. Ahora, con deno, en vez de instalar el paquete, simplemente se importa dando como nombre su gestor de paquetes antes del paquete a requerir. Por ejemplo si quisiéramos utilizar express, se realizaría de esta manera:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  import express from "npm:express"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto indica que quieres importar express, del paquete npm express, por lo que, repitiendo lo ya dicho, no necesitas instalarlo, simplemente importarlo!!!&lt;/p&gt;

&lt;p&gt;O en segundo lugar, en vez de tener que importarlo con la nomenclatura de "npm:", lo que hacemos es editar el archivo deno.json creado, donde a este le agrega lo siguiente:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  "imports": {
  "express": "npm:express"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Con el codigo agregado a deno.json ahora podras importar desde donde quieras solo con la palabra express de esta manera:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  import express from "express"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Corre tu primer deno project
&lt;/h2&gt;

&lt;p&gt;Finalmente, para correr el proyecto ya no se necesita usar npm run, ahora se usan los task como se muestra de la siguiente manera en el deno.json:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; "tasks": {
    "dev": "deno run --watch main.ts", //viene por defecto
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto nos indica que para correr el proyecto, simplemente habría que hacer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;deno task dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ya estarás corriendo tu proyecto de deno con typescript nativamente.&lt;/p&gt;

&lt;p&gt;Espero te haya servido este mini tutorial y que disfrutes de esta nueva manera de hacer proyectos con un runtime de typescript nativo muy prometedor.&lt;/p&gt;

</description>
      <category>deno</category>
      <category>typescript</category>
      <category>node</category>
      <category>npm</category>
    </item>
  </channel>
</rss>
