1 |
|
2 | var gulp = require('gulp');
|
3 |
|
4 | var del = require('del');
|
5 | var $ = require('gulp-load-plugins')();
|
6 | var browserify = require('browserify');
|
7 | var source = require('vinyl-source-stream');
|
8 | var buffer = require('vinyl-buffer');
|
9 | var fs = require('fs');
|
10 |
|
11 | gulp.task('lint', function () {
|
12 | return gulp.src('{addon,app,config,tests}/**/*.js')
|
13 | .pipe($.jshint())
|
14 | .pipe($.jshint.reporter('default'));
|
15 | });
|
16 |
|
17 | gulp.task('clean-dist', function (cb) {
|
18 | del(['dist/'], cb);
|
19 | });
|
20 |
|
21 | gulp.task('test-page', ['clean-dist'], function() {
|
22 | return gulp.src('vendor/legacy/index.html')
|
23 | .pipe(gulp.dest('dist'));
|
24 | });
|
25 |
|
26 | gulp.task('build-legacy', ['lint', 'clean-dist'], function() {
|
27 | var b = browserify(['vendor/legacy/emberfire.js'], {
|
28 | debug: true
|
29 | });
|
30 |
|
31 | return b.bundle()
|
32 | .pipe(source('emberfire.js'))
|
33 | .pipe(buffer())
|
34 | .pipe($.sourcemaps.init({ loadMaps: true }))
|
35 | .pipe($.header(fs.readFileSync('vendor/legacy/header.js', 'utf8')))
|
36 | .pipe($.sourcemaps.write('./'))
|
37 | .pipe(gulp.dest('dist'));
|
38 | });
|
39 |
|
40 | gulp.task('build-legacy-minified', ['build-legacy', 'test-page'], function() {
|
41 | return gulp.src('dist/emberfire.js')
|
42 | .pipe($.rename('emberfire.min.js'))
|
43 | .pipe($.uglify())
|
44 | .on('error', function (e) {
|
45 | throw new $.util.PluginError('gulp-uglify', e.message);
|
46 | })
|
47 | .pipe($.header(fs.readFileSync('vendor/legacy/header.js', 'utf8')))
|
48 | .pipe(gulp.dest('dist'));
|
49 | });
|
50 |
|
51 | gulp.task('legacy', ['build-legacy-minified']);
|
52 |
|
53 | gulp.task('default', ['legacy']);
|