From c1120c28c753b8e3e65d85d8cb95394c6af96edc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20=C5=81aziuk?= Date: Tue, 5 Jun 2018 21:37:12 +0200 Subject: [PATCH 1/2] koa-webpack v5 --- types/koa-webpack/index.d.ts | 16 ++++++++------ types/koa-webpack/koa-webpack-tests.ts | 30 +++++++++++++++----------- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/types/koa-webpack/index.d.ts b/types/koa-webpack/index.d.ts index 4f86fcd11f..79bd913ef4 100644 --- a/types/koa-webpack/index.d.ts +++ b/types/koa-webpack/index.d.ts @@ -1,6 +1,7 @@ -// Type definitions for koa-webpack 1.0 -// Project: https://github.com/shellscape/koa-webpack#readme +// Type definitions for koa-webpack 5.0 +// Project: https://github.com/shellscape/koa-webpack // Definitions by: Luka Maljic +// Tomek Łaziuk // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -12,19 +13,20 @@ import connect = require('connect'); declare function koaWebpack( options?: koaWebpack.Options -): Koa.Middleware & koaWebpack.CombinedWebpackMiddleware; +): Promise; declare namespace koaWebpack { interface Options { compiler?: webpack.Compiler; config?: webpack.Configuration; - dev?: webpackDevMiddleware.Options; - hot?: webpackHotMiddleware.Options | boolean; + devMiddleware?: webpackDevMiddleware.Options; + hotClient?: webpackHotMiddleware.Options | boolean; } interface CombinedWebpackMiddleware { - dev: connect.NextHandleFunction & webpackDevMiddleware.WebpackDevMiddleware; - hot: connect.NextHandleFunction & webpackHotMiddleware.EventStream; + devMiddleware: connect.NextHandleFunction & webpackDevMiddleware.WebpackDevMiddleware; + hotClient: connect.NextHandleFunction & webpackHotMiddleware.EventStream; + close(callback?: () => any): void; } } diff --git a/types/koa-webpack/koa-webpack-tests.ts b/types/koa-webpack/koa-webpack-tests.ts index 12062302de..fb36247d90 100644 --- a/types/koa-webpack/koa-webpack-tests.ts +++ b/types/koa-webpack/koa-webpack-tests.ts @@ -8,10 +8,10 @@ const compiler = webpack(config); // Using the middleware -const middleware = koaWebpack({ +koaWebpack({ compiler, config, - dev: { + devMiddleware: { lazy: true, watchOptions: { aggregateTimeout: 300, @@ -28,18 +28,24 @@ const middleware = koaWebpack({ reporter: null, serverSideRender: false }, - hot: { + hotClient: { log: console.log.bind(console), path: '/__what', heartbeat: 2000 } +}).then((middleware) => { + app.use(middleware); + + // Accessing the underlying middleware + + middleware.devMiddleware.close(); + middleware.devMiddleware.invalidate(); + middleware.devMiddleware.waitUntilValid(); + middleware.hotClient.publish(null); + + return middleware; +}).then((middleware) => { + // close the middleware + + middleware.close(); }); - -app.use(middleware); - -// Accessing the underlying middleware - -middleware.dev.close(); -middleware.dev.invalidate(); -middleware.dev.waitUntilValid(); -middleware.hot.publish(null); From 4da90836d0103c07e5c611f12cc270512d7e3bcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20=C5=81aziuk?= Date: Tue, 5 Jun 2018 21:56:51 +0200 Subject: [PATCH 2/2] remove blank line --- types/koa-webpack/koa-webpack-tests.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/types/koa-webpack/koa-webpack-tests.ts b/types/koa-webpack/koa-webpack-tests.ts index f7f8aaf813..4821059a9b 100644 --- a/types/koa-webpack/koa-webpack-tests.ts +++ b/types/koa-webpack/koa-webpack-tests.ts @@ -54,7 +54,6 @@ koaWebpack({ middleware.hotClient.options; middleware.hotClient.server; - // close the middleware middleware.close(() => { console.log('closed');