Skip to content

fivethreeo/react-universally

 
 

Repository files navigation

React, Universally

A starter kit for universal react applications.

About

This starter kit contains all the build tooling and configuration you need to kick off your next universal React project, whilst containing a minimal "project" set up allowing you to make your own architecture decisions (Redux/MobX etc).

NOTICE: Please read this important issue about the behaviour of this project when using react-async-component, which is by default bundled with it.

Features

  • 👀 react as the view.
  • 🔀 react-router v4 as the router.
  • 🚄 express server.
  • 🎭 jest as the test framework.
  • 💄 Combines prettier and Airbnb's ESlint configuration - performing code formatting on commit. Stop worrying about code style consistency.
  • 🖌 Very basic CSS support - it's up to you to extend it with CSS Modules etc.
  • ✂️ Code splitting - easily define code split points in your source using react-async-component.
  • 🌍 Server Side Rendering.
  • 😎 Progressive Web Application ready, with offline support, via a Service Worker.
  • 🐘 Long term browser caching of assets with automated cache invalidation.
  • 📦 All source is bundled using Webpack v3.
  • 🚀 Full ES2017+ support - use the exact same JS syntax across the entire project. No more folder context switching! We also only use syntax that is stage-3 or later in the TC39 process.
  • 🔧 Centralised application configuration with helpers to avoid boilerplate in your code. Also has support for environment specific configuration files.
  • 🔥 Extreme live development - hot reloading of ALL changes to client/server source, with auto development server restarts when your application configuration changes. All this with a high level of error tolerance and verbose logging to the console.
  • ⛑ SEO friendly - react-helmet provides control of the page title/meta/styles/scripts from within your components.
  • 🤖 Optimised Webpack builds via HappyPack and an auto generated Vendor DLL for smooth development experiences.
  • 👮 Security on the express server using helmet and hpp.
  • 🏜 Asset bundling support. e.g. images/fonts.
  • 🎛 Preconfigured to support development and optimised production builds.
  • ❤️ Preconfigured to deploy to now with a single command.

Redux/MobX, data persistence, modern styling frameworks and all the other bells and whistles have been explicitly excluded from this starter kit. It's up to you to decide what technologies you would like to add to your own implementation based upon your own needs.

Getting started

git clone https://github.com/ctrlplusb/react-universally my-project
cd my-project
npm install
npm run develop

Now go make some changes to the Home component to see the tooling in action.

Docs

Who's using it and where?

You can see who is using it and how in the comments here. Feel free to add to that telling us how you are using it, we'd love to hear from you.

Contributors

Thanks goes to these wonderful people (emoji key):


Alin Porumb


长天之云


Alex Berdyshev


andersoo


Andrés Calabrese


Andrey Luiz


Anuj


Benjamin Kniffler


Bernd Wessels


Birkir Rafn Guðjónsson


Carson Perrotti


Chi


Chris Martin


Christian Glombek


Christoph Werner


Ciornii Maxim


Code Review Videos


Corey Gouker


Dario Banfi


David Edmondson


Dion Dirza


Dominique Rau


Elod-Arpad Szopos


Evgeny Boxer


gooddaddy


gufran mirza


HaveF


Joe Kohlmann


kdavh


Kevin Siow


Lucian Lature


Mark Shlick


Nick Ribal


omerts


Paul Rad


Ryan Lindskog


Steven Enten


Sean Matheson


Sérgio A. Kopplin


Steven Truesdell


Stefan Mirea


Sviatoslav


Thomas Leitgeb


Tyler Nieman


Vicente de Alencar


Yaniv kalfa

About

A starter kit for universal react applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.8%
  • CSS 0.2%