UNPKG

react-crud-cli

Version:
74 lines (70 loc) 1.51 kB
const fs = require('fs') const path = require('path') const fse = require('fs-extra') const inquirer = require('inquirer') const log = require('./log') module.exports.createFile = ({ from, to, replace = [], tip = true }) => { fse.copy(from, to).then(() => { fs.readFile(to, 'utf8', (err, data) => { if (data) { for (let i in replace) { data = data.replace( new RegExp(`\\[${replace[i].from}\\]`, 'g'), replace[i].to ) } fs.writeFile(to, data, 'utf8', err => { if (err) { log.failed() } else { if (tip) { log.completed(path.resolve(to)) } else { log.completed() } } }) } else { if (tip) { log.completed(path.resolve(to)) } else { log.completed() } } }) }) } module.exports.hasFile = ({ to, tip = true }) => { return new Promise((resolve, reject) => { if (fs.existsSync(path.resolve(to))) { if (tip) { inquirer.prompt([{ type: 'confirm', message: 'Target file exists. Continue?', name: 'ok', default: false }]).then(answers => { if (answers.ok) { resolve() } else { reject() } }).catch(_ => { console.log(_) }) } else { reject() } } else { resolve() } }) }