UNPKG

v3mt

Version:

A CLI toolkit for managing and deploying Victoria 3 mods, including sending mod files to the game, launching the game, and more.

45 lines (44 loc) 1.42 kB
import fs from 'fs'; import path from 'path'; import { Config } from '../utils/config/config.js'; import Logger from '../utils/logger/logger.js'; const FOLDER_STRUCTURE = [ 'common', 'common/buildings', 'common/goods', 'common/modifier_type_definitions', 'common/production_methods', 'common/production_method_groups', 'common/script_values', 'gfx', 'gfx/interface', 'gfx/interface/icons', 'gfx/interface/icons/building_icons', 'gfx/interface/icons/goods_icons', 'gfx/interface/icons/production_method_icons', 'localization', 'localization/english', ]; const command = 'setup-mod-folders'; const use = (program) => { return program.command(command).description('sets up common mod folders').action(task); }; const setupModFolders = { use, command, task }; export default setupModFolders; async function task() { const config = Config.fromFile(); const modSource = config.MOD_SOURCE_FOLDER; if (!modSource) { Logger.kill("MOD_SOURCE_FOLDER config setting is not set. Please run 'v3mt init'"); } for (const folder of FOLDER_STRUCTURE) { const folderPath = path.join(modSource, folder); if (!fs.existsSync(folderPath)) { fs.mkdirSync(folderPath, { recursive: true }); Logger.pass(`Created: ${folder}`); } else { Logger.info(`Exists: ${folder}`); } } }