Packages

eslint-plugin-turbo

帮助查找代码中未包含在 Turborepo 哈希中的环境变量的 ESLint 插件

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

安装

eslint-plugin-turbo 安装到您的 ESLint 配置所在的位置:

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

使用方法(Flat Config eslint.config.js

ESLint v9 使用如下所示的 Flat Config 格式:

import turbo from 'eslint-plugin-turbo';

export default [turbo.configs['flat/recommended']];

否则,您可以在 rules 部分配置您想要使用的规则。

import turbo from 'eslint-plugin-turbo';

export default [
  {
    plugins: {
      turbo,
    },
    rules: {
      'turbo/no-undeclared-env-vars': 'error',
    },
  },
];

示例(Flat Config eslint.config.js

import turbo from 'eslint-plugin-turbo';

export default [
  {
    plugins: {
      turbo,
    },
    rules: {
      'turbo/no-undeclared-env-vars': [
        'error',
        {
          allowList: ['^ENV_[A-Z]+$'],
        },
      ],
    },
  },
];

使用方法(传统 eslintrc*

turbo 添加到您的 eslint 配置文件的 plugins 部分。您可以省略 eslint-plugin- 前缀:

{
  "plugins": ["turbo"]
}

然后在 rules 部分配置您想要使用的规则。

{
  "rules": {
    "turbo/no-undeclared-env-vars": "error"
  }
}

示例(传统 eslintrc*

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

规则

turbo/no-undeclared-env-vars

当您在代码中使用未在 turbo.json 中声明的环境变量时,此规则将发出警告。

{
  "rules": {
    "turbo/no-undeclared-env-vars": "error"
  }
}

选项

您可以配置规则以忽略某些环境变量:

{
  "rules": {
    "turbo/no-undeclared-env-vars": [
      "error",
      {
        "allowList": ["^ENV_VAR_PREFIX_.*"]
      }
    ]
  }
}

allowList 选项接受一个字符串形式的正则表达式数组。