-
Notifications
You must be signed in to change notification settings - Fork 4
ESLint ๊ด๋ จ
vscode์์ saveํ ๋๋ง๋ค eslint, prettier autofix๊ฐ ๋๋๋ฐ vue js์์๋ waring error๊ฐ ๋ฌ๋ค.
vscode setting์์ editor.formatOnSave: true
์ค์ ์ ํด์ค๋ error๊ฐ ๊ณ์ ๋ฌ๋ค.
eslint-loader์์ ์๋ฌ๊ฐ ๋๋ ๊ฒ์ ๋ณด๊ณ ๋ด์ฅ๋ webpack loader์ eslint-loader๊ฐ ์๋ ๊ฒ์ผ๋ก ์๊ฐ๋์ด์ ๊ฒ์์ ํด๋ณด๋,
vue.config.js
์์ loader ์ค์ ์ ๋ฐ๊ฟ์ค์ ์์๋ค.
// vue.config.js
module.exports = {
chainWebpack: config => {
config.module
.rule('eslint')
.use('eslint-loader')
.loader('eslint-loader')
.tap(options => {
options.fix = true
return options
})
}
}
๋ค์๊ณผ ๊ฐ์ด autofix๋ฅผ ํด์ฃผ๋ ์ต์ ์ ์ ์ฉํ๋ error๊ฐ ๋์ด์ ์๋จ๊ฒ ๋์๋ค.
- https://medium.com/@kozyreva.hanna/vue-project-with-vue-cli3-eslint-prettier-in-vs-code-1e59d686eb93
- https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader
- https://stegriff.co.uk/upblog/how-to-change-webpack-settings-set-by-vue-cli/
.vscode/setting.json์
"eslint.workingDirectories": [
['./client','./server']
]
๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ํด๊ฒฐ๋๋ค.
root/
client/
.eslintrc.js
server/
.eslintrc.js
ํ์ฌ ํด๋๊ตฌ์กฐ๊ฐ ์์๊ฐ๊ณ working directory๊ฐ root
๋ผ์ ๋ฐ์ํ ์๋ฌ ๊ฐ๋ค.
['./client','./server']
์ต์
์ ์ฃผ๋ฉด working directory๊ฐ client
๋ด์์๋ client
๋ก server
๋ด์์๋ server
๋ก ๋ฐ๋์ด์ ๊ฐ๊ฐ์ ๋ง๋ lint๊ฐ ์ ์ฉ๋๋ค.
CRLF ๊ด๋ จ ๋ฌธ์ .
eslint rules์ ๋ค์ ๋ฌธ๊ตฌ๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
rules: {
'prettier/prettier': [
'error',
{
endOfLine: 'auto',
},
],
},