Turborepo

eslint-plugin-turbo

The eslint-plugin-turbo package helps you find environment variables that are used in your code that are not a part of Turborepo's hashing. Environment variables used in your source code that are not accounted for in turbo.json will be highlighted in your editor and errors will show as ESLint output.

Installation

Install eslint-config-turbo into the location where your ESLint configuration is held:

Terminal
npm i --save-dev eslint-config-turbo -w @acme/eslint-config

Usage (Flat Config eslint.config.js)

ESLint v9 uses the Flat Config format seen below:

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

Otherwise, you may configure the rules you want to use under the rules section.

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

Example (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]+$'],
        },
      ],
    },
  },
];

Usage (Legacy eslintrc*)

Add turbo to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

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

Then configure the rules you want to use under the rules section.

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

Example (Legacy eslintrc*)

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

hours

Total Compute Saved
Get started with
Remote Caching →

On this page