Skip to content

fix(eslint-plugin-next): export configs as data property for ESM compatibility - #97038

Open
arts009009009 wants to merge 6 commits into
vercel:canaryfrom
arts009009009:fix/eslint-plugin-next-configs-export
Open

fix(eslint-plugin-next): export configs as data property for ESM compatibility#97038
arts009009009 wants to merge 6 commits into
vercel:canaryfrom
arts009009009:fix/eslint-plugin-next-configs-export

Conversation

@arts009009009

@arts009009009 arts009009009 commented Aug 10, 2026

Copy link
Copy Markdown

Repro

Run:
node -e "import { configs } from '@next/eslint-plugin-next';"

Before

❌ SyntaxError: Named export 'configs' not found

After

✅ No error

Root Cause

Node’s ESM loader does not synthesize named exports from CommonJS getters.
The plugin was exporting configs via destructuring, which compiled to a getter.

Fix

Explicitly export configs as a data property and add CommonJS fallback.

Closes #86504

arts009009009 and others added 4 commits August 9, 2026 18:15
…ure cancellation

Add back `touchAction: 'none'` to the Draggable wrapper to prevent touch
gestures from being treated as viewport panning, which cancelled the drag
and left the devtools indicator in a broken stuck state.

Handle the `pointercancel` event so that when a drag gesture is cancelled
(by the browser or OS), the indicator gracefully animates back to its
previous corner instead of remaining stuck.

Guard `releasePointerCapture` with `hasPointerCapture` to avoid errors
when the pointer capture was already released by the browser.

Adds a regression test verifying that `touchAction` is set to `'none'`
on the draggable wrapper element.

Fixes vercel#96634
Comment thread packages/eslint-plugin-next/src/rules/no-html-link-for-pages.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@next/eslint-plugin-next incorrect named exports

1 participant