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

Comments

8 participants
@eliperelman
Copy link
Member

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Member Author

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

This comment has been minimized.

Copy link

commented Jan 8, 2018

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

@eliperelman

This comment has been minimized.

Copy link
Member Author

commented Jan 8, 2018

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

@chrislopresto

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link
Member

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

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link
Member Author

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

This comment has been minimized.

Copy link
Member Author

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

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link

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
You can’t perform that action at this time.