-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Project Installation (create redwood app) Improvements [Tracking Issue] #3989
Comments
I've forever wondered why this wasn't part of the install. I just assumed this was something decided early on, before my involvement. Is there any more background info on this? |
I originally added it, but Tom and Rob vetoed it. Very up for revisiting! |
Prompts to consider adding to create:
I do think it's time to remove Listr. Should revisit final message — shorten and focus, add more flare! |
Packages to consider:
|
I ran The remix cli experience for my first install was nice. There were a few things I'd change, but that's for a PR on another repo 😉 Looking at the code however I'm not sure if I like that any better than our current setup with yargs + listr. @thedavidprice "I do think it's time to remove Listr." What makes you say that? |
Thanks @Tobbe To be clear, I don't care about the underlying tools. I just think there's a lot we can do to improve the overall experience. Listr can be fine and I'm not specifically saying we remove it. I do think across the CLI we've overused it. So in this case I'd be open to other ideas for managing the step-by-step installation process. I'd start by adding prompts, which both allow for customization at the time of installation as well as discovery about all the things Redwood can do out of the box. |
Also noting that we've used prompts in other parts of the codebase but I'm not sure which one is better. And if we were going to consider swapping out yargs (realistically I don't think we will right now / there's probably other optimizations we could do first) I'd want to give clipanion a solid look. It's what yarn uses. |
Thanks @thedavidprice and @jtoar. I've been happy with both yargs and listr. And totally agree switching out any of our cli tools right now is a lot of work with questionable roi. I won't jump on this now, but I think a good next step for whoever picks this up would be to look at both prompt and inquirer and see if any of them enables us to do something we need that the other one doesn't, and then try to add a couple of questions to the setup process. |
See the duplicated Tried to find a solution, and found listr2 which over-all seems more actively maintained. But it has the exact same problem listr2/listr2#403. listr2 blames log-update which listr also uses. The listr2 author says that switching to stdout-update is the answer. But that still hasn't happened over a year later. The stdout-update author has written tasktree (that uses stdout-update). So maybe we should look into switching to tasktree instead. |
From David: I’ll drop an idea here that I mentioned to Dom a few weeks ago.
Because we now use Yarn 3, I don’t think we even need to clear the package.json engine config. But we might want to take that step given that some deploy providers set the build/deploy Node version based on the engine. |
Heyo - have any of you tried the Astro CLI installer - WOW! It is really amazing. Nothing more than that, just thought it might be a worthwhile one to checkout and explore. |
I created a topic with my experience setting up Zero-Installs "plug-n-play" here https://community.redwoodjs.com/t/zero-installs-plug-n-play/4519 |
In general, there's a lot of room to improve the DX during the installation process. We could have a helpful pre-flight (versions, system, etc), handle failures better (link to docs, prompt for sending error report, etc.), prompt for customization options, add a git init step, use Yarn 3 or pnp to speed up package installation (or find some other way). Here's the working list of related Issues:
ts-to-js
transpiling within create-redwood-app.js (instead of the current separate CLI command) #1954The text was updated successfully, but these errors were encountered: