/* global jake,process */ /** * Installer Jake avec npm install -g jake (NodeJs doit être installé préalablement) * * Lancer la compilation avec jake build[$version] où $version est le numéro de version. * * Un deuxième paramètre peut être passé : jake build[$version,$destination]. Si $destination est égal à "dist", le fichier est placé dans dist/ et non dir/ * * */ var fs = require('fs') , exec = require('child_process').exec; task('build', function (version,destination) { var destinationDir = 'build'; switch(destination) { case 'dist': destinationDir = 'dist'; break; } jake.rmRf(destinationDir); jake.mkdirP(destinationDir); compileJs(version, destinationDir + '/html2ods.js'); }); task('default', ['build']); /** * Compile les différents fichiers Javascript suivant l'ordre indiqué dans list.txt * en un fichier Javascript unique * Les fichiers Javascript sont vidés de leurs commentaires et des espaces blancs surnuméraires. * * @param {string} version version de la compilation * @param {string} destination nom du fichier de destination * @returns {void} */ function compileJs(version, destination) { var files = fs.readFileSync('list.txt', 'utf8').split("\n"); var result = ""; for (let i = 0, len = files.length; i < len; i++) { var fileName = files[i]; if (fileName.length > 0) { var contents = fs.readFileSync("src/js/" + fileName, 'utf8'); contents = contents.replace(/\/\*[\s\S]*?\*\//g,''); result = result + contents; console.log(files[i]); } } result = result.replace(/\n\s*\n/g, "\n"); var moduleContent = fs.readFileSync("src/js/Html2Ods.js", 'utf8'); moduleContent = "/* version: " + version + " */\n" + moduleContent.replace(/\/\*[\s\S]*?\*\//g,''); moduleContent = moduleContent.replace("//compile target", result); fs.writeFileSync(destination, moduleContent, 'utf8'); }