@@ -35,15 +35,39 @@ var through = require('through2');
3535var hogan = require ( 'hogan.js' ) ;
3636var header = require ( 'gulp-header' ) ;
3737var base64 = require ( 'gulp-base64' ) ;
38+ var minimist = require ( 'minimist' ) ;
39+ var tap = require ( 'gulp-tap' ) ;
40+ var replace = require ( 'gulp-replace-path' ) ;
3841
3942var SRC = 'src/' ;
4043var BUILD = 'build/' ;
4144var BUILD_DOCS = 'build_docs/' ;
4245var DIST = 'dist/' ;
4346var TEMPLATES = 'gulp/templates/' ; //TODO swap to gulp
4447
48+ var LIB = [ 'bower_components/moment/**/*.js' ] ;
49+
4550/** BUILD **/
4651
52+ gulp . task ( 'patch-lib' , function ( ) {
53+ var paths = LIB . reduce ( function ( fileList , pattern ) {
54+ return fileList . concat ( glob . sync ( pattern ) ) ;
55+ } , [ ] ) ;
56+ console . log ( paths ) ;
57+
58+ gulp . src ( path . join ( __dirname , 'bower_components/**' ) )
59+ . pipe ( tap ( function ( file , t ) {
60+ if ( paths . indexOf ( file . path ) > - 1 ) {
61+ return t . through ( wrap ( "(function(define, require) { {{{contents}}} })();" , { } , { engine :"hogan" } ) . on ( 'error' , console . error ) ) ;
62+ }
63+ } ) )
64+ . pipe ( gulp . dest ( path . join ( __dirname , '.patched_components' ) ) ) ;
65+ } ) ;
66+
67+ gulp . task ( 'replace-lib' , function ( ) {
68+
69+ } ) ;
70+
4771gulp . task ( 'clean' , function ( ) {
4872 return del ( [ BUILD + '**' , BUILD_DOCS + '**' , DIST + '**' ] ) ;
4973} ) ;
@@ -383,30 +407,31 @@ gulp.task('watch', function () {
383407
384408/** DEPLOY **/
385409
410+ function inc ( version ) {
411+ if ( ! version ) version = 'patch' ;
412+ return gulp . src ( [ 'package.json' , 'bower.json' ] )
413+ . pipe ( bump ( { type : version } ) )
414+ . pipe ( gulp . dest ( __dirname ) ) ;
415+ }
416+
417+ gulp . task ( 'release' , function ( ) {
418+ var argv = minimist ( process . argv . slice ( 3 ) ) ,
419+ version = argv . v || argv . version ,
420+ valid = [ 'major' , 'minor' , 'patch' ] ;
421+
422+ if ( valid . indexOf ( version ) > - 1 ) {
423+ run ( inc ( version ) , 'build:prod' , 'changelog' , 'stage-release' , 'tag-release' ) ;
424+ }
425+ } ) ;
426+
386427gulp . task ( 'release:major' , function ( ) {
387- run ( 'build:prod' , 'bump:major ' , 'changelog' , 'stage-release' , 'tag-release' ) ;
428+ run ( inc ( 'major' ) , 'build:prod ' , 'changelog' , 'stage-release' , 'tag-release' ) ;
388429} ) ;
389430gulp . task ( 'release:minor' , function ( ) {
390- run ( 'build:prod' , 'bump:minor ' , 'changelog' , 'stage-release' , 'tag-release' ) ;
431+ run ( inc ( 'minor' ) , 'build:prod ' , 'changelog' , 'stage-release' , 'tag-release' ) ;
391432} ) ;
392433gulp . task ( 'release:patch' , function ( ) {
393- run ( 'build:prod' , 'bump:patch' , 'changelog' , 'stage-release' , 'tag-release' ) ;
394- } ) ;
395-
396- gulp . task ( 'bump:major' , function ( ) {
397- return gulp . src ( [ 'package.json' , 'bower.json' ] )
398- . pipe ( bump ( { type : 'major' } ) )
399- . pipe ( gulp . dest ( './' ) ) ;
400- } ) ;
401- gulp . task ( 'bump:minor' , function ( ) {
402- return gulp . src ( [ 'package.json' , 'bower.json' ] )
403- . pipe ( bump ( { type : 'minor' } ) )
404- . pipe ( gulp . dest ( './' ) ) ;
405- } ) ;
406- gulp . task ( 'bump:patch' , function ( ) {
407- return gulp . src ( [ 'package.json' , 'bower.json' ] )
408- . pipe ( bump ( { type : 'patch' } ) )
409- . pipe ( gulp . dest ( './' ) ) ;
434+ run ( inc ( 'patch' ) , 'build:prod' , 'changelog' , 'stage-release' , 'tag-release' ) ;
410435} ) ;
411436
412437gulp . task ( 'changelog' , function ( ) {
0 commit comments