Skip to content

Commit dd2ca7b

Browse files
author
Philipp Alferov
committed
Refactor gulpfile
1 parent 9d0bceb commit dd2ca7b

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

gulpfile.babel.js

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ const config = {
3232
server: './docs'
3333
},
3434
// Predefined browserify configs to keep tasks DRY
35-
browserify: {
35+
scripts: {
3636
fileSaver: {
3737
entryPoint: './src/angular-file-saver.module.js',
3838
bundleName: 'angular-file-saver.js',
@@ -56,40 +56,45 @@ const config = {
5656
isProd: false
5757
};
5858

59-
let browserifyDefaults = config.browserify.fileSaver;
59+
let scriptDefaults = config.scripts.fileSaver;
6060

6161
/**
6262
* Helpers
6363
*/
6464

65-
function fileContents(filePath, file) {
65+
const fileContents = (filePath, file) => {
6666
return file.contents.toString();
67-
}
67+
};
6868

6969
/**
7070
* Get arguments for release task from CLI
7171
*/
72-
function getUpdateType() {
72+
const getUpdateType = () => {
7373
const env = $.util.env;
7474

7575
if (env.version) {
7676
return { version: env.version };
7777
}
7878

7979
return { type: env.type || 'patch'};
80-
}
80+
};
8181

82-
function getPackageJsonVersion() {
82+
const getPackageJsonVersion = () => {
8383
return JSON.parse(fs.readFileSync('./package.json', 'utf8')).version;
84-
}
84+
};
85+
86+
const onError = err => {
87+
$.util.log(err.toString());
88+
this.emit('end');
89+
};
8590

8691
/**
8792
* See http://blog.avisi.nl/2014/04/25/how-to-keep-a-fast-build-with-browserify-and-reactjs/
8893
*/
8994
function buildScript() {
9095

9196
let bundler = browserify({
92-
entries: browserifyDefaults.entryPoint,
97+
entries: scriptDefaults.entryPoint,
9398
debug: false,
9499
cache: {},
95100
packageCache: {},
@@ -99,20 +104,17 @@ function buildScript() {
99104
function rebundle() {
100105
const stream = bundler.bundle();
101106

102-
return stream.on('error', err => {
103-
$.util.log(err.toString());
104-
this.emit('end');
105-
})
106-
.pipe(source(browserifyDefaults.bundleName))
107+
return stream.on('error', onError)
108+
.pipe(source(scriptDefaults.bundleName))
107109
.pipe(buffer())
108-
.pipe(gulp.dest(browserifyDefaults.dest))
110+
.pipe(gulp.dest(scriptDefaults.dest))
109111
.pipe($.if(config.isProd, $.uglify({
110112
compress: { drop_console: true }
111113
})))
112114
.pipe($.if(config.isProd, $.rename({
113115
suffix: '.min'
114116
})))
115-
.pipe($.if(config.isProd, gulp.dest(browserifyDefaults.dest)))
117+
.pipe($.if(config.isProd, gulp.dest(scriptDefaults.dest)))
116118
.pipe($.if(browserSync.active, browserSync.stream()));
117119
}
118120

@@ -175,28 +177,28 @@ gulp.task('build', cb => {
175177

176178
gulp.task('build:src', cb => {
177179
config.isProd = true;
178-
browserifyDefaults = config.browserify.fileSaver;
180+
scriptDefaults = config.scripts.fileSaver;
179181

180182
sequence('scripts', cb);
181183
});
182184

183185
gulp.task('build:bundle', cb => {
184186
config.isProd = true;
185-
browserifyDefaults = config.browserify.fileSaverBundle;
187+
scriptDefaults = config.scripts.fileSaverBundle;
186188

187189
sequence('scripts', cb);
188190
});
189191

190192
gulp.task('build:docs', cb => {
191193
config.isProd = true;
192-
browserifyDefaults = config.browserify.docs;
194+
scriptDefaults = config.scripts.docs;
193195

194-
sequence(['scripts', 'styles:docs'], cb);
196+
sequence('markdown', ['scripts', 'styles:docs'], cb);
195197
});
196198

197199
gulp.task('dev:docs', () => {
198200
config.isProd = false;
199-
browserifyDefaults = config.browserify.docs;
201+
scriptDefaults = config.scripts.docs;
200202

201203
sequence('markdown', ['scripts', 'styles:docs'], 'watch:docs');
202204
});

0 commit comments

Comments
 (0)