1 var gulp
= require('gulp')
2 , pkg
= require('./package.json')
3 , gutil
= require('gulp-util')
4 , gkarma
= require('gulp-karma')
5 , sass
= require('gulp-sass')
6 , concat
= require('gulp-concat')
7 , uglify
= require('gulp-uglify')
8 , clean
= require('gulp-clean')
9 , header
= require('gulp-header')
17 ' * @version v<%= pkg.version %>',
23 DEPS
: ['bower_components/chance/chance.js', 'bower_components/d3/d3.min.js']
27 LIB
: 'bower_components/d3/*.min.js',
28 NS
: 'src/namespaces.js',
29 SOURCE
: 'src/**/*.js',
30 SPEC
: 'test/**/*-spec.js',
31 STYLESHEETS
: 'src/stylesheets/**/*.scss'
34 gulp
.task('sass', function () {
35 gulp
.src(files
.STYLESHEETS
)
37 .pipe(gulp
.dest('./dist/'));
40 gulp
.task('concat', function () {
41 gulp
.src([files
.NS
, files
.SOURCE
])
42 .pipe(concat('tech-radar.js'))
43 .pipe(header(banner
, { pkg
: pkg
}))
44 .pipe(gulp
.dest('./dist/'));
46 var clean
= require('gulp-clean');
48 gulp
.task('clean', function() {
49 gulp
.src('./dist/', {read
: false})
50 .pipe(clean({force
: true}));
53 gulp
.task('compress', function() {
54 gulp
.src([files
.NS
, files
.SOURCE
])
55 .pipe(concat('tech-radar.min.js'))
56 .pipe(uglify({outSourceMap
: true}))
57 .pipe(header(banner
, { pkg
: pkg
}))
58 .pipe(gulp
.dest('./dist/'))
61 gulp
.task('deps', function () {
62 gulp
.src(paths
.DEPS
.concat('./dist/**/*.*'))
63 .pipe(gulp
.dest('./examples'));
66 gulp
.task('dist', ['clean', 'concat', 'compress', 'sass']);
67 gulp
.task('examples', ['clean', 'concat', 'compress', 'sass', 'deps']);
69 gulp
.task('gh-pages', function () {
70 var ghpages
= require('gh-pages')
71 , path
= require('path')
74 options
.logger
= console
.log
.bind(this);
76 function callback(err
) {
78 console
.error('Error publishing to gh-pages', err
);
80 console
.log('Successfully published to gh-pages');
84 ghpages
.publish(path
.join(__dirname
, './examples'), options
, callback
);
87 gulp
.task('test', function (){
91 configFile
: 'karma.conf.js',
96 [files
.LIB
, files
.NS
, files
.SOURCE
, files
.SPEC
]