// index.ts // Copyright (C) 2020 Dwayne Harris // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . import { config } from 'dotenv' import { resolve } from 'path' import fastify from 'fastify' import fastifyStatic from 'fastify-static' import api from './api' config() const server = fastify({ logger: { level: process.env.LOGGER_LEVEL, prettyPrint: process.env.LOGGER_PRETTY_PRINT === 'true', } }) server.register(api) server.register(fastifyStatic, { root: resolve(__dirname, '..', 'apps'), }) const start = async () => { try { await server.listen(process.env.PORT!) } catch (err) { process.exit(1) } } start()