eslint-plugin-turbo

eslint-plugin-turbo 帮助你找到代码中使用的但未包含在 Turborepo 哈希中的环境变量。源代码中使用的未在 turbo.json 中说明的环境变量将在编辑器中高亮显示,并且错误将显示为 ESLint 输出。

安装

eslint-config-turbo 安装到你的 ESLint 配置文件所在的位置

终端
pnpm add eslint-config-turbo --filter=@repo/eslint-config

用法(扁平配置 eslint.config.js

ESLint v9 使用下面看到的扁平配置格式

./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',
    },
  },
];

示例(扁平配置 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*

turbo 添加到你的 .eslintrc 配置文件的 plugins 部分。你可以省略 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]+$"]
      }
    ]
  }
}