Completed
Pull Request — master (#189)
by Virginia
04:34
created

gulpfile.js (14 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
const gulp         = require('gulp');
2
const rtlcss       = require('gulp-rtlcss');
3
const sass         = require('gulp-sass');
4
const sourcemaps   = require('gulp-sourcemaps');
5
const jshint       = require('gulp-jshint');
6
const concat       = require('gulp-concat');
7
const uglify       = require('gulp-uglify');
8
const sort         = require('gulp-sort');
9
const wppot        = require('gulp-wp-pot');
10
const gettext      = require('gulp-gettext');
11
const plumber      = require('gulp-plumber');
12
const autoprefixer = require('gulp-autoprefixer');
13
const gutil        = require('gulp-util');
14
const rename       = require('gulp-rename');
15
const minify       = require('gulp-minify-css');
0 ignored issues
show
The constant minify seems to be never used. Consider removing it.
Loading history...
16
const map          = require('map-stream');
17
const browserlist  = ['last 2 version', '> 1%'];
18
19
const errorreporter = map(function(file, cb) {
0 ignored issues
show
The constant errorreporter seems to be never used. Consider removing it.
Loading history...
20
	if (file.jshint.success) {
21
		return cb(null, file);
22
	}
23
24
	console.log('JSHINT fail in', file.path);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
25
26
	file.jshint.results.forEach(function (result) {
27
		if (!result.error) {
28
			return;
29
		}
30
31
		const err = result.error
32
		console.log(`  line ${err.line}, col ${err.character}, code ${err.code}, ${err.reason}`);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
33
	});
34
35
	cb(null, file);
0 ignored issues
show
There is no return statement in this branch, but you do return something in other branches. Did you maybe miss it? If you do not want to return anything, consider adding return undefined; explicitly.
Loading history...
36
});
37
38
gulp.task('default', function() {
39
	console.log('Use the following commands');
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
40
	console.log('--------------------------');
41
	console.log('gulp compile-css    to compile the scss to css');
42
	console.log('gulp compile-js     to compile the js to min.js');
43
	console.log('gulp watch          to continue watching the files for changes');
44
	console.log('gulp wordpress-lang to compile the lsx.pot, en_EN.po and en_EN.mo');
45
});
46
47
gulp.task('styles', function () {
48
	return gulp.src('assets/css/scss/*.scss')
49
		.pipe(plumber({
50
			errorHandler: function(err) {
51
				console.log(err);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
52
				this.emit('end');
53
			}
54
		}))
55
		.pipe(sourcemaps.init())
56
		.pipe(sass({
57
			outputStyle: 'compact',
58
			includePaths: ['assets/css/scss']
59
		}).on('error', gutil.log))
60
		.pipe(autoprefixer({
61
			browsers: browserlist,
62
			casacade: true
63
		}))
64
		.pipe(sourcemaps.write('maps'))
65
		.pipe(gulp.dest('assets/css'))
66
});
67
68
gulp.task('styles-rtl', function () {
69
	return gulp.src('assets/css/scss/*.scss')
70
		.pipe(plumber({
71
			errorHandler: function(err) {
72
				console.log(err);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
73
				this.emit('end');
74
			}
75
		}))
76
		.pipe(sass({
77
			outputStyle: 'compact',
78
			includePaths: ['assets/css/scss']
79
		}).on('error', gutil.log))
80
		.pipe(autoprefixer({
81
			browsers: browserlist,
82
			casacade: true
83
		}))
84
		.pipe(rtlcss())
85
		.pipe(rename({
86
			suffix: '-rtl'
87
		}))
88
		.pipe(gulp.dest('assets/css'))
89
});
90
91
gulp.task('vendor-styles', function () {
92
	return gulp.src('assets/css/vendor/*.scss')
93
		.pipe(plumber({
94
			errorHandler: function(err) {
95
				console.log(err);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
96
				this.emit('end');
97
			}
98
		}))
99
		.pipe(sass({
100
			outputStyle: 'compact',
101
			includePaths: ['assets/css/vendor']
102
		}).on('error', gutil.log))
103
		.pipe(autoprefixer({
104
			browsers: browserlist,
105
			casacade: true
106
		}))
107
		.pipe(gulp.dest('assets/css/vendor'))
108
});
109
110
gulp.task('vendor-styles-rtl', function () {
111
	return gulp.src('assets/css/vendor/*.scss')
112
		.pipe(plumber({
113
			errorHandler: function(err) {
114
				console.log(err);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
115
				this.emit('end');
116
			}
117
		}))
118
		.pipe(sass({
119
			outputStyle: 'compact',
120
			includePaths: ['assets/css/vendor']
121
		}).on('error', gutil.log))
122
		.pipe(autoprefixer({
123
			browsers: browserlist,
124
			casacade: true
125
		}))
126
		.pipe(rtlcss())
127
		.pipe(rename({
128
			suffix: '-rtl'
129
		}))
130
		.pipe(gulp.dest('assets/css/vendor'))
131
});
132
133
gulp.task('admin-styles', function () {
134
	return gulp.src('assets/css/admin/*.scss')
135
		.pipe(plumber({
136
			errorHandler: function(err) {
137
				console.log(err);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
138
				this.emit('end');
139
			}
140
		}))
141
		.pipe(sourcemaps.init())
142
		.pipe(sass({
143
			outputStyle: 'compact',
144
			includePaths: ['assets/css/admin']
145
		}).on('error', gutil.log))
146
		.pipe(autoprefixer({
147
			browsers: browserlist,
148
			casacade: true
149
		}))
150
		.pipe(sourcemaps.write('maps'))
151
		.pipe(gulp.dest('assets/css/admin'))
152
});
153
154
gulp.task('admin-styles-rtl', function () {
155
	return gulp.src('assets/css/admin/*.scss')
156
		.pipe(plumber({
157
			errorHandler: function(err) {
158
				console.log(err);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
159
				this.emit('end');
160
			}
161
		}))
162
		.pipe(sass({
163
			outputStyle: 'compact',
164
			includePaths: ['assets/css/admin']
165
		}).on('error', gutil.log))
166
		.pipe(autoprefixer({
167
			browsers: browserlist,
168
			casacade: true
169
		}))
170
		.pipe(rtlcss())
171
		.pipe(rename({
172
			suffix: '-rtl'
173
		}))
174
		.pipe(gulp.dest('assets/css/admin'))
175
});
176
177
gulp.task('compile-css', ['styles', 'styles-rtl', 'vendor-styles', 'vendor-styles-rtl', 'admin-styles', 'admin-styles-rtl']);
178
179
gulp.task('js', function() {
180
	return gulp.src('assets/js/src/**/*.js')
181
		.pipe(plumber({
182
			errorHandler: function(err) {
183
				console.log(err);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
184
				this.emit('end');
185
			}
186
		}))
187
		.pipe(jshint())
188
		//.pipe(errorreporter)
189
		.pipe(concat('lsx.min.js'))
190
		.pipe(uglify())
191
		.pipe(gulp.dest('assets/js'))
192
});
193
194
gulp.task('vendor-bootstrap-js', function() {
195
	return gulp.src('assets/js/vendor/bootstrap.js')
196
		.pipe(plumber({
197
			errorHandler: function(err) {
198
				console.log(err);
0 ignored issues
show
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
199
				this.emit('end');
200
			}
201
		}))
202
		.pipe(jshint())
203
		//.pipe(errorreporter)
204
		.pipe(concat('bootstrap.min.js'))
205
		.pipe(uglify())
206
		.pipe(gulp.dest('assets/js/vendor'))
207
});
208
209
gulp.task('compile-js', ['js', 'vendor-bootstrap-js']);
210
211
gulp.task('watch-css', function () {
212
	return gulp.watch('assets/css/**/*.scss', ['compile-css']);
213
});
214
215
gulp.task('watch-js', function () {
216
	return gulp.watch('assets/js/src/**/*.js', ['compile-js']);
217
});
218
219
gulp.task('watch', ['watch-css', 'watch-js']);
220
221
gulp.task('wordpress-pot', function() {
222
	return gulp.src('**/*.php')
223
		.pipe(sort())
224
		.pipe(wppot({
225
			domain: 'lsx',
226
			package: 'lsx',
227
			team: 'LightSpeed <[email protected]>'
228
		}))
229
		.pipe(gulp.dest('languages/lsx.pot'))
230
});
231
232
gulp.task('wordpress-po', function() {
233
	return gulp.src('**/*.php')
234
		.pipe(sort())
235
		.pipe(wppot({
236
			domain: 'lsx',
237
			package: 'lsx',
238
			team: 'LightSpeed <[email protected]>'
239
		}))
240
		.pipe(gulp.dest('languages/en_EN.po'))
241
});
242
243
gulp.task('wordpress-po-mo', ['wordpress-po'], function() {
244
	return gulp.src('languages/en_EN.po')
245
		.pipe(gettext())
246
		.pipe(gulp.dest('languages'))
247
});
248
249
gulp.task('wordpress-lang', (['wordpress-pot', 'wordpress-po-mo']));
250