UNPKG

koa2-hmr-middleware

Version:

HRM middleware ( webpack-dev-middleware, webpack-hot-middleware) for koa2

35 lines (32 loc) 1.02 kB
'use strict'; const rowDevMiddleware = require('webpack-dev-middleware'); function devMiddleware (compiler, options){ var middleware = rowDevMiddleware(compiler, options); return async function adapter(ctx, next){ await new Promise(resolve => { var req = ctx.req; var res = { locals: {}, setHeader(field, value){ ctx.set(field, value); }, send: null, // disable send method end(body){ ctx.body = body; resolve(); } } Object.defineProperty(res, 'statusCode', { get(){ return ctx.status; }, set(val){ return ctx.status = val; } }) middleware(req, res, resolve) }); return next(); } } module.exports = devMiddleware;