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

[Question] Why a CLI over a Yeoman generator? #1119

Closed
ctrlplusb opened this issue Nov 30, 2016 · 2 comments
Closed

[Question] Why a CLI over a Yeoman generator? #1119

ctrlplusb opened this issue Nov 30, 2016 · 2 comments

Comments

@ctrlplusb
Copy link

Not intended to sound snarky. My question comes from a place of interest and ignorance.

@gaearon
Copy link
Contributor

gaearon commented Nov 30, 2016

I don’t know enough about Yeoman but we had a few constraints:

  • The "ejection" feature. It seems a bit tricky to implement on top of a generator that wasn’t designed for it in the first place.
  • There is no intention of code generation. We give you a project with npm start, npm test and npm run build, and we don't want to make an impression that we will scaffold any code for you.
  • Versioning. We want a very particular way of versioning: Create React App is a global CLI but it uses the latest version of react-scripts (which is the actual code). So you don't need to update the CLI when starting new projects: you always use latest react-scripts by default. For this to work, we need CLI to call init.js inside react-scripts so that we can safely change it in future versions without breaking backwards compat with the CLI.

I’m not sure if Yeoman satisfies them and we didn’t want to lock ourselves into something that would be hard to change. Does this help?

@ctrlplusb
Copy link
Author

Yes, thank you for taking the time to answer this @gaearon. :)

Closing...

@lock lock bot locked and limited conversation to collaborators Jan 22, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants