# @not-govuk/server-renderer

> A Restify renderer of React applications using react-router.

Latest version **0.16.3** (published 2025-08-18) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install @not-govuk/server-renderer
pnpm add @not-govuk/server-renderer
yarn add @not-govuk/server-renderer
bun add @not-govuk/server-renderer
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.16.3 |
| Published | 2025-08-18 |
| First published | 2020-08-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 27.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Daniel A.C. Martin |
| Maintainers | daniel-ac-martin |

## Links

- npm: https://www.npmjs.com/package/@not-govuk/server-renderer
- npm.io page: https://npm.io/package/@not-govuk/server-renderer

## Dependencies (3)

- [@not-govuk/uri](https://npm.io/package/@not-govuk/uri.md) ^0.16.3
- [restify-errors](https://npm.io/package/restify-errors.md) ^8.0.2
- [@not-govuk/app-composer](https://npm.io/package/@not-govuk/app-composer.md) ^0.16.3

## Recent versions

- 0.16.3 (latest) — 2025-08-18
- 0.1.27 (pnpm-temp) — 2020-10-19
- 0.16.2 — 2025-05-30
- 0.16.1 — 2025-05-21
- 0.16.0 — 2025-05-11
- 0.15.14 — 2025-05-08
- 0.15.13 — 2025-05-07
- 0.15.12 — 2025-04-10
- 0.15.11 — 2025-04-03
- 0.15.10 — 2025-03-21
- 0.15.9 — 2025-03-17
- 0.15.8 — 2025-02-16
- 0.15.7 — 2025-02-15
- 0.15.6 — 2025-02-02
- 0.15.5 — 2025-01-21
- … 94 more at https://npm.io/package/@not-govuk/server-renderer/versions

## README

Not Govuk - Server Renderer
===========================

A Restify renderer of React applications using react-router.


Using this package
------------------

First install the package into your project:

```shell
npm install -S @not-govuk/server-renderer restify
```

Then use it in your code as follows:

```js
const restify = require('restify');
const { reactRenderer } = require('@not-govuk/server-renderer');

const { AppWrap } = require('../common/app-wrap');
const { PageWrap } = require('../common/page-wrap');
const { ErrorPage } = require('../common/error-page');
const { Template } = require('./template');

const entrypoints = require('../../dist/public/entrypoints.json');

const react = reactRenderer(
  AppWrap,
  PageWrap,
  ErrorPage,
  Template,
  {
    assetsPath: 'public/',
    entrypoints,
    pages: [],
    rootId: 'root',
    ssrOnly: false
  });
const formatHTML = react.formatHTML;

const httpd = restify.createServer({
  name: config.name,
  formatters: {
    'application/xhtml+xml; q=0.2': formatHTML,
    'text/html; q=0.2': formatHTML
  },
});

httpd.use(react.renderer);

httpd.get('/', (req, res, next) => {
  res.renderApp(200, 'My page\'s title');
  next();
});

httpd.listen(8080, '0.0.0.0', () => {
  httpd.log.info('%s listening at %s', httpd.name, httpd.url);
});
```


Working on this package
-----------------------

Before working on this package you must install its dependencies using
the following command:

```shell
pnpm install
```


### Building

```shell
npm run build
```


### Clean-up

```shell
npm run clean
```

---
_Source: https://npm.io/package/@not-govuk/server-renderer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
