UNPKG

@nurun-sf/spark-component

Version:

A tool for building spark components

55 lines (43 loc) 1.37 kB
'use strict'; const browserify = require('browserify'); const browserifyBabelIstanbul = require('browserify-babel-istanbul'); const globalShim = require('browserify-global-shim'); const babelify = require('babelify'); const watchify = require('watchify'); const isparta = require('isparta'); const source = require('vinyl-source-stream'); const excludeExternalDeps = require('../lib/exclude-external-deps'); const config = require('../lib/config'); const DEPENDENCIES = Object.keys(config.dependencies); const GLOBAL_SHIM_MAP = DEPENDENCIES.reduce(function (obj, name) { obj[name] = config.dependencies[name].root; return obj; }, {}); const GLOBAL_SHIM = globalShim.configure(GLOBAL_SHIM_MAP); module.exports = function (gulp) { var stream; function bundle() { return stream .bundle() .pipe(source(config.filename.instrumented)) .pipe(gulp.dest(config.dist)); } stream = browserify({ cache: {}, packageCache: {}, entries: ['./' + config.filename.source], standalone: config.className, }); if (config.watch) { stream = watchify(stream); } excludeExternalDeps(stream, DEPENDENCIES) .transform(babelify, config.babel) .transform(browserifyBabelIstanbul({ instrumentor: isparta, includeUntested: true, })) .transform(GLOBAL_SHIM) .on('update', bundle); return bundle; };