Skip to content

Instantly share code, notes, and snippets.

@ndelitski
Created September 8, 2018 08:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ndelitski/581e2869bb6f3c2b1c01216e8a2b5074 to your computer and use it in GitHub Desktop.
Save ndelitski/581e2869bb6f3c2b1c01216e8a2b5074 to your computer and use it in GitHub Desktop.
/* eslint-disable global-require */
import path from 'path'
import Server from '@frankmoney/webapp/es/server/Server'
import config from '../../config'
import initRoutes from './router'
const isProd = process.env.NODE_ENV === 'production'
const findUser = ({ graphqlClient }) =>
graphqlClient(`{
me {
email
}
}`).then(
({ me: user }) =>
user && {
...user,
accountId: 'cjkgy7pcv3p8b0716u58tsymo',
}
)
const server = new Server({
...config,
faviconPath: path.join(__dirname, 'favicon.ico'),
initRoutes,
findUser,
})
if (isProd) {
server.setupProd({
assetsDir: path.join(__dirname, '..', '..', 'build', 'client'),
// eslint-disable-next-line global-require
stats: require('./webpack-assets.json'),
// eslint-disable-next-line global-require
ssr: require('../../build/ssr').default,
ensureHttps: true,
})
server.listen()
} else {
const webpackServerConfig = require('../../webpack.config.server')
const webpackClientConfig = require('../../webpack.config.dev')
// eslint-disable-next-line import/no-extraneous-dependencies
require('webpack')([webpackServerConfig], () => {
server.setupDev({
webpackServerConfig,
webpackClientConfig,
})
server.listen()
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment