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

Build a Neutrino-backed version of create-react-app #556

Closed
eliperelman opened this issue Dec 6, 2017 · 13 comments
Closed

Build a Neutrino-backed version of create-react-app #556

eliperelman opened this issue Dec 6, 2017 · 13 comments

Comments

@eliperelman
Copy link
Member

@eliperelman eliperelman commented Dec 6, 2017

This is mostly for proof-of-concept, but there may be some actual value here. Essentially, I want to prove out whether we can build a 1:1 feature-complete version of Create React App that is not backed by react-scripts, but rather, Neutrino, so a CRA user could customize their configuration through .neutrinorcjs instead of ejecting. Basically, ejecting will not be possible or necessary.

The scaffold story should be backed up create-project, so the terminal output need not be identical.

The functionality should be the same though. Starting the project, building, all the loaders, environment variables, error displays, etc. should work just like CRA.

Really looking for someone from the community, and preferably familiar with CRA to pick this up. Chime in if you're interested!

@eirikurn
Copy link
Contributor

@eirikurn eirikurn commented Dec 8, 2017

We're far along with this in Tux, though we're tackling middleware-based SSR at the same time, which of course makes everything much more complicated. But is another interesting discussion for Neutrino.

Still, I've experience blending together Neutrino configurability with CRA dev experience. I'll try to extract some learnings about the walls we hit.

@eliperelman
Copy link
Member Author

@eliperelman eliperelman commented Dec 8, 2017

@eirikurn that sounds great, we would appreciate any feedback you have, and would welcome you to collaborate on it if you're interested.

@reflog
Copy link

@reflog reflog commented Jan 8, 2018

Was there any progress with this? Really curious to try neutrino and drop CRA...

@eliperelman
Copy link
Member Author

@eliperelman eliperelman commented Jan 8, 2018

@reflog no, it has not yet been picked up by anyone.

@chrislopresto
Copy link

@chrislopresto chrislopresto commented May 3, 2018

@eliperelman I'm about to dig into neutrino to see if I can provide an easy off ramp for some create-react-app projects at work. While we're not looking to replicate create-react-app's exact functionality*, I would be interested in pushing something forward... with the disclaimer that I'm not exactly sure what that means yet. 🙂

Ideally we'd end up with a neutrino-backed create-project workflow that makes it just as easy as CRA does to get going with zero config. Optional configurability / extensibility via a .neutrinorc.js module would be icing on the cake.

If you or anyone else is interested in collaborating, please do drop me a line here, in the Spectrum chat, or on Twitter.


* e.g. we're all in on TypeScript, we have some non-single-page-app usage patterns

@artola
Copy link

@artola artola commented May 13, 2018

@chrislopresto do you have something to share already? ... I am thinking to use neutrino in place of CRA, also with Typescript for apps and libraries with the idea of a shareable preset as starter.

@edmorley
Copy link
Member

@edmorley edmorley commented May 13, 2018

With the upcoming changes in #852 this should be a lot easier - since the current CRA would just point at the webpack.config.js that contains the module.exports = neutrino().webpack(); -- and if no .neutrinorc.js is found the presets list would default to eg @neutrinojs/react + @neutrinojs/airbnb + @neutrinojs/jest.

@chrislopresto
Copy link

@chrislopresto chrislopresto commented May 15, 2018

@artola I haven't started anything in earnest... just a few experiments to get my feet wet with neutrino. I'd love to collaborate, as it seems like we have the exact same goals.

The proposed changes in #852 would make our lives easier, as we're embedding some of our TypeScript React apps within existing server-rendered apps. So we're most interested in neutrino + webpack-chain for shareable, maintainable webpack config (more so than a CRA replacement).

@yordis
Copy link

@yordis yordis commented Aug 16, 2018

@eliperelman I am guessing that you want to bundle that inside the React preset if I am not mistaking is that right?!

@eliperelman
Copy link
Member Author

@eliperelman eliperelman commented Sep 20, 2018

@yordis the goal was to provide a different scaffold target, so create-project could generate either a minimal "React" project, or a more in-depth "Create React App" project.

@eliperelman
Copy link
Member Author

@eliperelman eliperelman commented Sep 20, 2018

Closing as we don't really have the capacity to maintain this at the moment. If there is interest and a good solution for this, feel free to reopen.

@yordis
Copy link

@yordis yordis commented Sep 21, 2018

@eliperelman my approach will be to actually create multiple plugins that will allow you to create CRA with simple steps.

I wouldn't target to create yet another CRA that do now allow us to modify anything or create a massive plugin that needs every single configuration.

This is on my TODO list for sure, I can't allocate much time right now but I will be helpful to have your inputs on it.

@skulptur
Copy link

@skulptur skulptur commented Nov 12, 2018

Splitting up the features sounds like the way to go

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
8 participants