keystonejs / keystone

The most powerful headless CMS for Node.js — built with GraphQL and React
https://keystonejs.com
MIT License
8.98k stars 1.13k forks source link

[WIP/RFC] Full Next.JS experience with App Router #9181

Open gautamsi opened 1 week ago

gautamsi commented 1 week ago

This is my attempt to modernize the template with App Router and server side actions. This also brings the fullNext.JS experience without using isolated nextjs folder.

changes:

Need to fix

Roadmap

@dcousens This PR is for feedback and collaboration to make it next gen, I have plans to add more features like nested lists. Wanted to get your take on this if ThinkMill is willing to work in this direction or not.

this is using part of eslint cleanup branch, should be less clutter once the other PR merges

dcousens commented 1 week ago

Wanted to get your take on this if ThinkMill is willing to work in this direction or not.

@gautamsi I think it was a mistake for Keystone to use NextJS without leveraging NextJS for it's potential, and I'm happy to see you think we should be moving in this direction too!

dcousens commented 1 week ago

In the interests of merging early, let's try and keep each feature in it's own pull request, as small and as atomic as possible.

Some of the features you have listed will need more attention than others, and we need not hold everything back while reviewing one particular feature.

gautamsi commented 1 week ago

Lets move this into an RFC which can be contributed towards the feature improvements. I will then create atomic PRs. probably we have a v-next branch to keep the update isolated from main. and merge when there is significant changes approved for initial release in the direction.

gautamsi commented 1 week ago

@dcousens what is your opinion on React 19 and Next 15? If all goes well, the release could be timed with the final release of the two with some beta/rc/nightly release along the way. or do you want to focus with Next 14 only? IMO Next 15 will keep it going for long.