Skip to content

docs: add Fully type-aware linting for Astro, Svelte, and Vue blog post#2456

Merged
auvred merged 21 commits intomainfrom
volar-blog-post
Mar 25, 2026
Merged

docs: add Fully type-aware linting for Astro, Svelte, and Vue blog post#2456
auvred merged 21 commits intomainfrom
volar-blog-post

Conversation

@auvred
Copy link
Copy Markdown
Member

@auvred auvred commented Mar 18, 2026

PR Checklist

Overview

This is my first ever blog post, so...

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
flint Ready Ready Preview, Comment Mar 24, 2026 4:50am

Request Review

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 18, 2026

⚠️ No Changeset found

Latest commit: 80f97dd

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

The traditional ESLint approach to linting TS-based languages has been a pain for a very long time.
It is hard to configure, and it has a lot of limitations that don't allow type-aware rules to work as well as they should.
Learn how Flint's architecture solves this once and for all!
title: Flawless type-aware linting for Astro, Svelte, and Vue
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I'm not sure, but this heading may be a bit too clickbait-ish. If so, I can change it to something less strong.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It's not clickbait (IMO), it's true :)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Oh boy finding the right balance of clickbait-y-ness is such a struggle... I still wish I'd figured out something slightly less extravagant for https://typescript-eslint.io/blog/typed-linting.

Although "flawless" is technically correct in reference to just the types in linting, I suspect using it here makes it seem like we're claiming that all Flint linting (for these languages) is flawless. Which is a bit more than we should.

Maybe... "Fully" instead of "Flawless"?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I still wish I'd figured out something slightly less extravagant for typescript-eslint.io/blog/typed-linting.

For the record, I remember liking the title :)
Maybe I just have a thing for clickbait though? 🤷🏻‍♂️

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

At this point it's indeed flawless, because I haven't yet discovered any non-fixable limitation. Although, if at some point we find one, then this title would be a lie...

Maybe... "Fully" instead of "Flawless"?

"Fully" doesn't show that we solved some actual flaws 🤔

Maybe something like:

  • Rethinking type-aware linting for Astro, Svelte, and Vue
  • Type-aware linting for Astro, Svelte, and Vue, done right
  • Closing the gaps in type-aware linting for Astro, Svelte, and Vue

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I like "done right" better but if we're trying to stay objective, "Closing the gaps" is probably best.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Maybe 🌶️: we don't have to be completely objective. We can promote ourselves a little bit. "Fully" is still top in my mind because it implies other linters aren't full (which is objectively true!).

But "closing the gaps" sounds good to me too.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Okay, so the new title is "Fully type-aware linting for Astro, Svelte, and Vue blog post"!

@lishaduck
Copy link
Copy Markdown
Member

This is my first ever blog post, so...

So you should start a blog. 🙃 It was great!
I'll try to find some time to write down my feedback but if I don't find time to do that, I'd be happy to just release it as-is.

Copy link
Copy Markdown
Member

@lishaduck lishaduck left a comment

Choose a reason for hiding this comment

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

Overall, fantastic blogpost!

Approving b/c 1) it's mostly style comments and I trust you to do with them what you want and 2) I don't want to be AFK and block this landing on time. :shipit:

Co-authored-by: Eli <88557639+lishaduck@users.noreply.github.com>
Copy link
Copy Markdown
Member

@lishaduck lishaduck left a comment

Choose a reason for hiding this comment

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

Amazing! 😍

Copy link
Copy Markdown
Collaborator

@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

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

Wow. Wowwow! Great post @auvred. I had a fantastic time reading through it. It thoroughly answers a lot of the questions I had coming into reviewing the work: why Volar, why set the transforms up the way it does, and how it all works together for Flint. Awesome writing! 👏

I left a bunch of comments internally, but don't want to be prescriptive for any of them. Please do push back if you think I'm wrong, especially on the [Content] notes!

@JoshuaKGoldberg JoshuaKGoldberg added the status: waiting for author Needs an action taken by the original poster label Mar 22, 2026
Co-authored-by: Josh Goldberg ✨ <github@joshuakgoldberg.com>
Co-authored-by: Eli <88557639+lishaduck@users.noreply.github.com>
@auvred auvred changed the title docs: add Flawless type-aware linting for Astro, Svelte, and Vue blog post docs: add Fully type-aware linting for Astro, Svelte, and Vue blog post Mar 22, 2026
@auvred
Copy link
Copy Markdown
Member Author

auvred commented Mar 22, 2026

I think I've addressed all reviews (?) Not resolved review commits have a few pending discussions

@github-actions github-actions bot removed the status: waiting for author Needs an action taken by the original poster label Mar 22, 2026
Copy link
Copy Markdown
Collaborator

@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

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

Progress!

I might have run out of time to review tonight but want to get you these thoughts ASAP. Will post more soon 🚀.

This blog post is freaking great though. I'm mostly going through in the mindset of an editor, trying to tighten up phrasing the way my editors have done for me. IMO we could absolutely ship as-is and it'd be great. Just, you know, perfectionism 😁

╰

✖ Found 3 reports across 2 files.
```
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

[Non-Actionable] Just cross-linking #1287 for reference. That'd be nice. I'll ping @Yonava; I know they've got a lot going on these days.

title: Maintainer
picture: /team/auvred.webp
url: https://github.com/auvred
date: 2026-03-18
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

How do you feel about, say... Tuesday?

Suggested change
date: 2026-03-18
date: 2026-03-24

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yay!

Copy link
Copy Markdown
Collaborator

@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

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

This is it for now. It's feeling good!!

Copy link
Copy Markdown
Collaborator

@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

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

Hell yeah! Thanks and 👏 for all your hard work on this post. It does a great job of explaining a ton of awesome deep technical work you powered through, in a way that's actually really approachable and fun. I think people are going to be enamored with this.

Because I've gone over this so much, I think I'm no longer objectively able to edit it. In an ideal world we would have another deep editing pass. But, you know, it's pretty great. I'm happy with merging as soon as you & any other reviewing team members are.

Whoo!

@auvred
Copy link
Copy Markdown
Member Author

auvred commented Mar 24, 2026

all your hard work on this post

You've probably done even bigger work than I have xD

So thank you for the thorough reviews!

This pr has the highest number of comments in Flint's repo

I think I've addressed all comments, so there is nothing blocking. Feel free to edit the PR directly if you spot any inconsistencies before merging!

@auvred auvred merged commit 0f135c6 into main Mar 25, 2026
8 checks passed
@auvred auvred deleted the volar-blog-post branch March 25, 2026 02:55
@JoshuaKGoldberg
Copy link
Copy Markdown
Collaborator

@all-contributors please add @auvred for doc.

🤖 Beep boop! This comment was added automatically by all-contributors-auto-action.
Not all contributions can be detected from Git & GitHub alone. Please comment any missing contribution types this bot missed.
...and of course, thank you for contributing! 💙

@allcontributors
Copy link
Copy Markdown
Contributor

@JoshuaKGoldberg

I've put up a pull request to add @auvred! 🎉

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.

📝 Documentation: write a blog post about Volar.js languages support

4 participants