remotion-dev/remotion · error · Error
Remotion 5 requires ESLint
Error message
Remotion 5 requires ESLint ${minEslintVersion} or later. You currently have ESLint ${eslintPackageVersion}. What it means
When running Remotion 5, the ESLint patcher enforces a minimum ESLint version (8.57.0 by default, or a value from `MIN_ESLINT_VERSION` if v5 breaking changes are enabled). If the installed ESLint major or minor version is below this minimum, this error is thrown with both the required and installed versions.
Solutions
- Upgrade ESLint to at least the version shown in the error message (e.g., `npm install eslint@^8.57.0`).
- If you are not ready for Remotion 5, stay on Remotion 4 which has a lower ESLint minimum.
- In a monorepo, hoist and upgrade ESLint for all workspaces.
Example fix
// before
"devDependencies": { "eslint": "^7.32.0", "@remotion/eslint-config": "^5.0.0" }
// after
"devDependencies": { "eslint": "^8.57.0", "@remotion/eslint-config": "^5.0.0" } Defensive patterns
Strategy: validation
Validate before calling
const {version} = require('eslint/package.json');
const [major, minor] = version.split('.').map(Number);
if (major < 8 || (major === 8 && minor < 57)) {
throw new Error(`ESLint ${version} is too old for Remotion 5. Upgrade to >=8.57.0.`);
} Prevention
- Upgrade ESLint to at least 8.57.0 before upgrading to Remotion 5.
- Lock ESLint version in package.json to avoid accidental downgrades.
- Check Remotion 5 migration guide for all peer dependency changes.
When it happens
Trigger: Installing Remotion 5 alongside an older ESLint (e.g., 6.x or 7.x), or a project that pinned ESLint to an old version for compatibility with other tooling.
Common situations: Upgrading Remotion from v4 to v5 without upgrading ESLint, monorepos where a shared ESLint version is older than 8.57.0, or projects with other tools that depend on older ESLint.
Related errors
- Failed to patch ESLint because the calling module was not…
- The patch-eslint.js script has only been tested with ESLint…
- Unable to parse ESLint version
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/68dc226a0a83ed6d.
Report an issue: GitHub.
Appendix: source
Thrown at packages/eslint-config/src/patch-eslint.ts:271
const eslintPackageVersion = eslintPackageObject.version;
const versionMatch = /^([0-9]+)\.([0-9]+)\./.exec(eslintPackageVersion);
if (!versionMatch) {
throw new Error('Unable to parse ESLint version: ' + eslintPackageVersion);
}
const eslintMajorVersion = Number(versionMatch[1]);
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 {View on GitHub (pinned to 78fe4bb3fd)