UNPKG

guides

Version:

Simple way to highlighting DOM elements and guide your users with step-by-step welcome tours in your web app.

89 lines (78 loc) 2.23 kB
var open = require('open'); var karmaServer = require('karma').Server; var gulp = require('gulp'); var uglify = require('gulp-uglify'); var browserify = require('gulp-browserify'); var sass = require('gulp-sass'); var rename = require('gulp-rename'); var banner = require('gulp-banner'); var connect = require('gulp-connect'); var ghPages = require('gulp-gh-pages'); var pkg = require('./bower.json'); const DIST = 'dist/'; const BANNER = '/*\n' + ' * <%= pkg.name %> <%= pkg.version %>\n' + ' * <%= pkg.description %>\n' + ' * <%= pkg.homepage %>\n' + ' *\n' + ' * Copyright 2015, <%= pkg.authors.join(", ") %>\n' + ' * Released under the <%= pkg.license %> license.\n' + '*/\n\n'; gulp.task('script', function() { gulp.src('src/guides.js') .pipe(browserify()) .pipe(banner(BANNER, { pkg: pkg })) .pipe(gulp.dest(DIST)) .pipe(uglify()) .pipe(banner(BANNER, { pkg: pkg })) .pipe(rename('guides.min.js')) .pipe(gulp.dest(DIST)) .pipe(connect.reload()); }); gulp.task('style', function() { gulp.src('src/guides.scss') .pipe(banner(BANNER, { pkg: pkg })) .pipe(gulp.dest(DIST)) .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError)) .pipe(banner(BANNER, { pkg: pkg })) .pipe(gulp.dest(DIST)) .pipe(connect.reload()); }); gulp.task('test', function (done) { new karmaServer({ configFile: require('path').resolve('karma.conf.js'), singleRun: true }, done).start(); }); gulp.task('demo', ['script', 'style', 'test'], function() { return gulp.src(['./dist/guides.css', './dist/guides.min.js']) .pipe(gulp.dest('demo/')); }); gulp.task('github-page', ['demo'], function() { return gulp.src(['./demo/**/*']) .pipe(ghPages()); }); gulp.task('server', function () { connect.server({ root: ['./demo'], port: 8080, livereload: true }); }); gulp.task('watch', ['server'], function() { open('http://localhost:8080/'); gulp.watch('src/**/*', ['build']); gulp.watch(['demo/**/*.html', 'demo/**/*.scss'], ['build']); }); gulp.task('build', ['demo']); gulp.task('default', ['build', 'watch']); gulp.task('deploy', ['build', 'github-page']);