# olymp-universally

> A starter kit giving you the minimum requirements for a modern universal react application.

Latest version **12.0.0** (published 2017-01-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install olymp-universally
pnpm add olymp-universally
yarn add olymp-universally
bun add olymp-universally
```

Provides the command `olymp-universally`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 12.0.0 |
| Published | 2017-01-12 |
| First published | 2017-01-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=6 |
| Dependencies | 17 |
| Known vulnerabilities | 0 (+6 in 3 direct dependencies) |
| Install scripts | yes |
| GitHub stars | 1680 |
| Maintainers | bkniffler |
| Keywords | react, boilerplate, starter kit, universal, javascript, express, webpack |

## Links

- npm: https://www.npmjs.com/package/olymp-universally
- Repository: https://github.com/ctrlplusb/react-universally
- Homepage: https://github.com/ctrlplusb/react-universally#readme
- Issues: https://github.com/ctrlplusb/react-universally/issues
- npm.io page: https://npm.io/package/olymp-universally

## Dependencies (17)

- [hpp](https://npm.io/package/hpp.md) 0.2.1
- [uuid](https://npm.io/package/uuid.md) 3.0.1
- [react](https://npm.io/package/react.md) 15.4.2
- [colors](https://npm.io/package/colors.md) 1.1.2
- [dotenv](https://npm.io/package/dotenv.md) 4.0.0
- [helmet](https://npm.io/package/helmet.md) 3.3.0
- [express](https://npm.io/package/express.md) 4.14.0
- [react-dom](https://npm.io/package/react-dom.md) 15.4.2
- [user-home](https://npm.io/package/user-home.md) 2.0.0
- [compression](https://npm.io/package/compression.md) 1.6.2
- [app-root-dir](https://npm.io/package/app-root-dir.md) 1.0.2
- [react-helmet](https://npm.io/package/react-helmet.md) 3.3.0
- [react-router](https://npm.io/package/react-router.md) 4.0.0-alpha.6
- [normalize.css](https://npm.io/package/normalize.css.md) 5.0.0
- [offline-plugin](https://npm.io/package/offline-plugin.md) 4.5.4
- [code-split-component](https://npm.io/package/code-split-component.md) 2.0.0-alpha.5
- [serialize-javascript](https://npm.io/package/serialize-javascript.md) 1.3.0

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 12.0.0 (latest) — 2017-01-12
- 11.0.1-3 — 2017-01-07
- 11.0.1-2 — 2017-01-07
- 11.0.1-1 — 2017-01-07
- 11.0.1 — 2017-01-07

## README

<p align='center'>
  <h1 align='center'>React, Universally</h1>
  <p align='center'><img width='150' src='https://raw.githubusercontent.com/ctrlplusb/assets/master/logos/react-universally.png' /></p>
  <p align='center'>A starter kit giving you the minimum requirements for a modern universal React application.</p>
</p>

## 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).

## Features

  - 👀 `react` as the view.
  - 🔀 `react-router` v4 as the router.
  - 🚄 `express` server.
  - 🎭 `jest` as the test framework.
  - 🖌 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 `code-split-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 v2.
  - 🚀 Full ES2017+ support - use the exact same JS syntax across the entire project (src/tools/config). 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.
  - 🔥 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.
  - 🍃 Tree-shaking, courtesy of Webpack.
  - 👮 Security on the `express` server using `helmet` and `hpp`.
  - 🏜 Asset bundling support. e.g. images/fonts.
  - 🎛 Preconfigured to support development and optimised production builds.
  - 👼 Airbnb's ESlint configuration.
  - ❤️ 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.

> However, we now include a set of "feature branches", each implementing a technology on top of the clean master branch.  This provides you with an example on how to integrate said technologies, or use the branches to merge in a configuration that meets your requirements.  See the [`Feature Branches`](/docs/FEATURE_BRANCHES.md) documentation for more.

## Getting started

```bash
git clone https://github.com/ctrlplusb/react-universally my-project
cd my-project
yarn
yarn run development
```

Or, if you aren't using [`yarn`](https://yarnpkg.com/):

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

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

## Docs

 - [Project Overview](/docs/PROJECT_OVERVIEW.md)
 - [Application Configuration](/docs/APPLICATION_CONFIG.md)
 - [Package Script Commands](/docs/PKG_SCRIPTS.md)
 - [Feature Branches](/docs/FEATURE_BRANCHES.md)
 - [Deploy your very own Server Side Rendering React App in 5 easy steps](/docs/DEPLOY_TO_NOW.md)
 - [FAQ](/docs/FAQ.md)
 - [Changelog](/CHANGELOG.md)

---
_Source: https://npm.io/package/olymp-universally · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
