UNPKG

reactium

Version:

A CLI for creating Reactium / Actinium projects.

34 lines (26 loc) 985 B
export default spinner => { const { chalk, fs, homedir, normalizePath } = arcli; const message = text => { if (spinner) { if (!spinner.isSpinning) spinner.start(); spinner.text = text; } }; const now = Date.now(); const file = normalizePath(homedir, '.arcli', 'config.json'); const backupDir = normalizePath(homedir, '.arcli', '.BACKUP'); const backupFile = normalizePath(backupDir, `${now}.config.json`); return { backup: () => { message(`creating ${chalk.magenta('config.json')} backup...`); fs.ensureDirSync(backupDir); fs.copySync(file, backupFile); }, update: ({ params, props, action }) => { message(`updating ${chalk.magenta('config.json')}...`); const { newConfig } = params; const fileContent = JSON.stringify(newConfig, null, 2); fs.writeFileSync(file, fileContent); }, }; };