Charles Wang

107 posts

Charles Wang

Charles Wang

@wan9chi

Working on Vite Task @voidzerodev (acquired by @Cloudflare)

Entrou em Temmuz 2013
652 Seguindo194 Seguidores
Charles Wang retweetou
Vite ⚡
Vite ⚡@vite_js·
🚀 Vite 8.1 is out ⚡ Experimental Full Bundle Mode: ~15x faster dev server startup & ~10x faster full reloads on large apps 🧩 Chunk Import Map to keep chunks stable & improve caching 🦀 WASM ESM integration 💡 Lightning CSS on the road to default 👀 and more! Blog post below.
Vite ⚡ tweet media
English
24
227
2K
149.6K
Charles Wang
Charles Wang@wan9chi·
👀In the next version of Vite+ ...
Charles Wang tweet media
English
1
7
42
4.4K
Charles Wang retweetou
Boshen
Boshen@boshen_c·
🚀 Released Vite+ 0.1.23 github.com/voidzero-dev/v… • 𝚟𝚙: proxy + custom-CA aware HTTP (works behind corporate firewalls) • 𝚟𝚙 𝚛𝚞𝚗: task shorthands in 𝚟𝚒𝚝𝚎.𝚌𝚘𝚗𝚏𝚒𝚐.𝚝𝚜 • 𝚟𝚙 𝚌𝚛𝚎𝚊𝚝𝚎: GitHub Copilot setup • 𝚟𝚙 𝚖𝚒𝚐𝚛𝚊𝚝𝚎: smarter tsconfig + ESLint cleanup • 𝚟𝚙 𝚙𝚖 𝚊𝚙𝚙𝚛𝚘𝚟𝚎-𝚋𝚞𝚒𝚕𝚍𝚜: new, mirrors pnpm • 𝚟𝚙 𝚘𝚞𝚝𝚍𝚊𝚝𝚎𝚍 -𝚐: consistent global reporting • 𝚟𝚙 𝚎𝚗𝚟: respects 𝚙𝚊𝚌𝚔𝚊𝚐𝚎𝙼𝚊𝚗𝚊𝚐𝚎𝚛 + Homebrew Bundled stack: 𝚟𝚒𝚝𝚎 𝟾.𝟶.𝟷𝟺 · 𝚛𝚘𝚕𝚕𝚍𝚘𝚠𝚗 𝟷.𝟶.𝟹 · 𝚝𝚜𝚍𝚘𝚠𝚗 𝟶.𝟸𝟸.𝟶 · 𝚟𝚒𝚝𝚎𝚜𝚝 𝟺.𝟷.𝟽 · 𝚘𝚡𝚕𝚒𝚗𝚝 𝟷.𝟼𝟽.𝟶 · 𝚘𝚡𝚕𝚒𝚗𝚝-𝚝𝚜𝚐𝚘𝚕𝚒𝚗𝚝 𝟶.𝟸𝟹.𝟶 · 𝚘𝚡𝚏𝚖𝚝 𝟶.𝟻𝟸.𝟶
English
2
16
127
9.1K
Charles Wang retweetou
Boshen
Boshen@boshen_c·
I can finally contribute to Bun! In this PR I removed a bunch of unused dependencies with my own tool 😀 github.com/oven-sh/bun/pu…
English
16
14
654
38.2K
Charles Wang retweetou
VoidZero
VoidZero@voidzerodev·
🚀Rolldown 1.0 is here!🚀 Rust-based high-performance JavaScript bundler. 🏎️ Runs at native speed that’s 10~30x faster than Rollup 🤝 Compatible with existing Rollup & Vite plugins ⚡The underlying bunder for Vite 8 After 2 years, Rolldown is officially stable and has 20+M weekly downloads. Companies like Framer & PLAID are already using Rolldown in production. Thank you to every contributor, user, and team that helped us get here.
VoidZero tweet media
English
35
404
2.6K
308.8K
Charles Wang retweetou
mk2.js
mk2.js@fengmk2·
In the next version of Vite+ We will support bun as package manager 😁
mk2.js tweet media
English
27
30
638
43.9K
Charles Wang
Charles Wang@wan9chi·
@evanyou @ericclemmons Your screenshots show that `dependsOn` works in `vp run dev` but not in `vp dev`. That's by design: the `run` config doesn't affect any non-run Vite+ subcommands. The principle is that each top-level field in `vite.config.ts` only affects the vite+ subcommand with the same name.
English
1
0
0
123
Charles Wang retweetou
Evan You
Evan You@evanyou·
One thing that I know some people will complain about, and @theo did in fact complained about, is how ‘vp dev’ is a built-in command rather than running the dev script like a package manager does. Fundamentally this is because vp is not a package manager or just a task runner - it’s a full toolchain. A package manager doesn’t have a built-in dev feature, but vp does. Running scripts is something vp can do, but you make the intention explicit via ‘vp run’ instead of expecting implicit fallback. I actually very much dislike the implicit script fallback behavior because it forces you to remember what built-in commands the runner has - for example, you can’t run a script named ‘deploy’ with ’pnpm deploy’ because… turns out pnpm has a built-in deploy command. With the large command surface vp has, implicit fallback is only going to be confusing than helpful.
Boshen@boshen_c

Taking notes of what Theo says. We'll continue to improve Vite+ 🫡 youtube.com/watch?v=JKbVk6…

English
28
8
583
109.9K
Charles Wang
Charles Wang@wan9chi·
@joetifa_dev The task concurrency is being implemented. It doesn't feel right to have special handling for the root package. You can simply add a "build": "vp run -r build" script.
English
1
0
1
53
Youssef Ahmed⚡
Youssef Ahmed⚡@joetifa_dev·
@branchseer From my testing, it seems it doesn't run tasks in parallel, like turborepo, when tasks are not dependent on each other. I really like the auto input magic. And running vp run build In the root package, i think by default should run -r, should recursively build from root.
English
1
0
0
94
Charles Wang
Charles Wang@wan9chi·
Vite Task ships today as part of Vite+, and it takes a new approach to monorepo caching. This is a thread about the magic behind 𝚟𝚙 𝚛𝚞𝚗 --𝚌𝚊𝚌𝚑𝚎.
Charles Wang tweet media
English
7
14
144
45.6K
Charles Wang
Charles Wang@wan9chi·
That's definitely something we want to do down the road! (For now you can manually ignore tracked files in the task configuration.) Vite Task is being overcautious currently. We'd rather have false cache misses than hit a stale cache. But we aim to eliminate all false cache misses with zero configuration.
English
1
1
2
340
Naru
Naru@naruaway·
@boshen_c Yeah this is so cool! Maybe already considered but I want even finer grained reactivity in JS level Not all the files read via syscall would affect the task (e.g. discard after fs.readFile via string match ) Maybe we need to come up with a way to signal this from JS side though.
English
1
0
2
850
Naru
Naru@naruaway·
Vite+のタスクランナーキャッシュon macOS、動的ライブラリインジェクションでファイルアクセスをsyscallレベルでトレースしてて、SIP保護下にあるbashとかはインジェクトできないから別の互換バイナリに置き換えてるのか、、、すごい これでどのタスクがどのファイルに依存してるかトラックしてる
日本語
1
12
56
10.9K
Charles Wang
Charles Wang@wan9chi·
@ssijak The input auto-detection assumes tasks do not depend on external factors such as the current time. Tasks that do should probably not be cached. (Let's say neither file-a.js nor file-b.js is changed in the second run, the task's behavior is still non-deterministic.)
English
0
0
0
15
Saša Šijak
Saša Šijak@ssijak·
@branchseer contrived example, but illustrating a point: export async function loadByTimeOfDay() { const hour = new Date().getHours() if (hour >= 6 && hour < 18) { return import('./file-a.js') } return import('./file-b.js') }
English
1
0
0
20
Charles Wang
Charles Wang@wan9chi·
@OmerGronich Not feasible. It requires skipping inside the task, which Vite Task can't control.
English
0
0
1
291
Omer Gronich
Omer Gronich@OmerGronich·
@branchseer Are there any plans (or is it even technically feasible) to add file-level / incremental / partial caching on top of this? i.e. so only the changed parts of a task actually re-run instead of replaying the entire task?
English
1
0
2
814