1- var gulp = require ( 'gulp' ) ;
2- var uglify = require ( 'gulp-uglify-es' ) . default ;
3- var gulpIf = require ( 'gulp-if' ) ;
4- var useref = require ( 'gulp-useref' ) ;
5- var rename = require ( 'gulp-rename' ) ;
6- var mocha = require ( 'gulp-mocha' ) ;
7- var chai = require ( 'chai' ) ;
8- var babel = require ( 'gulp-babel' ) ;
9- var eslint = require ( 'gulp-eslint' ) ;
10- var istanbul = require ( 'gulp-istanbul' ) ;
11- var gutil = require ( 'gulp-util' ) ;
1+ const gulp = require ( 'gulp' ) ;
2+ const uglify = require ( 'gulp-uglify-es' ) . default ;
3+ const useref = require ( 'gulp-useref' ) ;
4+ const rename = require ( 'gulp-rename' ) ;
5+ const mocha = require ( 'gulp-mocha' ) ;
6+ const babel = require ( 'gulp-babel' ) ;
7+ const eslint = require ( 'gulp-eslint' ) ;
8+ const shell = require ( 'gulp-shell' ) ;
129
13- gulp . task ( 'default' , function ( ) {
14- return gulp . src ( [ 'observable-slim.js' , 'proxy.js' ] )
15- . pipe ( babel ( {
16- presets : [ '@babel/preset-env' ]
17- , sourceType : "script" // prevent insertion of "use strict"
18- } ) )
19- . pipe ( useref ( ) )
20- // Minifies only if it's a JavaScript file
21- . pipe ( uglify ( ) )
22- //.on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
23- // Add .min to the minified filename
24- . pipe ( rename ( { suffix : '.min' } ) )
25- // Write it to the current directory
26- . pipe ( gulp . dest ( './' ) )
27- } ) ;
10+ const observableSlimPath = './observable-slim.js' ;
11+ const proxyPath = './proxy.js' ;
12+ const testPath = './test/test.js' ;
13+ const coverallsCoverageDirPath = './coverage' ;
14+ const coverallsCoverageLcovPath = `${ coverallsCoverageDirPath } /lcov.info` ;
15+ const coverallsBinPath = './node_modules/coveralls/bin/coveralls.js' ;
2816
29- gulp . task ( 'pre-test' , function ( ) {
30- return gulp . src ( [ 'observable-slim.js' ] )
31- // Covering files
32- . pipe ( istanbul ( ) )
33- // Force `require` to return covered files
34- . pipe ( istanbul . hookRequire ( ) ) ;
35- } ) ;
17+ gulp . task ( 'default' , ( done ) => gulp . src ( [ observableSlimPath , proxyPath ] )
18+ . pipe ( babel ( {
19+ presets : [ '@babel/preset-env' ] ,
20+ sourceType : 'script' // Prevent insertion of "use strict".
21+ } ) )
22+ . pipe ( useref ( ) )
23+ . pipe ( uglify ( ) )
24+ . pipe ( rename ( {
25+ suffix : '.min' // Add .min to the minified filename.
26+ } ) )
27+ . pipe ( gulp . dest ( './' ) ) // Write it to the current directory.
28+ . on ( 'end' , done )
29+ ) ;
3630
37- gulp . task ( 'test' , [ 'pre-test' ] , function ( ) {
38- return gulp . src ( [ 'test/test.js' ] )
39- . pipe ( mocha ( { compilers :babel } ) )
40- // Creating the reports after tests ran
41- . pipe ( istanbul . writeReports ( ) ) ;
42- } ) ;
31+ gulp . task ( 'test' , ( done ) => gulp . src ( [ testPath ] )
32+ . pipe ( mocha ( {
33+ compilers : babel
34+ } ) )
35+ . on ( 'end' , done )
36+ ) ;
4337
44- gulp . task ( 'lint' , function ( ) {
45- return gulp . src ( [ 'observable-slim.js' , 'proxy.js' , 'test/test.js' ] )
46- . pipe ( eslint ( ) )
47- . pipe ( eslint . format ( ) )
48- // Brick on failure to be super strict
49- . pipe ( eslint . failOnError ( ) ) ;
50- } ) ;
38+ gulp . task ( 'coveralls' , shell . task ( [
39+ `nyc report --reporter=lcov && cat ${ coverallsCoverageLcovPath } | ${ coverallsBinPath } && rm -rf ${ coverallsCoverageDirPath } `
40+ ] ) ) ;
41+
42+ gulp . task ( 'lint' , ( done ) => gulp . src ( [ observableSlimPath , proxyPath , testPath ] )
43+ . pipe ( eslint ( ) )
44+ . pipe ( eslint . format ( ) )
45+ . pipe ( eslint . failOnError ( ) ) // Brick on failure to be super strict.
46+ . on ( 'end' , done )
47+ ) ;
0 commit comments