mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
judge: update export for config
This commit is contained in:
1 parent
156d931811
commit
0867f2ff2d
1 file changed
+23
-28
@@ -1,26 +1,23 @@
|
|||||||
|
/* eslint-disable prefer-const */
|
||||||
|
/* eslint-disable import/no-mutable-exports */
|
||||||
import { argv } from 'yargs';
|
import { argv } from 'yargs';
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import fs from 'fs-extra';
|
import fs from 'fs-extra';
|
||||||
import log from './log';
|
import log from './log';
|
||||||
|
|
||||||
const config = {
|
export let CONFIG_FILE = path.resolve(os.homedir(), '.config', 'hydro', 'judge.yaml');
|
||||||
CONFIG_FILE: path.resolve(os.homedir(), '.config', 'hydro', 'judge.yaml'),
|
export let LANGS_FILE = path.resolve(os.homedir(), '.config', 'hydro', 'langs.yaml');
|
||||||
LANGS_FILE: path.resolve(os.homedir(), '.config', 'hydro', 'langs.yaml'),
|
export let CACHE_DIR = path.resolve(os.homedir(), '.cache', 'hydro', 'judge');
|
||||||
CACHE_DIR: path.resolve(os.homedir(), '.cache', 'hydro', 'judge'),
|
export let FILES_DIR = path.resolve(os.homedir(), '.cache', 'hydro', 'files', 'judge');
|
||||||
FILES_DIR: path.resolve(os.homedir(), '.cache', 'hydro', 'files', 'judge'),
|
export let SYSTEM_MEMORY_LIMIT_MB = 1024;
|
||||||
SYSTEM_MEMORY_LIMIT_MB: 1024,
|
export let SYSTEM_TIME_LIMIT_MS = 16000;
|
||||||
SYSTEM_TIME_LIMIT_MS: 16000,
|
export let SYSTEM_PROCESS_LIMIT = 32;
|
||||||
SYSTEM_PROCESS_LIMIT: 32,
|
export let RETRY_DELAY_SEC = 15;
|
||||||
RETRY_DELAY_SEC: 15,
|
export let TEMP_DIR = path.resolve(os.tmpdir(), 'hydro', 'judge');
|
||||||
TEMP_DIR: path.resolve(os.tmpdir(), 'hydro', 'judge'),
|
export let EXECUTION_HOST = 'http://localhost:5050';
|
||||||
EXECUTION_HOST: 'http://localhost:5050',
|
export let CONFIG = null;
|
||||||
CONFIG: null,
|
export let LANGS = null;
|
||||||
LANGS: null,
|
|
||||||
changeDefault(name, from, to) {
|
|
||||||
if (config[name] === from) config[name] = to;
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
if (fs.existsSync(path.resolve(process.cwd(), '.env'))) {
|
if (fs.existsSync(path.resolve(process.cwd(), '.env'))) {
|
||||||
const env = {};
|
const env = {};
|
||||||
@@ -33,29 +30,27 @@ if (fs.existsSync(path.resolve(process.cwd(), '.env'))) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (process.env.CONFIG_FILE || argv.config) {
|
if (process.env.CONFIG_FILE || argv.config) {
|
||||||
config.CONFIG_FILE = path.resolve(process.env.CONFIG_FILE || argv.config as string);
|
CONFIG_FILE = path.resolve(process.env.CONFIG_FILE || argv.config as string);
|
||||||
}
|
}
|
||||||
if (process.env.LANGS_FILE || argv.langs) {
|
if (process.env.LANGS_FILE || argv.langs) {
|
||||||
config.LANGS_FILE = path.resolve(process.env.LANGS_FILE || argv.langs as string);
|
LANGS_FILE = path.resolve(process.env.LANGS_FILE || argv.langs as string);
|
||||||
}
|
}
|
||||||
if (process.env.TEMP_DIR || argv.tmp) {
|
if (process.env.TEMP_DIR || argv.tmp) {
|
||||||
config.TEMP_DIR = path.resolve(process.env.TEMP_DIR || argv.tmp as string);
|
TEMP_DIR = path.resolve(process.env.TEMP_DIR || argv.tmp as string);
|
||||||
}
|
}
|
||||||
if (process.env.CACHE_DIR || argv.cache) {
|
if (process.env.CACHE_DIR || argv.cache) {
|
||||||
config.CACHE_DIR = path.resolve(process.env.CACHE_DIR || argv.cache as string);
|
CACHE_DIR = path.resolve(process.env.CACHE_DIR || argv.cache as string);
|
||||||
}
|
}
|
||||||
if (process.env.FILES_DIR || argv.files) {
|
if (process.env.FILES_DIR || argv.files) {
|
||||||
config.FILES_DIR = path.resolve(process.env.FILES_DIR || argv.files as string);
|
FILES_DIR = path.resolve(process.env.FILES_DIR || argv.files as string);
|
||||||
}
|
}
|
||||||
if (process.env.EXECUTION_HOST || argv.execute) {
|
if (process.env.EXECUTION_HOST || argv.execute) {
|
||||||
config.EXECUTION_HOST = path.resolve(process.env.EXECUTION_HOST || argv.execute as string);
|
EXECUTION_HOST = path.resolve(process.env.EXECUTION_HOST || argv.execute as string);
|
||||||
}
|
}
|
||||||
if (!(fs.existsSync(config.LANGS_FILE) || global.Hydro)) {
|
if (!(fs.existsSync(LANGS_FILE) || global.Hydro)) {
|
||||||
fs.ensureDirSync(path.dirname(config.LANGS_FILE));
|
fs.ensureDirSync(path.dirname(LANGS_FILE));
|
||||||
if (fs.existsSync(path.join(__dirname, '..', 'examples', 'langs.yaml'))) {
|
if (fs.existsSync(path.join(__dirname, '..', 'examples', 'langs.yaml'))) {
|
||||||
log.error('Language file not found, using default.');
|
log.error('Language file not found, using default.');
|
||||||
config.LANGS_FILE = path.join(__dirname, '..', 'examples', 'langs.yaml');
|
LANGS_FILE = path.join(__dirname, '..', 'examples', 'langs.yaml');
|
||||||
} else throw new Error('Language file not found');
|
} else throw new Error('Language file not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
export = config;
|
|
||||||
Reference in new issue
Block a user