Skip to content

Commit b5fce07

Browse files
author
Philipp Alferov
committed
Babelify
1 parent 77c37c2 commit b5fce07

File tree

3 files changed

+47
-49
lines changed

3 files changed

+47
-49
lines changed

.eslintrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ env:
44
node: true
55
browser: true
66
jasmine: true
7+
es6: true
78

89
extends:
910
"eslint:recommended"

gulpfile.js renamed to gulpfile.babel.js

Lines changed: 45 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
'use strict';
2-
var gulp = require('gulp');
3-
var $ = require('gulp-load-plugins')();
4-
var browserify = require('browserify');
5-
var watchify = require('watchify');
6-
var buffer = require('vinyl-buffer');
7-
var source = require('vinyl-source-stream');
8-
var sequence = require('run-sequence');
9-
var browserSync = require('browser-sync');
10-
var fs = require('fs');
11-
var spawn = require('child_process').spawn;
12-
13-
var config = {
1+
import gulp from 'gulp';
2+
import gulpLoadPlugins from 'gulp-load-plugins';
3+
import browserify from 'browserify';
4+
import watchify from 'watchify';
5+
import buffer from 'vinyl-buffer';
6+
import source from 'vinyl-source-stream';
7+
import sequence from 'run-sequence';
8+
import browserSync from 'browser-sync';
9+
import fs from 'fs';
10+
import {spawn as spawn} from 'child_process';
11+
12+
const $ = gulpLoadPlugins();
13+
14+
const config = {
1415
fileSaver: {
1516
scripts: './src/*.js'
1617
},
@@ -54,15 +55,11 @@ var config = {
5455
isProd: false
5556
};
5657

57-
var browserifyDefaults = config.browserify.fileSaver;
58+
let browserifyDefaults = config.browserify.fileSaver;
5859

5960
/**
6061
* Helpers
6162
*/
62-
function handleErrors(err) {
63-
$.util.log(err.toString());
64-
this.emit('end');
65-
}
6663

6764
function fileContents(filePath, file) {
6865
return file.contents.toString();
@@ -72,17 +69,13 @@ function fileContents(filePath, file) {
7269
* Get arguments for release task from CLI
7370
*/
7471
function getUpdateType() {
75-
var env = $.util.env;
76-
77-
if (env.type) {
78-
return { type: env.type };
79-
}
72+
const env = $.util.env;
8073

8174
if (env.version) {
8275
return { version: env.version };
8376
}
8477

85-
return { type: 'patch' };
78+
return { type: env.type || 'patch'};
8679
}
8780

8881
function getPackageJsonVersion() {
@@ -94,7 +87,7 @@ function getPackageJsonVersion() {
9487
*/
9588
function buildScript() {
9689

97-
var bundler = browserify({
90+
let bundler = browserify({
9891
entries: browserifyDefaults.entryPoint,
9992
debug: false,
10093
cache: {},
@@ -103,9 +96,12 @@ function buildScript() {
10396
});
10497

10598
function rebundle() {
106-
var stream = bundler.bundle();
99+
const stream = bundler.bundle();
107100

108-
return stream.on('error', handleErrors)
101+
return stream.on('error', err => {
102+
$.util.log(err.toString());
103+
this.emit('end');
104+
})
109105
.pipe(source(browserifyDefaults.bundleName))
110106
.pipe(buffer())
111107
.pipe(gulp.dest(browserifyDefaults.dest))
@@ -122,19 +118,19 @@ function buildScript() {
122118
// Watch files for changes and only rebuilds what it needs to
123119
if (!config.isProd) {
124120
bundler = watchify(bundler);
125-
bundler.on('update', function() {
121+
bundler.on('update', () => {
126122
rebundle();
127123
});
128124
}
129125

130126
return rebundle();
131127
}
132128

133-
gulp.task('scripts', function() {
129+
gulp.task('scripts', () => {
134130
return buildScript();
135131
});
136132

137-
gulp.task('styles:docs', function() {
133+
gulp.task('styles:docs', () => {
138134

139135
return gulp.src([
140136
config.docs.styles
@@ -144,7 +140,7 @@ gulp.task('styles:docs', function() {
144140
.pipe($.if(browserSync.active, browserSync.stream()));
145141
});
146142

147-
gulp.task('serve', function() {
143+
gulp.task('serve', () => {
148144

149145
browserSync({
150146
port: config.browserSync.port,
@@ -157,7 +153,7 @@ gulp.task('serve', function() {
157153
});
158154
});
159155

160-
gulp.task('markdown', function() {
156+
gulp.task('markdown', () => {
161157
var markdown = gulp.src(config.docs.markdown).pipe($.markdown());
162158

163159
return gulp.src(config.docs.index)
@@ -167,78 +163,78 @@ gulp.task('markdown', function() {
167163
.pipe(gulp.dest(config.docs.root));
168164
});
169165

170-
gulp.task('deploy:docs', function() {
166+
gulp.task('deploy:docs', () => {
171167
return gulp.src('./docs/**/*')
172168
.pipe($.ghPages());
173169
});
174170

175-
gulp.task('build', function(cb) {
171+
gulp.task('build', cb => {
176172
sequence('build:src', 'build:docs', 'build:bundle', cb);
177173
});
178174

179-
gulp.task('build:src', function(cb) {
175+
gulp.task('build:src', cb => {
180176
config.isProd = true;
181177
browserifyDefaults = config.browserify.fileSaver;
182178

183179
sequence('scripts', cb);
184180
});
185181

186-
gulp.task('build:bundle', function(cb) {
182+
gulp.task('build:bundle', cb => {
187183
config.isProd = true;
188184
browserifyDefaults = config.browserify.fileSaverBundle;
189185

190186
sequence('scripts', cb);
191187
});
192188

193-
gulp.task('build:docs', function(cb) {
189+
gulp.task('build:docs', cb => {
194190
config.isProd = true;
195191
browserifyDefaults = config.browserify.docs;
196192

197193
sequence(['scripts', 'styles:docs'], cb);
198194
});
199195

200-
gulp.task('dev:docs', function() {
196+
gulp.task('dev:docs', () => {
201197
config.isProd = false;
202198
browserifyDefaults = config.browserify.docs;
203199

204200
sequence('markdown', ['scripts', 'styles:docs'], 'watch:docs');
205201
});
206202

207-
gulp.task('watch:docs', ['serve'], function() {
203+
gulp.task('watch:docs', ['serve'], () => {
208204
gulp.watch(config.docs.styles, ['styles:docs']);
209205
});
210206

211-
gulp.task('release:bump', function() {
207+
gulp.task('release:bump', () => {
212208

213209
return gulp.src('./*.json')
214210
.pipe($.bump(getUpdateType()))
215211
.pipe(gulp.dest('./'));
216212
});
217213

218-
gulp.task('release:commit', ['release:bump'], function(cb) {
219-
var version = getPackageJsonVersion();
214+
gulp.task('release:commit', ['release:bump'], cb => {
215+
const version = getPackageJsonVersion();
220216

221217
return gulp.src('.')
222218
.pipe($.git.add())
223219
.pipe($.git.commit(':octocat: Bump to ' + version, cb));
224220
});
225221

226-
gulp.task('release:push', ['release:bump', 'release:commit'], function(cb) {
222+
gulp.task('release:push', ['release:bump', 'release:commit'], cb => {
227223
return $.git.push('origin', 'master', cb);
228224
});
229225

230-
gulp.task('release:tag', ['release:bump', 'release:commit', 'release:push'], function(cb) {
231-
var version = getPackageJsonVersion();
226+
gulp.task('release:tag', ['release:bump', 'release:commit', 'release:push'], cb => {
227+
const version = getPackageJsonVersion();
232228

233-
return $.git.tag(version, 'Tag: ' + version, function(err) {
229+
return $.git.tag(version, 'Tag: ' + version, err => {
234230
if (err) {
235231
return cb(err);
236232
}
237233
$.git.push('origin', 'master', {args: '--tags'}, cb);
238234
});
239235
});
240236

241-
gulp.task('unit', function() {
237+
gulp.task('unit', () => {
242238
// Nonsensical source to fall back to files listed in karma.conf.js.
243239
// See https://github.com/lazd/gulp-karma/issues/9
244240
return gulp.src('./foobar')
@@ -251,8 +247,8 @@ gulp.task('unit', function() {
251247
});
252248
});
253249

254-
gulp.task('release:npm', ['release:bump', 'release:commit', 'release:push', 'release:tag'], function(done) {
255-
spawn('npm', ['publish'], { stdio: 'inherit' }).on('close', done);
250+
gulp.task('release:npm', ['release:bump', 'release:commit', 'release:push', 'release:tag'], cb => {
251+
spawn('npm', ['publish'], { stdio: 'inherit' }).on('close', cb);
256252
});
257253

258254
/**

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"FileSaver.js": "https://github.com/alferov/FileSaver.js",
2929
"angular": "^1.4.5",
3030
"angular-mocks": "^1.4.5",
31+
"babel-core": "^5.8.25",
3132
"browser-filesaver": "^1.0.0",
3233
"browser-sync": "^2.8.2",
3334
"browserify": "^11.0.1",

0 commit comments

Comments
 (0)