lilacs
Version:
A web frontend building tool for teamwork, with automaticly compiling, merging, minifying, syncing files to server, supporting distributed servers, ensuring css or html files' inline reference with correct absolute path, and more.
59 lines (53 loc) • 2.4 kB
JavaScript
var amdOptimize = require("amd-optimize");
var distData = require('./data');
var distNext = require('./next');
module.exports = {
/**
* copy module required js files
*/
copyJs: (gulp) => {
return function copyJs(cb) {
if (distData.currentConfig.useRequireJs) {
var targetDirectory = distData.currentConfig.requireJsToTagLoad ?
distData.currentConfig.buildPaths.extract.js : distData.currentConfig.buildPaths.extractJs.js;
return gulp.src(distData.currentConfig.buildPaths.copiedDev.js + "/**/*.js")
.pipe(amdOptimize(distData.currentConfig.module, {
baseUrl : distData.currentConfig.buildPaths.copiedDev.js,
configFile : distData.currentConfig.basePaths.webRoot + distData.currentConfig.requireJsConfigPath
}))
.pipe(gulp.dest(targetDirectory));
}
else cb();
}
},
/**
* copy module required css files
*/
copyCss: (gulp) => {
return function copyCss(cb) {
if (distData.currentConfig.useInCss) {
var targetDirectory = distData.currentConfig.inCssToTagLoad ?
distData.currentConfig.buildPaths.extract.css : distData.currentConfig.buildPaths.extractCss.css;
return gulp.src(distData.currentConfig.inCssAllModulesPaths, {base: distData.currentConfig.buildPaths.copiedDev.css})
.pipe(gulp.dest(targetDirectory));
}
else cb();
}
},
/**
* copy extra modules required js files
*/
copyExtraJs: (gulp) => {
return function copyExtraJs (cb) {
distNext.extraJsEntryModule();
if (distData.currentConfig.hasExtraJsEntryModules)
return gulp.src(distData.currentConfig.buildPaths.copiedDev.js + "/**/*.js")
.pipe(amdOptimize(distData.currentConfig.processingData.extraJsEntryModule, {
baseUrl : distData.currentConfig.buildPaths.copiedDev.js,
configFile : distData.currentConfig.basePaths.webRoot + distData.currentConfig.requireJsConfigPath
}))
.pipe(gulp.dest(distData.currentConfig.buildPaths.extractJs.js));
else cb();
}
}
};