eslint-plugin-turbo

eslint-plugin-turbo 패키지는 Turborepo의 해싱에 포함되지 않은 코드에서 사용되는 환경 변수를 찾는 데 도움이 됩니다. turbo.json에 고려되지 않은 소스 코드에서 사용된 환경 변수는 편집기에서 강조 표시되고 오류가 ESLint 출력으로 표시됩니다.

설치

ESLint 설정이 있는 위치에 eslint-plugin-turbo를 설치합니다:

Terminal
pnpm add eslint-plugin-turbo --filter=@repo/eslint-config

사용법 (Flat Config eslint.config.js)

ESLint v9는 아래와 같은 Flat Config 형식을 사용합니다:

./packages/eslint-config/base.js
import turbo from 'eslint-plugin-turbo';
 
export default [turbo.configs['flat/recommended']];

또는 rules 섹션에서 사용하려는 규칙을 구성할 수 있습니다.

./packages/eslint-config/base.js
import turbo from 'eslint-plugin-turbo';
 
export default [
  {
    plugins: {
      turbo,
    },
    rules: {
      'turbo/no-undeclared-env-vars': 'error',
    },
  },
];

예제 (Flat Config eslint.config.js)

./packages/eslint-config/base.js
import turbo from 'eslint-plugin-turbo';
 
export default [
  {
    plugins: {
      turbo,
    },
    rules: {
      'turbo/no-undeclared-env-vars': [
        'error',
        {
          allowList: ['^ENV_[A-Z]+$'],
        },
      ],
    },
  },
];

사용법 (레거시 eslintrc*)

.eslintrc 설정 파일의 plugins 섹션에 turbo를 추가합니다. eslint-plugin- 접두사는 생략할 수 있습니다:

./packages/eslint-config/base.json
{
  "plugins": ["turbo"]
}

그런 다음 rules 섹션에서 사용하려는 규칙을 구성합니다.

./packages/eslint-config/base.json
{
  "rules": {
    "turbo/no-undeclared-env-vars": "error"
  }
}

예제 (레거시 eslintrc*)

./packages/eslint-config/base.json
{
  "plugins": ["turbo"],
  "rules": {
    "turbo/no-undeclared-env-vars": [
      "error",
      {
        "allowList": ["^ENV_[A-Z]+$"]
      }
    ]
  }
}