docs: fix browser version generation script (#4797)

This commit is contained in:
Yury Semikhatsky 2020-12-21 18:09:55 -08:00 committed by GitHub
parent ff2a1f1bd0
commit a7f4c69a60
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 33 deletions

View file

@ -213,6 +213,7 @@ async function run() {
libversion: VERSION,
chromiumVersion: browserVersions.chromium,
firefoxVersion: browserVersions.firefox,
webkitVersion: browserVersions.webkit,
})));
messages.push(...preprocessor.autocorrectInvalidLinks(PROJECT_DIR, mdSources, getRepositoryFiles()));
@ -266,27 +267,14 @@ async function run() {
}
async function getBrowserVersions() {
const [chromium, firefox] = await Promise.all([
getChromeVersion(),
getFirefoxVersion(),
])
return {
chromium,
firefox,
};
}
async function getChromeVersion() {
if (os.platform() === 'win32' || os.platform() === 'cygwin') {
const browser = await playwright.chromium.launch();
const page = await browser.newPage();
const userAgent = await page.evaluate('navigator.userAgent');
const [type] = userAgent.split(' ').filter(str => str.includes('Chrome'));
await browser.close();
return type.split('/')[1];
const names = ['chromium', 'firefox', 'webkit'];
const browsers = await Promise.all(names.map(name => playwright[name].launch()));
const result = {};
for (let i = 0; i < names.length; i++) {
result[names[i]] = browsers[i].version();
}
const version = spawnSync(playwright.chromium.executablePath(), ['--version'], undefined).stdout.toString();
return version.trim().split(' ').pop();
await Promise.all(browsers.map(browser => browser.close()));
return result;
}
function getRepositoryFiles() {
@ -294,10 +282,3 @@ function getRepositoryFiles() {
const files = out.stdout.toString().trim().split('\n').filter(f => !f.startsWith('docs-src'));
return files.map(file => path.join(PROJECT_DIR, file));
}
async function getFirefoxVersion() {
const isWin = os.platform() === 'win32' || os.platform() === 'cygwin';
const out = spawnSync(playwright.firefox.executablePath(), [isWin ? '/version' : '--version'], undefined);
const version = out.stdout.toString();
return version.trim().split(' ').pop();
}

View file

@ -17,7 +17,7 @@
const path = require('path');
const Message = require('../Message');
function runCommands(sources, {libversion, chromiumVersion, firefoxVersion}) {
function runCommands(sources, {libversion, chromiumVersion, firefoxVersion, webkitVersion}) {
// Release version is everything that doesn't include "-".
const isReleaseVersion = !libversion.includes('-');
@ -47,6 +47,8 @@ function runCommands(sources, {libversion, chromiumVersion, firefoxVersion}) {
newText = chromiumVersion;
else if (commandName === 'firefox-version')
newText = firefoxVersion;
else if (commandName === 'webkit-version')
newText = webkitVersion;
else if (commandName === 'chromium-version-badge')
newText = `[![Chromium version](https://img.shields.io/badge/chromium-${chromiumVersion}-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)`;
else if (commandName === 'firefox-version-badge')

View file

@ -18,9 +18,16 @@
const pw = require('..');
const child_process = require('child_process');
for (const browserType of [pw.chromium, pw.firefox]) {
const executablePath = browserType.executablePath();
const version = child_process.execSync(executablePath + ' --version').toString().trim();
console.log('- ' + version);
async function browserVersion(browserType) {
const browser = await browserType.launch();
const result = browser.version();
await browser.close();
return result;
}
console.log('- WebKit 14.1');
(async () => {
console.log('- Chromium ' + await browserVersion(pw.chromium));
console.log('- Mozilla Firefox ' + await browserVersion(pw.firefox));
console.log('- WebKit ' + await browserVersion(pw.webkit));
})();