项目作者: nihalgonsalves

项目描述 :
Configure esbuild targets based on a browserslist query
高级语言: TypeScript
项目地址: git://github.com/nihalgonsalves/esbuild-plugin-browserslist.git
创建时间: 2021-04-27T21:34:23Z
项目社区:https://github.com/nihalgonsalves/esbuild-plugin-browserslist

开源协议:MIT License

下载


esbuild-plugin-browserslist

build status

Configure esbuild‘s target based on a browserslist query

Installation

  1. yarn add esbuild-plugin-browserslist esbuild browserslist

Usage

  1. import esbuild from "esbuild";
  2. import browserslist from "browserslist";
  3. import {
  4. esbuildPluginBrowserslist,
  5. resolveToEsbuildTarget,
  6. } from "esbuild-plugin-browserslist";
  7. await esbuild.build({
  8. entryPoints: ["./foo/bar.ts"],
  9. // ... other options (except `target`) ...
  10. plugins: [
  11. esbuildPluginBrowserslist(browserslist("defaults"), {
  12. printUnknownTargets: false,
  13. }),
  14. ],
  15. });
  16. // Or:
  17. const target = resolveToEsbuildTarget(browserslist("defaults"), {
  18. printUnknownTargets: false,
  19. });
  20. await esbuild.build({
  21. entryPoints: ["./foo/bar.ts"],
  22. target,
  23. });

:information_source: CJS usage instructions

Adjust the imports as follows:

ts const esbuild = require("esbuild"); const browserslist = require("browserslist"); const { esbuildPluginBrowserslist, resolveToEsbuildTarget, } = require("esbuild-plugin-browserslist");

Caveats

  • Only edge, firefox, chrome, safari, ios_saf, and node have direct equivalents for esbuild targets.
  • android and and_chr are mapped to the chrome target, and and_ff is mapped to the firefox target.
  • All other browsers are ignored (and_qq, samsung, opera, op_mini, op_mob, ie, ie_mob, bb, baidu, and kaios)

Debugging

You can turn on debug logs (which will print all resolutions or failures) using DEBUG=esbuild-plugin-browserslist