import options from './options' import { writeFileSync } from 'fs' const exportOptions: { [key: string]: any } = {} const optionTypesTemplate = (fill: string) => { return ` // THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. // Generated by scripts/options-export/dump-options.ts export interface SakuraOptions { ${fill} } ` } let types = '' Object.keys(options).forEach((tab) => { options[tab].options.forEach((option) => { if (option.depends) delete option.depends // remove function exportOptions[option.namespace] = option types += `'${option.namespace}': any, ` }) }) console.dir(exportOptions) const optionTypes = optionTypesTemplate(types) writeFileSync('./app/configs/options.json', JSON.stringify(exportOptions, null, 2), { flag: 'w+' }) writeFileSync('./src/admin/optionsType.ts', optionTypes, { flag: 'w+' })