forked from PhotoboothProject/photobooth
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
117 lines (100 loc) · 3.06 KB
/
gulpfile.js
File metadata and controls
117 lines (100 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
'use strict';
var gulp = require('gulp');
var sass = require('gulp-sass')(require('sass'));
var babel = require('gulp-babel');
var php = require('gulp-connect-php');
var browserSync = require('browser-sync').create();
var filters = require('gulp-filter');
// tw
const twAdminConfig = require("./config/tailwind.admin.config");
const postcss = require("gulp-postcss");
const tailwindcss = require("tailwindcss");
const rename = require("gulp-rename");
const autoprefixer = require("autoprefixer");
const concat = require("gulp-concat");
const nodeSassImporter = require('node-sass-importer');
gulp.task('dev', function() {
php.server({
base:'./',
port: 3000,
keepalive: true
});
browserSync.init({
proxy: '127.0.0.1:3000'
});
// watch
gulp
.watch('./src/sass/**/*.scss', gulp.series('sass'))
.on('change', browserSync.reload);
gulp
.watch('./**/*.php')
.on('change', browserSync.reload);
gulp
.watch('./src/js/*.js', gulp.series('js'))
.on('change', browserSync.reload);
// admin
gulp
.watch('./src/js/admin/**/*.js', gulp.series('js-admin'))
.on('change', browserSync.reload);
gulp
.watch([
'./admin/**/*.php',
'./login/**/*.php',
'./manual/**/*.php',
'./welcome/**/*.php',
'./src/sass/tailwind.admin.scss',
], gulp.series('tailwind-admin'))
.on('change', browserSync.reload);
});
gulp.task('sass', function () {
var filterAdmin = filters(['**/*', '!tailwind.admin.scss']);
return gulp
.src('./src/sass/**/*.scss')
.pipe(filterAdmin)
.pipe(sass.sync().on('error', sass.logError))
.pipe(gulp.dest('./resources/css'));
});
gulp.task('js', function () {
return gulp
.src('./src/js/**/*.js')
.pipe(babel({ presets: ['@babel/env'], ignore: [ 'src/js/sync-to-drive.js', 'src/js/remotebuzzer_server.js' ] }))
.pipe(gulp.dest('./resources/js'));
});
gulp.task('watch', function () {
gulp.watch('./src/sass/**/*.scss', gulp.series('sass'));
gulp.watch('./src/js/*.js', gulp.series('js'));
});
gulp.task('tailwind-admin', function () {
var plugins = [
tailwindcss(twAdminConfig),
autoprefixer(),
];
return gulp
.src('./src/sass/tailwind.admin.scss')
.pipe(sass({
importer: nodeSassImporter
}).on('error', sass.logError))
.pipe(rename({
extname: '.scss'
}))
.pipe(postcss(plugins))
.pipe(rename({
extname: '.css'
}))
.pipe(gulp.dest('./resources/css'));
});
gulp.task('js-admin', function () {
return gulp
.src([
'./src/js/admin/index.js',
'./src/js/tools.js',
'./src/js/i18n.js',
'./src/js/admin/buttons.js',
'./src/js/admin/navi.js',
'./src/js/admin/keypad.js',
])
.pipe(concat('main.admin.js'))
.pipe(babel({ presets: ['@babel/env'], ignore: [ 'src/js/sync-to-drive.js', 'src/js/remotebuzzer_server.js' ] }))
.pipe(gulp.dest('./resources/js'));
});
gulp.task('default', gulp.parallel('sass', 'js', 'js-admin', 'tailwind-admin'));