From 0867f2ff2d0330c2f75531ca07460f7129b50c96 Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 27 Oct 2020 13:13:33 +0800 Subject: [PATCH] judge: update export for config --- packages/hydrojudge/src/config.ts | 51 ++++++++++++++----------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/packages/hydrojudge/src/config.ts b/packages/hydrojudge/src/config.ts index 7a108f73a..b01d00d96 100644 --- a/packages/hydrojudge/src/config.ts +++ b/packages/hydrojudge/src/config.ts @@ -1,26 +1,23 @@ +/* eslint-disable prefer-const */ +/* eslint-disable import/no-mutable-exports */ import { argv } from 'yargs'; import os from 'os'; import path from 'path'; import fs from 'fs-extra'; import log from './log'; -const config = { - CONFIG_FILE: path.resolve(os.homedir(), '.config', 'hydro', 'judge.yaml'), - LANGS_FILE: path.resolve(os.homedir(), '.config', 'hydro', 'langs.yaml'), - CACHE_DIR: path.resolve(os.homedir(), '.cache', 'hydro', 'judge'), - FILES_DIR: path.resolve(os.homedir(), '.cache', 'hydro', 'files', 'judge'), - SYSTEM_MEMORY_LIMIT_MB: 1024, - SYSTEM_TIME_LIMIT_MS: 16000, - SYSTEM_PROCESS_LIMIT: 32, - RETRY_DELAY_SEC: 15, - TEMP_DIR: path.resolve(os.tmpdir(), 'hydro', 'judge'), - EXECUTION_HOST: 'http://localhost:5050', - CONFIG: null, - LANGS: null, - changeDefault(name, from, to) { - if (config[name] === from) config[name] = to; - }, -}; +export let CONFIG_FILE = path.resolve(os.homedir(), '.config', 'hydro', 'judge.yaml'); +export let LANGS_FILE = path.resolve(os.homedir(), '.config', 'hydro', 'langs.yaml'); +export let CACHE_DIR = path.resolve(os.homedir(), '.cache', 'hydro', 'judge'); +export let FILES_DIR = path.resolve(os.homedir(), '.cache', 'hydro', 'files', 'judge'); +export let SYSTEM_MEMORY_LIMIT_MB = 1024; +export let SYSTEM_TIME_LIMIT_MS = 16000; +export let SYSTEM_PROCESS_LIMIT = 32; +export let RETRY_DELAY_SEC = 15; +export let TEMP_DIR = path.resolve(os.tmpdir(), 'hydro', 'judge'); +export let EXECUTION_HOST = 'http://localhost:5050'; +export let CONFIG = null; +export let LANGS = null; if (fs.existsSync(path.resolve(process.cwd(), '.env'))) { const env = {}; @@ -33,29 +30,27 @@ if (fs.existsSync(path.resolve(process.cwd(), '.env'))) { } 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) { - 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) { - 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) { - 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) { - 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) { - 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)) { - fs.ensureDirSync(path.dirname(config.LANGS_FILE)); +if (!(fs.existsSync(LANGS_FILE) || global.Hydro)) { + fs.ensureDirSync(path.dirname(LANGS_FILE)); if (fs.existsSync(path.join(__dirname, '..', 'examples', 'langs.yaml'))) { 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'); } - -export = config;