public/app.js (27 lines of code) (raw):

import React from 'react'; import { render } from 'react-dom'; import { Provider } from 'react-redux'; import configureStore from './util/configureStore'; import {setStore} from './util/storeAccessor'; import {router} from './router'; import './style/main.scss'; import '@guardian/prosemirror-editor/dist/style.css' function extractConfigFromPage() { const configEl = document.getElementById('config'); if (!configEl) { return {}; } return JSON.parse(configEl.innerHTML); } const store = configureStore(); const config = extractConfigFromPage(); setStore(store); store.dispatch({ type: 'CONFIG_RECEIVED', config: config, receivedAt: Date.now() }); render( <Provider store={store}> {router} </Provider> , document.getElementById('react-mount'));