Mercurial > wikked
annotate gulpfile.js @ 500:d3cd7d8d6b25 default tip
web: Breaking changes in flask-login API.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 07 Jun 2020 00:56:00 -0700 |
parents | 8ee6e7649aba |
children |
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 |