Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace build system #54

Open
foodelevator opened this issue Sep 11, 2023 · 1 comment
Open

Replace build system #54

foodelevator opened this issue Sep 11, 2023 · 1 comment

Comments

@foodelevator
Copy link
Member

The build system used here has now gotten quite old and could use a refresh. Having to use node version 10 isn't very fun and I've been trying to run npm install with npm version 6.14.12 but haven't gotten anywhere ;(

I think that most of the client side code would still work in modern react (correct me if I'm wrong) and the only interesting line of the server side code seems to be
https://github.com/datasektionen/bawang/blob/1a2aee8c3d8790c75b0d12a94f76118fbbd3ee14/src/server.js#L33C3-L33C76
which should be possible to implement directly in nginx.

I've heard good things about vite, but don't know too much about react and what's nice to use.

@foodelevator
Copy link
Member Author

foodelevator commented Nov 6, 2023

I have looked around a bit and if we want to still have both server rendering and client side routing like now, we can probably use Next.js or something called Vike (built on vite), with which you can enable client side routing like in this example.

We could also give up on server rendering, in which case we could use some vite + react template. I do however think that it would be "kinda meh" to have a website without any interactivity that doesn't even render without javascript.

We could also give up on client side routing and only server side render (which would re-fetch the whole website when you click any link) and in that case perhaps astro would be the nicest?
We could also use Astro (in which you can have React components) and use the new view transitions api. It's very new and so far only exists in chromium but Astro allows you to either use their built in JS-based fake view transitions or full page reloads as a fallback, so I don't think that is problematic even as a die hard firefox user myself :)

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

No branches or pull requests

1 participant