node-query/node_modules/jsdoc/node_modules/esprima/tools/check-version.js

57 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
'use strict';
var fs = require('fs');
function findCanonicalVersion() {
var matcher, lines, version;
matcher = /exports\.version\s+=\s+\'([0-9\.\-a-zA-Z]+)\'/;
lines = fs.readFileSync('esprima.js', 'utf-8').split('\n');
lines.forEach(function (line) {
if (matcher.test(line)) {
version = matcher.exec(line)[1];
}
});
return version;
}
function ensureVersion(manifestFile, expectedVersion) {
var matcher, lines, version;
console.log('Checking', manifestFile, '...');
matcher = /"version"\s*\:\s*"([0-9\.\-a-zA-Z]+)"/;
lines = fs.readFileSync(manifestFile, 'utf-8').split('\n');
lines.forEach(function (line) {
if (matcher.test(line)) {
version = matcher.exec(line)[1];
}
});
if (expectedVersion !== version) {
console.log('ERROR: Wrong version for', manifestFile);
console.log('Expected:', expectedVersion);
console.log(' Actual:', version);
process.exit(1);
}
}
function checkVersion() {
var version;
console.log('Getting the canonical library version...');
version = findCanonicalVersion();
if (typeof version !== 'string') {
console.log('ERROR: Can not get version number!', typeof version);
process.exit(1);
}
console.log('Library version is', version);
ensureVersion('package.json', version);
ensureVersion('component.json', version);
}
checkVersion();