Skip to content

Roll up Renovate updates, convert config to TypeScript, and tidy Docusaurus config - #540

Merged
JoeKarow merged 26 commits into
mainfrom
deps/renovate-rollup
Oct 6, 2026
Merged

JoeKarow merged 26 commits into
mainfrom
deps/renovate-rollup

Conversation

@JoeKarow

@JoeKarow JoeKarow commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Linked Issue

Rolls up everything "awaiting schedule" on the Renovate Dependency Dashboard (#535). The dashboard issue is permanent and stays open.

Description

Dependency updates, one commit each:

  • Docusaurus monorepo 3.7.0 → 3.10.2 (core, preset-classic, module-type-aliases, types)
  • Moved onBrokenMarkdownLinks to markdown.hooks.onBrokenMarkdownLinks. The top-level option has been deprecated since 3.9 and the build warned about it.
  • react / react-dom → 19.3.0, @mdx-js/react → 3.1.1
  • prettier 2 → 3, then a separate reformat commit touching two files: trailing commas in .markdownlint-cli2.jsonc and trailing whitespace in one speaker-info doc
  • Lock file maintenance. This refreshes transitive deps within their existing ranges and clears the stale caniuse-lite warning.

TypeScript conversion:

  • docusaurus.config.js → docusaurus.config.ts, typed with Config and satisfies Preset.Options / Preset.ThemeConfig
  • sidebars.js → sidebars.ts, typed with SidebarsConfig. Both files were renamed with git mv so history follows them.
  • Added a tsconfig.json that extends @docusaurus/tsconfig, plus three devDeps: typescript 7, @docusaurus/tsconfig and @docusaurus/plugin-content-docs (pnpm needs the last one for the sidebar type)
  • tsconfig.json sets baseUrl to null and restates paths, because TypeScript 7 removed baseUrl but @docusaurus/tsconfig still sets it
  • New pnpm typecheck script and CI step
  • .greptile rules and file pointers now reference the .ts files

Docusaurus config review, one commit each:

  • The site url is now https://docs.virtualcoffee.io, so canonical links, the sitemap and social preview images use the custom domain. The README link is updated too. vc-community-docs.netlify.app keeps serving the site as a fallback; its canonical tags point search engines to the custom domain.

  • Removed the GitHub Pages leftovers (organizationName, projectName, the deploy script) and the template boilerplate comments. The site deploys from Netlify.

  • Set blog: false and pages: false, since there is no blog and no src/pages

  • editUrl is now a plain string. The generated edit links are unchanged.

  • onBrokenMarkdownLinks is now 'throw', so a broken .md link fails CI. No existing links broke. Broken anchors still only warn.

  • The navbar logo now links to the docs home page instead of virtualcoffee.io/docs

  • Shortened the navbar title to "VC Community Docs" and the link to "Contributing" to make room for the search box. Without this, the title was cut off on phones and the link wrapped at narrower desktop widths. The page <title> keeps the full name.

  • Renamed the sidebar id from sidebarPath to docs

  • Added the Creative Community challenge to the Monthly Challenges sidebar. It was left out in the Docusaurus migration.

  • Docs now show "Last updated on … by …". CI checks out the full git history (fetch-depth: 0) so those dates are correct.

  • Added local search with @easyops-cn/docusaurus-search-local. The index is built at build time and needs no external account.

  • Marked 28 docs that aren't in the sidebar as unlisted: true: archives, VCHI, topic lists and vc-conference. Their URLs keep working, but they are now noindex and left out of the sitemap. Docusaurus shows an "Unlisted page" banner on them.

Package cleanup:

  • Lowercased the name field in package.json
  • Removed two unused deps. clsx was left over from the template, since src/ has no components. @docusaurus/module-type-aliases is redundant because theme-classic and plugin-content-docs already depend on it. Both should come back if custom React components are added.

I left the future.v4 flags off on purpose. In 3.10 they turn off MDX1 compat, which breaks the 7 docs that use HTML comments, including markdownlint-disable directives.

Methodology

This is one PR instead of five Renovate PRs, so the site is built and checked once with everything updated together. Commits stay atomic so any single change can be reverted on its own.

Verified locally:

  • pnpm install --frozen-lockfile, pnpm check, pnpm lint:md, pnpm typecheck and pnpm build all pass with no warnings
  • I served an earlier build and spot-checked an MDX page; there were no console errors
  • tsc rejected an invalid sidebar item, which confirms the typecheck catches real mistakes

For the config changes, I checked the build output:

  • the edit links are identical to before
  • the search index and navbar search are present
  • unlisted pages carry noindex and are missing from sitemap.xml
  • "Last updated" renders

I spot-checked the deploy preview against prod on 6 pages: the home page, the book clubs guide, room leaders, the 2021 MC script, Preptember and VCHI roles. The article text is identical; the only addition is the "Last updated" line.

The deploy preview shows real git dates, so Netlify has the full history. Pages this PR changed only mechanically (the unlisted front matter and the Prettier reformat) will show today's date until they're next edited.

Also checked:

  • search works
  • /docs/* URLs still redirect
  • the navbar fits at 1000px wide and on phones

Code of Conduct

By submitting this pull request, you agree to follow our Code of Conduct

@JoeKarow
JoeKarow requested review from a team as code owners October 6, 2026 20:11
@netlify

netlify Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for vc-community-docs ready!

Name Link
🔨 Latest commit 9e3bfad
🔍 Latest deploy log https://app.netlify.com/projects/vc-community-docs/deploys/6ac57e55c4aaa000089b786f
😎 Deploy Preview https://deploy-preview-540--vc-community-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 99 (no change from production)
Accessibility: 98 (🟢 up 1 from production)
Best Practices: 100 (no change from production)
SEO: 96 (no change from production)
PWA: -
View the detailed breakdown and full score reports
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@greptile-apps

greptile-apps Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium risk] Converts Docusaurus config to TypeScript and updates dependencies.

The changes reviewed appear safe to merge.

Summary

Updates dependencies, converts the Docusaurus configuration and sidebar to TypeScript, and adds local search.

  • Adds CI typechecking and full Git history for last-updated dates.
  • Uses the custom domain and marks off-sidebar documents as unlisted.
  • The latest change ignores local .netlify files. No actionable new issue or changed-line repository rule violation was found.

Reviews (7) · Last reviewed commit: "Remove the netlify.app redirect"

greptile-apps[bot]
greptile-apps Bot previously approved these changes Oct 6, 2026
@JoeKarow JoeKarow changed the title Roll up Renovate dashboard updates and convert config to TypeScript Roll up Renovate updates, convert config to TypeScript, and tidy Docusaurus config Oct 6, 2026
greptile-apps[bot]
greptile-apps Bot previously approved these changes Oct 6, 2026
greptile-apps[bot]
greptile-apps Bot previously approved these changes Oct 6, 2026
greptile-apps[bot]
greptile-apps Bot previously approved these changes Oct 6, 2026
@JoeKarow
JoeKarow merged commit 4f3f22f into main Oct 6, 2026
6 checks passed
@JoeKarow
JoeKarow deleted the deps/renovate-rollup branch October 6, 2026 23:08
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.

1 participant