Skip to main content

browserlist.json

browserlist.json is pbvm's project-level browser manifest file, located in the project root.

Purpose

Records which browsers a project uses and their configuration, so team members can share a consistent browser environment.

File structure

[
{
"platform": "mac_arm",
"alias": "my-chrome",
"browser": "chrome",
"buildId": "134.0.6998.35"
},
{
"platform": "mac_arm",
"alias": "dev-firefox",
"browser": "firefox",
"buildId": "stable_136.0.0"
}
]

Fields

FieldTypeDescription
platformstringBrowser platform (mac_arm, linux_64, win_64, etc.)
aliasstringUser-defined alias to simplify browser references in commands
browserstringBrowser name: chrome, chromium, firefox
buildIdstringBrowser version

Read/write operations

CommandReadWrite
pbvm create-✅ Add record
pbvm ls-
pbvm open-
pbvm alias✅ Update alias
pbvm remove-✅ Remove record
pbvm restore-✅ Update record

File locking

Write operations on browserlist.json are protected by file locks to prevent data loss from concurrent writes by multiple processes. The lock timeout is 1 minute.

Recommendations

  • Check browserlist.json into version control (git) so the team uses a consistent browser environment
  • Have CI read this file to install the required browser versions