UNPKG

sicksync

Version:

Don’t accept the available as the preferable. Go extra mile with extra speed.

53 lines (34 loc) 1.58 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.bigSync = bigSync; var _rsync = require('rsync'); var _rsync2 = _interopRequireDefault(_rsync); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _os = require('os'); var _os2 = _interopRequireDefault(_os); var _child_process = require('child_process'); var _util = require('./util'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function bigSync(project) { const log = (0, _util.generateLog)(project.project, _os2.default.hostname()); function consoleLogFromBuffer(buffer) { log(buffer.toString()); } const params = _lodash2.default.isPlainObject(_lodash2.default.get(arguments, 1)) ? _lodash2.default.get(arguments, 1) : {}; const onComplete = _lodash2.default.isFunction(_lodash2.default.last(arguments)) ? _lodash2.default.last(arguments) : _lodash2.default.noop; if (_os2.default.platform() === 'win32') { project.sourceLocation = (0, _child_process.execSync)('cygpath ' + project.sourceLocation).toString(); } const rsync = new _rsync2.default().shell('ssh').flags('az').exclude(project.excludes).source((0, _util.ensureTrailingSlash)(project.sourceLocation)).set('delete').destination(project.username + '@' + project.hostname + ':' + project.destinationLocation); if (params.dry) { rsync.set('dry-run'); } if (params.debug) { rsync.progress(); rsync.output(consoleLogFromBuffer, consoleLogFromBuffer); } rsync.execute(onComplete); }