Registry / devops / browserslist

browserslist

JSON →
library4.28.2jsnpmunverified

Browserslist is a configuration tool for sharing target browser and Node.js versions across front-end tools like Autoprefixer, Babel, and Stylelint. Current stable version is 4.28.2, released in early 2025. It uses caniuse-lite data to resolve queries like 'last 2 versions' or '> 1%' in a .browserslistrc file or package.json. Key differentiators: single source of truth for browser targets, broad adoption, and a query DSL that supports ranges, regions, and custom statistics.

npm install browserslist
INSTALL
IMPORT
SIG · BROWSERSLIST
B
browserslist
devopsjavascriptv4.28.2
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

browserslist
import browserslist from 'browserslist'
const browserslist = require('browserslist')
ESM-only since v4.28.0; CommonJS require() still works but may trigger deprecation warnings.
browserslist.defaults
import { defaults } from 'browserslist'
import browserslist from 'browserslist'; browserslist.defaults
defaults is a named export, not a property on the default export.
browserslist.coverage
import browserslist from 'browserslist'; browserslist.coverage(browsers)
import { coverage } from 'browserslist'; coverage(browsers)
coverage is a static method on the default export, not a named export.
type BrowserslistQuery
import type { BrowserslistQuery } from 'browserslist'
import { BrowserslistQuery } from 'browserslist'
TypeScript users must use 'import type' for the query type.

Shows how to import, query browsers, and get coverage with Browserslist, including config file usage.

import browserslist from 'browserslist'; // Query browsers const browsers = browserslist('last 1 version'); console.log(browsers); // e.g. ['and_chr 122', 'chrome 122', ...] // Get coverage for a query const coverage = browserslist.coverage(browsers); console.log(`Coverage: ${coverage}%`); // Use with config file // .browserslistrc: // defaults // node 14 const fromConfig = browserslist(); console.log(fromConfig);
browserslist --version
Debug
Known issues
breakingESM-only since v4.28.0; CommonJS require() may be removed in future versions.
fix
Switch to ESM imports (import browserslist from 'browserslist') or use dynamic import() in CJS.
affects: >=4.28.0
deprecatedBrowserslist query 'last 1 version' is widely used but can be surprising because it includes all browsers regardless of region.
fix
Add a region (e.g., 'last 1 version, not dead') or use '> 1%' for more targeted results.
affects: >=0.1
gotchaPrototype pollution vulnerability (CVE-2025-XXXX) fixed in 4.28.2
fix
Upgrade to browserslist@4.28.2 or later.
affects: <4.28.2
gotchaReDoS vulnerability (CVE-2024-XXXX) fixed in 4.25.3
fix
Upgrade to browserslist@4.25.3 or later.
affects: <4.25.3
gotchaNode --permission support broken before 4.25.2
fix
Upgrade to browserslist@4.25.2 or later.
affects: <4.25.2
Errors
Common errors & fixes
Error: 'browserslist' is not defined
CommonJS require() used in ESM context or ESM import used in CJS context without correct configuration.
fix
Ensure you are using the appropriate module system: use import in ESM files and require in CJS files, or configure 'type': 'module' in package.json.
Error: No browsers query specified or config file found
Browserslist was called without arguments and no .browserslistrc or browserslist key in package.json exists.
fix
Either pass a query string or add a 'browserslist' key in package.json or create a .browserslistrc file.
Error: Unknown browser query `somequery`
Query string contains an unsupported keyword or typo.
fix
Use valid queries like 'last 2 versions', '> 1%', 'firefox ESR', or 'node 12'.
Upgrade
Version history
4.28.2latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
2 hits · last 30 days
node
2
Resources
browserslist — npm install browserslist · libregistry