diff options
Diffstat (limited to 'templates/assets/tether/gulpfile.js')
| -rw-r--r-- | templates/assets/tether/gulpfile.js | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/templates/assets/tether/gulpfile.js b/templates/assets/tether/gulpfile.js new file mode 100644 index 0000000..8b5e430 --- /dev/null +++ b/templates/assets/tether/gulpfile.js @@ -0,0 +1,96 @@ +var del = require('del'); +var gulp = require('gulp'); +var babel = require('gulp-babel'); +var bump = require('gulp-bump'); +var concat = require('gulp-concat'); +var header = require('gulp-header'); +var minify = require('gulp-minify-css'); +var plumber = require('gulp-plumber'); +var prefixer = require('gulp-autoprefixer'); +var rename = require('gulp-rename'); +var uglify = require('gulp-uglify'); +var sass = require('gulp-sass'); +var umd = require('gulp-wrap-umd'); + +// Variables +var distDir = './dist'; +var pkg = require('./package.json'); +var banner = ['/*!', pkg.name, pkg.version, '*/\n'].join(' '); +var umdOptions = { + exports: 'Tether', + namespace: 'Tether' +}; + + +// Clean +gulp.task('clean', function() { + del.sync([distDir]); +}); + + +// Javascript +gulp.task('js', function() { + gulp.src([ + './src/js/utils.js', + './src/js/tether.js', + './src/js/constraint.js', + './src/js/abutment.js', + './src/js/shift.js' + ]) + .pipe(plumber()) + .pipe(babel()) + .pipe(concat('tether.js')) + .pipe(umd(umdOptions)) + .pipe(header(banner)) + + // Original + .pipe(gulp.dest(distDir + '/js')) + + // Minified + .pipe(uglify()) + .pipe(rename({suffix: '.min'})) + .pipe(gulp.dest(distDir + '/js')); +}); + + +// CSS +gulp.task('css', function() { + gulp.src('./src/css/**/*.sass') + .pipe(plumber()) + .pipe(sass()) + .pipe(prefixer()) + + // Original + .pipe(gulp.dest(distDir + '/css')) + + // Minified + .pipe(minify()) + .pipe(rename({suffix: '.min'})) + .pipe(gulp.dest(distDir + '/css')); +}); + + +// Version bump +var VERSIONS = ['patch', 'minor', 'major']; +for (var i = 0; i < VERSIONS.length; ++i){ + (function(version) { + gulp.task('version:' + version, function() { + gulp.src(['package.json', 'bower.json', 'component.json']) + .pipe(bump({type: version})) + .pipe(gulp.dest('.')); + }); + })(VERSIONS[i]); +} + + +// Watch +gulp.task('watch', ['js', 'css'], function() { + gulp.watch('./src/js/**/*', ['js']); + gulp.watch('./src/css/**/*', ['css']); +}); + + +// Defaults +gulp.task('build', ['js', 'css']); +gulp.task('default', ['build']); + |
