"husky": "^8.0.0",
"jest": "^29.6.2",
"jquery": "^3.7.0",
- "marked": "^9.0.0",
+ "marked": "^9.1.6",
"nodemon": "^2.0.20",
"standard-version": "^9.5.0",
"ts-jest": "^29.1.1",
}
},
"node_modules/marked": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-9.0.0.tgz",
- "integrity": "sha512-37yoTpjU+TSXb9OBYY5n78z/CqXh76KiQj9xsKxEdztzU9fRLmbWO5YqKxgCVGKlNdexppnbKTkwB3RipVri8w==",
+ "version": "9.1.6",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.6.tgz",
+ "integrity": "sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==",
"dev": true,
"bin": {
"marked": "bin/marked.js"
"dev": true
},
"marked": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-9.0.0.tgz",
- "integrity": "sha512-37yoTpjU+TSXb9OBYY5n78z/CqXh76KiQj9xsKxEdztzU9fRLmbWO5YqKxgCVGKlNdexppnbKTkwB3RipVri8w==",
+ "version": "9.1.6",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.6.tgz",
+ "integrity": "sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==",
"dev": true
},
"media-typer": {
import express, {Request, Response} from 'express';
import bodyParser from 'body-parser';
import { rateLimit } from 'express-rate-limit';
+import { readFile } from 'fs/promises';
import http from 'http';
import { Server, Socket } from 'socket.io';
import { signup, login, authEndpoint } from './auth';
import {db} from './lib/db';
import { getPlayerSkills} from './skills';
+import { marked } from 'marked';
import { fightRound } from './fight';
addEvent('LOGIN', player.id);
});
+app.get('/changelog', async (req: Request, res: Response) => {
+ const fileData = await readFile(join(__dirname, '..', '..', 'CHANGELOG.md'), 'utf8');
+ res.send(marked.parse(fileData));
+});
each(Routers, router => {
app.use(router);