Skip to content

Commit d3d245d

Browse files
committed
improve code
1 parent 19f17ba commit d3d245d

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

lib/command/info.js

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,24 @@ const envinfo = require('envinfo')
33
const { getConfig, getTestRoot } = require('./utils')
44
const Codecept = require('../codecept')
55
const output = require('../output')
6+
const { execSync } = require('child_process')
67

78
async function getInstalledBrowsers() {
89
try {
9-
const playwright = require('playwright')
10-
const browsers = await Promise.all(
11-
['chromium', 'firefox', 'webkit'].map(async browser => {
12-
try {
13-
const browserInstance = await playwright[browser].launch()
14-
const version = await browserInstance.version()
15-
await browserInstance.close()
16-
return `${browser}: ${version}`
17-
} catch (err) {
18-
return `${browser}: not installed`
19-
}
20-
}),
21-
)
22-
return browsers.join(`, `)
10+
const regex = /(chromium|firefox|webkit)\s+version\s+([\d.]+)/gi
11+
let versions = []
12+
13+
const info = execSync('npx playwright install --dry-run').toString().trim()
14+
15+
const matches = [...info.matchAll(regex)]
16+
17+
matches.forEach(match => {
18+
const browser = match[1]
19+
const version = match[2]
20+
versions.push(`${browser}: ${version}`)
21+
})
22+
23+
return versions.join(', ')
2324
} catch (err) {
2425
return 'Playwright not installed'
2526
}

0 commit comments

Comments
 (0)