function getInputDirectory(argv) { if (argv.input) { return argv.input; } return '.'; } function getOutputDirectory(argv) { if (argv.output) { return argv.output; } return 'babel-output'; } var gulp = require('gulp'), jasmine = require('gulp-jasmine'), babel = require('gulp-babel'), polyfill = require('babel/polyfill'), del = require('del'), argv = require('yargs').argv, inputDir = getInputDirectory(argv), outputDir = getOutputDirectory(argv); // Gulp tasks definition gulp.task('default', [ 'test' ]); gulp.task('test', [ 'babel' ], function () { return gulp.src([ outputDir + '/*.spec.js' ]) .pipe(jasmine()); }); gulp.task('babel', function () { return gulp.src([ inputDir + '/*.js' ]) .pipe(babel()) .pipe(gulp.dest(outputDir)); }); gulp.task('clean', function (cb) { del([ outputDir ], cb); });