all files / lib/theme/processor/ browserify.js

97.78% Statements 44/45
71.43% Branches 10/14
100% Functions 6/6
94.44% Lines 17/18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                        
import isUndefined from 'lodash/isUndefined';
import ProcessorBase from '../processor-base';
import browserify from 'browserify';
import babelify from 'babelify';
import uglifyify from 'uglifyify';
 
export default class Browserify extends ProcessorBase {
  _getFile() {
    let bundle = browserify();
    bundle.add(this.assetSource);
 
    Eif (this.plugins) {
      Eif (!isUndefined(this.plugins.babelify)) {
        bundle = bundle.transform(
          babelify.configure(this.plugins.babelify || {})
        );
      }
      Eif (!isUndefined(this.plugins.uglifyify)) {
        bundle = bundle.transform(
          uglifyify
        );
      }
    }
 
    return new Promise((resolve, reject) => {
      bundle.bundle((err, buffer) => {
        Iif (err) {
          reject(err);
        } else {
          resolve(buffer.toString('utf8'));
        }
      });
    });
  }
}