| @ -0,0 +1,102 @@ | |||||
| // Update the version numbers and library sizes in index.md | |||||
| var fs = require('fs'), | |||||
| zlib = require('zlib'); | |||||
| var VIS = 'vis.js', | |||||
| VIS_MIN = 'vis.min.js', | |||||
| INDEX = 'index.html'; | |||||
| // get development size | |||||
| function developmentSize(callback) { | |||||
| fs.readFile(VIS, function (err, data) { | |||||
| if (!err) { | |||||
| var size = Math.round(data.length / 1024) + ' kB'; | |||||
| callback(null, size); | |||||
| } | |||||
| else { | |||||
| callback(err); | |||||
| } | |||||
| }); | |||||
| } | |||||
| // get (gzipped) production size | |||||
| function productionSize(callback) { | |||||
| fs.readFile(VIS_MIN, function (err, data) { | |||||
| if (!err) { | |||||
| zlib.gzip(data, function (err, data) { | |||||
| if (!err) { | |||||
| var size = Math.round(data.length / 1024) + ' kB'; | |||||
| callback(null, size) | |||||
| } | |||||
| else { | |||||
| callback(err); | |||||
| } | |||||
| }); | |||||
| } | |||||
| else { | |||||
| callback(err); | |||||
| } | |||||
| }); | |||||
| } | |||||
| // get version | |||||
| function version(callback) { | |||||
| fs.readFile(VIS_MIN, function (err, data) { | |||||
| if (!err) { | |||||
| var match = /@version\s*([\w\.-]*)/i.exec(data); | |||||
| var version = undefined; | |||||
| if (match) { | |||||
| version = match[1]; | |||||
| } | |||||
| callback(null, version); | |||||
| } | |||||
| else { | |||||
| callback(err); | |||||
| } | |||||
| }); | |||||
| } | |||||
| // update version and library sizes in index.md | |||||
| function updateVersion(developmentSize, productionSize, version, callback) { | |||||
| fs.readFile(INDEX, function (err, data) { | |||||
| if (!err) { | |||||
| data = String(data); | |||||
| data = data.replace(/<span id="development-size">([\w\s]*)<\/span>/g, | |||||
| '<span id="development-size">' + developmentSize + '</span>'); | |||||
| data = data.replace(/<span id="production-size">([\w\s]*)<\/span>/g, | |||||
| '<span id="production-size">' + productionSize + '</span>'); | |||||
| data = data.replace(/<span class="version">([\w\.-]*)<\/span>/g, | |||||
| '<span class="version">' + version + '</span>'); | |||||
| fs.writeFile(INDEX, data, callback); | |||||
| } | |||||
| else { | |||||
| callback(err); | |||||
| } | |||||
| }); | |||||
| } | |||||
| developmentSize(function (err, devSize) { | |||||
| console.log('development size: ' + devSize); | |||||
| productionSize(function (err, prodSize) { | |||||
| console.log('production size: ' + prodSize); | |||||
| version(function (err, version) { | |||||
| console.log('version: ' + version); | |||||
| if (devSize && prodSize && version) { | |||||
| updateVersion(devSize, prodSize, version, function (err, res) { | |||||
| if (err) { | |||||
| console.log(err); | |||||
| } | |||||
| else { | |||||
| console.log('done'); | |||||
| } | |||||
| }); | |||||
| } | |||||
| else { | |||||
| } | |||||
| }); | |||||
| }); | |||||
| }); | |||||