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

[Other] Explore possibility of removing create-react-app #190

Open
justinkambic opened this issue Apr 6, 2022 · 1 comment
Open

[Other] Explore possibility of removing create-react-app #190

justinkambic opened this issue Apr 6, 2022 · 1 comment
Labels
chore discuss needs refinement Requires additional discussion to clarify requirements

Comments

@justinkambic
Copy link
Contributor

Task summary

Today we rely on create-react-app for the automatic bundling and serving of our frontend. This is really convenient because it eliminates a lot of maintenance and setup tasks that we would otherwise need to implement manually.

This also has drawbacks.

  1. We have no control over updating dependencies that are out of date with security concerns. There are several and we are already on the latest version of the package.
  2. We have limited control over how its internal webpack is working, and if we wanted to explore optimization of our bundle size or other build-related tasks, we'd need to do this without using create-react-app.
  3. We have tangential dependencies like wait-on that we need to use for concurrency when scripting our dev mode. It might be possible to eliminate those as well with a custom solution.
  4. Expanding typescript support to the backend is complicated because we need multiple configs and it's much more difficult to work around create-react-app's internal configurations.

For these reasons I think it might be worth exploring the elimination of create-react-app from the codebase. The tradeoff to reduced dependency load and greater control over the build process is that we would have additional setup code of our own to maintain/update as the application changes and grows over time.

Linked resources

No response

Additional information

No response

@justinkambic justinkambic added needs refinement Requires additional discussion to clarify requirements chore discuss labels Apr 6, 2022
@justinkambic
Copy link
Contributor Author

React team provides an eject script that will give over complete control to all the underlying build configs.

They also recommend forking react-scripts as an alternative to ejecting.

It's probably worth a spike of both of these options so we can see just how involved eject is, vs. the convenience:difficulty ratio in the forking option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore discuss needs refinement Requires additional discussion to clarify requirements
Projects
None yet
1 participant