remotion-dev/remotion · error · Error

The patch-eslint.js script has only been tested with ESLint

Error message

The patch-eslint.js script has only been tested with ESLint version 6.x, 7.x, and 8.x, and 9.x. (Your version: ${eslintPackageVersion})
Consider reporting a GitHub issue:
https://github.com/remotion-dev/remotion/issues

What it means

The ESLint patcher has been tested only with ESLint major versions 6 through 9. If the installed ESLint major version falls outside this range (e.g., ESLint 5.x or 10.x), this error is thrown with the detected version. This is a hard guard regardless of the minimum-version check.

Source

Thrown at packages/eslint-config/src/patch-eslint.ts:278

	const eslintMinorVersion = Number(versionMatch[2]);
	const minEslintVersion = getMinEslintVersion();
	if (minEslintVersion !== null) {
		const minVersionMatch = /^([0-9]+)\.([0-9]+)\./.exec(minEslintVersion)!;
		const minMajorVersion = Number(minVersionMatch[1]);
		const minMinorVersion = Number(minVersionMatch[2]);
		if (
			eslintMajorVersion < minMajorVersion ||
			(eslintMajorVersion === minMajorVersion &&
				eslintMinorVersion < minMinorVersion)
		) {
			throw new Error(
				`Remotion 5 requires ESLint ${minEslintVersion} or later. You currently have ESLint ${eslintPackageVersion}.`,
			);
		}
	}

	if (!(eslintMajorVersion >= 6 && eslintMajorVersion <= 9)) {
		throw new Error(
			'The patch-eslint.js script has only been tested with ESLint version 6.x, 7.x, and 8.x, and 9.x.' +
				` (Your version: ${eslintPackageVersion})\n` +
				'Consider reporting a GitHub issue:\n' +
				'https://github.com/remotion-dev/remotion/issues',
		);
	}

	let ConfigArrayFactory;
	if (eslintMajorVersion >= 8) {
		ConfigArrayFactory = require(eslintrcBundlePath!).Legacy.ConfigArrayFactory;
	} else {
		ConfigArrayFactory = require(configArrayFactoryPath!).ConfigArrayFactory;
	}

	if (!ConfigArrayFactory.__patched) {
		ConfigArrayFactory.__patched = true;

		// eslint-disable-next-line @typescript-eslint/no-explicit-any

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Pin ESLint to a supported major (6–9): `npm install eslint@^9.0.0`.
  2. Upgrade `@remotion/eslint-config` to the latest version which may support newer majors.
  3. If on a future version, report the issue to Remotion or temporarily downgrade ESLint.

Example fix

// before
"devDependencies": { "eslint": "^10.0.0" }

// after
"devDependencies": { "eslint": "^9.0.0" }
Defensive patterns

Strategy: validation

Validate before calling

const eslintVersion = require('eslint/package.json').version;
const major = Number(eslintVersion.split('.')[0]);
if (major < 6 || major > 9) {
  throw new Error(`ESLint ${major}.x is not supported by the patcher. Use 6.x–9.x.`);
}

Try / catch

try {
  require('@remotion/eslint-config/patch-eslint');
} catch (err) {
  if (err instanceof Error && err.message.includes('only been tested')) {
    console.error('ESLint major version unsupported. Pin to 6.x–9.x.');
  } else {
    throw err;
  }
}

Prevention

When it happens

Trigger: Installing ESLint 10 (too new), ESLint 5 or earlier (too old), or a future major version the patcher has not been updated for.

Common situations: Early adoption of a new ESLint major before Remotion adds support, legacy projects with very old ESLint, or a transitive dependency forcing an unusual ESLint major.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/456afd951bca80cb. Report an issue: GitHub.