#!/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() : 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.'); } })();