PascalAOMS
10/20/2016 - 12:22 PM

SFTP Upload w/ Gulp 4.0

SFTP Upload w/ Gulp 4.0

//////////////////////////////////
// FTP (https://www.npmjs.com/package/gulp-sftp)
export function upload() {

    function uploadProcess(host, user, pass) {

        process.chdir(__dirname)

        return gulp.src('build/**/*')
            .pipe(changed('build/**/*'))
            .pipe(sftp({ host, user, pass, remotePath: SFTP.path }))
    }

    return new Promise(res => {

        process.chdir(process.env.HOME)

        fs.readFile(`${process.cwd()}/.sftp_login`, (err, data) => {

            if( err ) gutil.log(gutil.colors.red(err))

            let logins = JSON.parse(data);

            res([logins[SFTP.server].host,
                logins[SFTP.server].user,
                logins[SFTP.server].pass])

        })
    })
    .then(login => uploadProcess(...login))
}