๐Ÿ“’[ESLint] ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•

๋ณ€ํ˜ยท2024๋…„ 5์›” 23์ผ

Front_End

๋ชฉ๋ก ๋ณด๊ธฐ
1/1
post-thumbnail

๐Ÿ“šESLint?

ESLint๋ž€ ES(EcmaScript) + Lint(์—๋Ÿฌ ์ฝ”๋“œ ํ‘œ์‹) ํ•ฉ์„ฑ์–ด๋กœ Javascript์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด ๋ฌธ๋ฒ•์ ์ธ ์˜ค๋ฅ˜๋‚˜ ์•ˆํ‹ฐ ํŒจํ„ด์„ ์ฐพ์•„์ฃผ๊ณ  ์ผ๊ด€๋œ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ์œ ์ง€(ํฌ๋งทํŒ…)ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‰ฝ๊ฒŒ ์ฝ๋„๋ก ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.


๐Ÿงฐ์„ค์น˜ ๋ฐ ์„ค์ •

๐Ÿ›  ESLint ์„ค์น˜

  • ESLint๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:
npm install eslint --save-dev

โš™ ์„ค์ • ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™”

  • ESLint ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ ํ›„ ํ™˜๊ฒฝ ์„ค์ • ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์•˜๊ธฐ์— ์ดˆ๊ธฐํ™”๋ฅผ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:
npx eslint --init 
  • ์œ„ ๋ช…๋ น์–ด ์ž…๋ ฅํ•˜๋ฉด ์—ฌ๋Ÿฌ ์„ ํƒ์ง€๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜, ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ ์—ฌ๋ถ€ ๋“ฑ์€ ๊ฐ์ž ์ƒํ™ฉ์— ๋งž๊ฒŒ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“ .eslintrc.js

module.exports = {
    "env": {
        "browser": true,
        "commonjs": true,
        "es2021": true,
        "node": true
    },
    "extends": "eslint:recommended",
    "parserOptions": {
        "ecmaVersion": 13
    },
    "rules": {
    }
};
  • env : ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์„ค์ •
  • extends : ESLint ํ™•์žฅ
  • rules : ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ๊ฐ•์ œํ•  ๊ทœ์น™ ์ •์˜


๐Ÿ“–์‚ฌ์šฉ๋ฒ•

๐Ÿ” ๊ฒ€์‚ฌํ•˜๊ธฐ

npx eslint ๊ฒ€์‚ฌํ•˜๊ณ _์‹ถ์€_ํŒŒ์ผ๋ช….js
npx eslint ๊ฒ€์‚ฌํ•˜๊ณ _์‹ถ์€_ํŒŒ์ผ๋ช….js --fix// ์ž๋™ ์ฝ”๋“œ
  • ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ ์˜ค๋ฅ˜ ํ™•์ธ ๊ฐ€๋Šฅ
  • npx eslint ์›ํ•˜๋Š”_ํŒŒ์ผ๋ช….js --fix ๋ช…๋ น์–ด๋กœ ์ž๋™ ๊ต์ •
  • ํ•˜์ง€๋งŒ, ์ด์ฒ˜๋Ÿผ ํŒŒ์ผ๋งˆ๋‹ค ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ 

๐Ÿ” ESLint ํšจ์œจ์ ์œผ๋กœ ์ด์šฉํ•˜๊ธฐ

  • ESLint ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•˜๋ฉด ์ €์žฅ ์‹œ ์ž๋™์œผ๋กœ ๊ต์ •
  • VS Code์—์„œ โ€˜ESLintโ€™ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜
  • ๊ธฐ๋ณธ ์„ค์ •(Ctrl + . ) ์ฐฝ์—์„œ โ€˜code action on saveโ€™์ž…๋ ฅ
  "editor.codeActionsOnSave": {
				  "source.fixAll": true, 
  },    
  "editor.formatOnSave": true,
  • โ€˜settings.json์—์„œ ํŽธ์ง‘โ€™์„ ๋ˆŒ๋Ÿฌ ์œ„์™€ ๊ฐ™์ด ํŒŒ์ผ ์ถ”๊ฐ€ or ์ˆ˜์ •


๐Ÿ“Œ ์ฐธ๊ณ 


โœจ๊ธฐํƒ€


0๊ฐœ์˜ ๋Œ“๊ธ€