π¦ 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 μ€μ  νμΌμμ 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: ['Β·', 'β', 'Γ']},
    ],
  },
};