34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { minify } from 'html-minifier-next';
|
|
import * as age from 'age-encryption'
|
|
import { Eta } from 'eta';
|
|
import path from 'path';
|
|
|
|
export const m = async (html: string) => {
|
|
return await minify(html, {
|
|
collapseWhitespace: true,
|
|
removeComments: true,
|
|
minifyCSS: true
|
|
})
|
|
}
|
|
|
|
export const eta = new Eta({ views: path.join(__dirname, '../templates'), functionHeader: `const hostname = "${process.env.SERVER_NICKNAME}"` })
|
|
|
|
export const error = async ({ error }: any) => {
|
|
const debuggingInfo = {
|
|
serverNickname: process.env.SERVER_NICKNAME,
|
|
currentTime: new Date().toISOString(),
|
|
errorStack: error.stack
|
|
}
|
|
|
|
const e = new age.Encrypter() // my public key
|
|
e.addRecipient('age19f5carv77e9m7m3egef6dhmj3ltj5t84eca42ag84yn2ljwv94tqmh8le4')
|
|
const ciphertext = await e.encrypt(JSON.stringify(debuggingInfo))
|
|
const armored = age.armor.encode(ciphertext)
|
|
|
|
return `you found a bug! ${error.message}
|
|
|
|
does this error keep persiting? please report it to admin@preservetube.com with the following debugging info:
|
|
(please copy paste this entire page into the email)
|
|
|
|
${armored}`
|
|
} |