<?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: Omar Jesus Hernandez Bastos</title>
    <description>The latest articles on DEV Community by Omar Jesus Hernandez Bastos (@omarbastos).</description>
    <link>https://dev.to/omarbastos</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%2F623951%2F95f98221-7b84-4754-a112-713a8d4febf3.jpeg</url>
      <title>DEV Community: Omar Jesus Hernandez Bastos</title>
      <link>https://dev.to/omarbastos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/omarbastos"/>
    <language>en</language>
    <item>
      <title>Configurando React &amp; TS con  ESlint / Prettier en 2021</title>
      <dc:creator>Omar Jesus Hernandez Bastos</dc:creator>
      <pubDate>Tue, 31 Aug 2021 13:54:55 +0000</pubDate>
      <link>https://dev.to/omarbastos/configurando-react-ts-con-eslint-prettier-en-2021-12ho</link>
      <guid>https://dev.to/omarbastos/configurando-react-ts-con-eslint-prettier-en-2021-12ho</guid>
      <description>&lt;p&gt;Imagina que has creado tu primer proyecto en React con Typescript🔥 o simplemente quieres pasar al siguiente nivel en tu path de ser un &lt;em&gt;Frontend Master&lt;/em&gt;, pero tu código no tiene un estilo &lt;em&gt;"pretty"&lt;/em&gt;🤢, no obedece ningún estándar y mucho menos te esta protegiendo de errores comunes, tranquilo, no pasa nada. A esto es lo que hoy le hare un pequeño &lt;em&gt;hotfix&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Lo primero que debemos hacer es situarnos en la carpeta 📁 donde esta contenido el proyecto y en el terminal agregaremos los siguientes paquetes.&lt;/p&gt;

&lt;p&gt;eslint&lt;br&gt;
eslint-config-airbnb&lt;br&gt;
eslint-config-prettier&lt;br&gt;
eslint-plugin-import&lt;br&gt;
eslint-plugin-jsx-a11y&lt;br&gt;
eslint-plugin-react&lt;br&gt;
eslint-plugin-react-hooks&lt;br&gt;
eslint-plugin-jest &lt;em&gt;En caso de usar Jest&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Podemos instalar todos directamente con&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -D eslint eslint-config-airbnb eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jest 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O Si eres mas chulo 😎, puedes usar yarn&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn add eslint eslint-config-airbnb eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para lograr que todo esto funciona debemos escribir los archivos de configuración respectivos, en este caso son dos, uno para eslint y uno para prettier.&lt;/p&gt;

&lt;p&gt;ESlint es un linter de código, que no es mas que plugin que analiza nuestro código fuente, nos permite ver errores en la sintaxis, posibles bugs y estructuras sospechosas, es decir fortalece la integridad de nuestro código ✅&lt;/p&gt;

&lt;p&gt;Prettier por otra parte es un plugin que formatea nuestro código para que se vea mas bonito y por ende mas legible, siguiendo las reglas que le hayas establecido.&lt;/p&gt;

&lt;p&gt;Aja y Por que es tan importante que el código sea mas bonito y mas legible?&lt;/p&gt;

&lt;p&gt;Pueees...👀 Mi querido Timmy, pasas la mayor cantidad de tu tiempo programando simplemente leyendo una linea tras otra, si esta todo ordenado podrás entenderlo mas fácilmente, y cuando no tocas un código por unos cuantos días ya retomar y entenderlo todo completamente es complicado, por eso debemos tener el código lo mas limpio y ordenado posible.&lt;/p&gt;

&lt;p&gt;Dentro de la misma carpeta del proyecto creamos el archivo&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;module.exports = {
  settings: {
    'import/resolver': {
      node: {
        extensions: ['.js', '.jsx', '.ts', '.tsx'],
      },
    },
    jest: {
      version: 'latest',
    },
  },
  env: {
    browser: true,
    es2021: true,
  },
  extends: [
    'plugin:react/recommended',
    'airbnb',
    'plugin:jest/recommended',
    'prettier',
  ],
  parser: '@typescript-eslint/parser',
  parserOptions: {
    ecmaFeatures: {
      jsx: true,
    },
    ecmaVersion: 12,
    sourceType: 'module',
  },
  plugins: ['react', '@typescript-eslint'],
  rules: {
    'import/extensions': 'off',
    'import/no-extraneous-dependencies': 'off',
    'react/jsx-filename-extension': [1, { extensions: ['.tsx', '.ts'] }],
    'react/jsx-props-no-spreading': 'off',
    'no-use-before-define': 'off',
    '@typescript-eslint/no-use-before-define': ['error'],
    'react/react-in-jsx-scope': 'off',
  },
};

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este nos configurara toda la compatibilidad con Typescript, incluyendo reglas exclusivas para react y sin tener conflictos con Prettier, ademas de esto utilizara las reglas mas populares en el mundo dev que en lo personal son las de Airbnb, para el prettier si es mas sencillo&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//.prettierrc
{
  "singleQuote": true,
  "trailingComma": "all"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Una vez creado nuestros archivos de configuración debemos instalar en el Visual Code Studio, los siguientes paquetes 📦.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint"&gt;ESlint&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode"&gt;Prettier&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Adicional a esto seria bueno ir a System ⚙️ -&amp;gt; Preferences -&amp;gt; y typeamos formatOnSave, dejamos marcado ✅ la casilla de Format On Save en caso de que no lo estuviera.&lt;/p&gt;

&lt;p&gt;Con esto tendrás configurado tu proyecto con Typescript, React, ESlint y prettier sin morir en el intento.&lt;/p&gt;

&lt;p&gt;Recuerda cualquier cosa puedes escribirme estaré con gusto a tu disposición para ayudar &lt;/p&gt;

&lt;p&gt;Twitter &lt;a class="mentioned-user" href="https://dev.to/omarbastos"&gt;@omarbastos&lt;/a&gt;
 &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
