configurable submodules for browser bundle

This commit is contained in:
Manuel Araoz 2014-03-11 17:53:46 -03:00
parent 55d236741d
commit 409bb093d5
4 changed files with 27 additions and 6 deletions

View File

@ -16,7 +16,7 @@ module.exports = function(grunt) {
stdout: true,
stderr: true
},
command: 'node ./browser/browserify.js',
command: 'node ./browser/browserify.js -a',
}
},
watch: {
@ -25,7 +25,7 @@ module.exports = function(grunt) {
tasks: ['markdown']
},
scripts: {
files: ['**/*.js', '**/*.html', '!**/node_modules/**', '!browser/bundle.js', '!browser/testdata.js'],
files: ['**/*.js', '**/*.html', '!**/node_modules/**', '!browser/bundle.js', '!browser/testdata.js', '!browser/vendor-bundle.js'],
tasks: ['shell'],
},
},

View File

@ -10,6 +10,7 @@
var fs = require('fs');
var browserify = require('browserify');
var browserPack = require('browser-pack');
var program = require('commander');
// concat browser vendor files
var exec = require('child_process').exec;
@ -22,6 +23,20 @@ var puts = function(error, stdout, stderr) {
exec('cd browser; sh concat.sh', puts);
var list = function(val) {
return val.split(',');
};
program
.version('0.0.1')
.option('-a, --includeall', 'Include all submodules.')
.option('-s, --submodules <items>', 'Include the listed comma-separated submodules.', list)
.parse(process.argv);
if (!program.includeall && (!program.submodules || program.submodules.length === 0)) {
console.log('Must use either -s or -a option. For more info use the --help option');
process.exit(1);
}
var pack = function (params) {
var preludePath = 'node_modules/soop/example/custom_prelude.js';
@ -75,9 +90,11 @@ 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} );
if (program.includeall || program.submodules.indexOf(m) > -1) {
console.log('Including '+m+' in the browser bundle');
b.require('./' + m + '.js' , {expose: './'+m} );
}
});
b.require('soop');

View File

@ -41,7 +41,8 @@
"url": "https://github.com/bitpay/bitcore.git"
},
"scripts": {
"test": "mocha test -R spec"
"test": "mocha test -R spec",
"postinstall": "grunt shell"
},
"dependencies": {
"soop": "git://github.com/bitpay/soop.git",
@ -66,7 +67,8 @@
"browserify-buffertools": "~1.0.2",
"chai": "~1.9.0",
"brfs": "~1.0.0",
"async": "~0.2.10"
"async": "~0.2.10",
"commander": "~2.1.0"
},
"license": "MIT"
}

View File

@ -38,6 +38,8 @@
<script src="test.VersionedData.js"></script>
<script src="test.Wallet.js"></script>
<script src="test.WalletKey.js"></script>
<!--
-->
<script>
mocha.run();
</script>