mirror of https://github.com/tycrek/ass.git
feat: updated Luxon & tlog
This commit is contained in:
parent
1701e90bca
commit
0061ba0fc8
|
@ -14,7 +14,7 @@
|
|||
"@tycrek/discord-hookr": "^0.1.0",
|
||||
"@tycrek/express-postcss": "^0.4.0",
|
||||
"@tycrek/joint": "^1.0.0-1",
|
||||
"@tycrek/log": "^0.6.0-7",
|
||||
"@tycrek/log": "^0.7.0-3",
|
||||
"@tycrek/papito": "^0.3.4",
|
||||
"@xoi/gps-metadata-remover": "^1.1.1",
|
||||
"any-shell-escape": "^0.1.1",
|
||||
|
@ -32,7 +32,7 @@
|
|||
"ffmpeg-static": "^5.1.0",
|
||||
"fs-extra": "^11.1.0",
|
||||
"helmet": "^6.0.1",
|
||||
"luxon": "^3.2.1",
|
||||
"luxon": "^3.3.0",
|
||||
"nanoid": "^3.3.4",
|
||||
"node-fetch": "^2.6.7",
|
||||
"node-vibrant": "^3.1.6",
|
||||
|
@ -54,7 +54,7 @@
|
|||
"@types/express-busboy": "^8.0.0",
|
||||
"@types/ffmpeg-static": "^3.0.0",
|
||||
"@types/fs-extra": "^9.0.12",
|
||||
"@types/luxon": "^2.0.3",
|
||||
"@types/luxon": "^3.3.0",
|
||||
"@types/marked": "^3.0.0",
|
||||
"@types/node": "^16.9.0",
|
||||
"@types/node-fetch": "^2.5.12",
|
||||
|
@ -955,37 +955,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tycrek/log": {
|
||||
"version": "0.6.0-7",
|
||||
"resolved": "https://registry.npmjs.org/@tycrek/log/-/log-0.6.0-7.tgz",
|
||||
"integrity": "sha512-jqi3zrmHh3UEA//rExIFtip1e2cEYAyIUOaCikmVVCEpz9MtjJEQEnTH9XGB0Qai9ESqZ0dzvWNcDnIEdD28Cw==",
|
||||
"version": "0.7.0-3",
|
||||
"resolved": "https://registry.npmjs.org/@tycrek/log/-/log-0.7.0-3.tgz",
|
||||
"integrity": "sha512-cy1WYpNsMN+OEjyP/hpqVqsct4A1bG18/JTde0PmKObBdEYExnQYDp1uIgDOQSktu3hnxDG7/rAu0XWsveUpMw==",
|
||||
"dependencies": {
|
||||
"@tsconfig/node16": "^1.0.2",
|
||||
"@types/express": "^4.17.13",
|
||||
"@types/luxon": "^2.3.1",
|
||||
"@types/node": "^17.0.23",
|
||||
"chalk": "^4.1.1",
|
||||
"luxon": "^1.27.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.14.x",
|
||||
"npm": ">=8.3.x"
|
||||
},
|
||||
"funding": {
|
||||
"type": "patreon",
|
||||
"url": "https://patreon.com/tycrek"
|
||||
}
|
||||
},
|
||||
"node_modules/@tycrek/log/node_modules/@types/node": {
|
||||
"version": "17.0.45",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
|
||||
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw=="
|
||||
},
|
||||
"node_modules/@tycrek/log/node_modules/luxon": {
|
||||
"version": "1.28.1",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.1.tgz",
|
||||
"integrity": "sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
"chalk": "^4.1.2",
|
||||
"luxon": "^3.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tycrek/papito": {
|
||||
|
@ -1138,9 +1113,10 @@
|
|||
"integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ=="
|
||||
},
|
||||
"node_modules/@types/luxon": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-2.4.0.tgz",
|
||||
"integrity": "sha512-oCavjEjRXuR6URJEtQm0eBdfsBiEcGBZbq21of8iGkeKxU1+1xgKuFPClaBZl2KB8ZZBSWlgk61tH6Mf+nvZVw=="
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.0.tgz",
|
||||
"integrity": "sha512-uKRI5QORDnrGFYgcdAVnHvEIvEZ8noTpP/Bg+HeUzZghwinDlIS87DEenV5r1YoOF9G4x600YsUXLWZ19rmTmg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/marked": {
|
||||
"version": "3.0.3",
|
||||
|
@ -3709,9 +3685,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz",
|
||||
"integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz",
|
||||
"integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
|
@ -7125,28 +7101,12 @@
|
|||
"integrity": "sha512-LYM2VVxCUFTf/kHKlbP7h4Phnljt/si7OQtj9ehRC9WaypYdO3BVfHovnXxcfRbShr3NPMNn2foN/zHQFN5Ltw=="
|
||||
},
|
||||
"@tycrek/log": {
|
||||
"version": "0.6.0-7",
|
||||
"resolved": "https://registry.npmjs.org/@tycrek/log/-/log-0.6.0-7.tgz",
|
||||
"integrity": "sha512-jqi3zrmHh3UEA//rExIFtip1e2cEYAyIUOaCikmVVCEpz9MtjJEQEnTH9XGB0Qai9ESqZ0dzvWNcDnIEdD28Cw==",
|
||||
"version": "0.7.0-3",
|
||||
"resolved": "https://registry.npmjs.org/@tycrek/log/-/log-0.7.0-3.tgz",
|
||||
"integrity": "sha512-cy1WYpNsMN+OEjyP/hpqVqsct4A1bG18/JTde0PmKObBdEYExnQYDp1uIgDOQSktu3hnxDG7/rAu0XWsveUpMw==",
|
||||
"requires": {
|
||||
"@tsconfig/node16": "^1.0.2",
|
||||
"@types/express": "^4.17.13",
|
||||
"@types/luxon": "^2.3.1",
|
||||
"@types/node": "^17.0.23",
|
||||
"chalk": "^4.1.1",
|
||||
"luxon": "^1.27.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/node": {
|
||||
"version": "17.0.45",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
|
||||
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw=="
|
||||
},
|
||||
"luxon": {
|
||||
"version": "1.28.1",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.1.tgz",
|
||||
"integrity": "sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw=="
|
||||
}
|
||||
"chalk": "^4.1.2",
|
||||
"luxon": "^3.3.0"
|
||||
}
|
||||
},
|
||||
"@tycrek/papito": {
|
||||
|
@ -7290,9 +7250,10 @@
|
|||
"integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ=="
|
||||
},
|
||||
"@types/luxon": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-2.4.0.tgz",
|
||||
"integrity": "sha512-oCavjEjRXuR6URJEtQm0eBdfsBiEcGBZbq21of8iGkeKxU1+1xgKuFPClaBZl2KB8ZZBSWlgk61tH6Mf+nvZVw=="
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.0.tgz",
|
||||
"integrity": "sha512-uKRI5QORDnrGFYgcdAVnHvEIvEZ8noTpP/Bg+HeUzZghwinDlIS87DEenV5r1YoOF9G4x600YsUXLWZ19rmTmg==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/marked": {
|
||||
"version": "3.0.3",
|
||||
|
@ -9252,9 +9213,9 @@
|
|||
}
|
||||
},
|
||||
"luxon": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz",
|
||||
"integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg=="
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz",
|
||||
"integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg=="
|
||||
},
|
||||
"make-dir": {
|
||||
"version": "3.1.0",
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
"@tycrek/discord-hookr": "^0.1.0",
|
||||
"@tycrek/express-postcss": "^0.4.0",
|
||||
"@tycrek/joint": "^1.0.0-1",
|
||||
"@tycrek/log": "^0.6.0-7",
|
||||
"@tycrek/log": "^0.7.0-3",
|
||||
"@tycrek/papito": "^0.3.4",
|
||||
"@xoi/gps-metadata-remover": "^1.1.1",
|
||||
"any-shell-escape": "^0.1.1",
|
||||
|
@ -65,7 +65,7 @@
|
|||
"ffmpeg-static": "^5.1.0",
|
||||
"fs-extra": "^11.1.0",
|
||||
"helmet": "^6.0.1",
|
||||
"luxon": "^3.2.1",
|
||||
"luxon": "^3.3.0",
|
||||
"nanoid": "^3.3.4",
|
||||
"node-fetch": "^2.6.7",
|
||||
"node-vibrant": "^3.1.6",
|
||||
|
@ -87,7 +87,7 @@
|
|||
"@types/express-busboy": "^8.0.0",
|
||||
"@types/ffmpeg-static": "^3.0.0",
|
||||
"@types/fs-extra": "^9.0.12",
|
||||
"@types/luxon": "^2.0.3",
|
||||
"@types/luxon": "^3.3.0",
|
||||
"@types/marked": "^3.0.0",
|
||||
"@types/node": "^16.9.0",
|
||||
"@types/node-fetch": "^2.5.12",
|
||||
|
|
10
src/ass.ts
10
src/ass.ts
|
@ -78,7 +78,7 @@ const bruteforce = new ExpressBrute(new ExpressBrute.MemoryStore(), {
|
|||
app.get(['/'], bruteforce.prevent, (_req, _res, next) => next());
|
||||
|
||||
// Express logger middleware
|
||||
app.use(log.middleware());
|
||||
// app.use(log.middleware());
|
||||
|
||||
// Body parser for API POST requests
|
||||
// (I really don't like this being top level but it does not work inside the API Router as of 2022-12-24)
|
||||
|
@ -130,7 +130,11 @@ app.use('/css', epcss({
|
|||
app.use('/:resourceId', (req, _res, next) => (req.resourceId = req.params.resourceId, next()), ROUTERS.resource); // skipcq: JS-0086, JS-0090
|
||||
|
||||
// Error handler
|
||||
app.use((err: ErrWrap, _req: Request, res: Response) => log.error(err.message).err(err).callback(() => res.sendStatus(CODE_INTERNAL_SERVER_ERROR))); // skipcq: JS-0128
|
||||
app.use((err: ErrWrap, _req: Request, res: Response) => {
|
||||
log.error(err.message);
|
||||
console.error(err);
|
||||
res.sendStatus(CODE_INTERNAL_SERVER_ERROR);
|
||||
});
|
||||
|
||||
(async function start() {
|
||||
await AuthOnStart();
|
||||
|
@ -144,5 +148,5 @@ app.use((err: ErrWrap, _req: Request, res: Response) => log.error(err.message).e
|
|||
.info('Frontend', ASS_FRONTEND.enabled ? ASS_FRONTEND.brand : 'disabled', `${ASS_FRONTEND.enabled ? `${getTrueHttp()}${getTrueDomain()}${ASS_FRONTEND.endpoint}` : ''}`)
|
||||
.info('Custom index', ASS_INDEX ?? 'disabled')
|
||||
.blank()
|
||||
.express()!.Host(app, port, host, () => log.success('Ready for uploads', `Storing resources ${s3enabled ? 'in S3' : 'on disk'}`));
|
||||
.callback(() => app.listen(port, host, () => log.success('Ready for uploads', `Storing resources ${s3enabled ? 'in S3' : 'on disk'}`)));
|
||||
})();
|
||||
|
|
|
@ -370,7 +370,7 @@ export const onStart = (authFile = 'auth.json') => new Promise((resolve, reject)
|
|||
log.debug('File does not exist', authFile, 'will be created automatically');
|
||||
return fs.writeJson(file, { migrated: true });
|
||||
})
|
||||
.catch((errWriteJson) => log.error('Failed to create auth.json').callback(reject, errWriteJson))
|
||||
.catch((errWriteJson) => log.error('Failed to create auth.json').callback(() => reject(errWriteJson)))
|
||||
|
||||
// File exists or was created
|
||||
.then(() => fs.readJson(file))
|
||||
|
@ -393,7 +393,7 @@ export const onStart = (authFile = 'auth.json') => new Promise((resolve, reject)
|
|||
// Add users to the map
|
||||
return json.users.forEach((user) => users.push(user));
|
||||
})
|
||||
.catch((errReadJson) => log.error('Failed to read auth.json').callback(reject, errReadJson))
|
||||
.catch((errReadJson) => log.error('Failed to read auth.json').callback(() => reject(errReadJson)))
|
||||
.then(resolve);
|
||||
});
|
||||
|
||||
|
|
|
@ -18,5 +18,5 @@ function doCheck() {
|
|||
|
||||
if (require.main !== module) module.exports = doCheck;
|
||||
else doCheck()
|
||||
.then((result) => logger.comment(`Wanted: ${ENGINES.node} (npm ${ENGINES.npm})`).node().success(result))
|
||||
.then((result) => logger.comment(`Wanted: ${ENGINES.node} (npm ${ENGINES.npm})`)/* .node() */.success(result))
|
||||
.catch((err) => logger.error(err) && process.exit(1));
|
||||
|
|
|
@ -12,5 +12,5 @@ export default (file: FileData): Promise<string> =>
|
|||
toArray((fs.createReadStream(file.path)))
|
||||
.then((parts: any[]) => Buffer.concat(parts.map((part: any) => (Buffer.isBuffer(part) ? part : Buffer.from(part)))))
|
||||
.then((buf: Buffer) => crypto.createHash('sha1').update(buf).digest('hex')) // skipcq: JS-D003
|
||||
.then((hash: string) => log.debug(`Hash for ${file.originalname}`, hash, 'SHA1, hex').callback(resolve, hash))
|
||||
.then((hash: string) => log.debug(`Hash for ${file.originalname}`, hash, 'SHA1, hex').callback(() => resolve(hash)))
|
||||
.catch(reject));
|
||||
|
|
|
@ -1,34 +1,10 @@
|
|||
import { TLog, DateTimePreset } from '@tycrek/log';
|
||||
import { TLog } from '@tycrek/log';
|
||||
import { DateTime } from 'luxon';
|
||||
|
||||
// Set up logging
|
||||
const logger = new TLog({
|
||||
// @ts-ignore
|
||||
level: process.env.LOG_LEVEL || (process.env.NODE_ENV === 'production' ? 'info' : 'debug'),
|
||||
timestamp: {
|
||||
enabled: true,
|
||||
colour: 'grey',
|
||||
preset: DateTimePreset.DATETIME_MED
|
||||
}
|
||||
});
|
||||
const logger = new TLog(process.env.NODE_ENV === 'production' ? 'info' : 'debug')
|
||||
.setTimestamp({ preset: DateTime.DATETIME_MED });
|
||||
|
||||
// Enable the Express logger
|
||||
logger.enable.express({
|
||||
middleware: {
|
||||
excludePaths: ['favicon.ico'],
|
||||
},
|
||||
trim: {
|
||||
enabled: true,
|
||||
maxLength: 80,
|
||||
delim: ': ',
|
||||
},
|
||||
handle404: true,
|
||||
handle500: false
|
||||
}).debug('Plugin enabled', 'Express');
|
||||
// todo: re-enable the Express logger
|
||||
|
||||
/**
|
||||
* @type {TLog}
|
||||
*/
|
||||
// yeet
|
||||
|
||||
|
||||
export default logger;
|
||||
export default logger;
|
||||
|
|
|
@ -148,7 +148,7 @@ router.post('/', (req: Request, res: Response, next: Function) => {
|
|||
log.debug(`Sending${admin ? ' admin' : ''} embed to webhook`);
|
||||
hook.addEmbed(embed).send()
|
||||
.then(() => log.debug(`Webhook${admin ? ' admin' : ''} sent`))
|
||||
.catch((err) => log.error('Webhook error').err(err));
|
||||
.catch((err) => (log.error('Webhook error'), console.error(err)));
|
||||
}
|
||||
|
||||
// Send the response
|
||||
|
|
|
@ -95,7 +95,7 @@ export function processUploaded(req: Request, res: Response, next: Function) { /
|
|||
.callback(() => res.sendStatus(CODE_UNSUPPORTED_MEDIA_TYPE)))
|
||||
.catch((err) => log
|
||||
.error('Temp file could not be deleted', err)
|
||||
.callback(next, err)));
|
||||
.callback(() => next(err))));
|
||||
|
||||
// Remove unwanted fields
|
||||
delete req.file.uuid;
|
||||
|
|
Loading…
Reference in New Issue