]> git.agnieray.net Git - galette.git/blob - gulpfile.js
Remove old UI assets
[galette.git] / gulpfile.js
1 var gulp = require('gulp');
2
3 const { series, parallel } = require('gulp');
4 var del = require('del');
5 var uglify = require('gulp-uglify');
6 var cleanCSS = require('gulp-clean-css');
7 var merge = require('merge-stream');
8 var concat = require('gulp-concat');
9 var replace = require('gulp-replace');
10
11 var galette = {
12 'modules': './node_modules/',
13 'public': './galette/webroot/assets/'
14 };
15
16 var main_styles = [
17 './galette/webroot/themes/default/galette.css',
18 './node_modules/summernote/dist/summernote-lite.min.css',
19 ];
20
21 var main_scripts = [
22 './node_modules/jquery/dist/jquery.js',
23 './node_modules/js-cookie/dist/js.cookie.min.js',
24 './node_modules/summernote/dist/summernote-lite.min.js',
25 './galette/webroot/js/common.js',
26 ];
27
28 var main_assets = [
29 {
30 'src': './node_modules/summernote/dist/font/*',
31 'dest': '/webfonts/'
32 }, {
33 'src': './node_modules/summernote/dist/lang/*.min.js',
34 'dest': '/js/lang/'
35 }
36 ];
37
38 const clean = function(cb) {
39 del([galette.public]);
40 cb();
41 };
42
43 function watch() {
44 //wilcards are mandatory for task not to run only once...
45 gulp.watch('./galette/webroot/themes/**/*.css', series(styles));
46 gulp.watch('./galette/webroot/js/*.js', series(scripts));
47 };
48
49 function styles() {
50 var _dir = galette.public + '/css/';
51
52 main = gulp.src(main_styles)
53 .pipe(replace('url(images/', 'url(../images/'))
54 .pipe(replace('url(font/', 'url(../webfonts/'))
55 .pipe(cleanCSS())
56 .pipe(concat('galette-main.bundle.min.css'))
57 .pipe(gulp.dest(_dir));
58
59 return merge(main);
60 };
61
62 function scripts() {
63 var _dir = galette.public + '/js/';
64
65 main = gulp.src(main_scripts)
66 .pipe(concat('galette-main.bundle.min.js'))
67 .pipe(uglify())
68 .pipe(gulp.dest(_dir));
69
70 chartjs = gulp.src([
71 './node_modules/chart.js/dist/chart.min.js',
72 './node_modules/chartjs-plugin-autocolors/dist/chartjs-plugin-autocolors.min.js',
73 './node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.min.js'
74 ])
75 .pipe(concat('galette-chartjs.bundle.min.js'))
76 .pipe(gulp.dest(_dir));
77
78 sortablejs = gulp.src([
79 './node_modules/sortablejs/Sortable.min.js',
80 ])
81 .pipe(concat('galette-sortablejs.bundle.min.js'))
82 .pipe(gulp.dest(_dir));
83
84 return merge(main, chartjs, sortablejs);
85 };
86
87 function assets() {
88 main = main_assets.map(function (asset) {
89 return gulp.src(asset.src)
90 .pipe(gulp.dest(galette.public + asset.dest));
91 }
92 );
93
94 return merge(main);
95 };
96
97 exports.clean = clean;
98 exports.watch = watch;
99
100 exports.styles = styles;
101 exports.scripts = scripts;
102 exports.assets = assets;
103
104 exports.build = series(styles, scripts, assets);
105 exports.default = exports.build;