#!/usr/bin/env node const { sshDeploy } = require('./rsyncCli'); const { remoteCmdBefore, remoteCmdAfter } = require('./remoteCmd'); const { addSshKey } = require('./sshKey'); const { validateRequiredInputs } = require('./helpers'); const inputs = require('./inputs'); const run = () => { const { source, remoteUser, remoteHost, remotePort, deployKeyName, sshPrivateKey, args, exclude, scriptBefore, scriptAfter, sshServer } = inputs; // Validate required inputs validateRequiredInputs({ sshPrivateKey, remoteHost, remoteUser }); // Add SSH key const privateKey = addSshKey(sshPrivateKey, deployKeyName); // Check Script before if (scriptBefore) { remoteCmdBefore(scriptBefore); } // Check script after let callback = () => {}; if (scriptAfter) { callback = (...result) => { remoteCmdAfter(scriptAfter, result); }; } /* eslint-disable object-property-newline */ sshDeploy({ source, sshServer, exclude, remotePort, privateKey, args, callback }); }; run();