@@ -8,6 +8,12 @@ var source = require('vinyl-source-stream');
88var connect = require ( 'gulp-connect' ) ;
99var notify = require ( 'gulp-notify' ) ;
1010
11+ var uglify = require ( 'gulp-uglify' ) ;
12+ var pump = require ( 'pump' ) ;
13+
14+ var fs = require ( 'fs' ) ;
15+ var builder = require ( 'jquery-custom' ) ;
16+
1117gulp . task ( 'build' , function ( ) {
1218 var isDevelopment = process . env . NODE_ENV === 'develop' ,
1319 browserifyOpts = {
@@ -18,12 +24,21 @@ gulp.task('build', function () {
1824 return browserify ( './src/qbMain.js' , browserifyOpts )
1925 . bundle ( )
2026 . on ( 'error' , function ( error ) {
21- notify ( 'Failed when create a bundle <%= error.message %>' )
27+ notify ( 'Failed when create a bundle <%= error.message %>' ) ;
2228 this . emit ( 'end' ) ;
2329 } )
2430 . pipe ( source ( 'quickblox.min.js' ) )
25- . pipe ( notify ( 'Build task is finished.' ) )
26- . pipe ( gulp . dest ( './' ) ) ;
31+ . pipe ( gulp . dest ( './' ) )
32+ . pipe ( notify ( 'Build task is finished.' ) ) ;
33+ } ) ;
34+
35+ gulp . task ( 'minify' , function ( ) {
36+ pump ( [
37+ gulp . src ( './quickblox.min.js' ) ,
38+ uglify ( ) ,
39+ notify ( 'Minify task is finished.' ) ,
40+ gulp . dest ( './' )
41+ ] ) ;
2742} ) ;
2843
2944gulp . task ( 'connect' , function ( ) {
@@ -33,6 +48,62 @@ gulp.task('connect', function() {
3348 } ) ;
3449} ) ;
3550
51+ gulp . task ( 'generate-build_version' , function ( ) {
52+ var fs = require ( 'fs' ) ;
53+ const configPath = './src/qbConfig.js' ;
54+
55+ function incBuildNumber ( foundedString , p1 , buildNumber , p2 ) {
56+ var oldBuildNumber = + buildNumber ;
57+
58+ return p1 + ( oldBuildNumber + 1 ) + p2 ;
59+ }
60+
61+ fs . readFile ( configPath , 'utf8' , function ( error , config ) {
62+ if ( error ) {
63+ throw new Error ( error ) ;
64+ }
65+ var result = config . replace ( / ( b u i l d N u m b e r : \s \' ) ( \d { 4 } ) ( ' ) / g, incBuildNumber ) ;
66+
67+ fs . writeFile ( configPath , result , 'utf8' , function ( error ) {
68+ if ( error ) {
69+ throw new Error ( error ) ;
70+ }
71+ } ) ;
72+ } ) ;
73+ } ) ;
74+
75+ gulp . task ( 'jquery' , function ( ) {
76+ return builder ( {
77+ flags : [
78+ '-deprecated' ,
79+ '-dimensions' ,
80+ '-effects' ,
81+ '-event' ,
82+ '-event/alias' ,
83+ '-event/focusin' ,
84+ '-event/trigger' ,
85+ '-offset' ,
86+ '-wrap' ,
87+ '-core/ready' ,
88+ '-exports/global' ,
89+ '-sizzle'
90+ ] ,
91+ } , function ( err , compiledContent ) {
92+ if ( err ) {
93+ notify ( 'Can\'t build jquery lib.' ) ;
94+ return console . error ( err ) ;
95+ }
96+
97+ fs . writeFile ( './src/plugins/jquery.ajax.js' , compiledContent , function ( err ) {
98+ if ( err ) {
99+ notify ( 'Can\'t build jquery lib.' ) ;
100+ return console . error ( err ) ;
101+ }
102+ notify ( 'Jquery task is finished.' ) ;
103+ } )
104+ } )
105+ } ) ;
106+
36107gulp . task ( 'watch' , function ( ) {
37108 gulp . watch ( [ './src/**/*.js' ] , [ 'build' ] ) ;
38109} ) ;
0 commit comments