server.ts 1019 B

1234567891011121314151617181920212223242526272829303132
  1. // @ts-ignore -- generated package
  2. import "./environment";
  3. import * as sapper from "@sapper/server"; // eslint-disable-line import/no-unresolved
  4. import compression from "compression";
  5. import express, { Express } from "express";
  6. // @ts-ignore -- doesn't package its own types until 1.0.0-next.6
  7. import sirv from "sirv";
  8. const PORT = process.env.PORT; // eslint-disable-line prefer-destructuring
  9. // @ts-ignore -- creates a warning after `rollup-plugin-replace` (set up in `rollup.config.js`)
  10. // replaces `process.env.NODE_ENV` with `"production"` during `prod`
  11. const dev = process.env.NODE_ENV === "development";
  12. const createSapperServer = async (): Promise<Express> => {
  13. const app = express();
  14. app.use(
  15. compression({ threshold: 0 }),
  16. sirv("static", { dev }),
  17. sapper.middleware(),
  18. );
  19. return app;
  20. };
  21. createSapperServer().then((app) => {
  22. app.listen(PORT, (err?: any): void => { // eslint-disable-line
  23. if (err) console.log("error", err);
  24. });
  25. });
  26. export { sapper };