mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2025-12-30 12:05:39 -05:00
36 lines
920 B
TypeScript
36 lines
920 B
TypeScript
// We import these declaration files here, in the entry point of our application, so
|
|
// that they're available throughout.
|
|
import '@total-typescript/ts-reset';
|
|
import { build } from './app';
|
|
import { FREECODECAMP_NODE_ENV, PORT } from './utils/env';
|
|
|
|
const envToLogger = {
|
|
development: {
|
|
transport: {
|
|
target: 'pino-pretty',
|
|
options: {
|
|
translateTime: 'HH:MM:ss Z',
|
|
ignore: 'pid,hostname'
|
|
}
|
|
},
|
|
level: 'debug'
|
|
},
|
|
// TODO: is this the right level for production or should we use 'error'?
|
|
production: { level: 'fatal' },
|
|
test: undefined
|
|
};
|
|
|
|
const start = async () => {
|
|
const fastify = await build({ logger: envToLogger[FREECODECAMP_NODE_ENV] });
|
|
try {
|
|
const port = Number(PORT);
|
|
fastify.log.info(`Starting server on port ${port}`);
|
|
await fastify.listen({ port });
|
|
} catch (err) {
|
|
fastify.log.error(err);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
void start();
|