1- var gulp = require ( 'gulp' ) ;
1+ var gulp = require ( 'gulp' ) ,
2+ runSequence = require ( 'run-sequence' ) ,
3+ newVer ;
24
35gulp . task ( 'karma' , function ( done ) {
46 var karma = require ( 'karma' ) . server ;
@@ -9,115 +11,95 @@ gulp.task('karma', function(done) {
911 } , done ) ;
1012} ) ;
1113
12- var build = function ( newVer ) {
13- var rename = require ( 'gulp-rename' ) ,
14- uglify = require ( 'gulp-uglify' ) ,
15- header = require ( 'gulp-header' ) ,
16- pkg = require ( './package.json' ) ,
17- banner = [ '/**' ,
18- ' * <%= pkg.name %> - <%= pkg.description %>' ,
19- ' * @version v<%= version %>' ,
20- ' * @link <%= pkg.homepage %>' ,
21- ' * @license <%= pkg.license %>' ,
22- ' * @author <%= pkg.author %>' ,
23- ' */' ,
24- '' ] . join ( '\n' ) ;
25-
26- return gulp . src ( 'src/angular-localForage.js' )
27- . pipe ( header ( banner , { pkg : pkg , version : newVer || pkg . version } ) )
28- . pipe ( gulp . dest ( 'dist' ) )
29- . pipe ( uglify ( ) )
30- . pipe ( header ( banner , { pkg : pkg , version : newVer || pkg . version } ) )
31- . pipe ( rename ( { suffix : '.min' } ) )
32- . pipe ( gulp . dest ( 'dist' ) ) ;
33- }
14+ gulp . task ( ' build-files' , function ( ) {
15+ var rename = require ( 'gulp-rename' ) ,
16+ uglify = require ( 'gulp-uglify' ) ,
17+ header = require ( 'gulp-header' ) ,
18+ pkg = require ( './package.json' ) ,
19+ banner = [ '/**' ,
20+ ' * <%= pkg.name %> - <%= pkg.description %>' ,
21+ ' * @version v<%= version %>' ,
22+ ' * @link <%= pkg.homepage %>' ,
23+ ' * @license <%= pkg.license %>' ,
24+ ' * @author <%= pkg.author %>' ,
25+ ' */' ,
26+ '' ] . join ( '\n' ) ;
27+
28+ return gulp . src ( 'src/angular-localForage.js' )
29+ . pipe ( header ( banner , { pkg : pkg , version : newVer || pkg . version } ) )
30+ . pipe ( gulp . dest ( 'dist' ) )
31+ . pipe ( uglify ( ) )
32+ . pipe ( header ( banner , { pkg : pkg , version : newVer || pkg . version } ) )
33+ . pipe ( rename ( { suffix : '.min' } ) )
34+ . pipe ( gulp . dest ( 'dist' ) ) ;
35+ } ) ;
3436
3537gulp . task ( 'build' , [ 'karma' ] , function ( ) {
36- return build ( ) ;
38+ runSequence ( 'karma' , 'build-files' , done ) ;
3739} ) ;
3840
39- var promptBump = function ( callback ) {
40- var prompt = require ( 'gulp-prompt' ) ,
41- semver = require ( 'semver' ) ,
42- pkg = require ( './package.json' ) ;
43-
44- return gulp . src ( '' )
45- . pipe ( prompt . prompt ( {
46- type : 'list' ,
47- name : 'bump' ,
48- message : 'What type of version bump would you like to do ? (current version is ' + pkg . version + ')' ,
49- choices : [
50- 'patch (' + pkg . version + ' --> ' + semver . inc ( pkg . version , 'patch' ) + ')' ,
51- 'minor (' + pkg . version + ' --> ' + semver . inc ( pkg . version , 'minor' ) + ')' ,
52- 'major (' + pkg . version + ' --> ' + semver . inc ( pkg . version , 'major' ) + ')' ,
53- 'none (exit)'
54- ]
55- } , function ( res ) {
56- var newVer ;
57- if ( res . bump . match ( / ^ p a t c h / ) ) {
58- newVer = semver . inc ( pkg . version , 'patch' ) ;
59- } else if ( res . bump . match ( / ^ m i n o r / ) ) {
60- newVer = semver . inc ( pkg . version , 'minor' ) ;
61- } else if ( res . bump . match ( / ^ m a j o r / ) ) {
62- newVer = semver . inc ( pkg . version , 'major' ) ;
63- }
64- if ( newVer && typeof callback === 'function' ) {
65- return callback ( newVer ) ;
66- } else {
67- return ;
68- }
69- } ) ) ;
70- }
71-
72- var makeChangelog = function ( newVer ) {
73- var streamqueue = require ( 'streamqueue' ) ,
74- stream = streamqueue ( { objectMode : true } ) ,
75- exec = require ( 'gulp-exec' ) ,
76- concat = require ( 'gulp-concat' ) ,
77- rimraf = require ( 'gulp-rimraf' ) ;
78-
79- stream . queue ( gulp . src ( '' ) . pipe ( exec ( 'node ./changelog.js ' + newVer , { pipeStdout : true } ) ) ) ;
80- stream . queue ( gulp . src ( 'CHANGELOG.md' ) . pipe ( rimraf ( ) ) ) ;
81-
82- return stream . done ( )
83- . pipe ( concat ( 'CHANGELOG.md' ) )
84- . pipe ( gulp . dest ( './' ) ) ;
85- }
41+ gulp . task ( 'promptBump' , function ( ) {
42+ var prompt = require ( 'gulp-prompt' ) ,
43+ semver = require ( 'semver' ) ,
44+ pkg = require ( './package.json' ) ;
45+
46+ return gulp . src ( '' )
47+ . pipe ( prompt . prompt ( {
48+ type : 'list' ,
49+ name : 'bump' ,
50+ message : 'What type of version bump would you like to do ? (current version is ' + pkg . version + ')' ,
51+ choices : [
52+ 'patch (' + pkg . version + ' --> ' + semver . inc ( pkg . version , 'patch' ) + ')' ,
53+ 'minor (' + pkg . version + ' --> ' + semver . inc ( pkg . version , 'minor' ) + ')' ,
54+ 'major (' + pkg . version + ' --> ' + semver . inc ( pkg . version , 'major' ) + ')' ,
55+ 'none (exit)'
56+ ]
57+ } , function ( res ) {
58+ if ( res . bump . match ( / ^ p a t c h / ) ) {
59+ newVer = semver . inc ( pkg . version , 'patch' ) ;
60+ } else if ( res . bump . match ( / ^ m i n o r / ) ) {
61+ newVer = semver . inc ( pkg . version , 'minor' ) ;
62+ } else if ( res . bump . match ( / ^ m a j o r / ) ) {
63+ newVer = semver . inc ( pkg . version , 'major' ) ;
64+ }
65+ } ) ) ;
66+ } ) ;
8667
87- // Make changelog
88- gulp . task ( 'changelog' , function ( event ) {
89- return promptBump ( makeChangelog ) ;
90- } )
68+ gulp . task ( 'changelog' , function ( ) {
69+ var streamqueue = require ( 'streamqueue' ) ,
70+ stream = streamqueue ( { objectMode : true } ) ,
71+ exec = require ( 'gulp-exec' ) ,
72+ concat = require ( 'gulp-concat' ) ,
73+ clean = require ( 'gulp-clean' ) ;
9174
92- gulp . task ( 'release' , [ 'karma' ] , function ( ) {
93- var jeditor = require ( " gulp-json-editor" ) ;
75+ stream . queue ( gulp . src ( '' ) . pipe ( exec ( 'node ./changelog.js ' + newVer , { pipeStdout : true } ) ) ) ;
76+ stream . queue ( gulp . src ( 'CHANGELOG.md' ) . pipe ( clean ( ) ) ) ;
9477
95- return promptBump ( function ( newVer ) {
96- var streamqueue = require ( 'streamqueue' ) ;
97- var stream = streamqueue ( { objectMode : true } ) ;
78+ return stream . done ( )
79+ . pipe ( concat ( 'CHANGELOG.md' ) )
80+ . pipe ( gulp . dest ( './' ) ) ;
81+ } ) ;
9882
99- // make the changelog
100- stream . queue ( makeChangelog ( newVer ) ) ;
83+ gulp . task ( 'updatePackage' , function ( ) {
84+ var jeditor = require ( "gulp-json-editor" ) ;
10185
102- // update the main project version number
103- stream . queue (
104- gulp . src ( 'package.json' )
105- . pipe ( jeditor ( {
106- 'version' : newVer
107- } ) )
108- . pipe ( gulp . dest ( "./" ) )
109- ) ;
86+ return gulp . src ( 'package.json' )
87+ . pipe ( jeditor ( {
88+ 'version' : newVer
89+ } ) )
90+ . pipe ( gulp . dest ( "./" ) )
91+ } ) ;
11092
111- stream . queue (
112- gulp . src ( 'bower.json' )
113- . pipe ( jeditor ( {
114- 'version' : newVer
115- } ) )
116- . pipe ( gulp . dest ( "./" ) )
117- ) ;
93+ gulp . task ( 'updateBower' , function ( ) {
94+ var jeditor = require ( "gulp-json-editor" ) ;
11895
119- stream . queue ( build ( newVer ) ) ;
96+ return gulp . src ( 'bower.json' )
97+ . pipe ( jeditor ( {
98+ 'version' : newVer
99+ } ) )
100+ . pipe ( gulp . dest ( "./" ) ) ;
101+ } ) ;
120102
121- return stream . done ( ) ;
122- } ) ;
123- } )
103+ gulp . task ( 'release' , [ 'karma' ] , function ( done ) {
104+ runSequence ( 'promptBump' , 'updatePackage' , 'updateBower' , 'changelog' , 'build-files' , done ) ;
105+ } ) ;
0 commit comments