Merge pull request #1227 from fanatid/fix/inBrowser

remove inBrowser
This commit is contained in:
Braydon Fuller 2015-05-18 16:22:14 -04:00
commit 85dd29e576
2 changed files with 28 additions and 19 deletions

View File

@ -1,28 +1,21 @@
'use strict';
var bitcore = module.exports;
// module information
bitcore.version = 'v' + require('./package.json').version;
var inBrowser = typeof process === 'undefined' || typeof process.versions === 'undefined';
if ((inBrowser && window._bitcore) || (!inBrowser && global._bitcore)) {
var versions = bitcore.version + ' and ' + (inBrowser ? window._bitcore : global._bitcore);
var message = 'More than one instance of bitcore found with different versions: ' + versions;
if (inBrowser) {
message += '. Make sure any scripts included don\'t contain their own bitcore bundle.';
} else {
message += '. Make sure there are no version conflicts between package.json files of your ' +
'dependencies. This could also happen when a package depends on a git repository.';
bitcore.versionGuard = function(version) {
if (version !== undefined) {
var message = 'More than one instance of bitcore found with versions: ' + bitcore.version +
' and ' + version + '. Please make sure to require bitcore and check that submodules do' +
' not also include their own bitcore dependency.';
throw new Error(message);
}
};
bitcore.versionGuard(global._bitcore);
global._bitcore = bitcore.version;
throw new Error(message);
}
if (inBrowser) {
window._bitcore = bitcore.version;
} else {
global._bitcore = bitcore.version;
}
// crypto
// crypto
bitcore.crypto = {};
bitcore.crypto.BN = require('./lib/crypto/bn');
bitcore.crypto.ECDSA = require('./lib/crypto/ecdsa');

16
test/index.js Normal file
View File

@ -0,0 +1,16 @@
'use strict';
var should = require('chai').should();
var bitcore = require('../');
describe('#versionGuard', function() {
it('global._bitcore should be defined', function() {
should.equal(global._bitcore, bitcore.version);
});
it('throw an error if version is already defined', function() {
(function() {
bitcore.versionGuard('version');
}).should.throw('More than one instance of bitcore');
});
});