@swift-ws/gulp-kit
Version:
A starter kit for automating frontend development using Gulp.js.
35 lines (26 loc) • 1.04 kB
JavaScript
import {gulp, ftp} from '../plugins.js';
function getFtpConnection(config) {
return ftp.create({
host: config.tasks.ftp.host,
user: config.tasks.ftp.user,
password: config.tasks.ftp.password,
port: config.tasks.ftp.port,
parallel: config.tasks.ftp.parallel,
});
}
export const sendFilesFTP = async () => {
const {config} = await import('../config.js');
if (config.tasks.ftp.host.length && config.tasks.ftp.user.length && config.tasks.ftp.password.length) {
const connection = getFtpConnection(config);
return gulp.src(config.tasks.ftp.src, { base: '.', buffer: false })
.pipe(connection.newer(config.tasks.ftp.remotePath))
.pipe(connection.dest(config.tasks.ftp.remotePath));
}
return gulp.src('.', {allowEmpty: true});
};
export const watchFilesFTP = async () => {
const {config} = await import('../config.js');
if (config.tasks.ftp.watch.length) {
gulp.watch(config.tasks.ftp.watch, sendFilesFTP);
}
};