UNPKG

gemini-core

Version:

Utility which contains common modules for gemini and hermione

44 lines (34 loc) 1.19 kB
'use strict'; const path = require('path'); const Promise = require('bluebird'); const browserify = require('browserify'); const ClientBridge = require('./client-bridge'); exports.ClientBridge = ClientBridge; exports.build = (browser, opts = {}) => { const script = browserify({ entries: './index', basedir: path.join(__dirname, '..', 'browser', 'client-scripts') }); if (!opts.coverage) { script.exclude('./index.coverage'); } script.transform({ sourceMap: false, global: true, ie8: true }, 'uglifyify'); const lib = opts.calibration && opts.calibration.needsCompatLib ? './lib.compat.js' : './lib.native.js'; const ignoreAreas = opts.supportDeprecated ? './ignore-areas.deprecated.js' : './ignore-areas.js'; script.transform({ aliases: { './lib': {relative: lib}, './ignore-areas': {relative: ignoreAreas} }, verbose: false }, 'aliasify'); return Promise.fromCallback((cb) => script.bundle(cb)) .then((buf) => { const scripts = buf.toString(); return ClientBridge.create(browser, scripts); }); };