@@ -8,6 +8,12 @@ var mkdirp = require('mkdirp');
8
8
var webpack = require ( 'webpack' ) ;
9
9
var uglify = require ( 'uglify-js' ) ;
10
10
11
+ var sourcemaps = require ( 'gulp-sourcemaps' ) ;
12
+ var source = require ( 'vinyl-source-stream' ) ;
13
+ var buffer = require ( 'vinyl-buffer' ) ;
14
+ var browserify = require ( 'browserify' ) ;
15
+
16
+
11
17
var NAME = 'jsoneditor' ;
12
18
var ENTRY = './src/js/JSONEditor.js' ;
13
19
var HEADER = './src/js/header.js' ;
@@ -41,6 +47,13 @@ var webpackConfig = {
41
47
cache : true
42
48
} ;
43
49
50
+ var browserifyConfig = {
51
+ entries : ENTRY ,
52
+ paths : [ './src/js' ] ,
53
+ external : [ 'jsonlint' , 'brace' , 'brace/mode/json' , 'brace/ext/searchbox' , './ace/theme-jsoneditor' ] ,
54
+ bundleExternal : false ,
55
+ } ;
56
+
44
57
var uglifyConfig = {
45
58
outSourceMap : NAME + '.map' ,
46
59
output : {
@@ -50,6 +63,8 @@ var uglifyConfig = {
50
63
51
64
// create a single instance of the compiler to allow caching
52
65
var compiler = webpack ( webpackConfig ) ;
66
+ //var browserify_compiler = browserify(browserifyConfig).external('brace').external('jsonlint').external('brace/mode/json').external('brace/ext/searchbox').external('./ace/theme-jsoneditor');
67
+ var browserify_compiler = browserify ( browserifyConfig ) ;
53
68
54
69
// make dist and dist/img folders
55
70
gulp . task ( 'mkdir' , function ( ) {
@@ -73,6 +88,25 @@ gulp.task('bundle', ['mkdir'], function (done) {
73
88
} ) ;
74
89
} ) ;
75
90
91
+
92
+ gulp . task ( 'bundle-browserify' , [ 'mkdir' ] , function ( done ) {
93
+ browserify_compiler
94
+ . bundle ( )
95
+ . on ( 'error' , gutil . log . bind ( gutil , 'Browserify Error' ) )
96
+ . pipe ( source ( NAME + '-browserify.js' ) )
97
+ // optional, remove if you dont want sourcemaps
98
+ . pipe ( buffer ( ) )
99
+ . pipe ( sourcemaps . init ( { loadMaps : true } ) ) // loads map from browserify file
100
+ . pipe ( sourcemaps . write ( './' ) ) // writes .map file
101
+ //
102
+ . pipe ( gulp . dest ( DIST ) ) ;
103
+
104
+ gutil . log ( 'bundled ' + NAME + '-browserify.js' ) ;
105
+
106
+ done ( ) ;
107
+ } ) ;
108
+
109
+
76
110
// bundle css
77
111
gulp . task ( 'bundle-css' , [ 'mkdir' ] , function ( ) {
78
112
gulp . src ( [
@@ -119,4 +153,4 @@ gulp.task('zip', shell.task([
119
153
] ) ) ;
120
154
121
155
// The default task (called when you run `gulp`)
122
- gulp . task ( 'default' , [ 'bundle' , 'bundle-css' , 'copy-img' , 'minify' ] ) ;
156
+ gulp . task ( 'default' , [ 'bundle' , 'bundle-browserify' , 'bundle- css', 'copy-img' , 'minify' ] ) ;
0 commit comments