Skip to content

Upgrade to Nuxt 4 & Nuxt UI 4 - #964

Merged
jpradocueva merged 28 commits into
mainfrom
upgrades
Oct 16, 2026
Merged

jpradocueva merged 28 commits into
mainfrom
upgrades

Conversation

@FroudeDescartes

@FroudeDescartes FroudeDescartes commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Upgrades the site to Nuxt 4 and Nuxt UI 4 (Tailwind CSS 4).

Note: the latest content from main will be merged into this PR once it is approved.

What changed

Framework / dependencies

  • nuxt 3 → 4.6, @nuxt/ui 2 → 4.11, @nuxt/content 3.6 → 3.16, @nuxtjs/sitemap 7 → 8, vue-router 4 → 5, better-sqlite3 11 → 13, TypeScript 7
  • Added @nuxt/image, tailwindcss 4, tailwind-merge, defu and the TipTap packages required by Nuxt UI 4
  • Icon sets: replaced heroicons-solid with heroicons, added lucide and ant-design
  • Removed unused modules (nuxt-gtm, google-fonts, nuxt-testimonial, vue3-context-menu, ohash)
  • Added an esbuild override; package name is now oma-upgrade

Project structure (Nuxt 4 app/ directory)

  • app.vue, app.config.ts, components/, composables/ and related sources moved under app/
  • New app/assets/css/main.css replaces tailwind.config.ts (Tailwind 4 CSS-first config)
  • ui.config/* removed; theming now lives in app/app.config.ts and the components
  • App shell split into smaller components (footer, hamburger menu, side menu, TOC, login, useful links, prev/next page)
  • Added prose overrides (H1, H4–H6, Img), useActiveHeading and useScrollOffset composables
  • pages/index.vue removed

Content components

  • All sh-* content components rewritten for Nuxt UI 4 (action card, alert, avatar, badge, button, card, carousel, column, dynamic table, FAQ, list cards, micro card, etc.)
  • New doc-api, doc-example and color-palette components

Tooling / docs

  • New scripts/generate-component-docs.mjs generates app/data/component-docs.json; wired into predev/prebuild/pregenerate, with docs:generate and docs:check scripts
  • Updated Dockerfile, .dockerignore, tsconfig.json, README.md and DEVELOPMENT.md

Preview

As soon as we resolve PRs #860, #952 & #959 I will make a PPRD for this to be reviewed. In the meantime, there is a possibility of running this locally by:

  • positioning yourself onto this branch
  • if not installed, first nvm install 26 then nvm use v26
  • npm i
  • npm run dev

@FroudeDescartes FroudeDescartes self-assigned this Oct 12, 2026
@FroudeDescartes FroudeDescartes added P1 Priority 1 enhancement New feature or request Attention needed labels Oct 12, 2026
FroudeDescartes and others added 4 commits October 12, 2026 14:06
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@FroudeDescartes
FroudeDescartes marked this pull request as draft October 12, 2026 17:06
FroudeDescartes and others added 14 commits October 12, 2026 19:11
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…next on mobile

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
FroudeDescartes and others added 4 commits October 15, 2026 16:04
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Doc layout no longer injects the frontmatter title; pages start with
# {{$doc.title}} and ProseH1 builds the anchor id from the rendered text.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jpradocueva
jpradocueva marked this pull request as ready for review October 16, 2026 18:14

@jpradocueva jpradocueva left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@jpradocueva
jpradocueva merged commit ebfb190 into main Oct 16, 2026
1 of 3 checks passed
@jpradocueva
jpradocueva deleted the upgrades branch October 16, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Attention needed enhancement New feature or request P1 Priority 1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants