JSPM

browserslist-to-esbuild

2.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 872018
  • Score
    100M100P100Q201954F
  • License MIT

Get esbuild-compatible targets from a browserlist config

Package Exports

  • browserslist-to-esbuild

Readme

browserslist-to-esbuild

Use browserslist with esbuild.

Allows you to use use browserslist and pass the correct browsers to esbuild's target option.

Install

Make sure you have browserslist already installed in your project, then:

npm install --save-dev browserslist-to-esbuild

or

yarn add --dev browserslist-to-esbuild

Usage

You can call browserslistToEsbuild() directly in your esbuild.mjs script, it will look for your browserslist config in either package.json or the .browserslistrc.

It will return an esbuild-compatible array of browsers.

import { build } from 'esbuild'
import browserslistToEsbuild from 'browserslist-to-esbuild'

await build({
  entryPoints: ['input.js'],
  outfile: 'output.js',
  bundle: true,
  target: browserslistToEsbuild(), // --> ["chrome79", "edge92", "firefox91", "safari13.1"]
})

Otherwise, you can pass yourself a browserslist array or string to the function.

browserslistToEsbuild(['>0.2%', 'not dead', 'not op_mini all'])

API

browserslistToEsbuild(browserslistConfig?)

browserslistConfig

Type: array | string | undefined

An array of string of browsers compatible with browserslist. If none is passed, a browserslist config is searched in the script running directory.

CLI

You can also use this package on the cli to test out the command in your project. If no argument is passed, the browserslist config is searched in the script running directory.

Here is some example usage:

$ npx browserslist-to-esbuild
chrome109 edge118 firefox115 ios15.6 opera102 safari15.6

$ npx browserslist-to-esbuild '>0.2%, not dead'
chrome103 edge87 firefox115 ios12.2 opera102 safari14.1

$ npx browserslist-to-esbuild '>0.2%' 'not dead'
chrome103 edge87 firefox115 ios12.2 opera102 safari14.1