f842bf7e40fcdf41f71783a706c174b5475a14ce
1 var gulp
= require('gulp');
2 var plugins
= require('gulp-load-plugins')();
3 var karma
= require('karma').server
;
4 var lazypipe
= require('lazypipe');
5 var path
= require('path');
11 base
: "src/polyfills",
26 "dygraph-interaction-model.js",
28 "dygraph-plugin-base.js"
40 "../dygraph-plugin-install.js"
43 // Only used by dynamic loader
46 files
: ["dygraph-options-reference.js"]
49 base
: "src/datahandler",
53 "default-fractions.js",
62 // Convenience function to merge multiple arrays into one
63 var mergePaths
= function() {
66 if (arguments
.length
> 0) {
67 for (var i
= 0; i
< arguments
.length
; i
++) {
68 pathObj
= arguments
[i
];
69 pathObj
.files
.map(function(filename
) {
70 paths
.push(path
.join(pathObj
.base
, filename
));
80 var copyright
= '/*! @license Copyright 2015 Dan Vanderkam (danvdk@gmail.com) MIT-licensed (http://opensource.org/licenses/MIT) */';
83 // Creates the dygraph-autoloader
84 gulp.task('create-loader', function() {
85 // Create string ready for javascript array
86 var files = mergePaths(src.lib, src.main, src.plugins, src.devOptions, src.datahandlers)
87 .map(function(filename) {
88 // Make the path relative to dist file and add quotes
89 return "'" + filename.replace(src.base, '../../' + src.base) + "'";
93 return gulp.src(src.base + '../dygraph/dygraph-autoloader.js')
94 .pipe(plugins.replace(/\/\* REPLACEME \*\//, files))
95 .pipe(gulp.dest('dist/scratch'));
99 gulp
.task('create-dev', function() {
101 return gulp
.src(mergePaths(src
.polyfills
, src
.main
, src
.plugins
, src
.devOptions
, src
.datahandlers
), {base
: '.'})
102 .pipe(plugins
.sourcemaps
.init({debug
:true}))
103 .pipe(plugins
.concat('dygraph-combined.dev.js'))
104 .pipe(plugins
.header(copyright
))
105 .pipe(plugins
.sourcemaps
.write('.')) // '.' = external sourcemap
106 .pipe(gulp
.dest(dest
));
109 gulp
.task('concat', function() {
111 return gulp
.src(mergePaths(src
.polyfills
, src
.main
, src
.plugins
, src
.datahandlers
))
112 .pipe(plugins
.sourcemaps
.init())
113 .pipe(plugins
.concat('dygraph-combined.js'))
114 .pipe(plugins
.header(copyright
))
115 .pipe(gulp
.dest(dest
))
116 .pipe(plugins
.uglify({
118 global_defs
: { DEBUG
: false }
121 preserveComments
: "none"
123 .pipe(plugins
.header(copyright
))
124 .pipe(plugins
.rename('dygraph-combined.min.js'))
125 .pipe(plugins
.sourcemaps
.write('.'))
126 .pipe(gulp
.dest(dest
));
130 gulp
.task("bower-dist", ['concat'], function() {
131 gulp
.src('src/dygraph/extras/**', {base
: 'src/dygraph'})
132 .pipe(gulp
.dest('dist/bower'));
134 return gulp
.src('dist/dygraph-combined*')
135 .pipe(gulp
.dest('dist/bower'));
138 gulp
.task('gwt-dist', ['concat'], function() {
139 // Copy package structure to dist folder
140 gulp
.src('gwt/**', {'base': '.'})
141 .pipe(gulp
.dest('dist'));
143 gulp
.src('dygraph-combined.min.js')
144 .pipe(gulp
.dest('dist/gwt/org/danvk'));
148 .pipe(plugins
.shell([
149 'bash -c "jar -cf dist/dygraph-gwt.jar -C dist/gwt org"'
153 gulp
.task('test', ['concat', 'create-dev'], function(done
) {
155 configFile
: process
.cwd() + '/auto_tests/karma.conf.js',
160 gulp
.task('coveralls', ['test'], plugins
.shell
.task([
161 './scripts/transform-coverage.js ' +
162 'dist/dygraph-combined.dev.js.map ' +
163 'dist/coverage/report-lcov/lcov.info ' +
164 '| ./node_modules/.bin/coveralls'
167 gulp
.task('watch', function() {
168 gulp
.watch('src/**', ['concat']);
171 gulp
.task('watch-test', function() {
172 gulp
.watch(['src/**', 'auto_tests/tests/**'], ['test']);
175 gulp
.task('dist', ['gwt-dist', 'bower-dist']);
176 gulp
.task('travis', ['test', 'coveralls']);
177 gulp
.task('default', ['test', 'dist']);