Closed thedavidprice closed 3 years ago
This is a great idea @thedavidprice!
What's the scope of the generated project? Some of my latest PRs, and one I'm currently working on, all require auth to be able to test properly. Would this generated project include auth as well?
@Tobbe I'd added this catch-all BonusBullet:
bonus: developer could extend the automatic project build "instructions" with additional commands and code mods, e.g. need to add a specific auth provider, components/pages, setup commands, etc. for repeated or collaborative development testing
What if the script allowed passing setup command(s)? So you could do something like:
./tasks/build-project --setup "auth netlify "deploy netlify" tailwind
We could work on the syntax, but do you get the idea?
Hey @thedavidprice, such a good improvement to make it easier to contribute.
I am wondering I have enough knowledge on the project to pick up this story 👁️
Would it be a good start point to create the run the same tests that are in the Cypress tutorial? If I understood correctly, those are the tests that are running in the CI?
@renansoares hi there! (and, wow, do I owe you some discussion about Lighthouse score project 😬) This would be an amazing project to help with. And even higher in priority to lighthouse scores.
I tried to contact you last week via forums admin but had a bounce on your email address. If you're up for it, could we find a time to connect real-time for 30 min? That way I can remove myself as a bottleneck and empower you to move forward!
Open to other suggestions. If you're up for it, email me at thedavid@thedavidprice.com (you can also try Discord or Forums, but I'm often slower to reply on those)
@renansoares and I connected and strategized about this today. He's going to start working on this (and will also keep in mind #981) 🚀
The first step is to experiment with a script for installing the project, running CLI commands, and applying code mods (basic). This might be custom or using a library. Suggestions welcome.
Renan, for reference, I just saw an interesting CI setup related to our conversation. Admittedly it would be for a much later step in this process -> https://github.com/redwoodjs/redwood/issues/1886#issuecomment-816928643
The discussion for this has shifted to the forums for anyone tracking this.
Local development often requires setting up a functional test project (Redwood App). Additionally, when new hosting providers, auth providers, or other service companies want to integrate with Redwood, they ask if there's a canonical Redwood project for development and testing.
It seems everyone has their own way of managing this, from using an example app, completed Tutorial codebase, a branch from their personal project, etc. During release QA, I start with a fresh project installed using the current create-redwood-app/template codebase in the
main
branch. I then run the E2E Cypress test against this new project, committing the state after it has applied code mods and completed the run successfully.I propose creating a new
./tasks
script that replicates my QA process:yarn babel-node packages/create-redwood-app/src/create-redwood-app.js path/to/project
To Do