2r-stepper
Version:
2R library stepper component implemented in React
103 lines (84 loc) • 1.95 kB
JavaScript
var gulp = require('gulp');
var babel = require('gulp-babel');
var uglify = require('gulp-uglify');
var connect = require('gulp-connect');
var source = require('vinyl-source-stream');
var server = require('karma').Server;
var babelify = require('babelify');
var browserify = require('browserify');
// Config
var config = {
js: {
main: '2r-stepper.js',
style: '2r-stepper.style.js'
},
dist: 'dist',
examples: {
js: 'app.js',
html: 'index.html',
jsDist: 'examples/app.js',
htmlDist: 'examples/index.html',
dist: 'examples/dist'
}
};
gulp.task('js', function() {
return gulp.src([
config.js.main
])
.pipe(babel())
.pipe(uglify())
.pipe(gulp.dest(config.dist));
});
gulp.task('watcher', function() {
gulp.watch([
config.js.main
], ['js']);
});
gulp.task('js-examples', function() {
return browserify({
entries: config.examples.jsDist,
extensions: [
'.js',
],
debug: true
})
.on('error', function() {})
.transform(babelify)
.bundle()
.pipe(source(config.examples.js))
.pipe(gulp.dest(config.examples.dist))
.pipe(connect.reload());
});
gulp.task('html-examples', function() {
return gulp.src(config.examples.htmlDist)
.pipe(gulp.dest(config.examples.dist));
});
gulp.task('server', function() {
return connect.server({
root: config.examples.dist,
port: 5000,
livereload: true
});
});
gulp.task('watcher-examples', function() {
gulp.watch([
config.js.main,
config.js.style,
config.examples.jsDist
], ['js-examples']);
gulp.watch([config.examples.htmlDist], ['html-examples']);
});
gulp.task('test', function(done) {
new server({
configFile: __dirname + '/karma.conf.js'
}, function() {
done();
}).start();
});
gulp.task('default', ['js', 'watcher']);
gulp.task('examples', [
'server',
'js-examples',
'html-examples',
'watcher-examples'
]);