From 9022bc338a7e755add638e75d2e6926af39e98d0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 11 Apr 2024 23:03:19 +0300 Subject: [PATCH] server-ts: Port app --- package-lock.json | 57 ++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +++ src/{app.js => app.ts} | 20 +++++++-------- 3 files changed, 70 insertions(+), 10 deletions(-) rename src/{app.js => app.ts} (78%) diff --git a/package-lock.json b/package-lock.json index a0fdabf82..f8ac9aa0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -91,6 +91,8 @@ "@types/archiver": "^6.0.2", "@types/better-sqlite3": "^7.6.9", "@types/cls-hooked": "^4.3.8", + "@types/compression": "^1.7.5", + "@types/cookie-parser": "^1.4.7", "@types/csurf": "^1.11.5", "@types/ejs": "^3.1.5", "@types/escape-html": "^1.0.4", @@ -105,6 +107,7 @@ "@types/safe-compare": "^1.1.2", "@types/sanitize-html": "^2.11.0", "@types/sax": "^1.2.7", + "@types/serve-favicon": "^2.5.7", "@types/stream-throttle": "^0.1.4", "@types/tmp": "^0.2.6", "@types/turndown": "^5.0.4", @@ -1229,6 +1232,15 @@ "@types/node": "*" } }, + "node_modules/@types/compression": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, "node_modules/@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", @@ -1238,6 +1250,15 @@ "@types/node": "*" } }, + "node_modules/@types/cookie-parser": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.7.tgz", + "integrity": "sha512-Fvuyi354Z+uayxzIGCwYTayFKocfV7TuDYZClCdIP9ckhvAu/ixDtCB6qx2TT0FKjPLf1f3P/J1rgf6lPs64mw==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, "node_modules/@types/csurf": { "version": "1.11.5", "resolved": "https://registry.npmjs.org/@types/csurf/-/csurf-1.11.5.tgz", @@ -1653,6 +1674,15 @@ "@types/node": "*" } }, + "node_modules/@types/serve-favicon": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/serve-favicon/-/serve-favicon-2.5.7.tgz", + "integrity": "sha512-z9TNUQXdQ+W/OJMP1e3KOYUZ99qJS4+ZfFOIrPGImcayqKoyifbJSEFkVq1MCKBbqjMZpjPj3B5ilrQAR2+TOw==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, "node_modules/@types/serve-static": { "version": "1.15.5", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", @@ -14246,6 +14276,15 @@ "@types/node": "*" } }, + "@types/compression": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, "@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", @@ -14255,6 +14294,15 @@ "@types/node": "*" } }, + "@types/cookie-parser": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.7.tgz", + "integrity": "sha512-Fvuyi354Z+uayxzIGCwYTayFKocfV7TuDYZClCdIP9ckhvAu/ixDtCB6qx2TT0FKjPLf1f3P/J1rgf6lPs64mw==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, "@types/csurf": { "version": "1.11.5", "resolved": "https://registry.npmjs.org/@types/csurf/-/csurf-1.11.5.tgz", @@ -14640,6 +14688,15 @@ "@types/node": "*" } }, + "@types/serve-favicon": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/serve-favicon/-/serve-favicon-2.5.7.tgz", + "integrity": "sha512-z9TNUQXdQ+W/OJMP1e3KOYUZ99qJS4+ZfFOIrPGImcayqKoyifbJSEFkVq1MCKBbqjMZpjPj3B5ilrQAR2+TOw==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, "@types/serve-static": { "version": "1.15.5", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", diff --git a/package.json b/package.json index 8cc9cf947..241bee541 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,8 @@ "@types/archiver": "^6.0.2", "@types/better-sqlite3": "^7.6.9", "@types/cls-hooked": "^4.3.8", + "@types/compression": "^1.7.5", + "@types/cookie-parser": "^1.4.7", "@types/csurf": "^1.11.5", "@types/ejs": "^3.1.5", "@types/escape-html": "^1.0.4", @@ -126,6 +128,7 @@ "@types/safe-compare": "^1.1.2", "@types/sanitize-html": "^2.11.0", "@types/sax": "^1.2.7", + "@types/serve-favicon": "^2.5.7", "@types/stream-throttle": "^0.1.4", "@types/tmp": "^0.2.6", "@types/turndown": "^5.0.4", diff --git a/src/app.js b/src/app.ts similarity index 78% rename from src/app.js rename to src/app.ts index d94be1c76..ceabe33f9 100644 --- a/src/app.js +++ b/src/app.ts @@ -1,11 +1,11 @@ -const express = require('express'); -const path = require('path'); -const favicon = require('serve-favicon'); -const cookieParser = require('cookie-parser'); -const helmet = require('helmet'); -const compression = require('compression'); -const sessionParser = require('./routes/session_parser'); -const utils = require('./services/utils'); +import express = require('express'); +import path = require('path'); +import favicon = require('serve-favicon'); +import cookieParser = require('cookie-parser'); +import helmet = require('helmet'); +import compression = require('compression'); +import sessionParser = require('./routes/session_parser'); +import utils = require('./services/utils'); require('./services/handlers'); require('./becca/becca_loader'); @@ -20,7 +20,7 @@ if (!utils.isElectron()) { app.use(compression()); // HTTP compression } -app.use(helmet({ +app.use(helmet.default({ hidePoweredBy: false, // errors out in electron contentSecurityPolicy: false, crossOriginEmbedderPolicy: false @@ -57,4 +57,4 @@ if (utils.isElectron()) { require('@electron/remote/main').initialize(); } -module.exports = app; +export = app;