Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

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

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 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

@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 commented Jan 8, 2018

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

@eliperelman
Copy link
Member Author

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

@chrislopresto
Copy link

@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 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 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

@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 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

@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

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 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

Splitting up the features sounds like the way to go

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

8 participants