<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Guilherme Carpi on Medium]]></title>
        <description><![CDATA[Stories by Guilherme Carpi on Medium]]></description>
        <link>https://medium.com/@carpi?source=rss-3c1ca2baaa38------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*0PYl4kTinnocyEvNMjVTwA.jpeg</url>
            <title>Stories by Guilherme Carpi on Medium</title>
            <link>https://medium.com/@carpi?source=rss-3c1ca2baaa38------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 27 Jun 2026 18:36:16 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@carpi/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Padronizando o seu código com o ESLint, Prettier e VSCode]]></title>
            <link>https://medium.com/owinteractive/padronizando-o-seu-c%C3%B3digo-com-o-eslint-prettier-e-vscode-b2980c341505?source=rss-3c1ca2baaa38------2</link>
            <guid isPermaLink="false">https://medium.com/p/b2980c341505</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[prettier]]></category>
            <category><![CDATA[vscode]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[eslint]]></category>
            <dc:creator><![CDATA[Guilherme Carpi]]></dc:creator>
            <pubDate>Sun, 04 Oct 2020 16:37:51 GMT</pubDate>
            <atom:updated>2020-10-06T11:00:33.064Z</atom:updated>
            <content:encoded><![CDATA[<h3>Padronizando o seu código com ESLint, Prettier e VSCode</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/732/1*W1YYtS_pGe1HDeMmk646jg.jpeg" /></figure><p>Com o desenvolvimento de softwares complexos se torna necessário a padronização da escrita dos seus códigos e da sua equipe. Dar manutenção em um projeto onde cada arquivo mantém um padrão de escrita diferente, declarações de variáveis que não estão sendo utilizadas, má indentação, entre outros diversos problemas que podem dificultar a leitura, tudo isso não é fácil e pode causar muita dor de cabeça. É por isso que atualmente existem ferramentas que irão te ajudar a contornar esses problemas, tornando o seu código legível e de fácil entendimento por toda a equipe.</p><p>Aqui falaremos sobre duas ferramentas que funcionando em conjunto dão ótimos resultados, são elas ESLint e Prettier.</p><h3>ESLint</h3><p>Pensando nesses problemas citados foi criado o <a href="https://eslint.org/">ESLint</a>, uma ferramenta de code styling. Com ele podemos criar um guia de estilo que irá conter as regras que nosso código deverá seguir.</p><p>O ESLint trabalha verificando o seu código, identificando padrões, buscando por erros e corrigindo para obter um código mais consistente. Uma das grandes vantagens é a possibilidade de alertar problemas antes mesmo da execução do código, alertando principalmente aqueles problemas de falta de atenção, como tentar utilizar uma variável com o nome errado ou fora de escopo.</p><p>Além do mais, o ESLint é totalmente configurável, caso você não concorde com alguma regra imposta por ele você poderá facilmente desligá-la.</p><h3>Prettier</h3><p><a href="https://prettier.io/">Prettier</a>, é um formatador de código opinativo. Ele suporta muitas linguagens e se integra com a maioria dos editores de código. Com o Prettier também podemos definir algumas configurações para o nosso código, como, tamanho das tabs, utilização/não utilização de ponto e vírgula, espaçamentos entre blocos de código e mais.</p><h3>ESLint vs Prettier</h3><p>Para alguns desenvolvedores depois de lerem sobre o ESLint e Prettier podem ficar em dúvida sobre as diferenças de cada um, pois a princípio ambos são formatadores de código e seguem um guia de estilo predefinido.</p><p>Para entender a real diferença entre eles, precisamos aprender sobre dois tipo de regras:</p><p><strong>Regras de qualidade de código: </strong>inclui validar variáveis não utilizadas, validar constantes sendo retribuídas, validar o correto uso de async/await, entre outras validações.</p><p><strong>Regras de formatação: </strong>inclui máximo de caracteres por linha, não misturar tab e espaçamentos, utilizar/não utilizar ponto e vírgula, largura dos espaçamentos, etc…</p><p>O ESLint atua principalmente nas regras de qualidade de código, deixando as regras de formatação serem realizadas pelo Prettier.</p><h3>Instalação</h3><p>Antes mesmo de começarmos a instalação do ESLint e do Prettier, precisamos nos certificar se o <a href="https://nodejs.org/">Node.js</a> está instalado globalmente na nossa máquina, utilize o comando abaixo no seu terminal e o retorno deverá ser a versão do Node.js instalada globalmente:</p><pre>node -v</pre><p>Caso não retorne a versão instalada, você deverá realizar o download do Node.js, <a href="https://nodejs.org/en/">clique aqui</a> para ir para o site oficial.</p><p><strong>Atenção!</strong> É altamente recomendável que você instale a última versão LTS (Long Term Support) do Node.js, essa versão não contém funcionalidades de experimentação e possui um suporte de longo prazo para futuras correções de problemas. Lembrando também que a versão mínima para utilização do ESLint é a <em>^10.12.0.</em></p><p>Para você que utiliza o <em>NPM</em>, em alguns comandos será necessário a utilização do <a href="https://www.npmjs.com/package/npx">NPX</a>, execute o comando abaixo para instalar em sua máquina:</p><pre>npm install -g npx</pre><p>Após a instalação do Node e do NPX podemos dar continuidade com as instalações das bibliotecas, execute os comandos para instalar o ESLint e Prettier no seu projeto:</p><pre>npm install eslint --save-dev<br>npm install prettier --save-dev</pre><p>ou</p><pre>yarn add eslint --dev<br>yarn add prettier --dev</pre><p><strong>Atenção! </strong>Essas dependências deverão ser instaladas utilizando a flag <em>— save-dev</em> pois elas serão utilizadas apenas em ambiente de desenvolvimento.</p><h3>Configuração</h3><p>Para configurar o ESLint é necessário executar o comando abaixo:</p><pre>npx eslint --init</pre><p>ou</p><pre>yarn run eslint --init</pre><p><strong>Atenção! </strong>Para configurar o ESLint você deverá possuir um arquivo <em>package.json</em> em seu projeto. Caso contrário, certifique-se de executar o <em>npm init</em> ou <em>yarn init</em> antes.</p><p>Após executar o comando acima, algumas perguntas serão realizadas, você deverá respondê-las de acordo com o seu projeto.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/744/1*QfA3PrO1QmcVA50v_r-g8Q.jpeg" /><figcaption>Processo de configuração do ESLint na linha de comando</figcaption></figure><p>Após o final das perguntas será gerado um arquivo <em>.eslintrc.{js,yml,json}</em> no seu diretório raiz, esse arquivo irá conter o nosso guia de estilo. A configuração de exemplo abaixo não contém suporte a nenhum framework, sendo apenas uma configuração básica.</p><p><strong><em>.eslintrc.js</em></strong></p><pre>module.exports = {<br>  // Definindo em quais ambientes a validação irá ocorrer<br>  env: {<br>    browser: true,<br>    es2021: true,<br>    node: true<br>  },</pre><pre>// Padrões básicos definidos pela comunidade, estou utilizando o standard (padrão do ESLint)<br>  extends: [&#39;standard&#39;],</pre><pre>// ESLint por padrão não valida códigos com sintaxes experimentais       do ECMAScript, tornando-se necessário a utilização de um parser<br>  parserOptions: {<br>    ecmaVersion: 12,<br>    sourceType: &#39;module&#39;<br>  },</pre><pre>// Regras que serão aplicadas com prioridade em comparação com as     regras do extends<br>  rules: {}<br>}</pre><p><strong>Atenção!</strong> O meu arquivo de configuração está no formato<em> .js</em>, atente-se ao seu tipo de arquivo e configure de acordo com a sintaxe da extensão.</p><p>No meu exemplo, eu utilizei o padrão do ESLint, o Standard, nele contém diversas regras aplicadas, porém você pode utilizar outros padrões já definidos pela comunidade, como, a do <a href="https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb">Airbnb</a> ou até mesmo escrever as suas próprias regras no objeto <em>rules</em>. Veja essa <a href="https://eslint.org/docs/rules/">referência</a> para ver as regras disponíveis.</p><p>Para configurar o Prettier não existe um comando para utilizarmos, então vamos ter que configurar manualmente, vamos lá:</p><p>No diretório raiz crie um arquivo <em>.prettierrc.json</em> e vamos colocar algumas configurações:</p><p><strong><em>.prettierrc.json</em></strong></p><pre>{<br>  // Remove os pontos e vírgulas no final de uma instrução<br>  &quot;semi&quot;: false,</pre><pre>// Utiliza apenas aspas simples<br>  &quot;singleQuote&quot;: true,</pre><pre>// Indentação padrão será por 2 tabs<br>  &quot;tabWidth&quot;: 2,</pre><pre>// Remove a vírgula no final de um objeto<br>  &quot;trailingComma&quot;: &quot;none&quot;<br>}</pre><p>Essas configurações são as que eu costumo utilizar em meus projetos, fique livre para configurar de acordo com as suas necessidades, utilize <a href="https://prettier.io/docs/en/options.html">essa referência</a> para saber as suas possibilidades de configuração do Prettier.</p><h3>Utilização</h3><p>Para utilizar o ESLint, execute o comando:</p><p><strong>Para formatar arquivos</strong></p><pre>npx eslint index.js</pre><p>ou</p><pre>yarn eslint index.js</pre><p><strong>Para formatar diretórios</strong></p><pre>npx eslint --ext .js .</pre><p>ou</p><pre>yarn eslint --ext .js .</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/832/1*hdota8FWJF5i7D5DQiJVPQ.jpeg" /><figcaption>ESLint encontrou uma variável que não está sendo utilizada</figcaption></figure><p><strong>Atenção!</strong> Se desejar aplicar uma correção automática, execute os comandos acima com parâmetro<em> — fix</em>.</p><p>Para utilizar o Prettier, execute o comando:</p><pre>npx prettier --write .</pre><p>ou</p><pre>yarn prettier --write .</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/496/1*szmMk0sdSwQw_3LaSwdO5g.gif" /><figcaption>Executando o Prettier pela linha de comando</figcaption></figure><p>Agora com tudo funcionando você pode perceber que não é muito legal executar esses comandos toda hora que precisar corrigir um arquivo, certo?</p><p>Aí que entra o VSCode! Com ele podemos configurar para que sempre que salvarmos o nosso arquivo o ESLint e Prettier serão executados e aplicará as regras automaticamente.</p><p>Para configurarmos o VSCode devemos instalar dois plugins, o do <a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint">ESLint</a> e o do <a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode">Prettier</a>. Após instalados, devemos abrir o <em>settings.json</em> do VSCode.</p><p><strong>Mac:</strong> Preferências &gt; Configurações &gt; Abrir configuração (JSON)<br><strong>Windows e Linux:</strong> Arquivo &gt; Preferências &gt; Configurações &gt; Abrir configuração (JSON)</p><p>No arquivo adicione essas configurações juntamente com as configurações atuais:</p><pre>{<br>    // ... suas configurações<br>    <br>    &quot;editor.formatOnSave&quot;: true,<br>    &quot;editor.codeActionsOnSave&quot;: {<br>      &quot;source.fixAll.eslint&quot;: true<br>    },<br><br>    &quot;[javascript]&quot;: {<br>      &quot;editor.defaultFormatter&quot;: &quot;esbenp.prettier-vscode&quot;<br>    }<br>}</pre><p>Pronto! Agora sempre que você salvar uma alteração em um arquivo as regras do ESLint e Prettier predefinidas serão aplicadas automaticamente.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*o-pTaeZBrJxzAz3lKM20Ow.gif" /><figcaption>Ao salvar o arquivo as regras predefinidas foram aplicadas</figcaption></figure><h3>Conclusão</h3><p>O ESLint e o Prettier são ferramentas totalmente adaptáveis, fique a vontade para configurar de acordo com a sua necessidade e time de desenvolvimento. Obrigado e até a próxima!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b2980c341505" width="1" height="1" alt=""><hr><p><a href="https://medium.com/owinteractive/padronizando-o-seu-c%C3%B3digo-com-o-eslint-prettier-e-vscode-b2980c341505">Padronizando o seu código com o ESLint, Prettier e VSCode</a> was originally published in <a href="https://medium.com/owinteractive">OW Interactive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>