testServer.js 1017 B

1234567891011121314151617181920212223242526272829303132
  1. let server = null;
  2. module.exports = {
  3. onPrepare: function() {
  4. return new Promise(function(resolve) {
  5. const webpack = require('webpack');
  6. const middleware = require('webpack-dev-middleware');
  7. const express = require('express');
  8. const expressWs = require('@dannycoates/express-ws');
  9. const assets = require('../common/assets');
  10. const routes = require('../server/routes');
  11. const tests = require('./frontend/routes');
  12. const app = express();
  13. const config = require('../webpack.config');
  14. const wpm = middleware(webpack(config(null, { mode: 'development' })), {
  15. logLevel: 'silent'
  16. });
  17. app.use(wpm);
  18. assets.setMiddleware(wpm);
  19. expressWs(app, null, { perMessageDeflate: false });
  20. routes(app);
  21. app.ws('/api/ws', require('../server/routes/ws'));
  22. tests(app);
  23. wpm.waitUntilValid(() => {
  24. server = app.listen(8000, resolve);
  25. });
  26. });
  27. },
  28. onComplete: function() {
  29. server.close();
  30. }
  31. };