Resolves browserslist query into a browser/version list and targets for esbuild and lightningcss.
pnpm add @escapace/browserslist browserslistbrowserslist(options) accepts:
queries: a browserslist query string or query list. This field is optional.- All upstream browserslist options.
When queries is omitted, browserslist applies its normal configuration and defaults.
import { browserslist } from '@escapace/browserslist'
const targets = browserslist({
queries: ['last 2 versions', 'not dead'],
})
// Audit the resolved policy.
console.log(targets.browsers)
// Derived targets for tool configuration.
console.log(targets.esbuild)
console.log(targets.lightningcss)browserslist(options) returns:
browsers: the resolved browser/version list from browserslist. This list is the baseline for audits and debugging.esbuild: target strings intended for esbuild’stargetoption.lightningcss: targets object intended for lightningcss’stargetsoption.
Notes:
esbuildandlightningcssare tool-specific formats and may omit browser families that cannot be represented for that tool.
function browserslist ↗
Resolves a browser support policy and provides targets for esbuild and lightningcss.
browserslist: (options: Options) => {
browsers: string[];
esbuild: string[];
lightningcss: Record<LightningcssTargets, number | undefined>;
}| Parameter | Type | Description |
|---|---|---|
options |
Options |
browserslist query and options. |
Resolved browsers and tool-specific target formats.
The support policy is expressed as a browserslist query. The result includes:
browsers: the resolved browser/version list returned by browserslist.esbuild: target strings suitable for esbuild’stargetoption.lightningcss: a targets object suitable for lightningcss’stargetsoption.
interface LightningcssTargetsOption ↗
Represents lightningcss target constraints keyed by browser family.
export interface LightningcssTargetsOptionThis shape matches the targets option accepted by lightningcss. It is returned by browserslist under the lightningcss field.
interface Options ↗
Describes the input accepted by browserslist.
export interface Options extends _browserslist.OptionsThis interface extends the upstream browserslist options and adds an optional queries field.
Browserslist query or query list used to resolve the target browser set.
queries?: string | readonly string[] | null;type LightningcssTargets ↗
Defines the set of browser keys supported by LightningcssTargetsOption.
export type LightningcssTargets = keyof LightningcssTargetsOption