UNPKG

@boykaframework/boyka-cli

Version:

🧑🏻‍💻 Command line assistant for Boyka Framework

60 lines (59 loc) 2.04 kB
import { updateMobile } from '../../update/mobile.js'; import { defaultUiSetting, defaultNewMobileSetting, defaultDelaySetting, defaultFrameworkSetting, } from '../../../types/default-type-values.js'; import { createConfigFile, loadJSON } from '../../../utils/json.js'; import { configBlockExists, createConfigMessages, executeTask } from '../../../utils/constants.js'; import { BoykaError } from '../../../utils/boyka-error.js'; import { getMobileInputs } from '../../user-inputs.js'; export const createMobileSetting = (inputs) => { const frameworkSetting = { ...defaultFrameworkSetting, ui: { delay: { ...defaultDelaySetting, }, ...defaultUiSetting, mobile: { ...defaultNewMobileSetting(inputs.config_name), }, }, }; const mobile = frameworkSetting.ui?.mobile; if (mobile) { updateMobile(inputs, mobile[inputs.config_name]); } return frameworkSetting; }; export const handleAddMobileConfig = 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 getMobileInputs(inputs); const settings = loadJSON(configPath); let uiSetting = settings.ui; let mobileSetting; if (uiSetting) { mobileSetting = uiSetting.mobile; if (mobileSetting?.[name]) { throw new BoykaError(configBlockExists('Mobile', name)); } } else { uiSetting = { ...defaultUiSetting, }; } const newMobileSetting = defaultNewMobileSetting(name); updateMobile(inputs, newMobileSetting[name]); settings.ui = { ...uiSetting, mobile: { ...mobileSetting, ...newMobileSetting, }, }; await executeTask(createConfigFile(configPath, settings), createConfigMessages(configPath, 'updated')); };