Replies: 1 comment
-
|
One more piece that belongs to this story: Shipping a That would make the update story three complementary layers: doctor (diagnose drift locally), the scaffolded Renovate group (updates arrive as tested PRs), and the docs section tying it together. I've also opened #1889 for the awareness side (an update notice in the admin, mirroring what marketplace plugins already have). Happy to include the template change in the same PR as the doctor check if that's preferred, or keep them separate. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
The problem
EmDash declares
astro: >=6.0.0-beta.0as a peer dependency, and each release is developed and tested against one specific Astro version (currently the 7.0.x pin inpnpm-workspace.yaml). But a user's project owns its own Astro version, and nothing tells them when the two have drifted apart.The failure mode is quiet: someone updates
emdashregularly but stays on an old Astro (or the other way around), and at some point they hit a bug that only exists in their combination — like #1618, whereemdash@0.22.0broke on the Astro 7 Rust compiler. Support threads for these are expensive because the drift is invisible until something breaks.Astro already solved the upgrade mechanics with
npx @astrojs/upgrade(bumps core + all official integrations together). What's missing is the nudge that tells an EmDash user when to run it.Proposal
Two small, additive pieces:
1. Version checks in
emdash doctordoctorcurrently checks DB health (migrations, collections, users). Add a version section:astroversion from the project'snode_modules(or lockfile).run npx @astrojs/upgrade.No network calls, no auto-updating, no behavior change anywhere else. The user stays in control of their framework; they just stop being unknowingly on an untested combination.
2. A docs section on keeping the pair current
A short "Updating" page (or section) documenting:
npx @astrojs/upgrade+pnpm add emdash@latestas the manual path,emdash*,astro, and@astrojs/*into one update PR, so both are bumped and CI-tested together.What this is not
Not a proposal to make emdash install or pin Astro. Astro majors break in user code (strict Rust compiler, Sätteri markdown, whitespace semantics), so silently pulling the framework along with a CMS update would turn working sites red on deploy. The peer range stays the contract; doctor just makes drift visible.
Happy to build both parts if this sounds right — the doctor change is small and self-contained.
Beta Was this translation helpful? Give feedback.
All reactions