1
+ /* eslint-disable no-var, no-param-reassign */
2
+ /* these eslint rules are disabled because gulp does not support babel yet */
1
3
'use strict' ;
4
+ var _ = require ( 'lodash' ) ;
2
5
var gulp = require ( 'gulp' ) ;
3
6
var gutil = require ( 'gulp-util' ) ;
4
7
var watch = require ( 'gulp-watch' ) ;
@@ -15,20 +18,33 @@ var argv = require('yargs').argv;
15
18
16
19
var pkg = require ( './package.json' ) ;
17
20
18
- function logPluginError ( error ) {
19
- gutil . log ( error . toString ( ) ) ;
20
- }
21
-
22
- gulp . task ( 'build' , function ( callback ) {
23
- webpack ( {
21
+ function webpackConfig ( extension , overrides ) {
22
+ overrides = overrides || { } ;
23
+ var defaults = {
24
24
cache : true ,
25
25
entry : './src/index.js' ,
26
26
output : {
27
27
library : 'ripple' ,
28
28
path : './build/' ,
29
- filename : [ 'ripple-' , '.js' ] . join ( pkg . version )
29
+ filename : [ 'ripple-' , extension ] . join ( pkg . version )
30
+ } ,
31
+ module : {
32
+ loaders : [ {
33
+ test : / \. j s $ / ,
34
+ exclude : / n o d e _ m o d u l e s / ,
35
+ loader : 'babel-loader?optional=runtime'
36
+ } ]
30
37
}
31
- } , callback ) ;
38
+ } ;
39
+ return _ . assign ( { } , defaults , overrides ) ;
40
+ }
41
+
42
+ function logPluginError ( error ) {
43
+ gutil . log ( error . toString ( ) ) ;
44
+ }
45
+
46
+ gulp . task ( 'build' , function ( callback ) {
47
+ webpack ( webpackConfig ( '.js' ) , callback ) ;
32
48
} ) ;
33
49
34
50
gulp . task ( 'build-min' , [ 'build' ] , function ( ) {
@@ -39,17 +55,8 @@ gulp.task('build-min', ['build'], function() {
39
55
} ) ;
40
56
41
57
gulp . task ( 'build-debug' , function ( callback ) {
42
- webpack ( {
43
- cache : true ,
44
- entry : './src/index.js' ,
45
- output : {
46
- library : 'ripple' ,
47
- path : './build/' ,
48
- filename : [ 'ripple-' , '-debug.js' ] . join ( pkg . version )
49
- } ,
50
- debug : true ,
51
- devtool : 'eval'
52
- } , callback ) ;
58
+ var configOverrides = { debug : true , devtool : 'eval' } ;
59
+ webpack ( webpackConfig ( '-debug.js' , configOverrides ) , callback ) ;
53
60
} ) ;
54
61
55
62
/**
@@ -64,51 +71,44 @@ function buildUseError(cons) {
64
71
}
65
72
66
73
gulp . task ( 'build-core' , function ( callback ) {
67
- webpack ( {
68
- entry : [
69
- './src/remote.js'
70
- ] ,
71
- externals : [
72
- {
73
- './transaction' : buildUseError ( 'Transaction' ) ,
74
- './orderbook' : buildUseError ( 'OrderBook' ) ,
75
- './account' : buildUseError ( 'Account' ) ,
76
- './serializedobject' : buildUseError ( 'SerializedObject' )
77
- }
78
- ] ,
79
- output : {
80
- library : 'ripple' ,
81
- path : './build/' ,
82
- filename : [ 'ripple-' , '-core.js' ] . join ( pkg . version )
83
- } ,
74
+ var configOverrides = {
75
+ cache : false ,
76
+ entry : './src/remote.js' ,
77
+ externals : [ {
78
+ './transaction' : buildUseError ( 'Transaction' ) ,
79
+ './orderbook' : buildUseError ( 'OrderBook' ) ,
80
+ './account' : buildUseError ( 'Account' ) ,
81
+ './serializedobject' : buildUseError ( 'SerializedObject' )
82
+ } ] ,
84
83
plugins : [
85
84
new webpack . optimize . UglifyJsPlugin ( )
86
85
]
87
- } , callback ) ;
86
+ } ;
87
+ webpack ( webpackConfig ( '-core.js' , configOverrides ) , callback ) ;
88
88
} ) ;
89
89
90
90
gulp . task ( 'bower-build' , [ 'build' ] , function ( ) {
91
91
return gulp . src ( [ './build/ripple-' , '.js' ] . join ( pkg . version ) )
92
92
. pipe ( rename ( 'ripple.js' ) )
93
- . pipe ( gulp . dest ( './dist/' ) ) ;
93
+ . pipe ( gulp . dest ( './dist/bower ' ) ) ;
94
94
} ) ;
95
95
96
96
gulp . task ( 'bower-build-min' , [ 'build-min' ] , function ( ) {
97
97
return gulp . src ( [ './build/ripple-' , '-min.js' ] . join ( pkg . version ) )
98
98
. pipe ( rename ( 'ripple-min.js' ) )
99
- . pipe ( gulp . dest ( './dist/' ) ) ;
99
+ . pipe ( gulp . dest ( './dist/bower ' ) ) ;
100
100
} ) ;
101
101
102
102
gulp . task ( 'bower-build-debug' , [ 'build-debug' ] , function ( ) {
103
103
return gulp . src ( [ './build/ripple-' , '-debug.js' ] . join ( pkg . version ) )
104
104
. pipe ( rename ( 'ripple-debug.js' ) )
105
- . pipe ( gulp . dest ( './dist/' ) ) ;
105
+ . pipe ( gulp . dest ( './dist/bower ' ) ) ;
106
106
} ) ;
107
107
108
108
gulp . task ( 'bower-version' , function ( ) {
109
- gulp . src ( './dist/bower.json' )
109
+ gulp . src ( './dist/bower/bower .json' )
110
110
. pipe ( bump ( { version : pkg . version } ) )
111
- . pipe ( gulp . dest ( './dist/' ) ) ;
111
+ . pipe ( gulp . dest ( './dist/bower ' ) ) ;
112
112
} ) ;
113
113
114
114
gulp . task ( 'bower' , [ 'bower-build' , 'bower-build-min' , 'bower-build-debug' ,
0 commit comments