I feel like this could be a nice way to introduce people to the idea of codemods. Many people don't know about https://github.com/reactjs/react-codemod or think running it is complicated. Maybe providing something like npm run upgrade-to-react-16 would be helpful. (Just throwing this idea out there.)
For codemodding itself I like it. I wonder about npm run codemode-foo though. Is the idea to provide more and more tools available via npm run blahblah in the autocreated project over time? It might be nicer to provide some dev tool that had stuff like the "start" and "build" functionality in it, and you could actually keep that tool as a dev dependency while developing. That way, if you had an old project you could upgrade your version of the toolkit.
Like, would npm run upgrade-to-react-16 only be available for projects created after the upgrade-to-react-16 codemod was created? That is sort of not the target audience.
Might be a place to consider p-s where scripts can be dynamic and updated as people upgrade their projects to the new version of the CLI (without having to update a [growing] package.json scripts)
@lacker
Totally, we鈥檇 need to change how we use scripts for this.
Might be a place to consider p-s where scripts can be dynamic and updated as people upgrade their projects to the new version of the CLI (without having to update a [growing] package.json scripts)
馃憤
So if scripts starts to be useful scripts for different parts of your app's lifecycle, rather than just scripts to start your app up, maybe it would be more accurate to just call the module something like react-scripts. (Which is available afaict)
It might also be neat if there were scripts like install-redux,install-relay, install-jest. Those could do a bit of codemodding and some npm installing to automate common other ecosystem tools. Also just throwing the idea out there.
Agreed that one script is better (we can still do it btw, just need to change those commands to be a single bin entry point).
Something like install-relay is super interesting but I want this to be something considered for conceptual "v2". Right now the scope is limited to build tooling because even that will take a while to get right. Then we can think about runtime dependencies.
V2ing install-relay sounds good to me. There is still the question of the name of the dependent package - people are gonna run create-react-app once, but the dependency on what is currently create-react-app-scripts could remain while the app goes into production, new engineers join the team, etc. Let's name it non-create-specifically to keep options open. Thoughts on react-scripts or react-run? (I'll ditch that other react-run project in favor of create-react-app either way.)
react-scripts sounds nice, is it free?
react-scripts not found :)
Let me codemod everything to react-scripts in the repo while one of you grab the npm package
And I grabbed the npm module
I鈥檓 pretty sure we鈥檒l want to do this at some point, but let鈥檚 wait for first codemod to turn up, and then think about it.
Most helpful comment
And I grabbed the npm module