vis.js is a dynamic, browser-based visualization library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

114 lines
2.8 KiB

/**
* Jake build script
*/
var jake = require('jake'),
fs = require('fs'),
path = require('path');
require('jake-utils');
/**
* default task
*/
desc('Execute all tasks: build all libraries');
task('default', ['timeline'], function () {
console.log('done');
});
/**
* timeline
*/
desc('Build the timeline visualization');
task('timeline', function () {
var TIMELINE = './bin/timeline/timeline.js';
var TIMELINE_MIN = './bin/timeline/timeline.min.js';
var DIR = './bin/timeline';
jake.rmRf(DIR);
jake.mkdirP(DIR);
// concatenate the script files
concat({
dest: TIMELINE,
src: [
'./src/header.js',
'./src/util.js',
'./src/events.js',
'./src/timestep.js',
'./src/dataset.js',
'./src/stack.js',
'./src/range.js',
'./src/controller.js',
'./src/component/component.js',
'./src/component/panel.js',
'./src/component/rootpanel.js',
'./src/component/timeaxis.js',
'./src/component/itemset.js',
'./src/component/item/*.js',
'./src/visualization/timeline/timeline.js',
'./lib/moment.js'
],
separator: '\n'
});
// concatenate the css files
concat({
dest: './bin/timeline/timeline.css',
src: [
'./src/component/css/panel.css',
'./src/component/css/item.css',
'./src/component/css/timeaxis.css'
],
separator: '\n'
});
// minify javascript
minify({
src: TIMELINE,
dest: TIMELINE_MIN,
header: read('./src/header.js')
});
// update version number and stuff in the javascript files
[TIMELINE, TIMELINE_MIN].forEach(function (file) {
replace({
replacements: [
{pattern: '@@name', replacement: 'timeline'},
{pattern: '@@date', replacement: today()},
{pattern: '@@version', replacement: version()}
],
src: file
});
});
// copy examples
jake.cpR('./src/visualization/timeline/examples', './bin/timeline/examples/');
console.log('created timeline library');
});
/**
* Recursively remove a directory and its files
* https://gist.github.com/tkihira/2367067
* @param {String} dir
*/
var rmdir = function(dir) {
var list = fs.readdirSync(dir);
for(var i = 0; i < list.length; i++) {
var filename = path.join(dir, list[i]);
var stat = fs.statSync(filename);
if(filename == "." || filename == "..") {
// pass these files
} else if(stat.isDirectory()) {
// rmdir recursively
rmdir(filename);
} else {
// rm fiilename
fs.unlinkSync(filename);
}
}
fs.rmdirSync(dir);
};