b1592bddf50e6892b65ff2ad8d97e35207d3c177
1 var gulp
= require('gulp');
2 var plugins
= require('gulp-load-plugins')();
3 var karma
= require('karma').server
;
4 var path
= require('path');
10 base
: "src/polyfills",
25 "dygraph-interaction-model.js",
27 "dygraph-plugin-base.js"
39 "../dygraph-plugin-install.js"
42 // Only used by dynamic loader
45 files
: ["dygraph-options-reference.js"]
48 base
: "src/datahandler",
52 "default-fractions.js",
61 // Convenience function to merge multiple arrays into one
62 var mergePaths
= function() {
65 if (arguments
.length
> 0) {
66 for (var i
= 0; i
< arguments
.length
; i
++) {
67 pathObj
= arguments
[i
];
68 pathObj
.files
.map(function(filename
) {
69 paths
.push(path
.join(pathObj
.base
, filename
));
79 var copyright
= '/*! @license Copyright 2015 Dan Vanderkam (danvdk@gmail.com) MIT-licensed (http://opensource.org/licenses/MIT) */';
82 // Creates the dygraph-autoloader
83 gulp.task('create-loader', function() {
84 // Create string ready for javascript array
85 var files = mergePaths(src.lib, src.main, src.plugins, src.devOptions, src.datahandlers)
86 .map(function(filename) {
87 // Make the path relative to dist file and add quotes
88 return "'" + filename.replace(src.base, '../../' + src.base) + "'";
92 return gulp.src(src.base + '../dygraph/dygraph-autoloader.js')
93 .pipe(plugins.replace(/\/\* REPLACEME \*\//, files))
94 .pipe(gulp.dest('dist/scratch'));
98 gulp
.task('create-dev', function() {
100 return gulp
.src(mergePaths(src
.polyfills
, src
.main
, src
.plugins
, src
.devOptions
, src
.datahandlers
), {base
: '.'})
101 .pipe(plugins
.sourcemaps
.init({debug
:true}))
102 .pipe(plugins
.concat('dygraph-combined-dev.js'))
103 .pipe(plugins
.header(copyright
))
104 .pipe(plugins
.sourcemaps
.write('.')) // '.' = external sourcemap
105 .pipe(gulp
.dest(dest
));
108 gulp
.task('concat', function() {
110 return gulp
.src(mergePaths(src
.polyfills
, src
.main
, src
.plugins
, src
.datahandlers
), {base
: '.'})
111 .pipe(plugins
.sourcemaps
.init())
112 .pipe(plugins
.concat('scratch'))
113 .pipe(plugins
.header(copyright
))
114 .pipe(gulp
.dest(dest
))
115 .pipe(plugins
.uglify({
117 global_defs
: { DEBUG
: false }
120 preserveComments
: "none"
122 .pipe(plugins
.header(copyright
))
123 .pipe(plugins
.rename('dygraph-combined.js'))
124 .pipe(plugins
.sourcemaps
.write('.'))
125 .pipe(gulp
.dest(dest
));
129 gulp
.task('gwt-dist', ['concat'], function() {
130 // Copy package structure to dist folder
131 gulp
.src('gwt/**', {'base': '.'})
132 .pipe(gulp
.dest('dist'));
134 gulp
.src('dygraph-combined.js')
135 .pipe(gulp
.dest('dist/gwt/org/danvk'));
139 .pipe(plugins
.shell([
140 'bash -c "jar -cf dist/dygraph-gwt.jar -C dist/gwt org"'
144 gulp
.task('test', ['concat', 'create-dev'], function(done
) {
146 configFile
: process
.cwd() + '/auto_tests/karma.conf.js',
151 gulp
.task('coveralls', ['test'], plugins
.shell
.task([
152 './scripts/transform-coverage.js ' +
153 'dist/dygraph-combined-dev.js.map ' +
154 'dist/coverage/report-lcov/lcov.info ' +
155 '| ./node_modules/.bin/coveralls'
158 gulp
.task('watch', function() {
159 gulp
.watch('src/**', ['concat']);
162 gulp
.task('watch-test', function() {
163 gulp
.watch(['src/**', 'auto_tests/tests/**'], ['test']);
166 gulp
.task('dist', ['gwt-dist', 'concat', 'create-dev']);
167 gulp
.task('travis', ['test', 'coveralls']);
168 gulp
.task('default', ['test', 'dist']);