From 589c85d7e5ebb2a32eb40f2de273bbd811af8e61 Mon Sep 17 00:00:00 2001 From: tycrek Date: Sun, 12 Sep 2021 19:37:51 -0600 Subject: [PATCH] migrated `ass.js` to `ass.ts`, why tf was this the easy one to migrate?! --- package-lock.json | 13 +++++++++++++ package.json | 1 + src/{ass.js => ass.ts} | 27 +++++++++++++-------------- src/routers/resource.ts | 2 +- src/routers/upload.ts | 2 +- src/setup.js | 2 +- 6 files changed, 30 insertions(+), 17 deletions(-) rename src/{ass.js => ass.ts} (79%) diff --git a/package-lock.json b/package-lock.json index c9c2c6d..6ba8e68 100755 --- a/package-lock.json +++ b/package-lock.json @@ -45,6 +45,7 @@ "@types/ffmpeg-static": "^3.0.0", "@types/fs-extra": "^9.0.12", "@types/luxon": "^2.0.3", + "@types/marked": "^3.0.0", "@types/node": "^16.9.0", "@types/node-fetch": "^2.5.12", "@types/stream-to-array": "^2.3.0", @@ -801,6 +802,12 @@ "integrity": "sha512-qhyivlWLuSnQa6EMx7W2oPiMUD4/F9BLuQynZe3jBgmfCS6Xr+Ock1+ZotN6xEkdJvdckyX+z1r5fyvi31GV5Q==", "dev": true }, + "node_modules/@types/marked": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-3.0.0.tgz", + "integrity": "sha512-vof90OIWT+Tzq3MBRXgV9fsH8PC3WZ4OQg9Qa04vOtP0TcyiNfl7BTonYCmTapHZ5lRZh6ihUYkAy7St1hmk/A==", + "dev": true + }, "node_modules/@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", @@ -5306,6 +5313,12 @@ "integrity": "sha512-qhyivlWLuSnQa6EMx7W2oPiMUD4/F9BLuQynZe3jBgmfCS6Xr+Ock1+ZotN6xEkdJvdckyX+z1r5fyvi31GV5Q==", "dev": true }, + "@types/marked": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-3.0.0.tgz", + "integrity": "sha512-vof90OIWT+Tzq3MBRXgV9fsH8PC3WZ4OQg9Qa04vOtP0TcyiNfl7BTonYCmTapHZ5lRZh6ihUYkAy7St1hmk/A==", + "dev": true + }, "@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", diff --git a/package.json b/package.json index 22cd0cb..3307a32 100755 --- a/package.json +++ b/package.json @@ -72,6 +72,7 @@ "@types/ffmpeg-static": "^3.0.0", "@types/fs-extra": "^9.0.12", "@types/luxon": "^2.0.3", + "@types/marked": "^3.0.0", "@types/node": "^16.9.0", "@types/node-fetch": "^2.5.12", "@types/stream-to-array": "^2.3.0", diff --git a/src/ass.js b/src/ass.ts similarity index 79% rename from src/ass.js rename to src/ass.ts index d7b9cf4..206b5d9 100644 --- a/src/ass.js +++ b/src/ass.ts @@ -1,3 +1,5 @@ +import { AssRequest, AssResponse, ErrWrap } from './definitions'; + let doSetup = null; try { // Check if config.json exists @@ -7,23 +9,20 @@ try { } // Run first time setup if using Docker (pseudo-process, setup will be run with docker exec) -if (doSetup) { - doSetup(); - return; -} +if (doSetup) doSetup(); // Load the config const { host, port, useSsl, isProxied, s3enabled, frontendName, indexFile } = require('../config.json'); //#region Imports -const fs = require('fs-extra'); -const express = require('express'); +import fs from 'fs-extra'; +import express from 'express'; const nofavicon = require('@tycrek/express-nofavicon'); -const helmet = require('helmet'); -const marked = require('marked'); -const uploadRouter = require('./routers/upload'); -const resourceRouter = require('./routers/resource'); -const { path, log, getTrueHttp, getTrueDomain } = require('./utils'); +import helmet from 'helmet'; +import marked from 'marked'; +import uploadRouter from './routers/upload'; +import resourceRouter from './routers/resource'; +import { path, log, getTrueHttp, getTrueDomain } from './utils'; const { CODE_INTERNAL_SERVER_ERROR } = require('../MagicNumbers.json'); const { name: ASS_NAME, version: ASS_VERSION } = require('../package.json'); //#endregion @@ -71,7 +70,7 @@ app.get('/', (req, res, next) => ASS_INDEX // skipcq: JS-0229 ? ASS_INDEX(req, res, next) : fs.readFile(path('README.md')) .then((bytes) => bytes.toString()) - .then(marked) + .then((data) => marked(data)) .then((d) => res.render('index', { data: d })) .catch(next)); @@ -83,10 +82,10 @@ const ASS_FRONTEND = fs.existsSync(path(`./${frontendName}/package.json`)) ? (re ASS_FRONTEND.enabled && app.use(ASS_FRONTEND.endpoint, ASS_FRONTEND.router); // skipcq: JS-0093 // '/:resouceId' always needs to be LAST since it's a catch-all route -app.use('/:resourceId', (req, _res, next) => (req.resourceId = req.params.resourceId, next()), ROUTERS.resource); // skipcq: JS-0086, JS-0090 +app.use('/:resourceId', (req: AssRequest, _res, next) => (req.resourceId = req.params.resourceId, next()), ROUTERS.resource); // skipcq: JS-0086, JS-0090 // Error handler -app.use((err, _req, res, _next) => log.error(err).err(err).callback(() => res.sendStatus(CODE_INTERNAL_SERVER_ERROR))); // skipcq: JS-0128 +app.use((err: ErrWrap, _req: AssRequest, res: AssResponse, _next: Function) => log.error(err).err(err).callback(() => res.sendStatus(CODE_INTERNAL_SERVER_ERROR))); // skipcq: JS-0128 // Host the server log diff --git a/src/routers/resource.ts b/src/routers/resource.ts index 0d8b565..55e4c94 100644 --- a/src/routers/resource.ts +++ b/src/routers/resource.ts @@ -124,4 +124,4 @@ router.get('/delete/:deleteId', (req: AssRequest, res: AssResponse, next) => { .catch(next); }); -module.exports = router; +export default router; diff --git a/src/routers/upload.ts b/src/routers/upload.ts index 68bc232..34b45f4 100644 --- a/src/routers/upload.ts +++ b/src/routers/upload.ts @@ -124,4 +124,4 @@ router.post('/', (req: AssRequest, res: AssResponse, next: Function) => { }).catch(next); }); -module.exports = router; +export default router; diff --git a/src/setup.js b/src/setup.js index fafe4e9..85dbc41 100644 --- a/src/setup.js +++ b/src/setup.js @@ -262,7 +262,7 @@ function doSetup() { // Complete & exit .then(() => log.blank().success('Setup complete').callback(() => process.exit(0))) - .catch((err) => log.blank().error(err)); + .catch((err) => log.blank().error(err).callback(() => process.exit(1))); } module.exports = {