annotate gulpfile.js @ 480:9767980cd8c3

web: Fix lock/unlock icon switching.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 16 Oct 2018 22:06:11 -0700
parents 8ee6e7649aba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
444
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 var gulp = require('gulp');
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 var gulpif = require('gulp-if');
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3 var notify = require("gulp-notify");
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 var argv = require('yargs').argv;
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6 var less = require('gulp-less');
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7 var sourcemaps = require('gulp-sourcemaps');
466
8ee6e7649aba web: Update to Font Awesome 5.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
8 var cleanCSS = require('gulp-clean-css');
444
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10 var imagemin = require('gulp-imagemin');
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12 var jshint = require('gulp-jshint');
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 var browserify = require('gulp-browserify');
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14 var uglify = require('gulp-uglify');
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17 var handleErrors = function(errorObject, callback) {
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 notify.onError(errorObject
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19 .toString()
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20 .split(': ')
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21 .join(':\n'))
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
22 .apply(this, arguments);
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
23 // Keep gulp from hanging on this task
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
24 if (typeof this.emit === 'function')
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25 this.emit('end');
466
8ee6e7649aba web: Update to Font Awesome 5.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
26 };
444
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
27
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
28
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
29 gulp.task('css', function() {
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
30 return gulp.src('wikked/assets/css/*.less')
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
31 .pipe(gulpif(!argv.production, sourcemaps.init()))
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
32 .pipe(less())
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
33 .on('error', handleErrors)
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
34 .pipe(gulpif(argv.production, cleanCSS({compatibility: 'ie8'})))
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35 .pipe(gulpif(!argv.production, sourcemaps.write()))
466
8ee6e7649aba web: Update to Font Awesome 5.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
36 .pipe(gulp.dest('wikked/static/css'));
444
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37 });
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39 gulp.task('fonts', function() {
466
8ee6e7649aba web: Update to Font Awesome 5.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
40 return gulp.src('node_modules/@fortawesome/fontawesome-free/webfonts/*')
8ee6e7649aba web: Update to Font Awesome 5.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
41 .pipe(gulp.dest('wikked/static/webfonts'));
444
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
42 });
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
43
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
44 gulp.task('images', function() {
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
45 return gulp.src('wikked/assets/img/*')
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
46 .pipe(gulpif(argv.production, imagemin()))
466
8ee6e7649aba web: Update to Font Awesome 5.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
47 .pipe(gulp.dest('wikked/static/img'));
444
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
48 });
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
49
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50 gulp.task('js', function() {
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
51 return gulp.src('wikked/assets/js/*.js')
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
52 .pipe(jshint())
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53 .on('error', handleErrors)
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 .pipe(browserify({
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55 insertGlobals : true,
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
56 debug: !argv.production
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57 }))
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
58 .on('error', handleErrors)
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59 .pipe(gulpif(argv.production, uglify()))
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60 .pipe(gulp.dest('wikked/static/js'));
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
61 });
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63 gulp.task('default', ['css', 'fonts', 'images', 'js']);
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
64
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
65 gulp.task('watch', function() {
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
66 gulp.watch('wikked/assets/js/**/*.js', ['js']);
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 gulp.watch('wikked/assets/css/**/*.{css,less}', ['css']);
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68 });
2f68a463cb06 cm: Replace Grunt/RequireJS with Gulp/Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69