Notice
Recent Posts
Recent Comments
Link
ยซ   2024/12   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Lennon FE

[๋ฆฌ์•กํŠธ ์ฝ”๋“œ ์ปจ๋ฒค์…˜] ESLint, Prettier, airbnb style guide๋กœ ์„ค์ •ํ•˜๊ธฐ ๋ณธ๋ฌธ

๐Ÿง‘‍๐Ÿ’ป Web/React

[๋ฆฌ์•กํŠธ ์ฝ”๋“œ ์ปจ๋ฒค์…˜] ESLint, Prettier, airbnb style guide๋กœ ์„ค์ •ํ•˜๊ธฐ

Lennon 2022. 1. 5. 02:38
728x90
๋ฐ˜์‘ํ˜•

ESLint

 

๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด ์—๋Ÿฌ ๋ฐ ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ ํ•ด์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

 

Prettier

 

๋ณธ๋ž˜ ์Šคํƒ€์ผ ๋Œ€์‹  ๊ทœ์น™์„ ์ •ํ•ด ๊ทœ์น™๋Œ€๋กœ ๋‹ค์‹œ ์ž‘์„ฑํ•ด ์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

์ข‹์€ ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด ํ•œ ๋ฒˆ ์ ์šฉํ•ด๋ด…์‹œ๋‹ค.

 

 

์šฐ์„  vscode์— ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ESLint, Prettier ๋‘ ๊ฐœ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

CRA๋ฅผ ์ด์šฉํ•ด ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

Prettier

 

๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ(์ตœ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ)์—. prettierrc ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

 

.prettierrc

{
  "trailingComma": "all", 
  // es5 => ํ•จ์ˆ˜,๊ฐ์ฒด ์‚ฌ์šฉ์‹œ ์‰ผํ‘œ, none => ์‰ผํ‘œ x, "all" ํ•จ์ˆ˜ ์‚ฌ์šฉ, ์ธ์ž ์ „๋‹ฌ์‹œ์—๋„ ์‰ผํ‘œ 
  "tabWidth": 2, 
  // ํƒญ ์‚ฌ์ด์ฆˆ ์ง€์ • 
  "semi": true, 
  // ์„ธ๋ฏธํด๋ก ์„ ์‚ฌ์šฉํ• ์ง€ ๋ง์ง€ 
  "singleQuote": true 
  // ๋ฌธ์ž์—ด ์ž…๋ ฅ์‹œ "", '' ๋‘˜ ์ค‘ ๋ญ˜๋กœ ํ• ์ง€
}

 

์ด๊ฑด ๊ฐœ์ธ์˜ ์„ฑํ–ฅ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ 

https://prettier.io/docs/en/configuration.html ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ ์ž…๋ง›์— ๋งž๊ฒŒ ์„ค์ •ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

(ํŒ€์›๊ณผ ํ˜‘์—…ํ•  ์‹œ ๊ฐ™์ด ๋งž์ถฐ์ฃผ๋Š” ๊ฒŒ ์ข‹๊ฒ ์ฃ ?)

 

๊ทธ ํ›„ vscode ์„ค์ •์— ๋“ค์–ด๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

Windows: Ctrl + ,  ์„ธ ํ‚ค๋ฅผ ํ•จ๊ป˜ ๋ˆ„๋ฅธ๋‹ค.

Mac: Cmd + , ์„ธ ํ‚ค๋ฅผ ํ•จ๊ป˜ ๋ˆ„๋ฅธ๋‹ค.

 

๋“ค์–ด๊ฐ€์„œ format on save ๊ฒ€์ƒ‰ ํ›„ ์ฒดํฌ๊ฐ€ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค!

 

์—ฌ๊ธฐ๊นŒ์ง€ ํ–ˆ์œผ๋ฉด ์œ„์— ์ง€์ •ํ•œ ๋Œ€๋กœ ์ €์žฅํ•  ๋•Œ๋งˆ๋‹ค ์ˆ˜์ •๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ESLint

$ yarn add eslint-config-airbnb
$ yarn add eslint-config-prettier

 

ํ„ฐ๋ฏธ๋„์— ๋‘ ๋ช…๋ น์–ด๋กœ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ ํ›„ package.json์— ๋“ค์–ด๊ฐ€ "eslintConfig"๋ฅผ ์•„๋ž˜ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •ํ•ด์ค๋‹ˆ๋‹ค.

 

  "eslintConfig": {
    "extends": [
      "react-app",
      "airbnb",
      "prettier"
    ],
    "rules": {
      "react/jsx-filename-extension": 0, // ๋ฆฌ์•กํŠธ ํŒŒ์ผ์˜ ํ™•์žฅ์ž .jsx๊ฐ€ ์•„๋‹Œ .js ํ—ˆ์šฉ
      "no-unused-vars": 1 // ํฐ ๋ฌธ์ œ ์—†๋Š” ๊ฒฝ๊ณ  ์ˆ˜์ค€์€ ์ดˆ๋ก์ƒ‰์œผ๋กœ
    }
  },

 

์ด์ œ airbnb ๋ฒ ์ด์Šค์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋“ค ์ข‹์€ ์ฝ”๋“œ ์ž‘์„ฑํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!

728x90
๋ฐ˜์‘ํ˜•
Comments