fronteasy
Version:
Work in progress...
64 lines (54 loc) • 1.52 kB
JavaScript
module.exports = (function (tasks) {
'use strict';
var fs = require('./../memory').instance();
var path = require('path');
var gulp = require('gulp');
var through2 = require('through2');
var fs = require('./../memory').instance();
// utils
function destination(info) {
return path.join(__dirname, '../../..', info.replace('src', 'dist'));
}
// utils
function from(source) {
return path.join(__dirname, '../../..', source);
}
// utils
function allocate(data) {
try {
var dest = destination(data.info);
return through2.obj(function(file) {
console.log('compiling file... ', data.info);
fs.writeFileSync(dest, file.contents, { encoding: 'binary' });
data.client.reload(); // Live Reaload
});
} catch (e) {
console.error('Cannot access to filesystem: ', e);
}
}
function html(data) {
return gulp
.src(from(data.info))
.pipe(allocate(data));
}
function css(data) {
return gulp
.src(from(data.info))
.pipe(allocate(data));
}
function directory(source) {
try {
var folder = destination(source);
// console.log('Create new folder: ' + folder);
fs.mkdirpSync(folder);
} catch (e) {
console.error('Unable to create directory ', e);
}
}
////////////////
return {
directory: directory,
html: html,
css: css
};
})(global.tasks.create || (global.tasks.create = {}));