Haoqun Jiang's Avatar

Haoqun Jiang

@haoqun.dev

@vuejs.org core team member. @vite.dev core team emeritus. Worked on JS tooling. Learning new things. https://haoqun.dev/

410
Followers
1,070
Following
64
Posts
19.07.2024
Joined
Posts Following

Latest posts by Haoqun Jiang @haoqun.dev

Moltbook is fascinating.

30.01.2026 04:47 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

TIL that IPv4 over IPv6 is a mainstream home internet setup in Japan to avoid old PPPoE limits.
It took me back to my college years in China, when I was playing with IPv6 over IPv4 because native IPv6 wasnโ€™t widely available.
Itโ€™s really interesting to see how differently things evolved here.

30.11.2025 13:57 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
pnpm 10.21 | pnpm Added support for Node.js runtime installation for dependencies and a setting for configuring trust policy.

@pnpm.io getting better by the day

pnpm.io/blog/release...

I still can't believe that a one-person package manager is doing better than npm CLI, owned by a corporate, where the resources of the two projects are incomparable.

Draw your own conclusions.

10.11.2025 11:37 ๐Ÿ‘ 38 ๐Ÿ” 4 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

Apple forgot to turn off sourcemaps when shipping their new App Store website lol github.com/rxliuli/apps...

04.11.2025 08:14 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

lmao ๐Ÿคฃ

20.10.2025 09:23 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Mitigating supply chain attacks | pnpm Sometimes npm packages are compromised and published with malware. Luckily, there are companies like [Socket], [Snyk], and [Aikido] that detect these compromised packages early. The npm registry usually removes the affected versions within hours. However, there is always a window of time between when the malware is published and when it is detected, during which you could be exposed. Fortunately, there are some things you can do with pnpm to minimize the risks.

Published an article about mitigating supply chain attacks with pnpm
pnpm.io/supply-chain...

16.09.2025 08:32 ๐Ÿ‘ 56 ๐Ÿ” 12 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1
The bloat of edge-case first libraries How building edge-case first led to bloated, overly-granular libraries and what we can do about it

some thoughts about the bloat introduced by edge-case first libraries

09.09.2025 12:58 ๐Ÿ‘ 131 ๐Ÿ” 45 ๐Ÿ’ฌ 12 ๐Ÿ“Œ 11

We encourage everyone to migrate from using npm publish tokens to trusted publisher!

github.com/e18e/ecosyst...

15.08.2025 06:41 ๐Ÿ‘ 27 ๐Ÿ” 5 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 4

Finally, finally! SALVATION HAS ARRIVED! Time to refactor every GitHub Actions workflow! ๐ŸŽ‰

04.08.2025 17:01 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Wow, this was unexpected. I've got mixed feelings, but huge congrats to the team!

08.07.2025 14:14 ๐Ÿ‘ 9 ๐Ÿ” 1 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

But there is a language switcher at the bottom of the GoDaddy homepage? And you can use root paths like www.godaddy.com/en to go directly to the English homepage.

18.06.2025 15:32 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Bought. The interactive debugger looks cool!

01.04.2025 07:10 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

I rarely feel that the Vue ecosystem is lacking anything, but this time, I truly wish we had a Vue version of this library. Impressive work!

27.03.2025 06:24 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

You won't have to worry even without corepack - pnpm reads from `packageManager` too: pnpm.io/npmrc#manage... And you can prevent npm from being used with `devEngines`: github.com/npm/cli/pull...

24.03.2025 08:21 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Finally. I wish the community could migrate from the `packageManager` field to `devEngines` following this - always pinning versions is good in theory but way too cumbersome in practice.

20.03.2025 09:59 ๐Ÿ‘ 8 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
[RFC] Proper Import Attributes support ยท vitejs vite ยท Discussion #18534 Context: Import Attributes is now stage 4: https://github.com/tc39/proposal-import-attributes Related PR / issues: #17485 rollup/rollup#5694 There are few different aspects regarding properly impor...

Thereโ€™s an RFC for this: github.com/vitejs/vite/...

15.03.2025 13:33 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

This thing is so useful. Especially for security - ensuring the published package is actually what exists in the source

14.03.2025 15:12 ๐Ÿ‘ 15 ๐Ÿ” 5 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
npm Blog Archive: announcing free Orgs npm Blog (Archive); updates from the npm team are now published on the GitHub Blog and the GitHub Changelog

Can't believe scoped packages wasn't a free feature of npm until 2017-03-22 blog.npmjs.org/post/1587182...

24.02.2025 15:13 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
GitHub commit message:

docs: add --no flag to npx command to avoid downloading the incorrect package from npm
Thanks to @alxndrsn for finding this issue and the insightful blog post.
https://www.alxndrsn.com/2024-08-01-npx-binary-confusion/

Also thanks to @lirantal for his newsletter that brought this issue to
my attention.
https://www.nodejs-security.com/newsletter/npm-supply-chain-security-prisma-orm-security-fun-nodejs-security-challenges

Git Diff:

- npx vue-cli-service serve
+ npx --no vue-cli-service serve

GitHub commit message: docs: add --no flag to npx command to avoid downloading the incorrect package from npm Thanks to @alxndrsn for finding this issue and the insightful blog post. https://www.alxndrsn.com/2024-08-01-npx-binary-confusion/ Also thanks to @lirantal for his newsletter that brought this issue to my attention. https://www.nodejs-security.com/newsletter/npm-supply-chain-security-prisma-orm-security-fun-nodejs-security-challenges Git Diff: - npx vue-cli-service serve + npx --no vue-cli-service serve

๐Ÿ˜ฎโ€๐Ÿ’จ Still paying down the tech debt that accumulated during the transition from non-scoped packages to scoped onesโ€ฆ Iโ€™m lucky to have subscribed to @lirantal.comโ€™s Node.js security newsletter. Itโ€™s always informative!

- www.alxndrsn.com/2024-08-01-n...
- www.nodejs-security.com/newsletter/n...

24.02.2025 14:50 ๐Ÿ‘ 7 ๐Ÿ” 1 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Preview
Speeding up the JavaScript ecosystem - Rust and JavaScript Plugins Up until recently, supporting JavaScript in Rust based tools has been deemed not worth it. The main concern is the overhead of the de-/serialization cost when sending data back and forth. But there is...

Speeding up the JavaScript ecosystem part 11 is here! This time we're looking at:

Extending Rust tools with JavaScript plugins

marvinh.dev/blog/speedin...

23.02.2025 15:37 ๐Ÿ‘ 144 ๐Ÿ” 39 ๐Ÿ’ฌ 9 ๐Ÿ“Œ 2

Have you tried `v-memo`?

23.02.2025 05:16 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Reka An open-source library with unstyled, primitive components, accompanied by a variety of examples & use cases ready to be integrated into your projects.

Looks like Reka UI, the rebranded Radix Vue component library, has just got officially released ๐Ÿ‘€ It's such a cool name. Can't wait to try it out!

21.02.2025 06:00 ๐Ÿ‘ 87 ๐Ÿ” 8 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0
Screenshot of Node.js REPL with the following text:

โ€บ await import ("./index.js")
[Module: null prototype] { oneTrueDate: [Function: oneTrueDate] }
_.oneTrueDate(new Date())
'2024-03-01'

Screenshot of Node.js REPL with the following text: โ€บ await import ("./index.js") [Module: null prototype] { oneTrueDate: [Function: oneTrueDate] } _.oneTrueDate(new Date()) '2024-03-01'

#TIL So this is the fastest way to import an ES module in the Node.js REPLโ€ฆ How did I never know about the `_` (underscore) auto-assignment in the REPL?!
nodejs.org/api/repl.htm... So many wasted keystrokes over the years!

16.02.2025 15:13 ๐Ÿ‘ 8 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

@rspack/core does not have a postinstall script, so it wonโ€™t be in the list in the first place. If the attacker adds one, it wonโ€™t be executed by default.
This feature mitigates risks like this, and thatโ€™s it, itโ€™s not designed to prevent all possible attacks.

08.02.2025 10:56 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Note it's not about their Node APIs (so Vite isn't affected), just when executing the binaries (i.e. `pnpm exec esbuild`) there will be a performance hit.

05.02.2025 07:52 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

In my experience this new default doesn't break many projects.
But it might slow down some native packages a bit.
For example, packages like esbuild, lightningcss-cli try to optimize their binaries in the postinstall scripts; these will no longer be executed by default: github.com/evanw/esbuil...

05.02.2025 07:52 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Resurfacing this post now that pnpm 10 is tagged as latest.

05.02.2025 07:52 ๐Ÿ‘ 3 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

?? The link preview is still available even though I deleted the link? Interesting feature/bugโ€ฆ

30.01.2025 07:47 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

And in case you still want that username, you can temporarily change your handle back and forth to reserve it. This feature was introduced about a month ago: bsky.app/profile/bsky...

30.01.2025 07:43 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

@acemarke.dev Hi Mark, I just noticed that the Bluesky link on your GitHub profile is invalid since you changed your handle. Just wanted to give you a heads-up in case you'd like to update it

30.01.2025 07:43 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0