prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Prettier Π² Visual Studio Code

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ°Π½ΡƒΠ°Π» Π½Π°ΡƒΡ‡ΠΈΡ‚ вас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт Prettier, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Π² Visual Studio Code (ΠΈΠ»ΠΈ VS Code)

Для дСмонстрации ΠΌΡ‹ возьмСм Ρ‚Π°ΠΊΠΎΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°:

Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ форматирования ΠΊΠΎΠ΄Π°, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ нСсколько ошибок:

ВрСбования

1: Команда Format Document

Установив Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Prettier, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для форматирования вашСго ΠΊΠΎΠ΄Π°. Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Format Document. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сдСлаСт ваш ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌ, пСрСносам строк ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ панСль ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Command+Shift+P Π² macOS ΠΈΠ»ΠΈ Ctrl+Shift+P Π² Windows.

Π’ ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ format, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Format Document.

Π—Π°Ρ‚Π΅ΠΌ панСль ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Для этого Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Configure.

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Prettier – Code Formatter.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если панСль Π½Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»Π° Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² Settings. УстановитС Π² Editor: Default Formatter Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ebsenp.prettier-vscode.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ всСх ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², пСрСносов строк ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ:

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Ρ„Π°ΠΉΠ»ΠΎΠ² CSS. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ расставлСнными скобками, Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ с запятой ΠΈ Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ Π½Π° строки Π² Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». НапримСр, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Ρ‚Π°ΠΊ:

body <
color: red;
>
h1 <
color: purple;
font-size: 24px;
>

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π΅ автоматичСски.

2: Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ сохранСнии

Пока Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для форматирования ΠΊΠΎΠ΄Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π§Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот процСсс, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² VS Code, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ваши Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ автоматичСски Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ сохранСнии. Π’Π°ΠΊΠΆΠ΅ благодаря этому Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Command+ Π² MacOS ΠΈΠ»ΠΈ Ctrl+ Π² Windows. Π’Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π² мСню Settings. ΠžΡ‚ΠΊΡ€Ρ‹Π² это мСню, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Editor: Format On Save ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ, поставив Π³Π°Π»ΠΎΡ‡ΠΊΡƒ.

ПослС этого Π²Ρ‹ смоТСтС ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Π° ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ сохранСнии Ρ„Π°ΠΉΠ»Π°.

3: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Prettier

Prettier Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² настройки.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ мСню Settings ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Prettier. На вашСм экранС появятся всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Prettier, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

Π’ΠΎΡ‚ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ‡Π°Ρ‰Π΅ всСго:

Π“Π»Π°Π²Π½Ρ‹ΠΉ нСдостаток встроСнного мСню ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π² VS Code – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π½Π΅ обСспСчиваСт согласованности настроСк Π² вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

4: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Prettier

Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ настройки Prettier Π² своСм экзСмплярС VS Code, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π² вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эту ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON:

<
«trailingComma»: «es5»,
«tabWidth»: 4,
«semi»: false,
«singleQuote»: true
>

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Prettier. Π‘ΠΎΠ·Π΄Π°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ протСстировав Π΅Π³ΠΎ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС Ρ‡Π»Π΅Π½Ρ‹ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° форматирования.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ вашСй Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ совмСстной, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Богласовав список ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ с удобочитаСмости ΠΈ простоты ΠΊΠΎΠ΄Π°. Π’ΠΎΠ³Π΄Π° Π²Ρ‹ смоТСтС ΠΏΠΎΡΠ²ΡΡ‚ΠΈΡ‚ΡŒ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ слоТных тСхничСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Prettier обСспСчиваСт ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ автоматичСски.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Руководство Eslint + Prettier

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. blog promo e872632493a971b3ba0722ccffaec76d1df333a297017200dadbff257e5959c1. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-blog promo e872632493a971b3ba0722ccffaec76d1df333a297017200dadbff257e5959c1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° blog promo e872632493a971b3ba0722ccffaec76d1df333a297017200dadbff257e5959c1. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Руководство для настройки автоматичСского форматирования ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ синтаксиса языка JavaScript. РассказываСм ΠΏΡ€ΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Eslint ΠΈ Prettier.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим основныС ΠΏΡ€Π°Π²ΠΈΠ»Π° Π»ΠΈΠ½Ρ‚Π΅Ρ€Π° ΠΈ способы Π΅Π³ΠΎ настройки ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Какой Ρ†Π΅Π»ΠΈ я Ρ…ΠΎΡ‡Ρƒ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅?

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ быстро, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ программирования.

КакиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ eslint?

Π›ΠΈΠ½Ρ‚Π΅Ρ€ β€” это статичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ для языка программирования. Он сообщаСт ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасных выраТСниях Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΆΠ΅ Π»ΠΈΠ½Ρ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… участках ΠΊΠΎΠ΄Π°, синтаксичСских ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ВсСго сущСствуСт ΠΎΠΊΠΎΠ»ΠΎ 300 ΠΏΡ€Π°Π²ΠΈΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ ТСланию.

Для Ρ‡Π΅Π³ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Prettier?

Никогда Π½Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ:

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ говорят, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ постоянно ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° мСстС. Π Π°Π·Π²ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ β€” Π½Π° Π₯СкслСтС Π΅ΡΡ‚ΡŒ сотни курсов ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках ΠΈ тСхнологиях.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ настройкС

Начну с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ здСсь описана настройка Π»ΠΈΠ½Ρ‚Π΅Ρ€Π° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ VScode. Для Π΄Ρ€ΡƒΠ³ΠΈΡ… IDE Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² поискС Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ. Π˜Ρ‚Π°ΠΊ:

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. 7yHOhrv. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-7yHOhrv. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 7yHOhrv. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с настройками, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню Π·Π° Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚. Π˜Ρ‚ΠΎΠ³ΠΎΠΌ настройки Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ сформированный Ρ„Π°ΠΉΠ» .eslintrc.json. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с настройками ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ с package.json.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наша ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настройки Ρ„Π°ΠΉΠ»ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ESLint:

[0]=off // Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ

[1]=warn // Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² консоль

[2]=error // Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ error ΠΈ останавливаСт исполнСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

*ΠŸΡ€Π°Π²ΠΈΠ»Π° оформлСния ΠΊΠΎΠ΄Π°. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список настроСк Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ здСсь.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ/Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ списка

Основная настройка Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ сохранСнии Ρ„Π°ΠΉΠ»Π° наша IDE Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»Π° ΠΊΠΎΠ΄ ΠΈ исправляла ошибки. Π‘Ρ‚ΠΎΠΈΡ‚ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ESLint ΡƒΠΌΠ΅Π΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ всё ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ придСтся ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Для автоматичСского форматирования Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ

Tip. Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ESLint, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Output ΠΈ посмотритС Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….

TROUBLESHOOTING

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Часто Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ популярный ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΎΡ‚ Airbnb. Он содСрТит большС ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ вас Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ, поэтому Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ усвоитС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π»ΠΈΠ½Ρ‚Π΅Ρ€Π°. Бпасибо, Ρ‡Ρ‚ΠΎ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ приятно ΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС.

ΠŸΡ€ΠΎΠΊΠ°Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ свой ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ программирования:

На Π₯СкслСтС Π΅ΡΡ‚ΡŒ нСсколько дСсятков Ρ‚Ρ€Π΅ΠΊΠΎΠ² β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… курсов для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ компСтСнтности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² Ρ€Π°Π·Π½Ρ‹Ρ… направлСниях.

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. you bc72575a0e6eb39de3e28e54a8df1138beaa57cd5300061ecb5c202773131f9e. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-you bc72575a0e6eb39de3e28e54a8df1138beaa57cd5300061ecb5c202773131f9e. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° you bc72575a0e6eb39de3e28e54a8df1138beaa57cd5300061ecb5c202773131f9e. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π‘ нуля Π΄ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ дСньги, Ссли Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Prettier, ESLint, Husky, Lint-Staged ΠΈ EditorConfig: инструмСнты для написания Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π’Ρ‹ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒβ€¦ Π’Ρ‹ Π²Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ Π² руководства ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ, Π²Ρ€ΠΎΠ΄Π΅ этого ΠΎΡ‚ Airbnb, ΡΡ‚Π°Ρ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ практичСским рСкомСндациям Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… спСциалистов… Π’Π°ΠΌ приходится ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄? ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅? Π’Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ Π² Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…? НапримСр β€” Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, читая хитросплСтСния ΠΊΠΎΠ΄Π° Π½Π΅ΠΊΠΎΠ΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π»ΠΈ ΠΎΠ½Π° Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π—Π²ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°ΠΊΠΎΠΌΠΎ? ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ программисту ΠΎΡ‡Π΅Π½ΡŒ тяТСло ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡƒΡΠΏΠ΅Π²Π°Ρ‚ΡŒ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΡƒ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ.

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ β€” Ρ‚ΠΈΠΌΠ»ΠΈΠ΄, ΠΏΠΎΠ΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ трудится ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π·Π½ΠΎΠ³ΠΎ уровня? Π’ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ люди? БСспокоит Π»ΠΈ вас Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ΠΈ Π½Π°ΠΏΠΈΡˆΡƒΡ‚, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ вашим стандартам? ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΡΡ‚ Π»ΠΈ ваши Π΄Π½ΠΈ Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ… Ρ‡ΡƒΠΆΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° эти ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π² основном, ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ соблюдСния стандартов, Π° Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ?

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. qgvqeoxevihpbwwmwuogpsfc ow. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-qgvqeoxevihpbwwmwuogpsfc ow. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° qgvqeoxevihpbwwmwuogpsfc ow. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Автор этого ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ сталкивался со всСм Ρ‚Π΅ΠΌ, Ρ‡Π΅ΠΌΡƒ посвящСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ вопросы. Π’ΠΎ, с Ρ‡Π΅ΠΌ ΠΎΠ½ столкнулся, утомляСт ΠΈ ΠΈΠ·ΠΌΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚. Π—Π΄Π΅ΡΡŒ ΠΎΠ½ Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± инструмСнтах, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… позволяСт Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

А ΠΈΠΌΠ΅Π½Π½ΠΎ, здСсь ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ ΠΎ Ρ‚Π°ΠΊΠΈΡ… срСдствах ΠΊΠ°ΠΊ Prettier, ESLint, Husky, Lint-Staged, EditorConfig, ΠΎΠ± Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ форматирования ΠΈ Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, Π² основном, Π½Π° React-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π½ΠΎ рассмотрСнныС здСсь ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² любом Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’ΠΎΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π³Π΄Π΅, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, собрано Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ Ρ‚ΡƒΡ‚ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ.

Prettier

Prettier β€” это срСдство для форматирования ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Ρ†Π΅Π»Π΅Π½ΠΎ Π½Π° использованиС Тёстко Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Оно Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ автоматичСски. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит.

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. image loader. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Prettier Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄, слСдуя ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ

β–Π‘ΠΈΠ»ΡŒΠ½Ρ‹Π΅ стороны Prettier

Π’ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ возмоТности ΠΈ особСнности Prettier ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ полСзности этого инструмСнта:

▍Настройка Prettier

Установим ΠΏΠ°ΠΊΠ΅Ρ‚ prettier Π² качСствС зависимости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

Благодаря этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π² package.json Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° запись ΠΎ зависимости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая выглядит Ρ‚Π°ΠΊ:

Π’ этот Ρ„Π°ΠΉΠ» внСсём ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ (ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΎΡ‚ нСприглядном Π²ΠΈΠ΄Π΅):

Как это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ? БущСствуСт Ρ‚Ρ€ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ»ΠΎΡ…ΠΎ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ эти ΠΏΡ€Π°Π²ΠΈΠ»Π°:

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚, Ссли ΠΎΠ½ΠΎ установлСно Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° настроСны, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± этом скриптС:

Запустим скрипт ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ стало послС этого с ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΠ»ΠΎΡ…ΠΎ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. image loader. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ форматирования ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Prettier

На этом Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ с Prettier ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ. ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Π»ΠΈΠ½Ρ‚Π΅Ρ€Π°Ρ….

ESLint

Π›ΠΈΠ½Ρ‚ΠΈΠ½Π³ β€” это Π²ΠΈΠ΄ статичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для нахоТдСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² проСктирования ΠΈΠ»ΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ слСдуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ руководствам ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° языков программирования, ΠΈΠ½ΠΎΠ³Π΄Π° компиляторы Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³ Π² процСсс компиляции ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° взято со страницы ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± опСнсорсном Π»ΠΈΠ½Ρ‚Π΅Ρ€Π΅ для JavaScript ESLint, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ.

▍ЗачСм Π½ΡƒΠΆΠ΅Π½ Π»ΠΈΠ½Ρ‚Π΅Ρ€ для JavaScript?

Π’Π°ΠΊ ΠΊΠ°ΠΊ JavaScript β€” это динамичСский язык программирования со слабой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΠ΄, написанный Π½Π° Π½Ρ‘ΠΌ, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ. JavaScript β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык, поэтому синтаксичСскиС ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ошибки Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС запуска этого ΠΊΠΎΠ΄Π°.

Π›ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ESLint, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΊΠΎΠ΄Π΅, Π½Π΅ запуская Π΅Π³ΠΎ.

β–ΠŸΠΎΡ‡Π΅ΠΌΡƒ ESLint β€” это особСнный инструмСнт?

Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ этого Ρ€Π°Π·Π΄Π΅Π»Π° вынСсСн Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ вопрос. Π”Π΅Π»ΠΎ Ρ‚ΡƒΡ‚ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ESLint ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹. Π’Π°ΠΊ, ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚. Всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. КаТдоС добавляСмоС Π² систСму ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎ, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ оповСщСния Π² соотвСтствии с ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€” это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ (warning) ΠΈΠ»ΠΈ ошибка (error).

ΠŸΡ€ΠΈ использовании ESLint Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настраиваСмой систСмой, способной ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ вашС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ свода ΠΏΡ€Π°Π²ΠΈΠ» Π²Ρ‹ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ.

Π‘Ρ€Π΅Π΄ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… руководств ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅, вСсьма популярныС:

Π­Ρ‚ΠΎ руководство Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ поддСрТиваСтся β€” взглянитС Π½Π° Π΅Π³ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub. Π—Π΄Π΅ΡΡŒ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ», основанный ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½Ρ‘ΠΌ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ обсудим Ρ€ΠΎΠ»ΡŒ прСдставлСнных здСсь ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²:

Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру:

Рассмотрим Π±Π»ΠΎΠΊΠΈ этого Ρ„Π°ΠΉΠ»Π°, прСдставлСнныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ:

Π—Π΄Π΅ΡΡŒ Π·Π°Π΄Π°Π½Ρ‹ Ρ‚Ρ€ΠΈ ΠΏΠ°ΠΏΠΊΠΈ:

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. image loader. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Запуск скрипта lint

Если Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ скрипт ( yarn lint:write ), Ρ‚ΠΎ ESLint Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, которая Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ€Π°Π½ΡŒΡˆΠ΅. ЕдинствСнноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ систСма попытаСтся ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ошибки, постараСтся привСсти ΠΊΠΎΠ΄ Π² ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ пристойный Π²ΠΈΠ΄.

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ESLint для VS Code

Π£ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ настроСнныС Prettier ΠΈ ESLint, Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ возмоТностями этих инструмСнтов, Π½Π°ΠΌ приходится Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипты. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ-Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, поэтому ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. А ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π±Ρ‹ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ сохранСния Ρ„Π°ΠΉΠ»Π° Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

Рассмотрим Π΅Π³ΠΎ содСрТимоС.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ свои ощущСния, Ссли Π±Ρ‹ ΠΊ Π²Π°ΠΌ ΠΏΠΎΠΏΠ°Π» ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² 20000 строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ это Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Вакая Ρ€Π°Π±ΠΎΡ‚Π° заняла Π±Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, мСсяц. А с ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… срСдств Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ всё это дСлаСтся сСкунд Π·Π° Ρ‚Ρ€ΠΈΠ΄Ρ†Π°Ρ‚ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, послС настройки всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ сохраняСтС Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ сам позаботится ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако Ρ‚ΡƒΡ‚ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VS Code. Π’ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π² вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. НичСго ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Π² этом Π½Π΅Ρ‚, Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всСм ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΌ придётся ΠΏΠΎΠ·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π΅Ρ‰Ρ‘ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Husky

ΠŸΠ°ΠΊΠ΅Ρ‚ Husky позволяСт Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ…ΡƒΠΊΠΈ Git. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ вас появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ дСйствия ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ ΠΊΠΎΠ΄Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ возмоТностями Husky, сначала установим этот ΠΏΠ°ΠΊΠ΅Ρ‚:

ПослС этого Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² package.json ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ commit ΠΈΠ»ΠΈ push Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ Π½Π΅ΠΊΠΈΠΉ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, выполняСт тСстированиС ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΎ Husky ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь.

Lint-staged

ΠŸΠ°ΠΊΠ΅Ρ‚ Lint-staged позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΠ½Ρ‚Π΅Ρ€Π° индСксированныС Ρ„Π°ΠΉΠ»Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠ΄Π° с ошибками.

Π›ΠΈΠ½Ρ‚ΠΈΠ½Π³ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΊΠΎΠ΄Π°. Благодаря этому ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ошибки Π½Π΅ ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ°Π»ΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΡƒΡŽ ΡΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΡƒΠ΄Π°. Однако Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слишком Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ бСссмыслСнными. Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС, Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π½ΡƒΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ планируСтся Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ.

Lint-staged позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π°Π΄ индСксированными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ поиска. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΎΠ± этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь.

Установим ΠΏΠ°ΠΊΠ΅Ρ‚ Lint-staged:

БовмСстноС использованиС Husky ΠΈ Lint-staged

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ снова, для удобства, содСрТимоС нашСго package.json :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, зная ΠΎ Husky ΠΈ Lint-staged, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… влияниС Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Git. А ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Prettier, ESLint, Husky ΠΈ Lint-staged Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

На сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ список Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ этот Ρ„Π°ΠΉΠ». Π’ Π½Π΅Π³ΠΎ, Π² частности, входят WebStorm, AppCode, Atom, Eclipse, Emacs, BBEdit ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Поясним настройки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² этом Ρ„Π°ΠΉΠ»Π΅:

Π˜Ρ‚ΠΎΠ³ΠΈ

ПолагаСм, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», Π²Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ любого ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, прСдставлСнныС здСсь, ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ порядок Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Какими инструмСнтами Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ форматирования ΠΊΠΎΠ΄Π°? Как Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ эти процСссы?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠŸΡ€Π΅Ρ‚Ρ‚ΡŒΠ΅ Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Π² VSCODE?

Π’ ΠΌΠΎΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Nuxt, Π³Π΄Π΅ ESlint ΠΈ Prettier установлСны ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, я ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° Visual Studio.

Когда я ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽ Ρ„Π°ΠΉΠ» .vue, наТимаю CMD + Shift + P ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽ » Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°», ΠΌΠΎΠΉ Ρ„Π°ΠΉΠ» Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ форматируСтся.

Мои настройки .prettierrc:

Π£ мСня Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ строк исходного ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π§Ρ‚ΠΎ я дСлаю Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

32 ΠΎΡ‚Π²Π΅Ρ‚Π°

Как я разобрался послС ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ разочарования ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Prettier пСрСстал Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² VSCode.

Π­Ρ‚ΠΎ Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π΅ΡˆΠΈΠ»ΠΎ мою ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π’ зависимости ΠΎΡ‚ вашСго случая это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Если Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ упомянул @Simin Maleki, Π½Π΅ Ρ€Π΅ΡˆΠΈΡ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ для вас, Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ваш Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ установлСн:

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш Editor: Default Formatter ΠΏΠΎΠ»Π΅ Π½Π΅ null скорСС esbenp.prettier-vscode ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ всС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ языки. Π­Ρ‚ΠΎ устранило мою ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Prettier Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваши Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ сохранСнии.

Однако установка ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ приводят ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ «Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ сохранСнии» Π² VSCode: Настройка >> ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ >> ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ >> Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. 80387c31a4fe470cb4db0f55e04759c89a204fcc. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-80387c31a4fe470cb4db0f55e04759c89a204fcc. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 80387c31a4fe470cb4db0f55e04759c89a204fcc. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Иногда prettier пСрСстаСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ синтаксичСскиС ошибки. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ошибки, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ x Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ рядом с Prettier.

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. 68aa3940d82fcbf829d19fdadfa5cea3f0d08a69. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-68aa3940d82fcbf829d19fdadfa5cea3f0d08a69. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 68aa3940d82fcbf829d19fdadfa5cea3f0d08a69. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ prettier Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ мою ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ

Π― Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Vue, Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Ρ‚Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π£ мСня ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ настройки

РСшСниС ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ я всС настроил ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ:

Π― Π½Π΅ знаю ΠΏΠΎΡ‡Π΅ΠΌΡƒ Editor: Format on Save установлСн Π² true Π±Ρ‹Π»ΠΎ нСдостаточно. МнС Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ форматирования ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ описанныС Π²Ρ‹ΡˆΠ΅ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π».

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. 53230122245bcb96bc2289d428a09817e77fa65e. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-53230122245bcb96bc2289d428a09817e77fa65e. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 53230122245bcb96bc2289d428a09817e77fa65e. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π― столкнулся с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΈ эти Ρ‚Ρ€ΠΈ шага Ρ€Π΅ΡˆΠΈΠ»ΠΈ мою ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ: prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. 67bcf8d89fc022b2ddf17ee3ccdfef8249966329. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-67bcf8d89fc022b2ddf17ee3ccdfef8249966329. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 67bcf8d89fc022b2ddf17ee3ccdfef8249966329. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ этот Ρ€Π°Π·Π΄Π΅Π» Π² свой Ρ„Π°ΠΉΠ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… настроСк?

prettier.disableLanguages ​​(ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: [«vue»])

Бписок ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² языков для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этого Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ. ВрСбуСтся ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ языка, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ вмСсто запуска любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ срСдства форматирования.

Π—Π°Ρ‚Π΅ΠΌ я понял, Ρ‡Ρ‚ΠΎ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ установил Format On Save Mode Π½Π° modification Π° Π½Π΅ ΠΎΠ± этом ΠΈ Π·Π°Π±Ρ‹Π». Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² Ρ„Π°ΠΉΠ»Π°Ρ… HTML Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ, ΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΈ измСнСния. ВСрнСмся ΠΊ file Ρ€Π΅ΡˆΠΈΠ» вопрос.

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. 46db64fc2479068a4de18a5ed26b9ba6a0cce799. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-46db64fc2479068a4de18a5ed26b9ba6a0cce799. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 46db64fc2479068a4de18a5ed26b9ba6a0cce799. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Ρƒ вас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, нСсмотря Π½Π° всС эти настройки. Π’ этом случаС, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π΅, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ красивоС ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ строкС состояния Π² VSCode.

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. 49b1982cc5636c90753f37b2272a7a9430b8ac1f. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-49b1982cc5636c90753f37b2272a7a9430b8ac1f. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 49b1982cc5636c90753f37b2272a7a9430b8ac1f. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° этот статус панСль Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ HTML. Для мСня ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ мСня Π±Ρ‹Π» div Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π³Π° ap, ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ я полагаю, Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ соглашСния prettier / VSCode. Когда я ΡƒΠ΄Π°Π»ΠΈΠ» Π΅Π³ΠΎ (ΠΈ Π² сочСтании со всСми Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ настройками, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈ сохранСнии ), я стал Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

.prettierrc Π½Π΅ трСбуСтся, Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ настройки VSCode.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ «Ρ„орматирования ΠΏΡ€ΠΈ сохранСнии» Π² VSCode: Настройка >> ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ >> ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ >> Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρƒ мСня сработало!

Для мСня это Π±Ρ‹Π»ΠΎ связано с ESlint, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Prettier. Eslint Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» (ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ локальной установки ΠΈ глобальной установки), Ρ‡Ρ‚ΠΎ сломало Prettier.

Если Prettier автоматичСски Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΡ€ΠΎΠΌΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² HTML, ΠΏΡ€ΠΈ сохранСнии:

НаТмитС Cmd + P ΠΈΠ»ΠΈ ΠΆΠ΅ Ctrl + P Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π² Π½Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:

НаТмитС Π½Π° Preferences: Open Settings (JSON) ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, сущСствуСт Π»ΠΈ ΠΊΠ»ΡŽΡ‡. Если ΠΊΠ»ΡŽΡ‡ сущСствуСт ΠΈ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° использованиС Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ форматирования, установлСнного Π² Visual Studio Code, Π²Π°ΠΌ слСдуСт ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Prettier.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Prettier Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…: Ρ‚Ρ€Π°Ρ‚ΠΈΠΌ 20 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π° настройку, Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ навсСгда

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ дСнь для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ: ΠΊΠΎΡ„Π΅, ΠΊΠΎΠ΄ΠΈΠ½Π³, всё ΠΌΠΈΡ€Π½ΠΎ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, β€” Π° ΠΏΠΎΡ‚ΠΎΠΌ, Π±Π°Ρ†, ΠΈ наступаСт ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выясняСтся, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Π³Π΄Π΅-Ρ‚ΠΎ поставил скобочки Π½Π΅ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ Π½Π΅ пСрСнСс Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΡƒΡŽ строчку.

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. image loader. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π“ΠΎΠ΄ Π½Π°Π·Π°Π΄ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ Π² Skyeng ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»Π°ΡΡŒ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ…ΠΎΠ»ΠΈΠ²Π°Ρ€Π°ΠΌΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π΅Π²ΡŒΡŽ. Но Π·Π°Ρ‚Π΅ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ большС всСх Π±ΠΎΠ»Π΅Π»ΠΎ, сказал: Β«Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠΈΠ²Π΅ΠΌ Π½Π° Prettier’e, согласны?Β» Π—Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ мСсяцы рСбята Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π»ΠΈ вопрос ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ эта ΡˆΡ‚ΡƒΠΊΠ° стоит Π½Π° всСм ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° β€” ΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ каТдая ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая Ρ‚ΡƒΠ΄Π° Π·Π°Π΅Π·ΠΆΠ°Π΅Ρ‚.

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. vzsjjwb9wbtvsoycwfsos s3vic. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-vzsjjwb9wbtvsoycwfsos s3vic. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° vzsjjwb9wbtvsoycwfsos s3vic. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Prettier – инструмСнт для автоформатирования ΠΊΠΎΠ΄Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΡƒΡ‡ΠΈ инструмСнтов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ наши Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ Angular ΠΈ Typescript. Он Π½Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄, Π½Π΅ замСняСт Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π½Π° if’ы ΠΈ Π½Π΅ Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ строки Π½Π° нСсколько ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… (ΠΎΠ± этом ΡƒΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ), Π° просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, с Π½ΡƒΠΆΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

Как Π±Ρ‹Π»ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅

На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² Skyeng Π±Ρ‹Π»ΠΎ ΡƒΠΆΠ΅ нСсколько дСсятков Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ мСсяц ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ 10-20 Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ВсС Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ (ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚) Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… β€” каТдая, фактичСски, считаСтся нСзависимой β€œΠ±ΠΎΠ΅Π²ΠΎΠΉ СдиницСй” со своими Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΈ договорСнностями.

Π”Π°Π²Π°ΠΉΡ‚Π΅ прСдставим ΠΎΠ΄Π½Ρƒ Ρ‚Π°ΠΊΡƒΡŽ β€” бСзусловно, всС совпадСния случайны, β€” ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Борис – ΠΌΠΈΠ΄Π΄Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡˆΡ‘Π» ΠΊ Π½Π°ΠΌ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ большой ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π£ Π½ΠΈΡ… Π±Ρ‹Π» свой стайл-Π³Π°ΠΉΠ΄, Π½ΠΎ ΠΎΠ½ стараСтся ΠΏΠ΅Ρ€Π΅ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° наш: Π² Ρ†Π΅Π»ΠΎΠΌ, справляСтся, Π½ΠΎ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎ части форматирования Π½Π΅ Ρ‚Π°ΠΊ ΠΈ ΡƒΠ·Π½Π°Ρ‘Ρ‚ ΠΎΠ± этом Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ. ΠœΠ΅Π»ΠΎΡ‡ΡŒ, Π½ΠΎ нСприятно.

ПавСл – Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Π—Π½Π°Π΅Ρ‚ своё Π΄Π΅Π»ΠΎ, всСгда выполняСт Π·Π°Π΄Π°Ρ‡ΠΈ качСствСнно ΠΈ Π² срок, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΏΡ€ΠΎΡ‡ΡŒ Π·Π°Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎ договорСнности ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ ΠΏΠΎ-своСму. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π½Π΅ вписываСтся Π² большой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ…ΠΎΡ‚ΡŒ ΠΈ написан качСствСнно ΠΈ со вкусом.

Артур – пСрфСкционист с философиСй «чистый ΠΊΠΎΠ΄ – понятный ΠΊΠΎΠ΄Β»: Π²Π΅Ρ‡Π½ΠΎ парится ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΊΠΎΠ΄-стайла. БСзусловно, ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ ΠΊΠΎΠ΄ ΠΊΠΎΠ»Π»Π΅Π³ с ΠΊΡƒΡ‡Π΅ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΎΠ² «здСсь пСрСнСситС Ρ„ΠΈΠ³ΡƒΡ€Π½ΡƒΡŽ скобочку Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строчку» β€” ΠΈ Борис ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ врСмя Π½Π° ΠΏΡ€Π°Π²ΠΊΠΈ, Π° ПавСл – Π½Π° споры уровня Β«Ρ‚Π΅Π±Π΅ Π½Π΅ нравится, Ρ‚Ρ‹ ΠΈ мСняй».

prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. bhhjmmgorw 3onz9r2bmppnbf10. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄-bhhjmmgorw 3onz9r2bmppnbf10. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prettier Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° bhhjmmgorw 3onz9r2bmppnbf10. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° – Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых, Π½ΠΎ соврСмСнныС инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Как стало

Π—Π°Π΄Π°Ρ‡Π° Prettier – Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ: Π² Π½Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ настроСк. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄ΠΊΡƒΠΏΠΈΠ»ΠΎ Павла, ΠΊΠΎΠ³Π΄Π° Артур ΠΊΠΈΠ½ΡƒΠ» Π² Ρ‡Π°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ссылку Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

β€” поставил сам Prettier,
β€” поставил ΠΏΡ€Π΅-ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ…ΡƒΠΊ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅),
β€” оставил Π² Ρ‡Π°Ρ‚Π΅ ΠΏΠ°Ρ€Ρƒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄-стайл Ρ‚Π°ΠΌ свой (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² if’ах ставятся Π² ΠΊΠΎΠ½Ρ†Π΅ строки, Π° Π½Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅).

Всё, Ρ‚Π°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° Π½Π° Prettier. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΎ примСнСния Prettier ΠΈ послС. Он Ρ‡ΡƒΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ возмоТности этого инструмСнта.

Π”Π°ΠΆΠ΅ Ссли Π±Ρ‹ это Π±Ρ‹Π»ΠΎ написано Π² ΠΎΠ΄Π½Ρƒ строку, ΠΎΠ½ΠΎ всё Ρ€Π°Π²Π½ΠΎ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ:

Π•Ρ‰Ρ‘ кусочСк ΠΊΠΎΠ΄Π°, ΡƒΠΆΠ΅ Π±Π΅Π· Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой. Π”ΠΎ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ быстрСС, Борис Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ ΠΊΡƒΡ‡Ρƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠΆΠ΅ написанного ΠΊΠΎΠ΄Π°, ПавСл ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΈ писал (Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ с Π½ΠΈΠΌ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ругаСтся), Π° Артур Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½, заходя Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΡƒΠ»Ρ‹Π±Π°ΡΡΡŒ ΠΎΡ‚ красоты ΠΊΠΎΠ΄Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ простой инструмСнт с фСвраля 2019-Π³ΠΎ, рСбята сэкономили ΠΊΡƒΡ‡Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, пСрСстав ΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ ΠΈΠ·-Π·Π° форматирования. А Π·Π°Ρ‚Π΅ΠΌ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *