Johnson Chu (@johnsoncodehk) header
Johnson Chu (@johnsoncodehk) profile picture

@vuejs core team member • Volar.js author - Supported by @stackblitz • Coffee Freedom Achiever

Joined August 2018
Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)Photo by Johnson Chu (@johnsoncodehk)
please try `tsrs --fast` + vize latest content mapper, and more soon
2
1
12
631
I plan for Vue language tools v4 to be agnostic to the Vue Content Mapper package, so users will be able to replace @vue/content-mapper with Vize themselves.
1
4
17
429
Johnson Chu retweeted
create-vue 3.24.0 adds a tsgo option, letting you replace TypeScript with typescript-native-bridge. The version also clarifies that the overwrite prompt deletes all existing files. "fix: keep Ox" is where the Oxlint side of the changelog stops in what we can see. CI got less chatty too. The playground submodule now carries a private root package․json so pnpm 12 can verify dependencies without reinstalling and writing install progress to stderr during the Vitest job. create-vue-templates added a root manifest for pnpm dependency checks and holds a 3.24.0 version snapshot. Meanwhile the lock files got refreshed. #vuejs repojournal.com/showcase/vue…
6
16
716
I wrote and solely maintain rolldown-plugin-dts. An @AnthropicAI engineer contributed two PRs using Claude Code. Meanwhile, Anthropic suddenly suspended my own Claude account—the tool I use to maintain that same project. The irony is hard to miss. 🧵 1/4
27
41
5
369
51,961
I've sent a skill I put a lot of work into to every individual sponsor who has given over $200 in total, as a small thank-you. Check your email. 🎁
🚨BREAKING: Vue - Official Advanced Features are now free for everyone!
1
3
60
2,378
アクセシビリティかい!!!!! それなら vize/compiler で templateSyntaxMode: "strict" にしつつ. vize/linter で a11y のリントを有効にしまくって, vize/musea でストーリーを書いて axe-core でテストすれば自然にいい感じのマークアップが高速に書けるよ!!! vizejs.dev/rules/accessibili…
2
11
54
3,366
I see your meme game and raise you my glass
🎉 muggle-string 1.0 is out! It's the string rewriting library behind vuejs/language-tools, redesigned for the Content Mapper use case. github.com/johnsoncodehk/mug…
1
481
That's what i thought, and is how things are set up rn for ts 7.1 I need to double check the html and css support tho (for ember), bucause i'm a little perplexed by vue still wanting volar!
1
1
121
If Ember still needs HTML (or CSS) support, it will most likely still need Volar.js. But I'm revisiting the framework design in Volar.js v3, so that even if you have to use it, things stay as simple as possible. For example, Volar.js and Content Mapper will share the same object shapes as much as possible.
1
1
18
Thanks to content mappers, Volar.js v3 can drop about 40% of the v2 codebase (~8.7k LOC).
Replying to @nullvoxpopuli
I find that a diagram makes it clearer. Simply put, I think Ember no longer needs Volar.js now!
5
5
117
3,246
was most of that 8.7k the typescript side, like the tsserver plugin and program proxy that mapped diagnostics back through the virtual code, so v3 only keeps source mapping for the html and css services?
1
1
50
Impressive. @vuejs + content mappers + tsrs are amazing! Tested this on the @nuxt_js ui repo and can't wait to see the impact on big Vue projects 🔥
9
13
1
185
10,835
Johnson Chu retweeted
42s → 8s → 5s Type-checking one of our Vue codebases (~1k files, ~200 SFCs): vue-tsc + TS6 → TS 7.1 → tsrs --fast TS 7.1 and tsrs run Vue through the new @vue/content-mapper alpha. I'm excited.
5
10
187
10,569
🎉 muggle-string 1.0 is out! It's the string rewriting library behind vuejs/language-tools, redesigned for the Content Mapper use case. github.com/johnsoncodehk/mug…
1
13
1
77
3,811
In language-tools v4, several modifiers edit the same code in an order no one can predict. muggle-string handles this in its API design: whichever of the 24 orders they run in, the output is the same.
2
6
513
muggle-string only appends edits and sorts them once at render. This avoids what magic-string pays for splitting chunks as each edit arrives and walking the chunk list to find each position when edits arrive out of order. The gap is widest out of order and narrows in order.
4
331
Different approaches, same goal.
8
526
Replying to @johnsoncodehk
what's Volar's purpose / feature set now that TS has content-mappers? (for ember's TS support, we don't even need a volar language server)
1
1
261
I find that a diagram makes it clearer. Simply put, I think Ember no longer needs Volar.js now!
1
1
19
3,377