ssrr

[![Build Status](https://github.com/abernier/ssrr/workflows/ci/cd/badge.svg)](https://github.com/abernier/ssrr/actions?query=workflow%3Aci%2Fcd) [![NPM version](https://img.shields.io/npm/v/ssrr.svg?style=flat)](https://www.npmjs.com/package/ssrr) ![David

Usage no npm install needed!

<script type="module">
  import ssrr from 'https://cdn.skypack.dev/ssrr';
</script>

README

Build Status NPM version David Coverage Status

SSRR -- ServerSideReactRendering

  1. yarn build or yarn start your CRA
    $ yarn start
    
  2. Start the backend server:
    $ node server.js
    
    // server.js
    
    const ssr = require('ssrr')
    
    require("@babel/register")({
      presets: ["@babel/preset-env", "@babel/preset-react"],
      plugins: [
        [ "transform-require-ignore", {"extensions": [".css"]} ]
      ]
    });
    
    const App = require('./src/App.js').default
    const routes = Object.values(require('./src/routes.js').default)
    
    const server = ssr(`${__dirname}/build`, App, routes)
    
    const port = 5000
    server.listen(port, () => console.log(`ok, ssrr is now listening on port ${port}`))
    
  3. go to http://localhost:5000

NB: if you're using yarn start on 1., you still have hot-reload on port 5000 :)

NPM

To release a new version on npm:

  1. bump the package.json version
  2. then, create a new realese and wait for the ci/cd publish it :)