homepage.js/startup.js

43 lines
1.1 KiB
JavaScript
Raw Normal View History

2023-02-13 02:16:46 +01:00
console.log('Executing startup jobs...');
2023-02-18 14:41:24 +01:00
if (process.env.APP_DEBUG) {
process.env.DEBUG = '*/*';
}
2023-02-13 02:16:46 +01:00
const fs = require('fs');
2023-02-18 16:03:27 +01:00
const {Base64} = require('js-base64');
const crc32 = require('crc-32');
2023-02-13 02:16:46 +01:00
const hrt = () => {
let hr = process.hrtime();
return hr[0] + hr[1] / 1000000;
}
2023-02-18 16:29:32 +01:00
// load dotenv
let dotpath = (process.env.APP_DEBUG == 'true') ? '.env.debug' : '.env.prod';
if (!fs.existsSync(dotpath)) dotpath = '.env';
require('dotenv').config({
path: dotpath
});
// load key
if (!process.env.APP_KEY)
throw new Error('APP_KEY is not set.')
2023-02-13 02:16:46 +01:00
2023-02-18 16:29:32 +01:00
// TODO: perhaps a better approach to storing it????
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
process.env.APP_KEY = Buffer.from(process.env.APP_KEY, 'base64').toString('ascii');
2023-02-13 02:16:46 +01:00
2023-02-18 16:29:32 +01:00
console.log('Using a key with CRC32: ' + crc32.bstr(process.env.APP_KEY).toString(16));
2023-02-13 02:16:46 +01:00
2023-02-18 16:29:32 +01:00
async function startup() {
let t1 = hrt();
2023-02-18 16:03:27 +01:00
2023-02-13 02:16:46 +01:00
await require('./helpers').ViewLoader.preload();
console.log('Views compiled in ' + (hrt() - t1) + ' ms');
console.log('Finished in ' + (hrt() - t1) + " ms");
}
2023-02-18 16:29:32 +01:00
module.exports = startup();