1 | var del = require('del');
|
2 | var gulp = require('gulp');
|
3 | var babel = require('gulp-babel');
|
4 | var bump = require('gulp-bump');
|
5 | var concat = require('gulp-concat');
|
6 | var header = require('gulp-header');
|
7 | var minify = require('gulp-minify-css');
|
8 | var plumber = require('gulp-plumber');
|
9 | var prefixer = require('gulp-autoprefixer');
|
10 | var rename = require('gulp-rename');
|
11 | var uglify = require('gulp-uglify');
|
12 | var sass = require('gulp-sass');
|
13 | var umd = require('gulp-wrap-umd');
|
14 |
|
15 |
|
16 | var distDir = './dist';
|
17 | var pkg = require('./package.json');
|
18 | var banner = ['/*!', pkg.name, pkg.version, '*/\n'].join(' ');
|
19 | var umdOptions = {
|
20 | exports: 'Tether',
|
21 | namespace: 'Tether'
|
22 | };
|
23 |
|
24 |
|
25 |
|
26 | gulp.task('clean', function() {
|
27 | del.sync([distDir]);
|
28 | });
|
29 |
|
30 |
|
31 |
|
32 | gulp.task('js', function() {
|
33 | gulp.src([
|
34 | './src/js/utils.js',
|
35 | './src/js/tether.js',
|
36 | './src/js/constraint.js',
|
37 | './src/js/abutment.js',
|
38 | './src/js/shift.js'
|
39 | ])
|
40 | .pipe(plumber())
|
41 | .pipe(babel())
|
42 | .pipe(concat('tether.js'))
|
43 | .pipe(umd(umdOptions))
|
44 | .pipe(header(banner))
|
45 |
|
46 |
|
47 | .pipe(gulp.dest(distDir + '/js'))
|
48 |
|
49 |
|
50 | .pipe(uglify())
|
51 | .pipe(rename({suffix: '.min'}))
|
52 | .pipe(gulp.dest(distDir + '/js'));
|
53 | });
|
54 |
|
55 |
|
56 |
|
57 | gulp.task('css', function() {
|
58 | gulp.src('./src/css/**/*.sass')
|
59 | .pipe(plumber())
|
60 | .pipe(sass())
|
61 | .pipe(prefixer())
|
62 |
|
63 |
|
64 | .pipe(gulp.dest(distDir + '/css'))
|
65 |
|
66 |
|
67 | .pipe(minify())
|
68 | .pipe(rename({suffix: '.min'}))
|
69 | .pipe(gulp.dest(distDir + '/css'));
|
70 | });
|
71 |
|
72 |
|
73 |
|
74 | var VERSIONS = ['patch', 'minor', 'major'];
|
75 | for (var i = 0; i < VERSIONS.length; ++i){
|
76 | (function(version) {
|
77 | gulp.task('version:' + version, function() {
|
78 | gulp.src(['package.json', 'bower.json', 'component.json'])
|
79 | .pipe(bump({type: version}))
|
80 | .pipe(gulp.dest('.'));
|
81 | });
|
82 | })(VERSIONS[i]);
|
83 | }
|
84 |
|
85 |
|
86 |
|
87 | gulp.task('watch', ['js', 'css'], function() {
|
88 | gulp.watch('./src/js/**/*', ['js']);
|
89 | gulp.watch('./src/css/**/*', ['css']);
|
90 | });
|
91 |
|
92 |
|
93 |
|
94 | gulp.task('build', ['js', 'css']);
|
95 | gulp.task('default', ['build']);
|
96 |
|