Html5-boilerplate: RFC : ESLint๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์— ๋งŒ๋“  2016๋…„ 12์›” 31์ผ  ยท  19์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: h5bp/html5-boilerplate

ESLint๋Š” JS ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋งŽ์€ ๊ด€์‹ฌ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. eslint ๋กœ์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ™˜์˜ํ• ๊นŒ์š”?

awaiting feedback backlog help wanted

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ๋Œ€๋‹จํ•œ ์ผ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ฐจ์ž„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ?

@amilajack PR ์ œ์•ˆ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  19 ๋Œ“๊ธ€

๋ˆ„๊ตฐ๊ฐ€? ๋‚˜๋Š” ํ˜„์ƒ ์œ ์ง€์— ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค. ESLint๋Š” ํ›Œ๋ฅญํ•˜์ง€๋งŒ ๋ณ€๊ฒฝ์„ ํ™•์‹  ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค (๊ทธ๋Ÿฌ๋ฉด ๋ˆ„๊ตฐ๊ฐ€ PR์—์„œ ๋ณ€๊ฒฝ์„ _ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.) ๋‚˜๋Š” ์ด๊ฒƒ์„ ํ•œ ์ฃผ ๋™์•ˆ ์—ด์–ด๋‘๊ณ  ์•„๋ฌด ์กฐ์น˜๊ฐ€ ์—†์œผ๋ฉด ๋งˆ๊ฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ์œ„ํ•ด PR ํ•  ์ˆ˜์žˆ๋‹ค. ESLint๋Š” ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

http://www.npmtrends.com/eslint-vs-jshint

screen shot 2017-03-18 at 11 04 30 am

@roblarsen ๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด @amilajack ์˜ ํŽธ์— ์™„์ „ํžˆ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ์›น์—์„œ ์ˆ˜์ง‘ ํ•œ ๋ฐ์ดํ„ฐ์™€ ๋‘˜์„ ๊ฐ„๋‹จํžˆ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ๋Œ€๋‹จํ•œ ์ผ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ฐจ์ž„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ?

@amilajack PR ์ œ์•ˆ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@roblarsen ์ฒœ๋งŒ ์—์š”!
@amilajack ๋„์›€์ด ํ•„์š”ํ•˜๋ฉด ์–ธ์ œ๋“ ์ง€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์ฃผ์„ธ์š”. : construction_worker :

@amilajack ์•„์ง ์ž‘์—… ์ค‘์ž…๋‹ˆ๊นŒ?

@ryzokuken ์ œ๊ฐ€ ์‚ดํŽด๋ณด๊ณ 

ESLint ์œ„์— ์ถ”๊ฐ€ ๋œ Standard ์™€ ๊ฝค ์ธ๊ธฐ๊ฐ€์žˆ๋Š”

@ArmorDarks ๋‚ด๊ฐ€ ์Šคํƒ ๋‹ค๋“œ ์Šคํƒ€์ผ์„ ์ข‹์•„ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๊ทธ๊ฒƒ์„ ๋”ฐ๋ฅด๋„๋ก ๊ฐ•์š”ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋งŽ์€ ์ง€์‹์ด๋‚˜ ๊ฒฝํ—˜์ด์—†๋Š” ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ๋กœ ์ธํ•ด ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์ถ”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๋ฌธ์ œ๊ฐ€ ์ฆ๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์œ ์—ฐ์„ฑ์„ ์ข‹์•„ํ•˜๋Š”๋งŒํผ ๊ทธ๋Ÿฌํ•œ ํŠน์ „์—๋Š” ๋Œ€๊ฐ€๊ฐ€ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ทธ ๋Œ€๊ฐ€๋ฅผ ์ง€๋ถˆ ํ•  ์˜ํ–ฅ์ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค. ์—„๊ฒฉํ•œ ๊ทœ์น™์€ ๊ฑฐ์˜ ํ•ญ์ƒ ํ”„๋กœ์ ํŠธ๊ฐ€ ์„ฑ์žฅํ•˜๋”๋ผ๋„ ์ฝ”๋“œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋” ์•ˆ์ •์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋˜ํ•œ, ์„ธ๋ฏธ์ฝœ๋ก ์ด ์ธ๊ธฐ๋ฅผ ๋Œ๋ฉด์„œ Airbnb์˜ JavaScript ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ์˜ˆ๋กœ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. GitHub์—์„œ ๊ฐ€์žฅ ๋ณ„ํ‘œ๋ฅผ๋ฐ›์€ ์ €์žฅ์†Œ ์ค‘ ํ•˜๋‚˜์ด๊ณ  NPM์—์„œ ๋‹ค์šด๋กœ๋“œ ์ˆ˜๊ฐ€ ๋” ๋งŽ์Šต๋‹ˆ๋‹ค. [1] [2] [3] [4]

๋˜ํ•œ ์ด๋ฏธ ์„ธ๋ฏธ์ฝœ๋ก ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  JavaScript ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. [5] [6]

๋”ฐ๋ผ์„œ ์ €๋Š”์ด ์ฃผ์ œ๊ฐ€ ์ž์ „๊ฑฐ ํ˜๋ฆด ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฐธ์กฐ :

[1] https://github.com/airbnb/javascript
[2] https://www.npmjs.com/package/eslint-config-airbnb-base
[3] https://www.npmjs.com/package/eslint-config-airbnb
[4] https://www.npmjs.com/package/eslint-config-standard
[5] https://github.com/h5bp/html5-boilerplate/blob/master/gulpfile.babel.js
[6] https://github.com/h5bp/html5-boilerplate/blob/master/src/js/plugins.js

์–ด์จŒ๋“  ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ถ„์Ÿ์œผ๋กœ ๊ท€๊ฒฐ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹จ์ง€ ์ „ํˆฌ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์นœ ๋Œ€์•ˆ์„ ์ œ์•ˆํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Btw, ์–ด๋–ค ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋“  ์ƒ๊ด€์—†์ด (ํ”„๋กœ์ ํŠธ ์ž์ฒด ๊ทœ์น™์ด์žˆ๋Š” ESLint์ด๋“ , airbnb์™€ ๊ฐ™์€ ์ธ๊ธฐ์žˆ๋Š” ESLint ๊ตฌ์„ฑ์ด๋“ , ํ‘œ์ค€์ด๋“ ) _ ์–ด์จŒ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ๋”ฐ๋ผ์•ผ ํ•  ๋ฌด์–ธ๊ฐ€๋ฅผ ์‹œํ–‰ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค _. ๋”ฐ๋ผ์„œ ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ์‹œํ–‰ํ• ์ง€์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ด ์‹œ์ ์—์„œ ๋‚˜๋Š” ์ตœ์†Œํ•œ์˜ ์ค‘๋‹จ์œผ๋กœ eslint๋กœ ์ „ํ™˜ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ตœ์†Œํ•œ ์ƒˆ๋กœ์šด ๊ทœ์น™์ด ๋ฌด์—‡์ด์–ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋…ผ์˜์—†์ด ์šฐ๋ฆฌ๊ฐ€ ํ˜„์žฌ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ๊ธฐ์กด ๊ทœ์น™์„ ์—†์• ๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค (์ด๊ฒƒ์ด eslint์— ๋Œ€ํ•œ ๊ธฐ์กด PR์ด DOA ์ธ ์ด์œ ์ž…๋‹ˆ๋‹ค).

์˜ˆ๋ฅผ ๋“ค์–ด ์ €๋Š” ์„ธ๋ฏธ์ฝœ๋ก  ์–ธ๋•์—์„œ ์ฃฝ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ, ๊ทœ์น™ ์„ธํŠธ์˜ ์‹ค์ œ ์†Œ๋น„์ž๋Š” ๊ด€๋ฆฌ์ž์™€ ์–‘์‹ฌ์ ์œผ๋กœ PR์„ ๋งŒ๋“ค๊ณ  ์‹ค์ œ๋กœ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์œผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” dist์—์„œ eslintrc ๋ฅผ ๋ฐฐ์†กํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ธก๋ฉด์—์„œ ์ง„์ •ํ•œ ์ด์ ์€ ์šฐ๋ฆฌ๊ฐ€ _ ํ•ด๋‚ด ๊ณ  _ ์ข‹์€ ์›น ๊ฐœ๋ฐœ์ž๊ฐ€ ์–ด๋–ค ๋ชจ์Šต์ด์–ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์˜ˆ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ €๋Š” ์„ธ๋ฏธ์ฝœ๋ก  ์–ธ๋•์—์„œ ์ฃฝ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ์ •๊ทœ์‹์œผ๋กœ ๋ช‡ ๋ฒˆ์˜ ์ŠคํŠธ๋กœํฌ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์‚ฌ์šฉํ•˜๋“  ์•ˆํ•˜๋“  ์ •๋ง ๊ณ ํ†ต์Šค๋Ÿฌ์šด ์ฃผ์ œ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค ...

์šฐ๋ฆฌ๋Š” dist์— eslintrc๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ธก๋ฉด์—์„œ ์ง„์ •ํ•œ ์ด์ ์€ ์šฐ๋ฆฌ๊ฐ€์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ข‹์€ ์›น ๊ฐœ๋ฐœ์ž๊ฐ€ ์–ด๋–ค ๋ชจ์Šต์ด์–ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์˜ˆ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์— ํฌํ•จ๋  JS ์ฝ”๋“œ๋Š” ๋‚˜์ค‘์— ๋ฆฐํŒ… ๋  ๊ฒƒ์ด๋ฉฐ ์‚ฌ๋žŒ๋“ค์€ ๊ทœ์น™์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ HTML5Boilerplate ๊ทœ์น™์„ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด JS๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ•œ JS ์ปค๋ฎค๋‹ˆํ‹ฐ ํ‘œ์ค€์— ๊ฐ€๊นŒ์›Œ ์•ผํ•˜๋Š” ์ด์œ ์ด๋ฉฐ, ๊ทœ์น™๊ณผ ์ฝ”๋“œ ์Šคํƒ€์ผ์— ํ•„์š”ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ณ€๊ฒฝ์„ ํ”ผํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋‹ค์ง€ ๋ฌธ์ œ๊ฐ€๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. Standard ๋ฐ ESLint์™€ --fix ๋Š” ๋„์ž… ๋œ ๊ทœ์น™ ์˜ค๋ฅ˜์˜ ๋Œ€๋ถ€๋ถ„์„ ์ž๋™์œผ๋กœ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

์ง„์งœ ๋ฌธ์ œ๋Š” JS ์„ธ๊ณ„์—์„œ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ‘œ์ค€์„ ๊ณ ๋ คํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ข‹์€ ์ . ์šฐ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์†Œ๋Ÿ‰์˜ JS์กฐ์ฐจ๋„ ๋‹ค์šด ์ŠคํŠธ๋ฆผ ํšจ๊ณผ๋ฅผ ์ƒ๊ธฐ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ช…ํ™•ํžˆํ•˜๊ธฐ ์œ„ํ•ด ์ €๋Š” ๋ณ€ํ™”๋ฅผ ๋ฐ˜๋Œ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒƒ์€ ํ† ๋ก ์—†์ด ์ „์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (ํ† ๋ก ์— ์ฐธ์—ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘) ์ง€๊ธˆ ๋‹น์žฅ 6.0์„ ๊ณต๊ฐœํ•˜๋Š” ๊ฒƒ์ด ์ ˆ์‹คํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ€๊ฒฝ์„ ์„œ๋‘๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค ์—ฌ๊ธฐ์— ๊ทธ๋“ค์ด ์˜ฌ๋ฐ”๋ฅธ ๋ณ€ํ™”๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด.

ํ•œ ๊ฐ€์ง€ ์˜ต์…˜์€ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋ฅผ๋ณด๊ณ ํ•˜์ง€๋งŒ ์Šคํƒ€์ผ ์„ ํ˜ธ๋„๋ฅผ ์‹ค์ œ๋กœ ๋ถ€๊ณผํ•˜์ง€๋Š” ์•Š๋Š” eslint:recommended ๊ตฌ์„ฑ ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ESLint๋Š” ์˜ค๋ฅ˜์™€ ๋ฒ„๊ทธ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ์—ญํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ๋Š” ์ตœ์†Œํ•œ์˜ ์ƒ์‹์ ์ธ ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ์— ์ถ”๊ฐ€ ํ•  ์œ ์ผํ•œ ์Šคํƒ€์ผ ๊ด€๋ จ ๊ทœ์น™์€ .editorconfig ๊ทœ์น™์ž…๋‹ˆ๋‹ค : ํ›„ํ–‰ ๊ณต๋ฐฑ ์—†์Œ, 4 ๊ฐœ์˜ ๊ณต๋ฐฑ ๋“ค์—ฌ ์“ฐ๊ธฐ ๋ฐ ๋งˆ์ง€๋ง‰ ์ค„ ๋ฐ”๊ฟˆ.

4 ์นธ ๋“ค์—ฌ ์“ฐ๊ธฐ

์ •๋ณด๋ฅผ ์œ„ํ•ด ๋” ์ด์ƒ 4 ๊ฐœ์˜ ๊ณต๋ฐฑ์„ ์‚ฌ์šฉํ•˜๋Š” ์ธ๊ธฐ์žˆ๋Š” ์ฝ”๋“œ ์Šคํƒ€์ผ์ด ์—†์Šต๋‹ˆ๋‹ค.

https://github.com/h5bp/html5-boilerplate/issues/1913#issuecomment -377298563 (eslint : recommend) ์ข‹์€ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๊ฐœ์ธ์ ์œผ๋กœ https://github.com/h5bp/html5-boilerplate/๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

๋†๋‹ด : https://github.com/christophwitzko/semicolon-indent#semicolon -indent

์ €๋„ Standard์™€ ํ•จ๊ป˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ทธ๋“ค์€ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ†ตํ•œ ๊ฒ€์ฆ์„ ํ†ตํ•ด ์ข‹์€ ๊ตฌ์„ฑ์„ ์œ ์ง€ํ• ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ESLint ์œ„์— ์šฐ์ˆ˜ํ•œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ณต์ •ํ•˜๊ฒŒ ๋งํ•˜๋ฉด Prettier ๋„ ์–ธ๊ธ‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด ํˆฌํ‘œ๋Š” ์—ฌ์ „ํžˆ ์Šคํƒ ๋‹ค๋“œ๋ฅผ์ง€์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋…ผ์˜์˜ ์•ž๋ถ€๋ถ„์—์„œ ์•Œ๋ฆผ

์˜ˆ๋ฅผ ๋“ค์–ด ์ €๋Š” ์„ธ๋ฏธ์ฝœ๋ก  ์–ธ๋•์—์„œ ์ฃฝ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์ด ์‚ด์•„๋‚จ์€ ๊ฒŒ์ž„์ด๋ผ๊ณ  ์ƒ์ƒํ•ด๋ณด์‹ญ์‹œ์˜ค. ์šฐ๋ฆฌ๊ฐ€ 2005 ๋…„์— ํƒญ๊ณผ ์ŠคํŽ˜์ด์Šค๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ง์ž…๋‹ˆ๋‹ค.

Btw, Prettier์— ๋Œ€ํ•ด ์–ธ๊ธ‰ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ Prettier๊ฐ€ ์œ ์ง€ํ•˜๋Š” ์ฝ”๋“œ ์Šคํƒ€์ผ์€ ๋Œ€๋ถ€๋ถ„ ์ฝ”๋“œ ์Šคํƒ€์ผ์ด๊ณ  ESLint ๊ตฌ์„ฑ (ํŠนํžˆ Standard ๊ตฌ์„ฑ)์€ ๋น„์Šคํƒ€ ์ผ์˜ ์ข‹์€ ๋˜๋Š” ๋‚˜์œ ์‚ฌ๋ก€๋„ ๋งŽ์ด ๋‹ค๋ฃจ๊ธฐ ๋•Œ๋ฌธ์— ์ข‹์€ ESLint ๊ตฌ์„ฑ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰