Merge pull request #326 from braydonf/node-version

Added a Node.js version check based on the package.json engine.
This commit is contained in:
Chris Kleeschulte 2015-10-19 10:47:02 -04:00
commit f8fc5c3a6c
3 changed files with 31 additions and 1 deletions

View File

@ -1,6 +1,17 @@
'use strict';
var semver = require('semver');
var packageData = require('./package.json');
function nodeVersionCheck(version, expected) {
if (!semver.satisfies(version, expected)) {
throw new Error('Node.js version ' + version + ' is expected to be ' + expected);
}
}
nodeVersionCheck(process.versions.node, packageData.engines.node);
module.exports = require('./lib');
module.exports.nodeVersionCheck = nodeVersionCheck;
module.exports.Node = require('./lib/node');
module.exports.Transaction = require('./lib/transaction');
module.exports.Service = require('./lib/service');

View File

@ -78,7 +78,7 @@
"bitcore-p2p": "~1.0.0"
},
"engines": {
"node": ">=0.12.0"
"node": "^0.12"
},
"os": [
"darwin",

19
test/index.unit.js Normal file
View File

@ -0,0 +1,19 @@
'use strict';
var should = require('chai').should();
var index = require('..');
describe('Index', function() {
describe('#nodeVersionCheck', function() {
it('will throw informative error message with incompatible Node.js version 4.1.2', function() {
(function() {
index.nodeVersionCheck('4.1.2', '>=0.12.0 <1');
}).should.throw('Node.js version');
});
it('will throw informative error message with incompatible Node.js version 0.10.40', function() {
(function() {
index.nodeVersionCheck('4.1.2', '>=0.12.0 <1');
}).should.throw('Node.js version');
});
});
});