Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–226 runs
build_error
glibcnode 18–226 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
flat config with compat
✓ const compat = new (require('@eslint/eslintrc').FlatCompat)({ baseDirectory: __dirname }); module.exports = [ { ignores: ['node_modules'] }, ...compat.extends('eslint-config-iplayer/tsx') ];
✗ module.exports = { extends: 'iplayer/tsx' }
v10 uses ESLint 9 FlatConfig; require('@eslint/eslintrc').FlatCompat is needed to extend. Old object format breaks.
import in ESM
✓ import { FlatCompat } from '@eslint/eslintrc'; const compat = new FlatCompat({ baseDirectory: import.meta.url });
✗ import config from 'eslint-config-iplayer'
Package is not ESM; use FlatCompat with import.meta.url in ESM projects.
presets js/jsx/ts/tsx/base/legacy
✓ compat.extends('eslint-config-iplayer/tsx')
✗ compat.extends('iplayer')
scoped extends require full package name.
Shows how to set up ESLint 9 FlatConfig with eslint-config-iplayer v10 using FlatCompat for TypeScript+JSX.
// Install
npm install --save-dev eslint eslint-config-iplayer @eslint/eslintrc
// eslint.config.js
const { FlatCompat } = require('@eslint/eslintrc');
const path = require('path');
const compat = new FlatCompat({
baseDirectory: __dirname
});
module.exports = [
{
ignores: ['node_modules', 'dist']
},
...compat.extends('eslint-config-iplayer/tsx')
];
Errors
Common errors & fixes
Configuration for rule "no-console" is invalid
FlatConfig does not accept legacy rule config format (e.g., array).
fixUse object format for rule options. Check each rule's schema.
Cannot find module 'eslint-config-iplayer'
Missing peer dependency or wrong extends name without full package name.
fixEnsure eslint-config-iplayer is installed and use full name in FlatCompat.extends.
Audit
Dependencies
eslintrequiredpeer dependency for linting
typescriptoptionalpeer dependency for TypeScript rules