Just got through a monster upgrade/refactor.
Upgraded Nuxt Hub to the latest version
Migrated to a pnpm workspace with a separate customer app for CNAMEs, and a shared Nuxt layer
Migrated to Cloudflare Static Assets dir (docs)
Migrated to
wrangler.json
(docs)Rewrote the Prosemirror to Vue SSR renderer (Cursor was an absolute beast here)
Ripped out the Vue REPL embed as it was causing too much pain for a “nice to have” feature...if/when I come back to this, figure out a way to do a CDN-only implementation
Next Steps
Rebuild [REDACTED] with Minima as the headless CMS to dogfood the API, and think about a TypeScript API client package
Gotchas
Couldn't resolve component "default" at "/:path(.*)*"
was not, in fact, an issue with pathsNitro has a separate
compatibilityDate
which needed updating for the Cloudflare Static Assets directory to work (docs)Used
wrangler secret put
to deal with the self-hosted Nuxt Hub env stuff rather than patching the dependency like I did last timeCloudflare SSL for SaaS routes tripped me up again, fix was using
*.*
for the fallback origin route andminima.ltd/*
for the app route