forked from Automattic/sensei
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gulpfile.js
73 lines (64 loc) · 2.04 KB
/
gulpfile.js
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
/**
* Gulp File
*
* 1) Make sure you have node and npm installed locally
*
* 2) Install all the modules from package.json:
* $ npm install
*
* 3) Run gulp to mifiy javascript and css using the 'gulp' command.
*/
var gulp = require( 'gulp' );
var rename = require( 'gulp-rename' );
var uglify = require( 'gulp-uglify' );
var minifyCSS = require( 'gulp-minify-css' );
var chmod = require( 'gulp-chmod' );
var del = require( 'del' );
var sass = require( 'gulp-sass' );
var wpPot = require( 'gulp-wp-pot' );
var sort = require( 'gulp-sort' );
var paths = {
scripts: ['assets/js/*.js' ],
adminScripts: ['assets/js/admin/*.js'],
css: ['assets/css/*.css'],
frontedCss: ['assets/css/frontend/*.scss']
};
gulp.task( 'clean', function( cb ) {
return del( ['assets/js/*.min.js','assets/js/admin/*.min.js', 'assets/css/*.min.css'], cb );
});
gulp.task( 'default', [ 'CSS','FrontendCSS','JS','adminJS' ] );
gulp.task( 'CSS', ['clean'], function() {
return gulp.src( paths.css )
.pipe( sass().on('error', sass.logError))
.pipe( gulp.dest( 'assets/css' ) );
});
gulp.task( 'FrontendCSS', function() {
return gulp.src( paths.frontedCss )
.pipe( sass().on('error', sass.logError))
.pipe( gulp.dest( './assets/css/frontend' ) );
});
gulp.task( 'JS', ['clean'], function() {
return gulp.src( paths.scripts )
// This will minify and rename to *.min.js
.pipe( uglify() )
.pipe( rename({ extname: '.min.js' }) )
.pipe( chmod( 644 ) )
.pipe( gulp.dest( 'assets/js' ));
});
gulp.task( 'adminJS', ['clean'], function() {
return gulp.src( paths.adminScripts )
// This will minify and rename to *.min.js
.pipe( uglify() )
.pipe( rename({ extname: '.min.js' }) )
.pipe( chmod( 644 ) )
.pipe( gulp.dest( 'assets/js/admin' ) );
});
gulp.task( 'pot', function() {
return gulp.src( [ '**/**.php', '!node_modules/**'] )
.pipe( sort() )
.pipe( wpPot({
domain: 'woothemes-sensei',
bugReport: 'https://www.transifex.com/woothemes/sensei-by-woothemes/'
}) )
.pipe( gulp.dest( 'lang' ) );
});