Added a Node.js version check based on the package.json engine.

This commit is contained in:
Braydon Fuller 2015-10-18 22:50:07 -04:00
parent e9110ad93c
commit 21e0aa28b5
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');
});
});
});