deps: browser transform.
This commit is contained in:
parent
bb89d203c1
commit
3e59282c66
75
browser/transform.js
Normal file
75
browser/transform.js
Normal file
@ -0,0 +1,75 @@
|
||||
var Transform = require('stream').Transform;
|
||||
var path = require('path');
|
||||
var assert = require('assert');
|
||||
var fs = require('fs');
|
||||
var StringDecoder = require('string_decoder').StringDecoder;
|
||||
|
||||
function nil() {
|
||||
var stream = new Transform();
|
||||
|
||||
stream._transform = function(chunk, encoding, callback) {
|
||||
callback(null, chunk);
|
||||
};
|
||||
|
||||
stream._flush = function(callback) {
|
||||
callback();
|
||||
};
|
||||
|
||||
return stream;
|
||||
}
|
||||
|
||||
function processEnv(str) {
|
||||
return str.replace(
|
||||
/^( *)this\.require\('(\w+)', '([^']+)'\)/gm,
|
||||
'$1this.$2 = require(\'$3\')');
|
||||
}
|
||||
|
||||
function processLazy(str) {
|
||||
str.replace(
|
||||
/^( *)lazy\('(\w+)', '([^']+)'\)/gm,
|
||||
function(_, sp, w1, w2) {
|
||||
str += sp + 'if (0) require(\'' + w2 + '\');\n';
|
||||
return '';
|
||||
}
|
||||
);
|
||||
return str;
|
||||
}
|
||||
|
||||
function transformer(file, process) {
|
||||
var stream = new Transform();
|
||||
var decoder = new StringDecoder('utf8');
|
||||
var str = '';
|
||||
|
||||
stream._transform = function(chunk, encoding, callback) {
|
||||
assert(Buffer.isBuffer(chunk));
|
||||
str += decoder.write(chunk);
|
||||
callback(null, new Buffer(0));
|
||||
};
|
||||
|
||||
stream._flush = function(callback) {
|
||||
str = process(str);
|
||||
|
||||
stream.push(new Buffer(str, 'utf8'));
|
||||
|
||||
callback();
|
||||
};
|
||||
|
||||
return stream;
|
||||
}
|
||||
|
||||
function end(file, offset) {
|
||||
return path.normalize(file).split(path.sep).slice(-offset).join('/');
|
||||
}
|
||||
|
||||
module.exports = function(file) {
|
||||
if (end(file, 3) === 'lib/utils/utils.js')
|
||||
return transformer(file, processLazy);
|
||||
|
||||
if (end(file, 3) === 'lib/crypto/crypto.js')
|
||||
return transformer(file, processLazy);
|
||||
|
||||
if (end(file, 2) === 'lib/env.js')
|
||||
return transformer(file, processEnv);
|
||||
|
||||
return nil();
|
||||
};
|
||||
@ -1,17 +0,0 @@
|
||||
/*!
|
||||
* bip70.js - bip70 for bcoin
|
||||
* Copyright (c) 2016, Christopher Jeffrey (MIT License).
|
||||
* https://github.com/bcoin-org/bcoin
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('PaymentRequest', './paymentrequest');
|
||||
lazy('PaymentDetails', './paymentdetails');
|
||||
lazy('Payment', './payment');
|
||||
lazy('PaymentACK', './paymentack');
|
||||
lazy('asn1', './asn1');
|
||||
lazy('x509', './x509');
|
||||
lazy('pk', './pk');
|
||||
@ -1,3 +1,15 @@
|
||||
/*!
|
||||
* bip70.js - bip70 for bcoin
|
||||
* Copyright (c) 2016, Christopher Jeffrey (MIT License).
|
||||
* https://github.com/bcoin-org/bcoin
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./bip70');
|
||||
exports.PaymentRequest = require('./paymentrequest');
|
||||
exports.PaymentDetails = require('./paymentdetails');
|
||||
exports.Payment = require('./payment');
|
||||
exports.PaymentACK = require('./paymentack');
|
||||
exports.asn1 = require('./asn1');
|
||||
exports.x509 = require('./x509');
|
||||
exports.pk = require('./pk');
|
||||
|
||||
@ -1,10 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('Chain', './chain');
|
||||
lazy('ChainDB', './chaindb');
|
||||
lazy('ChainEntry', './chainentry');
|
||||
lazy('Coins', './coins');
|
||||
lazy('CoinView', './coinview');
|
||||
lazy('compressor', './compress');
|
||||
exports.Chain = require('./chain');
|
||||
exports.ChainDB = require('./chaindb');
|
||||
exports.ChainEntry = require('./chainentry');
|
||||
exports.Coins = require('./coins');
|
||||
exports.CoinView = require('./coinview');
|
||||
exports.compressor = require('./compress');
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
var utils = require('../utils/utils');
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('ldb', './ldb');
|
||||
exports.ldb = require('./ldb');
|
||||
|
||||
if (utils.isBrowser)
|
||||
lazy('level', './level');
|
||||
exports.level = require('./level');
|
||||
|
||||
lazy('LowlevelUp', './lowlevelup');
|
||||
lazy('RBT', './rbt');
|
||||
exports.LowlevelUp = require('./lowlevelup');
|
||||
exports.RBT = require('./rbt');
|
||||
|
||||
78
lib/env.js
78
lib/env.js
@ -194,6 +194,7 @@ function Environment() {
|
||||
this.require('account', './wallet/account');
|
||||
this.require('walletdb', './wallet/walletdb');
|
||||
this.require('path', './wallet/path');
|
||||
this.require('masterkey', './wallet/masterkey');
|
||||
this.require('walletkey', './wallet/walletkey');
|
||||
|
||||
// HTTP
|
||||
@ -204,7 +205,7 @@ function Environment() {
|
||||
this.require('workers', './workers/workers');
|
||||
|
||||
// Horrible BIP
|
||||
this.require('bip70', './bip70/bip70');
|
||||
this.require('bip70', './bip70');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -256,82 +257,15 @@ Environment.prototype.now = function now() {
|
||||
|
||||
/**
|
||||
* Cache all necessary modules.
|
||||
* Used for benchmarks and browserify.
|
||||
*/
|
||||
|
||||
Environment.prototype.cache = function cache() {
|
||||
require('bn.js');
|
||||
require('./protocol/constants');
|
||||
require('./protocol/networks');
|
||||
require('./protocol/network');
|
||||
require('./utils/utils');
|
||||
require('./utils/locker');
|
||||
require('./utils/reader');
|
||||
require('./utils/writer');
|
||||
require('./utils/lru');
|
||||
require('./utils/bloom');
|
||||
require('./utils/uri');
|
||||
require('./utils/errors');
|
||||
require('./utils/co');
|
||||
require('./crypto/ec');
|
||||
require('./crypto/crypto');
|
||||
require('./crypto/chachapoly');
|
||||
require('./crypto/scrypt');
|
||||
require('./crypto/siphash');
|
||||
require('./db/lowlevelup');
|
||||
require('./db/ldb');
|
||||
require('./db/rbt');
|
||||
require('./script/script');
|
||||
require('./script/opcode');
|
||||
require('./script/stack');
|
||||
require('./script/witness');
|
||||
require('./script/program');
|
||||
require('./script/sigcache');
|
||||
require('./primitives/address');
|
||||
require('./primitives/outpoint');
|
||||
require('./primitives/input');
|
||||
require('./primitives/output');
|
||||
require('./primitives/coin');
|
||||
require('./primitives/invitem');
|
||||
require('./primitives/tx');
|
||||
require('./primitives/mtx');
|
||||
require('./primitives/abstractblock');
|
||||
require('./primitives/memblock');
|
||||
require('./primitives/block');
|
||||
require('./primitives/merkleblock');
|
||||
require('./primitives/headers');
|
||||
require('./primitives/keyring');
|
||||
require('./primitives/netaddress');
|
||||
require('./hd/hd');
|
||||
require('./node/logger');
|
||||
require('./node/config');
|
||||
require('./node/node');
|
||||
require('./node/spvnode');
|
||||
require('./node/fullnode');
|
||||
require('./net/timedata');
|
||||
require('./net/packets');
|
||||
require('./net/bip150');
|
||||
require('./net/bip151');
|
||||
require('./net/bip152');
|
||||
require('./net/peer');
|
||||
require('./net/pool');
|
||||
require('./chain/coins');
|
||||
require('./chain/coinview');
|
||||
require('./chain/chainentry');
|
||||
require('./chain/chaindb');
|
||||
require('./chain/chain');
|
||||
require('./mempool/fees');
|
||||
require('./mempool/mempool');
|
||||
require('./miner/miner');
|
||||
require('./miner/minerblock');
|
||||
require('./wallet/wallet');
|
||||
require('./wallet/account');
|
||||
require('./wallet/walletdb');
|
||||
require('./wallet/path');
|
||||
require('./node/spvnode');
|
||||
require('./http');
|
||||
require('./http/rpc');
|
||||
require('./workers/workers');
|
||||
require('./bip70/bip70');
|
||||
require('./crypto/schnorr');
|
||||
require('./utils/uri');
|
||||
require('./bip70');
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@ -8,13 +8,15 @@
|
||||
'use strict';
|
||||
|
||||
var utils = require('../utils/utils');
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
if (!utils.isBrowser) {
|
||||
lazy('request', './request');
|
||||
lazy('Client', './client');
|
||||
lazy('RPCClient', './rpcclient');
|
||||
lazy('Wallet', './wallet');
|
||||
lazy('Base', './base');
|
||||
lazy('Server', './server');
|
||||
exports.request = require('./request');
|
||||
exports.Client = require('./client');
|
||||
exports.RPCClient = require('./rpcclient');
|
||||
exports.Wallet = require('./wallet');
|
||||
exports.Base = require('./base');
|
||||
exports.RPC = require('./rpc');
|
||||
exports.Server = require('./server');
|
||||
} else {
|
||||
exports.RPC = require('./rpc');
|
||||
}
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('Mempool', './mempool');
|
||||
lazy('MempoolEntry', './mempoolentry');
|
||||
lazy('Fees', './fees');
|
||||
exports.Mempool = require('./mempool');
|
||||
exports.MempoolEntry = require('./mempoolentry');
|
||||
exports.Fees = require('./fees');
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('Miner', './miner');
|
||||
lazy('MinerBlock', './minerblock');
|
||||
exports.Miner = require('./miner');
|
||||
exports.MinerBlock = require('./minerblock');
|
||||
|
||||
@ -1,15 +1,12 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('bip150', './bip150');
|
||||
lazy('bip151', './bip151');
|
||||
lazy('bip152', './bip152');
|
||||
lazy('Framer', './framer');
|
||||
lazy('packets', './packets');
|
||||
lazy('Parser', './parser');
|
||||
lazy('Peer', './peer');
|
||||
lazy('Pool', './pool');
|
||||
lazy('ProxySocket', './proxysocket');
|
||||
lazy('time', './timedata');
|
||||
lazy('tcp', 'net');
|
||||
exports.bip150 = require('./bip150');
|
||||
exports.bip151 = require('./bip151');
|
||||
exports.bip152 = require('./bip152');
|
||||
exports.Framer = require('./framer');
|
||||
exports.packets = require('./packets');
|
||||
exports.Parser = require('./parser');
|
||||
exports.Peer = require('./peer');
|
||||
exports.Pool = require('./pool');
|
||||
exports.ProxySocket = require('./proxysocket');
|
||||
exports.time = require('./timedata');
|
||||
|
||||
@ -17,7 +17,13 @@ var Mempool = require('../mempool/mempool');
|
||||
var Pool = require('../net/pool');
|
||||
var Miner = require('../miner/miner');
|
||||
var WalletDB = require('../wallet/walletdb');
|
||||
var http = require('../http');
|
||||
var HTTPServer;
|
||||
|
||||
try {
|
||||
HTTPServer = require('../http/server');
|
||||
} catch (e) {
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a fullnode complete with a chain,
|
||||
@ -147,7 +153,7 @@ function Fullnode(options) {
|
||||
|
||||
// HTTP needs access to the node.
|
||||
if (!utils.isBrowser) {
|
||||
this.http = new http.Server({
|
||||
this.http = new HTTPServer({
|
||||
network: this.network,
|
||||
logger: this.logger,
|
||||
node: this,
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('config', './config');
|
||||
lazy('Fullnode', './fullnode');
|
||||
lazy('Logger', './logger');
|
||||
lazy('Node', './node');
|
||||
lazy('SPVNode', './spvnode');
|
||||
exports.config = require('./config');
|
||||
exports.Fullnode = require('./fullnode');
|
||||
exports.Logger = require('./logger');
|
||||
exports.Node = require('./node');
|
||||
exports.SPVNode = require('./spvnode');
|
||||
|
||||
@ -13,7 +13,13 @@ var Node = require('./node');
|
||||
var Chain = require('../chain/chain');
|
||||
var Pool = require('../net/pool');
|
||||
var WalletDB = require('../wallet/walletdb');
|
||||
var http = require('../http');
|
||||
var HTTPServer;
|
||||
|
||||
try {
|
||||
HTTPServer = require('../http/server');
|
||||
} catch (e) {
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an spv node which only maintains
|
||||
@ -84,7 +90,7 @@ function SPVNode(options) {
|
||||
});
|
||||
|
||||
if (!utils.isBrowser) {
|
||||
this.http = new http.Server({
|
||||
this.http = new HTTPServer({
|
||||
network: this.network,
|
||||
logger: this.logger,
|
||||
node: this,
|
||||
|
||||
@ -1,19 +1,17 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('AbstractBlock', './abstractblock');
|
||||
lazy('Address', './address');
|
||||
lazy('Block', './block');
|
||||
lazy('Coin', './coin');
|
||||
lazy('Headers', './headers');
|
||||
lazy('Input', './input');
|
||||
lazy('InvItem', './invitem');
|
||||
lazy('KeyRing', './keyring');
|
||||
lazy('MemBlock', './memblock');
|
||||
lazy('MerkleBlock', './merkleblock');
|
||||
lazy('MTX', './mtx');
|
||||
lazy('NetworkAddress', './netaddress');
|
||||
lazy('Outpoint', './outpoint');
|
||||
lazy('Output', './output');
|
||||
lazy('TX', './tx');
|
||||
exports.AbstractBlock = require('./abstractblock');
|
||||
exports.Address = require('./address');
|
||||
exports.Block = require('./block');
|
||||
exports.Coin = require('./coin');
|
||||
exports.Headers = require('./headers');
|
||||
exports.Input = require('./input');
|
||||
exports.InvItem = require('./invitem');
|
||||
exports.KeyRing = require('./keyring');
|
||||
exports.MemBlock = require('./memblock');
|
||||
exports.MerkleBlock = require('./merkleblock');
|
||||
exports.MTX = require('./mtx');
|
||||
exports.NetworkAddress = require('./netaddress');
|
||||
exports.Outpoint = require('./outpoint');
|
||||
exports.Output = require('./output');
|
||||
exports.TX = require('./tx');
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('constants', './constants');
|
||||
lazy('network', './network');
|
||||
lazy('networks', './networks');
|
||||
exports.constants = require('./constants');
|
||||
exports.network = require('./network');
|
||||
exports.networks = require('./networks');
|
||||
|
||||
@ -1,10 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('Opcode', './opcode');
|
||||
lazy('Program', './program');
|
||||
lazy('Script', './script');
|
||||
lazy('SigCache', './sigcache');
|
||||
lazy('Stack', './stack');
|
||||
lazy('Witness', './witness');
|
||||
exports.Opcode = require('./opcode');
|
||||
exports.Program = require('./program');
|
||||
exports.Script = require('./script');
|
||||
exports.SigCache = require('./sigcache');
|
||||
exports.Stack = require('./stack');
|
||||
exports.Witness = require('./witness');
|
||||
|
||||
@ -1948,7 +1948,7 @@ lazy('ip', './ip');
|
||||
lazy('Locker', './locker');
|
||||
lazy('LRU', './lru');
|
||||
lazy('murmur3', './murmur3');
|
||||
lazy('spawn', './spawn');
|
||||
lazy('co', './co');
|
||||
lazy('uri', './uri');
|
||||
lazy('BufferReader', './reader');
|
||||
lazy('BufferWriter', './writer');
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('Account', './account');
|
||||
lazy('Path', './path');
|
||||
lazy('TXDB', './txdb');
|
||||
lazy('WalletDB', './walletdb');
|
||||
lazy('Wallet', './wallet');
|
||||
lazy('WalletKey', './walletkey');
|
||||
exports.Account = require('./account');
|
||||
exports.MasterKey = require('./masterkey');
|
||||
exports.Path = require('./path');
|
||||
exports.TXDB = require('./txdb');
|
||||
exports.WalletDB = require('./walletdb');
|
||||
exports.Wallet = require('./wallet');
|
||||
exports.WalletKey = require('./walletkey');
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
var lazy = require('../utils/lazy')(require, exports);
|
||||
|
||||
lazy('jobs', './jobs');
|
||||
lazy('Worker', './worker');
|
||||
lazy('Workers', './workers');
|
||||
lazy('Parser', './parser');
|
||||
lazy('Framer', './framer');
|
||||
exports.jobs = require('./jobs');
|
||||
exports.Worker = require('./worker');
|
||||
exports.Workers = require('./workers');
|
||||
exports.Parser = require('./parser');
|
||||
exports.Framer = require('./framer');
|
||||
|
||||
@ -77,6 +77,6 @@
|
||||
"secp256k1": "./browser/empty.js"
|
||||
},
|
||||
"browserify": {
|
||||
"transform": ["babelify"]
|
||||
"transform": ["./browser/transform.js", "babelify"]
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ var constants = bcoin.constants;
|
||||
var network = bcoin.networks;
|
||||
var assert = require('assert');
|
||||
var tests = require('./data/bip70.json');
|
||||
var bip70 = require('../lib/bip70/bip70');
|
||||
var bip70 = require('../lib/bip70');
|
||||
var x509 = bip70.x509;
|
||||
|
||||
tests.valid = new Buffer(tests.valid, 'hex');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user