@heroku/frankenpurple
Version:
A UI kit for Heroku's web interfaces. To get started, check out https://purple.herokuapp.com!
53 lines (41 loc) • 1.46 kB
JavaScript
;
var gulp = require('gulp');
var concat = require('gulp-concat');
var minifyCSS = require('gulp-minify-css');
var rename = require('gulp-rename');
var sass = require('gulp-sass');
var uglify = require('gulp-uglify');
var eyeglass = require('eyeglass');
var config = {
PURPLE_SCSS: './sass/',
PURPLE_JS: './js/',
DIST_DIR: './dist/',
BOOTSTRAP_DIR: './node_modules/bootstrap-sass/assets/javascripts/bootstrap/'
};
// Compile and minify Sass
gulp.task('styles', function() {
var cssDest = config.DIST_DIR + 'css';
return gulp.src(config.PURPLE_SCSS + 'purple.scss')
.pipe(sass(eyeglass({includePaths: ['node_modules/bootstrap-sass/assets/stylesheets']})))
.pipe(gulp.dest(cssDest))
.pipe(rename({suffix: '.min'}))
.pipe(minifyCSS())
.pipe(gulp.dest(cssDest));
});
// Concatenate and minify Javascript
gulp.task('scripts', function() {
var jsDest = config.DIST_DIR + 'js';
return gulp.src([config.BOOTSTRAP_DIR + 'tooltip.js',
config.BOOTSTRAP_DIR + '*.js',
config.PURPLE_JS + 'purple.js'])
.pipe(concat('purple.js'))
.pipe(gulp.dest(jsDest))
.pipe(rename({suffix: '.min'}))
.pipe(uglify())
.pipe(gulp.dest(jsDest));
});
gulp.task('default', ['styles', 'scripts'], function() {});
gulp.task('watch', ['default'], function() {
gulp.watch(config.PURPLE_SCSS + '**/*.scss', ['styles']);
gulp.watch(config.PURPLE_JS + '**/*.js', ['scripts']);
});