flocore/browser/browserify.js
Ryan X. Charles 5b67d91f35 fix the loading for Key.js
Now, like all other modules loaded in the bitcore object, Key is only required
when it is actually used. All tests pass in node and the browser.
2014-03-10 17:04:23 -04:00

87 lines
1.8 KiB
JavaScript

'use strict';
/*
*
* The key parameter 'pack'
* The supplied 'custom_prelude.js' file is needed for
* .load function of soop.
*/
var fs = require('fs');
var browserify = require('browserify');
var browserPack = require('browser-pack');
var pack = function (params) {
var preludePath = 'node_modules/soop/example/custom_prelude.js';
params.raw = true;
params.sourceMapPrefix = '//#';
params.prelude = fs.readFileSync(preludePath, 'utf8');
params.preludePath = preludePath;
return browserPack(params);
};
var modules = [
'Address',
'Block',
'Bloom',
'Buffers.monkey',
'Connection',
'Deserialize',
'Gruntfile',
'Number.monkey',
'Opcode',
'Peer',
'PeerManager',
'PrivateKey',
'RpcClient',
'Key',
'SIN',
'SINKey',
'Script',
'ScriptInterpreter',
'Sign',
'Transaction',
'Wallet',
'WalletKey',
'config',
'const',
'networks',
];
var opts = {};
opts.pack = pack;
opts.debug = true;
opts.standalone = 'bitcore';
opts.insertGlobals = true;
var b = browserify(opts);
b.require('browserify-bignum/bignumber.js', {expose: 'bignum'} );
b.require('browserify-buffertools/buffertools.js', {expose:'buffertools'});
b.require('./bitcore', {expose: 'bitcore'});
b.require('buffer', {expose: 'buffer'});
b.require('base58-native');
b.require('./util/log');
b.require('./util/util');
b.require('./util/EncodedData');
b.require('./util/VersionedData');
b.add('./browser/bignum_config.js');
modules.forEach(function(m) {
b.require('./' + m + '.js' ,{expose: './'+m} );
});
b.require('soop');
b.bundle().pipe(fs.createWriteStream('browser/bundle.js'));
opts.standalone = 'testdata';
var tb = browserify(opts);
tb.require('./test/testdata', {expose: 'testdata'});
tb.transform('brfs');
tb.bundle().pipe(fs.createWriteStream('browser/testdata.js'));