@@ -5,16 +5,20 @@ var require;
5
5
var browserify = require ( "browserify" ) ;
6
6
var del = require ( "del" ) ;
7
7
var forever = require ( "forever" ) ;
8
+ var fs = require ( "file-system" ) ;
8
9
var globby = require ( "globby" ) ;
9
10
var gulp = require ( "gulp" ) ;
11
+ var header = require ( "gulp-header" ) ;
10
12
var merge = require ( "merge-stream" ) ;
11
13
var plumber = require ( "gulp-plumber" ) ;
12
14
var qunit = require ( "node-qunit-phantomjs" ) ;
15
+ var rename = require ( "gulp-rename" ) ;
13
16
var runSequence = require ( "run-sequence" ) ;
14
17
var source = require ( "vinyl-source-stream" ) ;
15
18
var ts = require ( "gulp-typescript" ) ;
16
19
var tslint = require ( "gulp-tslint" ) ;
17
20
var tsd = require ( "gulp-tsd" ) ;
21
+ var uglify = require ( "gulp-uglify" ) ;
18
22
19
23
var PATHS = {
20
24
SRCROOT : "src/" ,
@@ -92,10 +96,19 @@ gulp.task("tslint", function () {
92
96
////////////////////////////////////////
93
97
// BUNDLE
94
98
////////////////////////////////////////
99
+ function getLicense ( ) {
100
+ return [
101
+ "/*" ,
102
+ fs . readFileSync ( "LICENSE" , "utf8" ) ,
103
+ "*/"
104
+ ] . join ( "\n" ) ;
105
+ }
106
+
95
107
gulp . task ( "bundleApi" , function ( ) {
96
108
return browserify ( PATHS . BUILDROOT + "scripts/oneNoteApi.js" , { standalone : "OneNoteApi" } )
97
109
. bundle ( )
98
110
. pipe ( source ( "oneNoteApi.js" ) )
111
+ . pipe ( header ( getLicense ( ) ) )
99
112
. pipe ( gulp . dest ( PATHS . BUNDLEROOT ) ) ;
100
113
} ) ;
101
114
@@ -115,6 +128,21 @@ gulp.task("bundle", function (callback) {
115
128
callback ) ;
116
129
} ) ;
117
130
131
+ ////////////////////////////////////////
132
+ // MINIFY BUNDLED
133
+ ////////////////////////////////////////
134
+ gulp . task ( "minifyBundled" , function ( callback ) {
135
+ var targetDir = PATHS . BUNDLEROOT ;
136
+
137
+ var minifyTask = gulp . src ( PATHS . BUNDLEROOT + "oneNoteApi.js" )
138
+ . pipe ( uglify ( {
139
+ preserveComments : "license"
140
+ } ) )
141
+ . pipe ( rename ( { suffix : ".min" } ) )
142
+ . pipe ( gulp . dest ( targetDir ) ) ;
143
+
144
+ return merge ( minifyTask ) ;
145
+ } ) ;
118
146
119
147
////////////////////////////////////////
120
148
// EXPORT
@@ -124,10 +152,10 @@ gulp.task("exportApi", function () {
124
152
. pipe ( gulp . dest ( PATHS . TARGETROOT + "modules/" ) ) ;
125
153
126
154
var copyTask = gulp . src ( [
127
- PATHS . BUNDLEROOT + "oneNoteApi.js" ,
128
- PATHS . SRCROOT + "oneNoteApi.d.ts"
129
- ] )
130
- . pipe ( gulp . dest ( PATHS . TARGETROOT ) ) ;
155
+ PATHS . BUNDLEROOT + "oneNoteApi.js" ,
156
+ PATHS . BUNDLEROOT + "oneNoteApi.min.js" ,
157
+ PATHS . SRCROOT + "oneNoteApi.d.ts"
158
+ ] ) . pipe ( gulp . dest ( PATHS . TARGETROOT ) ) ;
131
159
132
160
return merge ( modulesTask , copyTask ) ;
133
161
} ) ;
@@ -136,10 +164,9 @@ gulp.task("exportTests", function () {
136
164
var targetDir = PATHS . TARGETROOT + "tests/" ;
137
165
138
166
var libsTask = gulp . src ( [
139
- "node_modules/qunitjs/qunit/qunit.+(css|js)" ,
140
- PATHS . SRCROOT + "tests/bind_polyfill.js"
141
- ] )
142
- . pipe ( gulp . dest ( targetDir + "libs" ) ) ;
167
+ "node_modules/qunitjs/qunit/qunit.+(css|js)" ,
168
+ PATHS . SRCROOT + "tests/bind_polyfill.js"
169
+ ] ) . pipe ( gulp . dest ( targetDir + "libs" ) ) ;
143
170
144
171
var testsTask = gulp . src ( PATHS . BUNDLEROOT + "tests/**" , { base : PATHS . BUNDLEROOT + "tests/" } )
145
172
. pipe ( gulp . dest ( targetDir ) ) ;
@@ -150,39 +177,10 @@ gulp.task("exportTests", function () {
150
177
return merge ( libsTask , testsTask , indexTask ) ;
151
178
} ) ;
152
179
153
- gulp . task ( "exportSampleJs" , function ( ) {
154
- return gulp . src ( [
155
- PATHS . BUNDLEROOT + "oneNoteApi.js" ,
156
- PATHS . SRCROOT + "sample/javascript/index.html" ,
157
- PATHS . SRCROOT + "sample/javascript/sample.js"
158
- ] )
159
- . pipe ( gulp . dest ( PATHS . WEBROOT ) ) ;
160
- } ) ;
161
-
162
- gulp . task ( "exportSampleTs" , function ( ) {
163
- return gulp . src ( [
164
- PATHS . BUNDLEROOT + "oneNoteApi.js" ,
165
- PATHS . SRCROOT + "sample/typescript/index.html" ,
166
- PATHS . BUILDROOT + "sample/typescript/sample.js"
167
- ] )
168
- . pipe ( gulp . dest ( PATHS . WEBROOT + "typescript/" ) ) ;
169
- } ) ;
170
-
171
- gulp . task ( "exportSampleTsModule" , function ( ) {
172
- return gulp . src ( [
173
- PATHS . SRCROOT + "sample/typescript_module/index.html" ,
174
- PATHS . BUNDLEROOT + "sample.js"
175
- ] )
176
- . pipe ( gulp . dest ( PATHS . WEBROOT + "typescript_module/" ) ) ;
177
- } ) ;
178
-
179
180
gulp . task ( "export" , function ( callback ) {
180
181
runSequence (
181
182
"exportApi" ,
182
183
"exportTests" ,
183
- "exportSampleJs" ,
184
- "exportSampleTs" ,
185
- "exportSampleTsModule" ,
186
184
callback ) ;
187
185
} ) ;
188
186
@@ -211,6 +209,7 @@ gulp.task("build", function (callback) {
211
209
runSequence (
212
210
"compile" ,
213
211
"bundle" ,
212
+ "minifyBundled" ,
214
213
"export" ,
215
214
"tslint" ,
216
215
"runTests" ,
0 commit comments