Skip to content

chore(eslint): add warning when using async preventDefault() #7723

Merged
wmertens merged 3 commits intoQwikDev:mainfrom
Shane-Donlon:eslint-no-prevent-default-v2
Feb 10, 2026
Merged

chore(eslint): add warning when using async preventDefault() #7723
wmertens merged 3 commits intoQwikDev:mainfrom
Shane-Donlon:eslint-no-prevent-default-v2

Conversation

@Shane-Donlon
Copy link
Copy Markdown
Contributor

What is it?

Description

eslint rule showing error this is an asynchronous function and does not support preventDefault.
Use preventDefault attributes instead

Hey guys,
Feedback welcome - but thought I'd propose this as an idea.

While the knowledge exists in the documentation, the goal here is to prompt Developers that this is not a bug and to search the docs or to ask within Discord.

This does exclude sync$((e)=>{e.preventDefault()} functions, and I did add this as a warning over error just in case there was something else I wasn't considering, and wouldn't result in breaking any builds.

eslint rule for sync function not showing error

Checklist

@Shane-Donlon Shane-Donlon requested a review from a team as a code owner July 11, 2025 23:01
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jul 11, 2025

⚠️ No Changeset found

Latest commit: 2bd41ef

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Jul 11, 2025

Open in StackBlitz

npm i https://pkg.pr.new/@builder.io/qwik@7723
npm i https://pkg.pr.new/@builder.io/qwik-city@7723
npm i https://pkg.pr.new/eslint-plugin-qwik@7723
npm i https://pkg.pr.new/create-qwik@7723

commit: 2bd41ef

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jul 11, 2025

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
qwik-docs ✅ Ready (View Log) Visit Preview 2bd41ef

Copy link
Copy Markdown
Member

@maiieul maiieul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really good idea 🔥 Thanks a lot @Shane-Donlon!

Comment thread packages/eslint-plugin-qwik/src/noAsyncPreventDefault.ts
Copy link
Copy Markdown
Member

@wmertens wmertens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, but you also need to do stoppropagation

Comment thread packages/eslint-plugin-qwik/src/noAsyncPreventDefault.ts
@gioboa
Copy link
Copy Markdown
Member

gioboa commented Sep 29, 2025

What's missing here?

@Shane-Donlon
Copy link
Copy Markdown
Contributor Author

Shane-Donlon commented Sep 29, 2025

Remaining to-do:

  • improve warning message with feedback from Wout above.
  • add stop propagation
  • add tests for stop propagation

I was away last week and forgot to acknowledge the review, but should be able to get around to it this week.

What's missing here?

Copy link
Copy Markdown
Member

@gioboa gioboa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Shane-Donlon for your help.
is this PR still valid?

Copy link
Copy Markdown
Member

@wmertens wmertens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@wmertens wmertens merged commit 09fa6b3 into QwikDev:main Feb 10, 2026
19 checks passed
@wmertens
Copy link
Copy Markdown
Member

thansk @Shane-Donlon !

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.

4 participants