๐ฆ eslint-plugin
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
์ค์ ํ์ผ์์ plugins ํญ๋ชฉ์ @docusaurus
๋ฅผ ์ถ๊ฐํฉ๋๋ค.
.eslintrc
{
"plugins": ["@docusaurus"]
}
๊ทธ๋ฆฌ๊ณ ๋ค์ ์ค์ ์ค ํ๋๋ฅผ ํ์ฅํฉ๋๋ค(์: recommended
์ค์ ).
.eslintrc
{
"extends": ["plugin:@docusaurus/recommended"]
}
๊ฐ ์ค์ ์ ์ผ๋ จ์ ๊ท์น์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ณด๋ค ์ธ๋ถํ๋ ์ ์ด๋ฅผ ์ํด ์ง์ ์ฌ์ฉํ ๊ท์น์ ์ค์ ํ ์ ์์ต๋๋ค.
.eslintrc
{
"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๋ฅผ ๊ฐ์ ๋ก ํธ์ถํฉ๋๋ค. | โ |
โ = recommended
์ค์ ์์โ
๋ค์์ ์ค์ ์์์ ๋๋ค:
.eslintrc.js
module.exports = {
extends: ['plugin:@docusaurus/recommended'],
plugins: ['@docusaurus'],
rules: {
'@docusaurus/no-untranslated-text': [
'warn',
{ignoredStrings: ['ยท', 'โ', 'ร']},
],
},
};