Skip to content

chore: field tested update dependencies - #382

Open
luabagg wants to merge 7 commits into
oleeskild:mainfrom
luabagg:feature/upgrade-deps
Open

chore: field tested update dependencies#382
luabagg wants to merge 7 commits into
oleeskild:mainfrom
luabagg:feature/upgrade-deps

Conversation

@luabagg

@luabagg luabagg commented Jun 27, 2026

Copy link
Copy Markdown

Why

Keep the template buildable on modern Node/dependency majors (including ESM-only packages and MathJax 5), while leaving unrelated behavior fixes to separate PRs. Field-tested on https://statistics-digital-garden.vercel.app/

I accepted multiple dependabot PRs and it ended up breaking my website, so this intends to fix that.

Summary

  • Bump core dependencies (@11ty/eleventy, RSS plugin, MathJax 5, sass, vitest, dotenv, markdown-it-*, rimraf, etc.) and pin CJS-safe versions where needed
  • Replace axios with native fetch in theme download (from #368 by @epsilonhalbe)
  • Load ESM-only packages (@11ty/eleventy-plugin-rss v3, markdown-it-mathjax3 v5) via dynamic import()
  • Standardize Node on 22.x (engines, CI, .tool-versions)
  • Disable CSS minify during HTML minify so MathJax nested styles stay intact

Out of scope (separate PRs)

Test plan

  • TZ=UTC npx vitest run src/site/__tests__/get-theme.test.js src/site/__tests__/minify-html.test.js
  • npm run build
  • Confirm RSS + MathJax still render on a sample vault

Based on @epsilonhalbe's work in #368.

epsilonhalbe and others added 4 commits June 27, 2026 00:50
- axios is prone to supply chain attacks and only used in one place easily replaced by fetch
Start from epsilonhalbe PR oleeskild#368 (axios→fetch, dependency refresh),
merge current upstream/main, then:

- Bump markdown-it-mathjax3 to 5.2.0 with dynamic ESM import
- Port compactNoteMetadata and bases render cache (statistics fork)
- Harden get-theme fetch fallback for non-2xx responses
- Fix nested note permalinks and filetree permalink meta

Verified with TZ=UTC npm test.
@luabagg
luabagg marked this pull request as draft June 27, 2026 13:47
luabagg added 2 commits July 10, 2026 21:13
…, raise node floor to >=22.12

- Pin sass@1.93.2, node-html-parser@7.0.2, fs-file-tree@1.1.1 (ESM-only deps break CJS callers on Node 22.1)
- Dynamic import @11ty/eleventy-plugin-rss (ESM-only in v3)
- Fix date() timezone bug for YYYY-MM-DD inputs
- Bump engines to >=22.12.0 for vitest 4 / vite 8 / rolldown compat
@luabagg luabagg changed the title Feature/upgrade deps Update dependencies Jul 12, 2026
Restore Bases/date/permalink/metadata changes to main so oleeskild#382 stays
dependency-focused. Keep MathJax-safe HTML minify (minifyCSS: false) as
part of the markdown-it-mathjax3 v5 upgrade.

Co-authored-by: Cursor <cursoragent@cursor.com>
@luabagg
luabagg marked this pull request as ready for review July 23, 2026 15:38
@luabagg luabagg changed the title Update dependencies chore: field tested update dependencies Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants