UNPKG

zoro-cli

Version:

46 lines (39 loc) 1.32 kB
'use strict'; var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var path = require('path'); var fs = require('fs-extra'); var cwd = process.cwd(); module.exports = function handlePath(_ref) { var file = _ref.file, override = _ref.override; var fromName = void 0; var toName = void 0; if ((typeof file === 'undefined' ? 'undefined' : (0, _typeof3.default)(file)) === 'object') { fromName = file.from; toName = file.to; } else { fromName = file; toName = file; } var to = path.join(cwd, toName); var pathExist = false; return fs.pathExists(to).then(function (exists) { pathExist = exists; // backup file if exist and override if (exists && override) { var backup = path.join(cwd, 'backup/' + toName + '.' + +new Date() + '.backup'); console.warn('backup ' + toName + ' to ' + backup); return fs.copy(to, backup); } }).then(function () { if (!pathExist || override) { // copy file var from = path.join(__dirname, '../res/configs/' + fromName); console.log('copy ' + from + ' to ' + to); return fs.copy(from, to); } console.log('skip ' + toName); }); };