You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import cluster from 'cluster';
|
|
|
|
|
|
|
|
const versionNum = +process.version.replace(/v/gim, '').split('.')[0];
|
|
|
|
if (versionNum < 10) throw new Error('NodeJS >=10.4 required');
|
|
|
|
else if (versionNum < 14 && cluster.isMaster) {
|
|
|
|
console.warn('NodeJS version <14, startup performance will be impacted.');
|
|
|
|
}
|
|
|
|
if (!global.Hydro) {
|
|
|
|
global.Hydro = {
|
|
|
|
version: {
|
|
|
|
node: process.version,
|
|
|
|
hydrooj: require('hydrooj/package.json').version,
|
|
|
|
},
|
|
|
|
stat: { reqCount: 0 },
|
|
|
|
handler: {},
|
|
|
|
// @ts-ignore
|
|
|
|
service: {},
|
|
|
|
// @ts-ignore
|
|
|
|
model: {},
|
|
|
|
script: {},
|
|
|
|
// @ts-ignore
|
|
|
|
lib: {},
|
|
|
|
// @ts-ignore
|
|
|
|
ui: {
|
|
|
|
manifest: {},
|
|
|
|
nodes: {
|
|
|
|
nav: [],
|
|
|
|
problem_add: [],
|
|
|
|
user_dropdown: [],
|
|
|
|
},
|
|
|
|
template: {},
|
|
|
|
},
|
|
|
|
// @ts-ignore
|
|
|
|
error: {},
|
|
|
|
locales: {},
|
|
|
|
};
|
|
|
|
global.addons = [];
|
|
|
|
}
|