CÓMO configurar ESLINT y PRETTIER en REACT 🤒 sin romperte la cabeza! 😎 Curso de React desde cero #4

Desarrollo Útil
13 Feb 202225:24

Summary

TLDRIn this informative video, Pablo explains the setup of ESLint and Prettier, two essential tools for JavaScript development. He clarifies the roles of linting for code quality and formatting for consistent style. The tutorial guides viewers through installing, configuring, and integrating ESLint and Prettier to avoid 'ghost' changes and maintain a uniform coding standard. Pablo also addresses common issues like conflicting rules and provides solutions for a seamless development experience.

Takeaways

  • 😀 The video discusses the common challenges faced when configuring a project for irrigation with ESLint and Prettier.
  • 🔧 The difference between 'linting' and 'formatting' is explained, with linting focusing on code correctness and formatting on code organization and presentation.
  • 💡 ESLint is highlighted as a tool that not only checks for syntax errors but also enforces a consistent coding style.
  • 🛠️ Prettier is introduced as a popular code formatter that can be configured to adhere to specific style guidelines.
  • 📝 The importance of using a shared formatting and linting configuration across multiple machines or team members to avoid 'ghost' changes is emphasized.
  • 👨‍🏫 The video provides a step-by-step guide on installing ESLint and setting up a configuration file with rules using 'eslint --init'.
  • 🔄 It demonstrates how to integrate ESLint with an editor to provide real-time feedback on code errors and style issues.
  • 📁 The creation of a '.prettierrc' file is shown for configuring Prettier, with options available to customize the formatting style.
  • 🔧 The script explains how to resolve conflicts between ESLint and Prettier, such as different preferences for semicolons, by using 'eslint-config-prettier'.
  • 📝 The necessity of setting up npm scripts for linting and formatting to streamline the process for all team members is discussed.
  • 🚫 The video mentions the need to ignore auto-generated files from formatting in both ESLint and Prettier configurations to prevent unnecessary changes.

Q & A

  • What are the two main tools discussed in the video script for configuring a project for irrigation?

    -The two main tools discussed are ESLint (referred to as 'sling' in the script) and Prettier (referred to as 'pretty air').

  • What is the primary concern of ESLint in the context of coding?

    -ESLint is primarily concerned with what is being written and the meaning of the code, focusing on syntax and finding errors in the code.

  • What does Prettier focus on in terms of code development?

    -Prettier focuses on the organization and presentation of the code, ensuring that the code is well-formatted and presented correctly.

  • Why might ESLint and Prettier conflict with each other during code development?

    -ESLint and Prettier may conflict because ESLint is concerned with the meaning and correctness of the code, while Prettier is concerned with the formatting. These different focuses can lead to situations where one tool corrects what the other has formatted.

  • What is a 'ghost change' in the context of code formatting?

    -A 'ghost change' refers to changes in the code that are purely formatting changes and do not affect the actual functionality of the code. These changes can occur when different team members have different formatting settings in their editors.

  • How can ghost changes be avoided in a team project?

    -Ghost changes can be avoided by using a shared formatting tool with common rules for everyone, ensuring that all team members use the same formatting settings and thus preventing unnecessary formatting conflicts.

  • What is the purpose of installing ESLint as a development dependency?

    -Installing ESLint as a development dependency ensures that it only acts while writing code and does not affect the production environment, where it is not needed.

  • What is the recommended way to configure ESLint settings according to the script?

    -The script recommends using the 'eslint --init' command, which opens an assistant that asks questions to help configure ESLint settings according to the project's needs.

  • What is the role of the 'standard' style guide in configuring ESLint?

    -The 'standard' style guide is a popular choice for ESLint configuration, providing a set of rules that enforce a consistent coding style across the project.

  • How can ESLint help with code quality apart from syntax errors?

    -Apart from catching syntax errors, ESLint can ensure that the code follows a consistent style, avoiding issues like unused variables and enforcing the use of the same coding patterns throughout the project.

  • Why is it important to have a consistent coding style in a large project?

    -A consistent coding style is important in a large project to avoid confusion and potential errors that can arise from inconsistent coding practices, making the codebase easier to maintain and understand.

  • What is the recommended way to integrate ESLint and Prettier in a project?

    -The recommended way is to install and configure both tools with their respective settings and then use a package like 'eslint-config-prettier' to resolve conflicts between ESLint and Prettier rules, ensuring that they work together seamlessly.

  • How can the script's speaker ensure that ESLint and Prettier do not conflict with each other?

    -The speaker can ensure no conflict by using the 'eslint-config-prettier' package, which prioritizes Prettier's formatting rules over ESLint's when there is a conflict, thus maintaining a consistent code style.

Outlines

00:00

🛠️ Setting Up ESLint and Prettier for Code Consistency

The speaker, Pablo, introduces the video by discussing the common challenges faced when configuring ESLint and Prettier in a project. He explains the roles of linters and formatters: ESLint focuses on the meaning and correctness of the code, while Prettier is concerned with organization and presentation. The video aims to guide viewers on setting up these tools to avoid conflicts and ensure consistent coding styles across different machines or team members.

05:03

📝 Understanding ESLint and Prettier Configuration

The paragraph delves into the specifics of configuring ESLint and Prettier. It discusses the importance of a shared coding style to prevent 'ghost changes' in a team environment. The speaker recommends using ESLint to enforce a consistent style and Prettier for formatting. The process includes installing ESLint, creating a configuration file, and using the 'eslint --init' command to set up rules. It also touches on the compatibility issues with plugins and the need to update them.

10:04

🔧 Customizing ESLint and Prettier Settings

This section covers the customization of ESLint and Prettier settings. The speaker talks about choosing a popular style guide, such as 'standard', and configuring ESLint to work with different frameworks and environments. It also explains how to set up Prettier to format files according to specific rules, which can be defined in a '.prettierrc' file. The speaker emphasizes the importance of configuring both tools to work together seamlessly.

15:06

🚀 Integrating ESLint and Prettier with Visual Studio Code

The speaker demonstrates how to integrate ESLint and Prettier with Visual Studio Code. This involves installing the ESLint extension, enabling it, and configuring it to work with Prettier. The paragraph explains how to use the 'eslint_d --fix' command to automatically fix code issues and how to set up Prettier to format code on save. It also discusses the importance of configuring the '.editorconfig' file to maintain consistent coding styles.

20:08

🔄 Resolving Conflicts Between ESLint and Prettier

The paragraph addresses potential conflicts between ESLint and Prettier, such as different opinions on semicolon usage. It explains how to resolve these conflicts by installing the 'eslint-config-prettier' package, which prioritizes Prettier's formatting rules over ESLint's. The speaker provides a step-by-step guide on integrating this package into the ESLint configuration to ensure that both tools work harmoniously.

25:08

📖 Finalizing Configuration and Automating Code Linting

The final paragraph wraps up the video by discussing the final steps in configuring ESLint and Prettier. It includes setting up npm scripts for running ESLint and Prettier, as well as automating these processes through Git hooks. The speaker also mentions the importance of ignoring automatically generated files to prevent unnecessary formatting. The video concludes with a reminder to like and support the content for more tutorials on components.

📡 Engaging with the Community for Further Support

In the closing paragraph, the speaker invites viewers to engage with the community for further support. He mentions the social media channels and the regular live streams on Tuesdays and Thursdays at 5 PM for answering questions and doubts. The speaker expresses gratitude for the viewers' support and looks forward to their presence in the next video.

Mindmap

Keywords

💡Linting

Linting refers to the process of analyzing code for potential errors, bugs, and stylistic inconsistencies. In the video's context, it is about using tools like ESLint (referred to as 'sling' in the transcript) to enforce code quality and consistency. The script mentions configuring ESLint to avoid unused variables and enforce a consistent coding style, which is crucial for maintaining clean and error-free codebases.

💡Pretty-printing

Pretty-printing, often shortened to 'pretty' in the script, is the practice of formatting code to make it more readable and aesthetically pleasing. The video discusses using 'Prettier', a popular code formatter, to standardize code formatting across different files and projects. This helps in reducing 'phantom' changes that do not affect the logic but only the appearance of the code.

💡Configuration

Configuration in this script pertains to setting up and customizing the rules and options for tools like ESLint and Prettier. The video explains how to create and modify configuration files (e.g., '.eslintrc' and '.prettierrc') to define coding standards and formatting rules that suit the project's needs.

💡Syntax

Syntax refers to the set of rules that dictate how code should be written in a programming language. The video emphasizes the importance of syntax checking to catch errors early in the development process. ESLint is highlighted as a tool that checks for syntax errors and enforces a consistent coding syntax.

💡Code Style

Code style encompasses the conventions and formatting preferences used in writing code. The video discusses how tools like ESLint can enforce a specific code style, ensuring that all developers on a project adhere to the same standards, which is vital for code maintainability and readability.

💡Unused Variables

Unused variables are those declared in the code but not utilized anywhere. The script mentions ESLint's ability to identify and flag unused variables, which is important for optimizing code and avoiding potential bugs or memory leaks.

💡Formatting Rules

Formatting rules define how code should be structured and presented, including the use of spaces, line breaks, and punctuation. The video explains how to configure Prettier with specific formatting rules, such as the use of single quotes, semi-colons, and object property quotes.

💡Extensions

Extensions, in the context of the video, refer to add-ons or plugins for code editors that enhance functionality. The script discusses installing and enabling ESLint and Prettier extensions in Visual Studio Code to provide real-time feedback on code quality and formatting.

💡Phantom Changes

Phantom changes are modifications made to code that do not affect its functionality but only its appearance, often due to inconsistent formatting rules. The video mentions that using Prettier can help avoid these unnecessary changes, ensuring that version control diffs reflect meaningful edits.

💡Command Line Interface (CLI)

The CLI is a text-based interface used to interact with computer programs, where users can input commands to execute actions. In the script, the CLI is used to install ESLint and Prettier, run linting and formatting commands, and automate tasks through scripts.

💡Version Control

Version control is a system that records changes to a file or set of files over time, allowing developers to track and manage modifications. The video touches on how consistent formatting and linting practices can reduce unnecessary changes in version control systems, streamlining the development process.

Highlights

Introduction to configuring ESLint and Prettier for a project to ensure consistent coding styles and avoid conflicts.

Explanation of the difference between 'linting' which focuses on code quality and 'formatting' which concerns code presentation.

The importance of setting up a shared code style to avoid 'ghost' changes caused by different formatting rules.

How to install ESLint as a development dependency using npm and its role in identifying syntax errors and enforcing code style.

Creating a configuration file for ESLint and the process of setting up rules using the ESLint CLI tool.

Choosing a popular style guide like 'Standard' for ESLint to streamline code consistency across a project.

The process of installing and configuring Prettier to automate code formatting and resolve conflicts with ESLint.

Using ESLint and Prettier extensions in Visual Studio Code to integrate code quality and formatting checks within the editor.

How to resolve conflicts between ESLint and Prettier by setting Prettier to override ESLint formatting rules.

Explanation of how to ignore auto-generated files from formatting to prevent unnecessary changes.

The use of `npm run` scripts to automate the process of linting and formatting all project files.

Addressing common issues like the 'react/jsx-filename-extension' warning and how to configure ESLint to ignore it.

Details on configuring ESLint to work with React and the use of plugins to handle JSX syntax.

How to set up Prettier to work with different file types and the importance of configuring it according to project needs.

The advantages of using a shared configuration for ESLint and Prettier to ensure consistency across multiple development environments.

Finalizing the setup by adding ESLint and Prettier commands to the package.json for easy execution.

The presenter's decision to create the video on ESLint and Prettier configuration due to frequent inquiries from the audience.

Encouragement for viewers to like, share, and support the video for continued content creation on coding topics.

Transcripts

play00:00

si hay algo que cuando empezamos se nos

play00:02

suele atragantar bastante a la hora de

play00:04

configurar nuestro proyecto de riego son

play00:06

sling y pretty air es decir el inter y

play00:09

el formato bienvenidos al desarrollo

play00:11

útil soy pablo y en el vídeo de hoy

play00:13

vamos a explicar cómo configurar estas

play00:15

dos herramientas y hacer que funcione

play00:16

todo correctamente sin que se estén

play00:19

constantemente tirando los trastos a la

play00:21

cabeza así que nada vamos con ello lo

play00:24

primero que nos suele hacer dudar es que

play00:26

es un inter que es un formato y cuál es

play00:28

la diferencia entre a pues para mí se

play00:30

explica muy sencillamente el ínter se

play00:33

preocupa de qué es lo que estamos

play00:34

escribiendo qué significado tiene lo que

play00:36

estamos escribiendo y un formato se

play00:38

preocupa de la organización y la

play00:40

presentación es decir de cómo lo estamos

play00:42

escribe pero muchas veces en el inter y

play00:45

el formato chocan en ciertas partes y

play00:47

veremos que eso puede ser problema por

play00:50

ejemplo venimos aquí y creamos

play00:52

simplemente const igual a 5 y el propio

play00:56

l'inter que tiene por defecto este

play00:57

visual estudio que nos indica que esta

play00:59

variable está declarada pero que no se

play01:01

usa nunca aquí nos está preocupando qué

play01:04

es lo que estamos escribiendo por estar

play01:06

está bien pero realmente lo que está

play01:08

haciendo esta línea de código está mal

play01:11

porque está sin usar pero si por el

play01:13

contrario ahora empieza a darle aquí

play01:15

espacios realmente lo que estoy

play01:17

escribiendo está bien escrito aunque

play01:19

parece que no pero realmente no tiene el

play01:21

formato adecuado no está presentado de

play01:23

la forma correcta entonces para ello el

play01:26

propio visual también tiene un

play01:27

formateado por defecto por matt

play01:29

selection nos lo coloca correctamente el

play01:32

típico caso de cuando queremos poner

play01:34

espacios son a raíz de unas veces

play01:35

ponemos dos otras veces uno otras veces

play01:37

sin espacios entre las comas y todos

play01:40

miras y porque tengo que configurar un

play01:42

formato y un lente divisó el estudio de

play01:44

los tiempos pues bien la respuesta a

play01:46

esto es porque en tu proyecto puedes

play01:48

trabajar desde múltiples máquinas bien

play01:50

sea tú mismo trabajando desde un

play01:52

ordenador de sobremesa y un portátil o

play01:54

bien sea porque tienes compañeros de

play01:56

equipo que trabajan sobre el mismo

play01:57

proyecto imagínate el típico caso en el

play02:00

que yo creamos un array aquí y decimos 1

play02:03

2 y 3 y en tu editor de código tiene

play02:06

configurado esto para que sea válido

play02:08

para que este formato sea el correcto

play02:09

pero tu compañero lo tiene configurado

play02:12

sea así cada vez que tu compañero forma

play02:15

te este documento va a generar cambios

play02:16

sobre lo tuyo y cada vez que tú lo forma

play02:19

te vas a generar cambios sobre tu

play02:21

compañía y esto es lo que se conoce como

play02:22

cambios fantasma porque realmente no es

play02:24

un cambio en el código solamente es un

play02:26

cambio en el formato entonces lo que se

play02:28

hace para evitar esto es utilizar un

play02:30

formateado y definir unas reglas comunes

play02:32

para todos utilizamos todos el mismo

play02:34

formateado y las mismas reglas y así no

play02:36

existen estos cambios fantasma y el

play02:39

ínter por el contrario pues viene muy

play02:40

bien para asegurarnos de que escribimos

play02:42

el código correctamente y de que no hay

play02:44

errores en lo que estamos escribiendo y

play02:46

no solo errores como tal como una

play02:48

variable sin usar sino que también nos

play02:50

fuerza a utilizar siempre el mismo

play02:52

estilo de código es decir nos fuerza que

play02:55

hagamos las cosas de una forma concreta

play02:57

que no hagamos cada vez lo mismo de una

play02:59

manera y por ejemplo ponemos aquí un gif

play03:02

a igual

play03:05

a 5

play03:07

y aquí escribimos con sol

play03:10

hola

play03:13

aquí podemos ponerlo así podemos ponerlo

play03:16

así

play03:17

podemos ponerlo también así

play03:24

como ves hay muchas formas de escribir

play03:26

lo mismo y todas ellas hacen lo mismo

play03:28

pero la forma importa es decir en un

play03:31

proyecto grande y en un proyecto bien

play03:33

hecho hay que hacer siempre las mismas

play03:35

cosas de la misma manera para evitar

play03:37

esos líos de decir ahora pone un y de

play03:39

una línea y ahora le pone llaves y luego

play03:41

después no les las pone etcétera

play03:43

entonces el interno sólo se encarga de

play03:46

buscar estos errores de sintaxis y todas

play03:47

estas cosas sino también de asegurar un

play03:49

estilo de código así que nada vamos a

play03:52

borrar estas líneas y vamos a empezar

play03:54

instalando este límite que es lo primero

play03:57

para instalarlo sobre el proyecto

play03:59

simplemente npm - de evidentemente es

play04:03

link

play04:05

- de porque porque es una dependencia de

play04:08

desarrollo solo actúa mientras

play04:09

escribimos nuestro código cuando está en

play04:11

producción esto ya no hace absolutamente

play04:12

nada y ahora este sling tenemos que

play04:16

configurar hay que crear un archivo de

play04:17

configuración con una serie de reglas

play04:19

que son las que va a utilizar

play04:20

evidentemente lo puedes hacer a mano si

play04:23

te lo recomiendo lo que hay que hacer es

play04:26

para hacerlo de forma sencilla es

play04:27

utilizar su propia herramienta mpx sling

play04:30

- - y con esto nos abre un asistente que

play04:35

nos irá preguntando ciertas cosas para

play04:37

ver qué es lo que queremos configurar y

play04:39

cómo sólo para chequear sintaxis para

play04:42

chequear sintaxis y encontrar problemas

play04:44

o para chequear sintaxis encontrar

play04:46

problemas y asegurarnos un estilo a la

play04:48

hora de escribir el código esta será la

play04:50

que utilizaremos

play04:51

qué módulos vamos a utilizar en el

play04:53

proyecto import export rico exports o

play04:56

ningún caso evidentemente import

play04:58

framework esto ya ríe obviamente utiliza

play05:02

esta ip script y si o no dependiendo de

play05:04

si lo estás utilizar nuestro caso no

play05:07

dónde va a ejecutarse el código en el

play05:10

navegador en no con el espacio puedes ir

play05:12

marcando lo

play05:13

y en nuestro caso evidentemente sólo en

play05:16

el navegador y estuvieras utilizando un

play05:17

proyecto de next js que ejecuta código

play05:19

tanto de clientes como de naut os

play05:21

tendrías que marcar las dos en nuestro

play05:23

caso sólo browser y aquí te dice de

play05:26

dónde quieres partir es decir cuál

play05:28

quieres que sea tu punto de partida para

play05:30

esta configuración una guía de estilos

play05:32

popular o quieres resolver preguntas a

play05:34

marca te va preguntando quieres esto si

play05:36

no quieres esto sí o no pues

play05:38

evidentemente yo siempre recomiendo usar

play05:40

una guía de estilos popular y en mi caso

play05:43

la que más me gusta es estándar que es

play05:46

es de largo la más utilizada y realmente

play05:49

la que mejor se adapta a mi estilo no

play05:51

quiere decir que sea la mejor sino que

play05:52

simplemente pues puedes ir probando

play05:54

varias y demás ahora veremos en qué

play05:56

consiste este estándar y por ejemplo

play05:58

eliges la derby en beat por bueno que

play06:00

sepas que todo lo que escribas va a

play06:02

estar mal porque para ir bien vi todo lo

play06:04

que haces está mal siempre o sea siempre

play06:06

encuentra alguna forma de criticar tu

play06:07

código y algo siempre no le gusta y que

play06:10

oye y quieres instalar el bien perfecto

play06:12

pero te vas a enfadar y a través o te

play06:15

vas a enfadar así que nada

play06:17

elegimos estándar en qué formato quieres

play06:19

el archivo de configuración

play06:21

javascript en mi caso oye puedes elegir

play06:23

quien quieras y aquí nos dice que tiene

play06:27

una serie de problemas porque es que el

play06:28

plugin de rayak sólo funciona con sling

play06:31

7 y ahora mismo estamos en slim 8 x one

play06:34

estos son cosillas que ya sabéis que

play06:36

pasan con las dependencias y que quieres

play06:38

de un grande ar este slim hay que

play06:40

decirle que sí tristemente porque hace

play06:42

seis meses que salió esta versión 8 y

play06:44

todavía no les ha dado tiempo a

play06:46

actualizarlo

play06:47

se ve que hoy es un tema bastante

play06:49

complejo quieres instalar todas las

play06:52

dependencias que necesitas para esta

play06:53

configuración con n pm sí y simplemente

play06:57

esperamos a que termine

play07:00

perfecto pues ya tenemos nuestro archivo

play07:02

de sling rc creado pero como vemos aquí

play07:06

en este main js x no pasa absolutamente

play07:08

nada

play07:10

cómo funciona es lo vamos a ir a la

play07:12

versión más primordial que tenemos lo

play07:15

más básico dentro de slim y es que aquí

play07:17

podemos ejecutar nx slim y vamos a

play07:20

decirle que src barra main punto j s x

play07:25

y lo que hará será buscar los problemas

play07:28

dentro de este archivo main punto j s x

play07:30

y nos los pone aquí todos ellos y aquí

play07:34

nos dice oye tengo ocho errores que

play07:36

puedo fijar con la opción menos menos

play07:39

fix es decir ocho errores que puedo

play07:41

corregir y ejecutas este comando con

play07:43

menos menos clics que es justo lo que

play07:45

vamos a hacer y vamos a ver qué es lo

play07:48

que nos hace

play07:50

bien nos ha corregido un montón de

play07:52

cosillas por ejemplo nos ha puesto en

play07:54

los streams el single code es la comida

play07:57

simple en lugar de la doble nos ha

play07:59

quitado los puntos y comas al final de

play08:01

la línea etc pero todavía no tenemos una

play08:04

respuesta visual del editor es decir el

play08:06

editor no nos está diciendo si está bien

play08:08

o mal solamente tenemos esta línea de

play08:10

comandos para ello tenemos una extensión

play08:12

que es slim yo la tengo deshabilitada

play08:15

actualmente

play08:16

slim

play08:19

fijaos que sea la verificada por

play08:21

microsoft y como siempre tiene 18

play08:23

millones de descargas no se instale

play08:25

ninguna otra que de verdad no merece la

play08:27

pena en mi caso yo le voy a dar a

play08:30

habilitar lo caso habría que instalar la

play08:32

iba a tardar un ratillo está en darse

play08:35

cuenta

play08:38

vamos aquí y ahora ya detectamos los

play08:40

errores que tenemos en el código es

play08:43

decir ahora ya está el ínter funciona si

play08:45

le doy para atrás con control z nos

play08:46

detecta todos los errores y aquí podemos

play08:49

decirle por ejemplo oye fix este

play08:51

problema oye vengo aquí lo pongo e ixe a

play08:55

este problema oye tics el what problema

play08:59

y sea métodos y así sucesivamente ahora

play09:02

iremos viendo cómo integrar esto con

play09:04

todo lo demás de momento voy a cerrar

play09:06

esta terminal vamos a quitar estos tres

play09:09

y vamos a ver qué puede pasar con éste

play09:12

jackman inescop es significa este error

play09:15

pues evidentemente que esto está

play09:17

configurado para que por defecto sea

play09:19

necesario el import react from real

play09:23

en caso de evite no es necesario esto en

play09:25

el caso de evite estamos utilizando lo

play09:27

que se llama el runtime automatic que lo

play09:29

que hace es que nos transforma estos

play09:31

hace unos la riac trilita element sino

play09:34

que utiliza la nueva transformación

play09:35

desde riad 17 pues no nos interesa tener

play09:38

que poner este importe action break o

play09:40

que si no nos dé guerra lo que podemos

play09:42

hacer en un primer caso es deshabilitar

play09:44

esta red react barra jack in js x scout

play09:48

es decir justo lo que tenemos aquí

play09:51

podemos irnos aquí al slim rc y dentro

play09:55

de reglas decirle oye

play09:57

react barra react kim js x scope ponemos

play10:04

dos puntos y el valor que le queremos

play10:06

dar hay tres posibles valores a pagar la

play10:08

regla con un off

play10:10

ella directamente no nos indica nada

play10:13

vale

play10:14

hay otro valor posible que es warning

play10:17

para que nos marque un word y guardamos

play10:19

ahora nos marca aquí un warning en h1 y

play10:23

el tercer valor evidentemente es error

play10:25

para que nos marque directamente un

play10:27

error

play10:29

bien en muchos tutoriales veréis que

play10:31

esta regla se deshabilita pero la cosa

play10:33

ha evolucionado bastante desde entonces

play10:34

y ahora ya hay una forma directa de

play10:37

hacer esto sin tener ningún problema

play10:39

venimos aquí simplemente borramos esta

play10:41

regla y añadimos aquí un plugin

play10:45

dos puntos react

play10:48

js x runtime

play10:52

esto es básicamente lo mismo pero ya

play10:54

viene preconfigurado de preguntas de

play10:56

donde me he sacado esto pues del git hub

play10:59

del slim plugin real

play11:01

todo esto al final viene explicado

play11:02

dentro de su configuración esta es la

play11:04

forma correcta de deshabilitar ese error

play11:06

ahora aquí en rules simplemente

play11:09

podríamos decirle cosas como vengo aquí

play11:11

digo oye cons a igual a 5 me marca un

play11:16

error de variable sin usar

play11:17

el punto y coma para que no llore no un

play11:20

giuseppe bars farc por vengo aquí digo

play11:22

oye yo con las variables sin usar quiero

play11:24

que sea no a new ser

play11:27

bars pero quiero que sea un warning work

play11:32

por mira cuando declara una variable y

play11:34

no la utilice ahora me sale un word de

play11:36

esta forma se configura aquí cada uno

play11:39

configurará lo que más le guste hay que

play11:41

entender eso en cada proyecto en cada

play11:43

equipo etcétera pues hay unas reglas que

play11:44

se configuran como error otras que se

play11:46

configuran como warning y otras que se

play11:48

ignora

play11:49

de todas maneras no vamos a hablar sobre

play11:52

esto todavía y sobre los puntos y comas

play11:54

porque vienen pri tierra

play11:57

hasta ahora simplemente esto nos servía

play12:00

para asfixiar estos pequeños problemas y

play12:02

para revisar nuestra sintaxis para

play12:04

quitar esto porque para mí si es un

play12:06

error no utilizar las variables vamos a

play12:09

ver la otra de las herramientas que

play12:11

tenemos y es el formateado el formatear

play12:14

más famoso que existe actualmente es

play12:15

pretty y probablemente ya todos lo

play12:17

conoceréis entonces simplemente vamos a

play12:19

instalarlo y vamos a ver los problemas

play12:21

con sleep n pm - de twitter

play12:27

y aquí sucede más o menos lo mismo que

play12:29

con el lector

play12:31

podemos venir y decirle en fx richter el

play12:34

archivo que queremos en este caso

play12:36

formatear main punto

play12:38

js x y si lo ejecutamos nos lo formatea

play12:42

y nos devuelve su versión formateada por

play12:44

la consola simplemente es lo que podemos

play12:47

hacer es periciar - - wright

play12:51

para escribirlo efectivamente para que

play12:54

modifique el archivo como tal y aquí es

play12:56

donde viene el mayor problema que suele

play12:58

tener todo el mundo richard me pone en

play13:00

puntos y comas british me ponen las

play13:02

comillas dobles slim me dice que los

play13:04

quite qué hacemos con todo esto como

play13:07

podemos configurar bien vamos a empezar

play13:10

con la forma más básica dentro del

play13:12

proyecto y es irnos la configuración de

play13:14

pretty crear un archivo en este caso

play13:17

punto

play13:19

british rc que es que ya tiene aquí el

play13:22

icono también e irnos a la web de peter

play13:25

y ver qué reglas podemos poner

play13:28

aquí desde la web de prípiat nos vamos a

play13:31

dobbs y en la sección de configurar

play13:33

pretty vamos a ver las opciones que

play13:35

tenemos nos dice aquí obviamente que

play13:38

configuration fire podemos crearla en

play13:40

todos estos formatos yo siempre

play13:42

recomiendo pri tierra reset que es un

play13:44

jason y es bastante sencillito que para

play13:46

lo que es la configuración nos vale de

play13:48

sobra y aquí tenemos una serie de

play13:50

opciones que podemos configurar el width

play13:53

por ejemplo que es el largo de la línea

play13:55

y nos da un valor por defecto que es lo

play13:57

que trae pretty de base cómo hacer el

play13:59

overdrive como sobreescribir esta

play14:01

configuración cuando lo ejecutemos por

play14:03

terminal y lo que nos interesa ahora

play14:05

como sobreescribir la en este archivo de

play14:07

configuración aquí tenemos que poner

play14:09

print with y un int

play14:12

pues con todo esto vamos a ponerlo uno

play14:14

al lado del otro y vamos a ir

play14:15

configurando lo rápida

play14:18

bien pues aquí hay que ir configurando

play14:19

en formato jason todas estas propiedades

play14:22

el print uy por ejemplo 80 para mí me

play14:25

van gente que lo pone a 100 a 120 en

play14:28

este caso como yo estoy utilizando un

play14:30

zoom enorme si lo pongo a 120 al final

play14:33

realmente no me entra en la pantalla así

play14:35

que lo voy a dejar en 80 y aquí vamos a

play14:38

ir abriendo debate cup with bare

play14:40

surtrapps es decir utilizar dos espacios

play14:43

por defecto para el tap weight hay

play14:45

gentil utiliza cuatro y hay algunos como

play14:46

nosotros que utilizamos tap

play14:49

caps dos puntos

play14:52

trump

play14:54

de mi colors quieres utilizar el punto y

play14:57

como al final de la línea sí o no te

play15:00

preocupes por slim que ahora veremos

play15:01

cómo pegarnos correcto de momento tú

play15:04

pone aquí lo que más te guste en este

play15:06

caso la regla es semi y le podemos poner

play15:08

falls si queremos que no lo ponga en

play15:11

este caso como nosotros yo sí utilizó

play15:13

punto y coma lo siento vale yo lo voy a

play15:16

dejar

play15:17

coats en mi caso sí sin el cual es una

play15:20

opción que me interesa bastante en

play15:22

single por dos puntos group que más

play15:27

tenemos aquí aprox en este caso es cómo

play15:31

poner los objetos cuando un objeto

play15:33

necesita ponerse entre comillas porque

play15:35

hay alguna propiedad que por ejemplo es

play15:36

con guión pues qué quieres que haga y

play15:39

sólo cuando las necesite y sea

play15:41

consistente es decir si las pone siempre

play15:44

que se pone una se pone en todos o si no

play15:46

que lo preserven tal y como lo tiene mi

play15:48

caso lo voy a dejar por defecto porque

play15:50

está bien o está es xbox como utilizar

play15:53

las comillas pero esta vez para js x

play15:55

otra es x englewood y ponemos unas

play15:58

lógico sería que pusiéramos las otras

play16:01

group training comas que son las 35 más

play16:04

si nos vamos aquí cuando acabamos un

play16:07

objeto en la última de propiedad ponerla

play16:09

com porque se ponen las 35 más pues

play16:12

básicamente para poder hacer esto y

play16:13

reordenar lo en que nos falle esa última

play16:16

coma podemos ponerle non para que no lo

play16:19

haga nunca o para que lo haga siempre o

play16:21

aquí para que eso no lo haga en ese 5

play16:24

con los objetos arrays etcétera en mi

play16:27

caso lo voy a dejar en ese 5 porque esta

play16:29

vez

play16:30

bracket spacing si queremos espacios en

play16:33

nuestros objetos a la hora de declarar

play16:34

los si queremos este espacio de aquí

play16:36

efectivamente yo lo quiero como esta

play16:39

bracket line para cuando tenemos que

play16:42

escribir js x etiquetas si hay varias

play16:44

líneas al final que hacemos con este

play16:47

carácter de aquí y lo saltamos a la

play16:49

siguiente línea o no de momento yo lo

play16:51

voy a dejar en que no pero puedes poner

play16:53

lo que quieras ep kate en esto ni me

play16:55

interesa

play16:57

arrow función paréntesis poner siempre

play16:59

paréntesis las arrow función o intentar

play17:02

evitarlos cuando no sea necesario a mí

play17:04

esto me da bastante rabia así que le voy

play17:06

a decir que intente evitarlos en la

play17:08

medida de lo posible

play17:10

puntos a voy

play17:14

el range el par ser file pad rico aipr a

play17:18

gmac y todo esto que viene por aquí

play17:20

debajo es raro que lo tengamos que tocar

play17:22

como mucho este en of fire que por

play17:25

defecto es el que tiene que ver con

play17:27

windows y con linux yo no suelo dejar en

play17:29

el f es como trabajar git y compañía así

play17:32

que nada por lo demás ya hemos terminado

play17:34

de configurar este principio te digo tú

play17:36

puedes poner las configuraciones que a

play17:38

ti más te guste

play17:40

ahora guardamos y cómo hacemos para

play17:42

formatear con pretty pues evidentemente

play17:45

tenemos que hacerlo igual que con sling

play17:47

activando la extensión de british

play17:52

activando o instalando una evidentemente

play17:54

caso activa

play17:56

bien ya la tengo activada y ahora me voy

play17:58

aquí y le digo a esto oye botón derecho

play18:01

formato document with

play18:04

with y aquí te permite gritar o el por

play18:08

defecto puedes decirle configure the

play18:10

fall for matter para estas le decimos

play18:13

que british y ahora ya cada vez que

play18:15

guardemos

play18:17

nos lo forma te hará con pretty por qué

play18:20

funciona esto de que cada vez que

play18:21

guardas menos formatea o sencillamente

play18:22

porque tengo aquí en extensiones de

play18:25

tings tengo el formato on 6 te

play18:29

recomiendo que lo pongas editor formato

play18:31

no sé si lo habilita cada vez que

play18:33

guardes te va a formatear en este caso

play18:35

le pones aquí fight todo el documento y

play18:38

si no el resto pues sobre las

play18:40

modificaciones pero las modificaciones y

play18:42

hay disponibles yo esto si lo vas a

play18:44

poner ponlo en fine vale lo coloque

play18:47

trabajamos casi todos y casi siempre

play18:50

vale volvemos aquí y ahora tenemos un

play18:53

problema en pretty hemos dicho que

play18:55

puntos y comas y en slim le hemos dicho

play18:57

que no cómo podemos hacer para

play18:59

solucionar estos conflictos y que nos

play19:01

funcione todo correctamente pues para

play19:05

ello no hay que hacer ningún tipo de

play19:06

magia extraña simplemente hay que

play19:08

instalar un paquete simplemente es eso

play19:11

npm y menos de slim y on config con

play19:17

british

play19:19

quédate con este paquete no instales

play19:22

ninguna de por ahí de un plugin

play19:24

que encontrado de no sé que esto es lo

play19:26

oficial en la web te lo recalca no

play19:29

instales ninguna otra cosa de verdad no

play19:32

te metas con historias raras que luego

play19:33

no son compatibles o utilizan otro

play19:35

formateado no con esto nos vale y vas a

play19:38

ver que es tan sencillo como venir aquí

play19:41

coges esto de aquí lo copias y bienes al

play19:43

sling rc y lo pegas aquí

play19:49

slim con fit pretty para los guardas

play19:54

aquí y ahora ya directamente se queda

play19:56

con las reglas de pretty a por encima de

play19:58

las de slim es decir donde haya una

play20:00

confusión entre player y slim se queda

play20:03

con lo de pretty ya está pin no hay que

play20:05

hacer absolutamente nada más la mucha

play20:07

gente se lía aquí que si no sé que no

play20:09

con esto te sobra no necesitas

play20:11

absolutamente nada más y ya tenemos

play20:14

configurado nuestro british y nuestro

play20:16

sling de una forma súper súper sencilla

play20:19

es lo último que tenemos que hacer pues

play20:21

dejar unos comandos configurados en

play20:23

nuestro pacas jason para hacer este link

play20:25

y este formato porque puede haber

play20:27

cualquier otra persona que no utilice

play20:29

estas extensiones de visual o no lo

play20:30

tenga configurado así y siempre hay que

play20:32

dar una opción extra para poder hacerlo

play20:35

desde terminar además que todo esto

play20:37

luego se utilizará para las

play20:38

automatizaciones de git y demás que ya

play20:40

veremos bastante más adelante cuando

play20:43

tratemos todo este tema entonces nos

play20:46

vamos a ir al pack a jason de caso

play20:49

y vamos a crear los comandos de link y

play20:52

de forma forma los puntos y vamos a

play20:56

decirle en este caso pretty

play20:59

- wright de punto pero aquí quiero que

play21:04

veas una cosa o guardar aquí antes de

play21:06

ejecutarlo

play21:08

y vamos a ver que si ejecutamos n px

play21:10

british menos menos qué punto nos dirá

play21:15

los archivos sobre los que afectaría

play21:17

este comando

play21:19

entre los cuales encontramos dist por

play21:22

supuesto no queremos que nos lo forma t

play21:25

esto es un vanden y realmente sería una

play21:27

locura volver a formatear la de nuevo no

play21:29

tiene sentido en donde es para ello

play21:31

igual que en git hay que configurar un

play21:33

punto

play21:34

primer ignore

play21:38

y aquí en formato ghitis nor le decimos

play21:40

que no nos toquen los archivos

play21:42

autogenerados the beast ni tampoco el

play21:45

back at your blog punto jason

play21:49

porque los autos generados no hay que

play21:52

formatear los evidentemente

play21:55

y te preguntarás aquí y él no hay

play21:57

módulos no hay que ignorarlo ya lo smara

play21:59

por defecto

play22:00

y lo mismo ya que estamos hay que

play22:02

hacerlo para el slim punto sling irna

play22:08

y en este caso solamente hay que excluir

play22:10

diste ya que slim no es un líder para

play22:13

todo tipo de archivos sino sólo para js

play22:15

y js x en este caso no hay que excluir

play22:18

el paquete flow porque no es ninguno de

play22:20

estos dos tipos de archivo así que nada

play22:22

guardamos aquí y ya lo tenemos y ahora

play22:25

sí podemos terminar la configuración

play22:27

aquí podemos decirle critter - - raid

play22:31

punto y en el link

play22:34

podemos decirle

play22:36

slim

play22:38

- menos tics de punto

play22:43

pero aquí hay que indicarle qué archivos

play22:45

queremos que lindo esto es algo que ha

play22:47

cambiado las últimas versiones y hay que

play22:49

hacerlo así extensiones

play22:52

puntos otra s coma punto js x y aquí si

play22:57

tuviera esta ip script ps ips

play23:01

con estos dos comandos ya podemos

play23:03

venirnos aquí y ejecutar en el rack

play23:06

forma

play23:08

para formatear absolutamente todos los

play23:11

archivos y rpm run link para hacer

play23:16

lindín sobre todos ellos

play23:19

como último caso react versión no te

play23:21

específica en slim plugin react es un

play23:23

warning que nos da este slim plugin rial

play23:26

y que se soluciona aquí en el sling

play23:29

poniendo una configuración

play23:32

settings dos puntos riac dos puntos

play23:38

versión puntos y de test

play23:43

de dónde te ha sacado todo esto mira

play23:46

aquí ya te lo está poniendo de git hub

play23:48

puntocom slim plugin ríe evidentemente

play23:51

hay que leer estos archivos y bucear un

play23:53

poco una vez que tengamos esto

play23:56

ya tenemos snpm run link funciona y

play24:00

ahora ponemos por ejemplo uno creo que

play24:03

vamos a ponerle aquí

play24:04

4

play24:07

y vamos a ponerle click a 4 nos dirá

play24:10

este link que no está en camel case por

play24:13

ejemplo guardamos aquí le damos al link

play24:19

y nos lo identifica perfectamente lo que

play24:22

pasa que aquí en este caso no lo puede

play24:24

fix ya la mano tienes que fijarlo

play24:26

evidentemente hay cosas que el link no

play24:29

sabe cómo corregir automáticamente

play24:32

bueno pues creo que ya lo tenemos creo

play24:34

que no ha sido para tanto

play24:36

quiero deciros que he hecho este vídeo y

play24:38

no el de los componentes que es el que

play24:40

tenía pensado crear porque al final me

play24:43

habéis estado preguntando constantemente

play24:44

por este sling por este pretty air cómo

play24:47

se configura lo hemos estado también

play24:49

viendo en los directos de tweets y creo

play24:51

que ayuda bastante y por lo menos lo

play24:53

sabéis configurar así que os lo he

play24:55

dejado por aquí y en el próximo si o si

play24:57

empezamos con los componentes si os ha

play25:00

gustado este vídeo como siempre os

play25:01

agradecería mucho vuestro like y que me

play25:03

deja así es aquí un pedazo de su que nos

play25:05

apoya muchísimo para seguir creando

play25:08

contenido y como siempre recordaros que

play25:11

os dejo por aquí nuestras redes sociales

play25:12

que hacemos directo todos los martes y

play25:14

jueves a las 5 de la tarde y que podéis

play25:17

pasaros por allí para responder

play25:19

cualquiera de vuestras dudas y que nada

play25:21

nos vemos en el próximo

Rate This

5.0 / 5 (0 votes)

Related Tags
Code FormattingJavaScriptESLintPrettierDevelopment ToolsCoding StandardsProject SetupCode QualityVSCodeBest Practices