UNPKG

@boykaframework/boyka-cli

Version:

🧑🏻‍💻 Command line assistant for Boyka Framework

56 lines (55 loc) 1.93 kB
import { createConfigFile, loadJSON } from '../../../utils/json.js'; import { BoykaError } from '../../../utils/boyka-error.js'; import { configBlockExists, createConfigMessages, executeTask } from '../../../utils/constants.js'; import { defaultFrameworkSetting, defaultNewMacSetting, defaultUiSetting, } from '../../../types/default-type-values.js'; import { updateDesktop } from '../../update/desktop.js'; import { getMacInputs } from '../../user-inputs.js'; export const createMacSetting = (inputs) => { const frameworkSetting = { ...defaultFrameworkSetting, ui: { ...defaultUiSetting, desktop: { ...defaultNewMacSetting(inputs.config_name), }, }, }; const desktop = frameworkSetting.ui?.desktop; if (desktop) updateDesktop(inputs, desktop[inputs.config_name]); return frameworkSetting; }; export const handleMacConfig = async (argv, platformType) => { const name = argv.name; const path = argv.path; const configPath = path === '.' ? process.cwd() : path; const inputs = { platform: 'ui', sub_platform: platformType, }; await getMacInputs(inputs); const settings = loadJSON(configPath); let uiSetting = settings.ui; let desktopSetting; if (uiSetting) { desktopSetting = uiSetting.desktop; if (desktopSetting?.[name]) { throw new BoykaError(configBlockExists('Mobile', name)); } } else { uiSetting = { ...defaultUiSetting, }; } const newDesktopSetting = defaultNewMacSetting(name); updateDesktop(inputs, newDesktopSetting[name]); settings.ui = { ...uiSetting, desktop: { ...desktopSetting, ...newDesktopSetting, }, }; await executeTask(createConfigFile(configPath, settings), createConfigMessages(configPath, 'updated')); };