in grunt-config/custom-tasks/toBrowser/toBrowser.js [20:97]
module.exports = function(grunt) {
var stripHeader = function(input) {
return input.replace(/(\/\*(.|\n|\r)*?\*\/)/i,"");
};
grunt.registerMultiTask('toBrowser', function() {
var self = this;
var path = require('path');
var fs = require( 'fs' );
var globalDone = this.async();
var options = this.options({ });
var workLoad = [];
var writeToLogOk = function(data) { grunt.log.ok(data.toString()); };
// fill workLoad
for(var i = 0; i < this.files.length; i++) {
for(var ii = 0; ii < this.files[i].src.length; ii++) {
var srcFile = this.files[i].src[ii];
var srcPath = srcFile.substring(0,srcFile.lastIndexOf('/')+1);
var srcName = srcFile.substring(srcFile.lastIndexOf('/')+1,srcFile.length-3);
//console.log('exists :'+srcPath+srcName+'-browser.js' );
tarName = srcName;
if (srcName.indexOf('-browser') > 0) {
tarName = tarName.substring(0,srcName.indexOf('-browser'));
//console.log('new srcName :'+srcName );
} else if (grunt.file.exists(srcPath+srcName+'-browser.js')) {
//console.log('exists :yes');
continue; //skip that file
}
workLoad.push({
srcPath : srcPath,
srcName : srcName,
tarName : tarName
});
}
var concat = '{';
for(var x = 0; x < workLoad.length; x++) {
console.log('workLoad :'+JSON.stringify(workLoad[x] ));
var src = grunt.file.read(workLoad[x].srcPath+workLoad[x].srcName+'.js');
// remove the first comment
src = stripHeader(src);
if (x > 0) {
concat+= ', ';
}
concat+= '"' + workLoad[x].tarName + '" : ';
concat+= 'function(exports, module, require) {';
concat+= src +'}';
}
concat+= '}';
var tpl = grunt.file.read('./grunt-config/custom-tasks/toBrowser/wrapper-tpl.js');
var init = stripHeader(grunt.file.read(options.index));
tpl = tpl.replace('\'<% initFunction %>\'',init);
tpl = tpl.replace('\'<% filesAsFunctionList %>\'',concat);
grunt.file.write(this.files[i].dest, tpl);
}
globalDone();
});
};