appium-gulp-plugins
Version:
Custom gulp plugins to be used accross all appium modules
38 lines (33 loc) • 979 B
JavaScript
;
var babel = require('gulp-babel'),
replace = require('gulp-replace'),
rename = require('gulp-rename'),
_ = require('lodash'),
streamCombiner = require('./stream-combiner');
var BABEL_OPTS = {
blacklist: ['react'],
optional: ['runtime'],
sourceMaps: 'inline',
modules: 'common',
stage: 1
};
var HEADER = 'require(\'source-map-support\').install();\n\n';
var renameEsX = function () {
return rename(function (path) {
path.basename = path.basename.replace(/\.es[67]$/, '');
});
};
module.exports = function (opts) {
opts = opts || {};
this.babelOpts = _.clone(BABEL_OPTS);
if (opts.flow) this.babelOpts.blacklist.push('flow');
this.header = HEADER;
this.stream = function () {
return streamCombiner(function (source) {
return source
.pipe(replace(/\/\/\s+transpile:(main|mocha)\s*/g, this.header))
.pipe(babel(this.babelOpts))
.pipe(renameEsX());
}.bind(this));
}.bind(this);
};