Registry /
testing / eslint-plugin-validate-jsx-nesting
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.
plugin
✓ plugins: ['validate-jsx-nesting']
✗ plugins: ['eslint-plugin-validate-jsx-nesting']
ESLint config plugins key accepts the short name (omit 'eslint-plugin-')
no-invalid-jsx-nesting
✓ rules: { 'validate-jsx-nesting/no-invalid-jsx-nesting': 'error' }
✗ rules: { 'no-invalid-jsx-nesting': 'error' }
Must prefix with plugin name when using ESLint <9 flat config; in flat config use plugin object directly.
legacy config object
✓ use module.exports = { plugins: ['validate-jsx-nesting'], rules: { 'validate-jsx-nesting/no-invalid-jsx-nesting': 'error' } }
✗ module.exports = { rules: { 'no-invalid-jsx-nesting': 'error' } }
Common mistake: omitting the plugin declaration
Shows how to install, configure the plugin, and trigger a violation with nested <p> elements.
// Install: npm i -D eslint-plugin-validate-jsx-nesting
// .eslintrc.js
module.exports = {
plugins: ['validate-jsx-nesting'],
rules: {
'validate-jsx-nesting/no-invalid-jsx-nesting': 'error'
}
};
// In any JSX file:
const Bad = () => <p><p>Nested p</p></p>; // ESLint error
Debug
Known issues
gotchaRule requires the plugin name prefix in legacy ESLint configs (before flat config).fixUse 'validate-jsx-nesting/no-invalid-jsx-nesting' not just 'no-invalid-jsx-nesting'.
affects: >=0.0.0
gotchaPlugin only checks JSX; does not validate runtime mutations or non-JSX templates.fixUse in combination with linters for other template systems if needed.
affects: >=0.0.0
deprecatedNo known deprecated features.
Errors
Common errors & fixes
ESLint: Error while loading rule 'validate-jsx-nesting/no-invalid-jsx-nesting': Cannot find module 'validate-html-nesting'
Missing dependency 'validate-html-nesting' (should be auto-installed as a dependency, but if not, npm install may have failed).
fixRun 'npm install validate-html-nesting --save-dev' or reinstall the plugin.
ESLint: Definition for rule 'no-invalid-jsx-nesting' was not found
Rule name missing the plugin prefix in legacy config.
fixChange rule name to 'validate-jsx-nesting/no-invalid-jsx-nesting'.
Audit
Dependencies
eslintrequiredpeer dependency: plugin runs as an ESLint rule
validate-html-nestingrequiredcore dependency for HTML nesting validation logic