Files
whatsapp-web.js/tools/version-checker/update-version
2021-07-16 03:19:58 -04:00

56 lines
1.5 KiB
JavaScript
Executable File

#!/usr/bin/env node
const fs = require('fs');
const puppeteer = require('puppeteer');
const { DefaultOptions } = require('../../src/util/Constants');
const getLatestVersion = async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setUserAgent(DefaultOptions.userAgent);
await page.goto('https://web.whatsapp.com/', { waitUntil: 'load'});
await page.waitForSelector('.landing-header');
const version = await page.evaluate(() => window.Debug.VERSION);
await browser.close();
return version;
};
const getCurrentVersion = () => {
try {
const versionFile = fs.readFileSync('./.version');
return versionFile ? versionFile.toString().trim() : null;
} catch(_) {
return null;
}
};
const updateVersion = async (oldVersion, newVersion) => {
const readmePath = '../../README.md';
const readme = fs.readFileSync(readmePath);
const newReadme = readme.toString().replaceAll(oldVersion, newVersion);
fs.writeFileSync(readmePath, newReadme);
fs.writeFileSync('./.version', newVersion);
};
(async () => {
const currentVersion = getCurrentVersion();
const version = await getLatestVersion();
console.log(`Current version: ${currentVersion}`);
console.log(`Latest version: ${version}`);
if(currentVersion !== version) {
console.log('Updating files...');
await updateVersion(currentVersion, version);
console.log('Updated!');
} else {
console.log('No changes.');
}
})();