{"componentChunkName":"component---src-templates-blog-post-js","path":"/development/ESLINT-airbnb-코드스타일-적용하기/","result":{"data":{"site":{"siteMetadata":{"title":"JULog","author":"[Ju Chan Hwang]","siteUrl":"https://julog.netlify.app","comment":{"disqusShortName":"","utterances":"JuChanHwang/gatsby-starter-bee"},"sponsor":{"buyMeACoffeeId":"jbee"}}},"markdownRemark":{"id":"0fe7bd9a-37de-54fa-b000-df21fb620d71","excerpt":"ESLint (?) Linting tools like ESLint allow developers to discover problems with their JavaScript code without executing it. The primary reason ESLint was created was to allow developers to create their own linting rules. 출처: https://eslint.org/docs/about…","html":"<h2 id=\"eslint-\" style=\"position:relative;\"><a href=\"#eslint-\" aria-label=\"eslint  permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>ESLint (?)</h2>\n<blockquote>\n<p>Linting tools like ESLint allow developers to discover problems with their JavaScript code without executing it. The primary reason ESLint was created was to allow developers to create their own linting rules.</p>\n<p>출처: <a href=\"https://eslint.org/docs/about/\">https://eslint.org/docs/about/</a></p>\n</blockquote>\n<p>쉽게 말하면 문제가 있는 패턴이나 코드를 찾기 위해 사용되는 정적 분석 툴이다. </p>\n<h2 id=\"eslint-설치하기\" style=\"position:relative;\"><a href=\"#eslint-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0\" aria-label=\"eslint 설치하기 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>ESLint 설치하기</h2>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">$ <span class=\"token builtin class-name\">cd</span> <span class=\"token operator\">&lt;</span>project-folder<span class=\"token operator\">></span>\n$ <span class=\"token function\">npm</span> init <span class=\"token parameter variable\">-y</span>\n\n$ <span class=\"token function\">npm</span> <span class=\"token function\">install</span> <span class=\"token parameter variable\">-g</span> eslint</code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">$ eslint <span class=\"token parameter variable\">--init</span>\n\n? How would you like to configure ESLint? Use a popular style guide\n? Which style guide <span class=\"token keyword\">do</span> you want to follow? airbnb\n? What <span class=\"token function\">format</span> <span class=\"token keyword\">do</span> you want your config <span class=\"token function\">file</span> to be in? JavaScript</code></pre></div>\n<p>설치를 완료했다면, airbnb 스타일을 사용하기 위해 설치해야할 다른 패키지들이 있다.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">$ <span class=\"token function\">npm</span> info <span class=\"token string\">\"eslint-config-airbnb@latest\"</span> peerDependencies\n<span class=\"token punctuation\">{</span> eslint: <span class=\"token string\">'^4.19.1 || ^5.3.0'</span>,\n  <span class=\"token string\">'eslint-plugin-import'</span><span class=\"token builtin class-name\">:</span> <span class=\"token string\">'^2.14.0'</span>,\n  <span class=\"token string\">'eslint-plugin-jsx-a11y'</span><span class=\"token builtin class-name\">:</span> <span class=\"token string\">'^6.1.1'</span>,\n  <span class=\"token string\">'eslint-plugin-react'</span><span class=\"token builtin class-name\">:</span> <span class=\"token string\">'^7.11.0'</span> <span class=\"token punctuation\">}</span></code></pre></div>\n<p>패키지가 설치되어있다면 다음 명령어를 실행한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">$ <span class=\"token function\">yarn</span> <span class=\"token function\">add</span> eslint-config-airbnb\nor\n$ <span class=\"token function\">npm</span> i eslint-config-airbnb</code></pre></div>\n<p>그리고, 폴더에 <code class=\"language-text\">.eslintrc.js</code> 파일을 생성한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\">module<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token literal-property property\">env</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token literal-property property\">browser</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token literal-property property\">es6</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token literal-property property\">node</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token keyword\">extends</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'airbnb'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token literal-property property\">plugins</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'react'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token literal-property property\">rules</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n     <span class=\"token string-property property\">\"react/prefer-stateless-function\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n     <span class=\"token string-property property\">\"react/jsx-filename-extension\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n     <span class=\"token string-property property\">\"react/jsx-one-expression-per-line\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span>\n   <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span></code></pre></div>\n<p>eslint aribnb 스타일 적용하는 것을 마쳤습니다. vscode 작업환경에서 </p>\n<p>(<code class=\"language-text\">command</code> + <code class=\"language-text\">shift</code> + <code class=\"language-text\">p</code> ) ==> <code class=\"language-text\">ESLINT: Fix all auto-fixable Problems</code> </p>\n<p><img src=\"https://user-images.githubusercontent.com/36187948/61683926-6aaa9b00-ad52-11e9-8305-341c99484394.png\" alt=\"스크린샷 2019-07-23 오후 1 56 11\"></p>\n<p>위와 같이 수행하면, 쉽게 문제를 해결할 수 있다.</p>\n<blockquote>\n<p>참조: <a href=\"https://velog.io/@velopert/eslint-and-prettier-in-react\">https://velog.io/@velopert/eslint-and-prettier-in-react</a></p>\n</blockquote>","frontmatter":{"title":"ESLINT-airbnb 코드스타일 적용하기","date":"February 01, 2019"}}},"pageContext":{"slug":"/development/ESLINT-airbnb-코드스타일-적용하기/","previous":{"fields":{"slug":"/development/hello/"},"frontmatter":{"title":"Welcome Bee starter","category":"development","draft":false}},"next":{"fields":{"slug":"/development/React-Native-환경-설정하기/"},"frontmatter":{"title":"React-Native 환경 설정하기","category":"development","draft":false}}}},"staticQueryHashes":["3128451518","96099027"]}