57 lines
1.4 KiB
JavaScript
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();
|