Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: simplify the *TypeChecked configs by providing a meaningful and performant default #89

Merged
merged 3 commits into from
Oct 14, 2024

Conversation

haoqunjiang
Copy link
Member

I finally figured out how to do this intuitively and performantly.

I still need to adjust the example project structure a bit and set up the tests but this is the gist.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
…eaningful and performant default
@haoqunjiang haoqunjiang force-pushed the feat-type-checked-configs branch from 4da1a33 to 86db36e Compare October 14, 2024 07:57
@haoqunjiang haoqunjiang marked this pull request as ready for review October 14, 2024 08:48
@haoqunjiang haoqunjiang merged commit c441561 into main Oct 14, 2024
6 checks passed
@haoqunjiang haoqunjiang deleted the feat-type-checked-configs branch October 14, 2024 08:48
@DrJume
Copy link
Contributor

DrJume commented Oct 14, 2024

There is also a volar eslint integration: @volar/eslint https://github.com/volarjs/volar.js/tree/master/packages/eslint.

Can it be included as well? It would support everything the IDE extension already supports.

Here is the PR with an example:

volarjs/volar.js#171

@basil
Copy link

basil commented Oct 14, 2024

Causes neanes/neanes#1030 (review).

@haoqunjiang haoqunjiang changed the title feat: simplify the *-type-checked configs by providing a meaningful and performant default feat: simplify the *TypeChecked configs by providing a meaningful and performant default Oct 15, 2024
@haoqunjiang
Copy link
Member Author

@basil Fixed in 14.1.1. Could you try it out?

@haoqunjiang
Copy link
Member Author

@DrJume
It's the first time I got to know this package… Thanks for the information! I will talk to Johnson to see if it's production-ready and how it works with the rest of the ecosystem.

@basil
Copy link

basil commented Oct 15, 2024

@haoqunjiang We have successfully upgraded to 14.1.1 in neanes/neanes#1038. Thanks!

@DrJume
Copy link
Contributor

DrJume commented Oct 15, 2024

@DrJume It's the first time I got to know this package… Thanks for the information! I will talk to Johnson to see if it's production-ready and how it works with the rest of the ecosystem.

You're welcome! Thank you for taking a look at it. This would be so great to have!

@haoqunjiang
Copy link
Member Author

haoqunjiang commented Feb 20, 2025

Good news: I made a demo with @volar/eslint and it works great partially! I got a type-checked linting error in a .vue file! And I talked to Johnson before, we think we could make a new ESLint plugin based on this processor and dedicate it to type-aware Vue-related rules.

Bad news: If we want to absorb that plugin into this config package, I expect the result configuration to be very complicated and delicate… there would be two distinct sets of processors targeting .vue files, and we need a ton of tests to ensure it won't hurt the performance for average users. Now that I'm only working on this package in my free time, I think it would still take months for me to finish the work.

Update: deleted the screenshots as I mis-configured it. But there's a potential here and I'll try more on it later.

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.

None yet

3 participants