Skip to content

escapace/browserslist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

@escapace/browserslist

Resolves browserslist query into a browser/version list and targets for esbuild and lightningcss.

Install

pnpm add @escapace/browserslist browserslist

Input

browserslist(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.

Usage

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)

Behavior and output

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’s target option.
  • lightningcss: targets object intended for lightningcss’s targets option.

Notes:

  • esbuild and lightningcss are tool-specific formats and may omit browser families that cannot be represented for that tool.

API

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>;
}

Parameters

Parameter Type Description
options
Options
browserslist query and options.

Returns

Resolved browsers and tool-specific target formats.

Remarks

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’s target option.
  • lightningcss: a targets object suitable for lightningcss’s targets option.

interface LightningcssTargetsOption

Represents lightningcss target constraints keyed by browser family.

export interface LightningcssTargetsOption

Remarks

This 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.Options

Remarks

This interface extends the upstream browserslist options and adds an optional queries field.

Options.queries

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

About

Resolve browserslist query into a browser/version list and targets for esbuild and lightningcss.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors