…eet; cached import() note (#4332)
- solid-2.0 skill: land a write on its own with onFlush; never cache a
promise or import() created inside a compute (hydration's tracking run).
- CHEATSHEET: onFlush import and example; hydration adopts server answers,
a hydrated Errored keeps the server fallback, no promise caches in computes.
- 05-async-data: a cached dynamic import() under Vite's __vitePreload is the
fake Promise too (#4332).
- babel-plugin README: runs on @babel/core 7.20.12+ and 8.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117BoWLQXHbGurmfMSCBeKX
Requested by Ryan · project thread
Summary
This is the in-repo half of the 2.0 docs gap sweep; the site half is solidjs/solid-docs#1674. Docs only, so there is no changeset.
skills/solid-2.0/SKILL.mdgets two new gotchas, since agents read this skill first:onFlush, notqueueMicrotask/setTimeout(feat(signals): add onFlush to keep a write out of another update's hold #4292).Promise/fetch, so never cache a promise orimport()created inside a compute (2.0 rc: subFetch swaps the global Promise during hydration; user-cached import() becomes a never-settling MockPromise #4332).CHEATSHEET.md:onFlushto the imports, with the menu example.<Errored>keeps the server fallback (fix(solid): hydrated Errored boundary runs its content in the hydration pass #4279), and promise caches don't belong in computes.05-async-data.md, in "the tracking run": adds the 2.0 rc: subFetch swaps the global Promise during hydration; user-cached import() becomes a never-settling MockPromise #4332 case. A cached dynamicimport()under Vite's__vitePreloadis the fake Promise too, andlazy()already avoids it.@babel/core7.20.12+ and 8 (feat(babel-plugin): support @babel/core 8 alongside 7 #4309).This should let #4332 close as a docs issue once merged, unless you want a runtime change there too.
How did you test this change?
prettier --writeon the touched files. Nothing executable changed.Generated by Claude Code