FlowFuse / FlowFuse/website

Complete conversion to Nuxt

Open
#5,777 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Vue
Stars
23
Forks
19
Avg merge
2d 5h
Merged PRs (30d)
146

Description

The site is served by two generators: Eleventy renders most pages from `src/`, Nuxt renders the rest, and `nuxt/server/middleware/legacy.ts` proxies between them in dev. This is the last stretch of that migration: every remaining page moves to Nuxt, then Eleventy comes out.

## Order

1-17 are independent and target `main`, but they all touch the same two registry files (`legacy.ts`, `nuxt.config.ts`), so expect a small rebase after each merge. Merge top to bottom.

1. https://github.com/FlowFuse/website/pull/5778
2. https://github.com/FlowFuse/website/pull/5779
3. https://github.com/FlowFuse/website/pull/5780
4. https://github.com/FlowFuse/website/pull/5781
5. https://github.com/FlowFuse/website/pull/5782
6. https://github.com/FlowFuse/website/pull/5783
7. https://github.com/FlowFuse/website/pull/5784
8. https://github.com/FlowFuse/website/pull/5785
9. https://github.com/FlowFuse/website/pull/5786
10. https://github.com/FlowFuse/website/pull/5787
11. https://github.com/FlowFuse/website/pull/5788
12. https://github.com/FlowFuse/website/pull/5789
13. https://github.com/FlowFuse/website/pull/5790
14. https://github.com/FlowFuse/website/pull/5791
15. https://github.com/FlowFuse/website/pull/5792
16. https://github.com/FlowFuse/website/pull/5793
17. https://github.com/FlowFuse/website/pull/5794
18. https://github.com/FlowFuse/website/pull/5795
19. https://github.com/FlowFuse/website/pull/5796

18 and 19 are drafts because 18 deletes `src/` and the dev proxy, which against today's `main` would delete pages 2-17 are still migrating. They are based on `nuxt/eleventy-teardown-base`, a scaffolding branch holding the combined state of 1-17, so their diffs show only their own change. Retarget both to `main` once 1-17 have landed, then delete that branch.

## Notes

- https://github.com/FlowFuse/website/pull/5694 overlaps 17: it adds its own `nuxt/lib/blueprints-sync.mjs` and rewrites the same workflow. Land it first and rebase 17 onto it.
- Every route was checked against the published page before this was raised.
- https://github.com/FlowFuse/blueprint-library/pull/182 goes with 17: a blueprint whose markdown heading is a link nests an `` inside the anchor `@nuxt/content` wraps headings in, which HTML cannot represent, so the blueprint page logs a hydration mismatch. 11ty tolerated it. It was the only linked heading of the 19 blueprints, and the link was dead anyway.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with nuxt/server/middleware/legacy.ts and nuxt.config.ts, then review pull requests 5778-5796 in the stated order. The migration is complete when every remaining page is served by Nuxt and Eleventy, src/, and the development proxy can be removed; drafts 5795 and 5796 cover that teardown after the earlier work lands.

Written by the indexing model from the issue text.

Assessment

Tech stack
nuxt
Domain
build-system, web-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.