mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
9c4eefcdbf
* Add prettier for examples directory * Fix files * Fix linting * Add prettier script in case it has to be ran again
37 lines
897 B
JavaScript
37 lines
897 B
JavaScript
'use strict'
|
|
const { Initializer, api } = require('actionhero')
|
|
const next = require('next')
|
|
|
|
module.exports = class NextInitializer extends Initializer {
|
|
constructor () {
|
|
super()
|
|
this.name = 'next'
|
|
}
|
|
|
|
async initialize () {
|
|
api.next = {
|
|
render: async connection => {
|
|
if (connection.type !== 'web') {
|
|
throw new Error('Connections for NEXT apps must be of type "web"')
|
|
}
|
|
const req = connection.rawConnection.req
|
|
const res = connection.rawConnection.res
|
|
return api.next.handle(req, res)
|
|
}
|
|
}
|
|
|
|
api.next.dev = api.env === 'development'
|
|
if (api.next.dev) {
|
|
api.log('Running next in development mode...')
|
|
}
|
|
|
|
api.next.app = next({ dev: api.next.dev })
|
|
api.next.handle = api.next.app.getRequestHandler()
|
|
await api.next.app.prepare()
|
|
}
|
|
|
|
async stop () {
|
|
await api.next.app.close()
|
|
}
|
|
}
|