๐ฆ eslint ํ๋ฌ๊ทธ์ธ
ESLint๋ ์ฝ๋๋ฅผ ์ ์ ์ผ๋ก ๋ถ์ํ๊ณ ๋ฌธ์ ์ ์ ๋ณด๊ณ ํ๊ฑฐ๋ ํธ์ง๊ธฐ์์ ์ฝ๋ ํํธ๋ ๋ช ๋ น์ค์ ํตํด ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ์ํ๋ ๋๊ตฌ์ ๋๋ค. ๋ํ์ฌ์ฐ๋ฃจ์ค๋ ์ต๊ณ ์ ๋ํ์ฌ์ฐ๋ฃจ์ค ๊ฒฝํ์ ์ ์ฉํ๊ธฐ ์ํด ESLint ํ๋ฌ๊ทธ์ธ์ ์ง์ํฉ๋๋ค.
์ค์นโ
- npm
- Yarn
- pnpm
npm install --save-dev @docusaurus/eslint-plugin
yarn add --dev @docusaurus/eslint-plugin
pnpm add --save-dev @docusaurus/eslint-plugin
์ฌ์ฉ๋ฒโ
๊ถ์ฅ ์ค์ โ
.eslintrc
์ค์ ํ์ผ์์ extends
ํญ๋ชฉ์ plugin:@docusaurus/recommended
๋ฅผ ์ถ๊ฐํฉ๋๋ค.
{
"extends": ["plugin:@docusaurus/recommended"]
}
์ด๋ ๊ฒ ํ๋ฉด @docusaurus
eslint ํ๋ฌ๊ทธ์ธ์ด ํ์ฑํ๋๊ณ recommended
์ค์ ์ด ์ฌ์ฉ๋ฉ๋๋ค. ํ์ฑํํ ๊ท์น ๋ชฉ๋ก์ ์๋ ์ง์ํ๋ ๊ท์น์ ์ฐธ์กฐํ์ธ์.
์๋ ์ค์ โ
๋ณด๋ค ์ธ๋ถํ๋ ์ ์ด๋ฅผ ์ํด ํ๋ฌ๊ทธ์ธ์ ์๋์ผ๋ก ํ์ฑํํ๊ณ ์ง์ ์ฌ์ฉํ ๊ท์น์ ์ค์ ํ ์ ์์ต๋๋ค.
{
"plugins": ["@docusaurus"],
"rules": {
"@docusaurus/string-literal-i18n-messages": "error",
"@docusaurus/no-untranslated-text": "warn"
}
}
์ง์ํ๋ ์ค์ โ
- Recommended: ํ์ฅ๋์ด์ผ ํ๋ ๋๋ถ๋ถ์ ๋ํ์ฌ์ฐ๋ฃจ์ค ์ฌ์ดํธ์ ๋ํ ๊ถ์ฅ ๊ท์น ์งํฉ๋๋ค.
- All: ๋ชจ๋ ๊ท์น์ด ํ์ฑํ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ง์ด๋ ๋ฒ์ ๊ฐ์ ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฏ๋ก ์๊ธฐ์น ์์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐฉ์งํ๋ ค๋ฉด ํด๋น ์ต์ ์ ์ฌ์ฉํ์ง ๋ง์ธ์.
์ง์ํ๋ ๊ท์นโ
์ต์ ๋ช | ์ค๋ช | |
---|---|---|
@docusaurus/no-untranslated-text | JSX์ ํ ์คํธ ๋ผ๋ฒจ์ด translate ํธ์ถ๋ก ๋ํ๋๋๋ก ์ ์ฉํฉ๋๋ค | |
@docusaurus/string-literal-i18n-messages | ์ผ๋ฐ ํ ์คํธ ๋ผ๋ฒจ์ ๋ํด ๋ฒ์ญ API๋ฅผ ๊ฐ์ ๋ก ํธ์ถํฉ๋๋ค. | โ |
@docusaurus/no-html-links | <a> ํ๊ทธ ๋์ @docusaurus/Link๊ฐ ์ฌ์ฉ๋๋๋ก ํฉ๋๋ค. | โ |
@docusaurus/prefer-docusaurus-heading | heading์ <hn> ํ๊ทธ ๋์ @theme/Heading์ด ์ฌ์ฉ๋๋๋ก ํฉ๋๋ค. | โ |
โ = recommended
์ค์ ์์โ
๋ค์์ ์ค์ ์์์ ๋๋ค:
module.exports = {
extends: ['plugin:@docusaurus/recommended'],
rules: {
'@docusaurus/no-untranslated-text': [
'warn',
{ignoredStrings: ['ยท', 'โ', 'ร']},
],
},
};