Skip to content

Eslint Prettier

๋‚จ์ •ํ˜ธ edited this page Nov 12, 2019 · 2 revisions

eslint

node

  1. ์„ค์น˜
npm install eslint-plugin-import eslint-config-airbnb-base --save-dev
  1. config ์„ค์ •

.eslintrc

module.exports = {
    "parserOptions": {
        "ecmaVersion": 9
    },
    "extends": ["airbnb-base", "prettier"],
    "env": {
        "browser": true,
        "node": true,
    },
    "plugins": ['import', "prettier"],
    "rules": {
        "prettier/prettier": "error"
    }
};

.prettier

{  
  "singleQuote": true, // " " ๋Œ€์‹  ' ' ๋ฅผ ์‚ฌ์šฉ
  "semi": true, // ๋ฌธ์žฅ ๋์—๋Š” ; ๋ฅผ ๋ถ™์—ฌ์คŒ
  "useTabs": false, // ํƒญ์„ ๋ˆ„๋ฅด๋ฉด tab์ด ์•ˆ๋˜๊ณ  ์ŠคํŽ˜์ด์Šค ์—ฌ๋Ÿฌ ์นธ์ด ๋“ค์–ด๊ฐ
  "tabWidth": 2, // ํƒญ ๊ฐ„๊ฒฉ์„ ์ŠคํŽ˜์ด์Šค 2์นธ์œผ๋กœ ํ•จ
  "trailingComma": "all", // ๊ฐ์ฒด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ ๋’ค์— , ๋ฅผ ๋ถ™์—ฌ์คŒ
  "printWidth": 80 // ํ•œ ์ค„์˜ ๊ธธ์ด๊ฐ€ 80์„ ๋„˜์ง€ ์•Š๋„๋ก ํ•จ
}

settings.json

{
    ...
    "editor.formatOnSave": true,
    "eslint.autoFixOnSave": true
}

react

  1. npm ํŒจํ‚ค์ง€ ์„ค์น˜
npm install --save-dev eslint-config-airbnb eslint eslint-plugin-jsx-a11y eslint-plugin-import eslint-plugin-react eslint-plugin-react-hooks eslint-config-prettier prettier
  1. config ์„ค์ • .eslintrc.js

    module.exports = { extends: ['react-app', 'airbnb', 'airbnb/hooks', 'prettier'], plugins: ['react', 'jsx-a11y', 'import', 'prettier'], rules: { 'react/jsx-one-expression-per-line': 0, 'react/jsx-filename-extension': 0, 'prettier/prettier': 'error', }, };

.prettier

{  
  "singleQuote": true, // " " ๋Œ€์‹  ' ' ๋ฅผ ์‚ฌ์šฉ
  "semi": true, // ๋ฌธ์žฅ ๋์—๋Š” ; ๋ฅผ ๋ถ™์—ฌ์คŒ
  "useTabs": false, // ํƒญ์„ ๋ˆ„๋ฅด๋ฉด tab์ด ์•ˆ๋˜๊ณ  ์ŠคํŽ˜์ด์Šค ์—ฌ๋Ÿฌ ์นธ์ด ๋“ค์–ด๊ฐ
  "tabWidth": 2, // ํƒญ ๊ฐ„๊ฒฉ์„ ์ŠคํŽ˜์ด์Šค 2์นธ์œผ๋กœ ํ•จ
  "trailingComma": "all", // ๊ฐ์ฒด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ ๋’ค์— , ๋ฅผ ๋ถ™์—ฌ์คŒ
  "printWidth": 80 // ํ•œ ์ค„์˜ ๊ธธ์ด๊ฐ€ 80์„ ๋„˜์ง€ ์•Š๋„๋ก ํ•จ
}

settings.json

{
    ...
    "editor.formatOnSave": true,
    "eslint.autoFixOnSave": true
}

** extends์— 'react-app'์ด ์žˆ์œผ๋ฉด .eslintrc.js ํŒŒ์ผ์ด ์žˆ๋Š” ๊ณณ์„ root๋กœ ์—ด์–ด์•ผ์ง€ ์—๋Ÿฌ๊ฐ€ ์•ˆ๋‚ฉ๋‹ˆ๋‹ค.

Clone this wiki locally