UNPKG

fronteasy

Version:
56 lines (46 loc) 1.42 kB
module.exports = (function(observe) { 'use strict'; var chokidar = require('chokidar'); var task = require('./tasks/tasks'); var mimeTypes = require('mime-types'); function onFileChange(data) { var mimeType = mimeTypes.lookup(data.info) || 'application/octet-stream'; // console.log(mimeType); switch(mimeType) { // template case 'text/html': task.create.html(data); break; // styles case 'text/css': task.create.css(data); // console.log('compile:css'); break; case 'text/x-scss': // console.log('compile:scss'); break; case 'text/x-sass': // console.log('compile:x-sass'); break; case 'text/less': // console.log('compile:less'); break; } // console.log(data + ' ----> ' + mimeType); } function dispatcher(data) { if (data.evt === 'add' || data.evt === 'change') onFileChange(data); if (data.evt === 'addDir') task.create.directory(data.info); // if (evt === 'unlinkDir' || evt === 'unlink') remove(data); } function project(data) { chokidar.watch('./src/**/*').on('all', function(evt, info) { dispatcher({ evt: evt, info: info, client: data.client }); }); } return { project: project }; })(global.observe || (global.observe = {}));