chore(deps): upgrade dependencies for Astro 7 (DOCSDEV-75) - #119
Conversation
Phase 2b of DOCSDEV-75. This repo is the canary for the unified() markdown migration and for the design system 0.14.0 component changes. Dependency changes: - astro 6.3.8 to 7.2.10 - @astrojs/starlight 0.39.2 to 0.42.0 - @astrojs/markdown-remark added at 7.3.0 - @interledger/docs-design-system 0.13.0 to 0.14.0 - starlight-links-validator 0.24.0 to 0.26.0 - sharp 0.34.5 to 0.35.4 - eslint 10.2.1 to 10.9.1 - eslint-plugin-astro 1.7.0 to 3.1.0 - astro-eslint-parser 1.4.0 to 3.1.0 - typescript-eslint and @typescript-eslint/parser 8.59.0 to 8.69.0 - globals 17.5.0 to 17.11.0 - prettier 3.8.3 to 3.9.6 - eslint-plugin-jsx-a11y added at 6.10.2 Astro 7 makes Sätteri the default markdown processor, and Sätteri does not run remark or rehype plugins. Starlight follows the same default. This cycle keeps every Starlight site on the unified processor, so the remark-math and rehype-mathjax plugins move into unified(). Enabled the eslint-plugin-astro accessibility rules through flat/jsx-a11y-recommended. This repo reports 0 findings. mermaid 11.17 changes the default flowchart curve. No config change is needed. This repo has no flowcharts. All 9 diagrams are sequence diagrams.
✅ Deploy Preview for styleguide-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Thanks Anca, and good catch. It is not your local env. It is a real bug, and it only shows on the dev server. I reproduced it here. On Cause. Design system 0.14.0 changed how it imports mermaid. The new form resolves to a mermaid build that expects a bundler to sort out its CommonJS dependencies, dayjs among them. A production build does that. The Vite dev server does not, so mermaid fails to load and never initializes. Fix. docs-design-system#74 imports the pre-bundled mermaid build instead, which has its dependencies inlined and works in both dev and production. I verified it on the dev server and in a build. Scope. Four repos are affected on the dev server, with 63 diagrams between them: rafiki, open-payments, this repo, and rafiki-v2. No deployed site is affected. Please hold off approving this PR. Once #74 merges and 0.14.1 publishes, I will refresh the lockfile here so it picks up the fix, and then it is ready for you. |
0.14.0 imports mermaid with a bare specifier. That resolves to a build which expects a bundler to fix the CommonJS interop for dayjs. The Vite dev server does not do that, so the module throws and no diagram renders. Production was never affected. 0.14.1 imports the pre-bundled mermaid build instead. Verified on the dev server, not on astro preview.
|
0.14.1 is published and the lockfile here now points at it ( Diagrams render on the dev server again, 4 of 4 across |
two shared migrations: the
unified()markdown processor and the design system 0.14.0 component changes.Dependency changes
astro6.3.8 to 7.2.10@astrojs/starlight0.39.2 to 0.42.0@astrojs/markdown-remarkadded at 7.3.0@interledger/docs-design-system0.13.0 to 0.14.0starlight-links-validator0.24.0 to 0.26.0sharp0.34.5 to 0.35.4Tooling:
eslintto 10.9.1,eslint-plugin-astroto 3.1.0,astro-eslint-parserto 3.1.0,typescript-eslintto 8.69.0,globalsto 17.11.0,prettierto 3.9.6,eslint-plugin-jsx-a11yadded at 6.10.2.Markdown processor
Astro 7 makes Sätteri the default, and Sätteri does not run remark or rehype plugins. Starlight follows the same default.
This cycle keeps every Starlight site on the
unified()processor, so all sites stay on the pipeline they run today. This repo usesremark-mathandrehype-mathjax, which move inside theunified()call:Three of our repos depend on remark and rehype plugins, and the Sätteri ports of those plugins are 0.1.x packages with roughly 25 downloads per week. Astro documents both processors as officially supported and states they provide identical built-in features by default.
Accessibility rules
eslint-plugin-astro3 exposes accessibility rule sets that version 1 did not. The config now extendsflat/jsx-a11y-recommended, which turns on 31 rules. This repo reports 0 findings.bun installprints one stale peer warning foreslint-plugin-jsx-a11y, which declareseslint ^3to^9but runs correctly on ESLint 10. bun has nopeerDependencyRulesequivalent. That warning is expected.Test plan
bun installclean, only the known stale jsx-a11y peer warningbun run buildpassed, 34 pagesstarlight-links-validator0.26.0 reports all internal links validbun run lintexits 0 at--max-warnings=0unified()TypeErrorRefs: DOCSDEV-75