UNPKG

sage-static

Version:

Simple Express static server for hosting SPAs on Heroku

29 lines (28 loc) 1.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createApp = createApp; const express_1 = __importDefault(require("express")); const compression_1 = __importDefault(require("compression")); const helmet_1 = __importDefault(require("helmet")); const path_1 = __importDefault(require("path")); function createApp(args = {}) { const config = { port: args?.port || process.env.PORT || 3000, directory: args?.directory || "public", }; const app = (0, express_1.default)(); app.use((0, helmet_1.default)({ contentSecurityPolicy: false })); app.use((0, compression_1.default)()); app.use(express_1.default.static(config.directory)); app.get("*", (req, res) => { res.sendFile(path_1.default.join(config.directory, "index.html")); }); app.listen(config.port, () => { console.log(`Server running on port ${config.port}`); console.log(`Serving static files from: ${config.directory}`); }); return app; }