Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

esbuild-plugin-es5

noyobo349.1kMIT2.1.1TypeScript support: included

Use the @swc/core transform to convert to ES5 for the esbuild plugin.

esbuild-plugin, esbuild, es5

readme

esbuild-build-es5

Use the @swc/core transform to convert to ES5 for the esbuild plugin.

npm package Build Status Downloads Issues Code Coverage Commitizen Friendly

Features

  • ✅ Support Tree Shaking
  • ✅ Support Code sharing (eg: async generator function)
  • ✅ Support Sourcemap
  • ✅ Support custom swc options
  • ✅ Support custom filter

Why?

esbuild does not support exporting in ES5 mode, so when our code needs to run on older devices, it must be converted to ES5. This plugin uses @swc/core to convert non-ES5 syntax to ES5 before bundling.

Performance impact

The swc conversion is introduced, the conversion steps are added, and the construction time is increased to a certain extent.

Project esbuild esbuild + es5Plugin
three.js 50ms 180ms

For a test example you can clone the current project and run make demo-three-esbuild and make demo-three-esbuild-es5 for comparison.

Install

npm install esbuild-plugin-es5 @swc/helpers -D

Usage

import { es5Plugin } from 'esbuild-plugin-es5';
import path from 'path';

await esbuild.build({
  entryPoints: ['src/index.ts'],
  bundle: true,
  outfile: 'dist/index.js',
  plugins: [es5Plugin()], // # 1. Use esbuild-plugin-es5
  target: ['es5'], // # 2. Set the target to es5
  alias: {
    // # 3. Set the alias to @swc/helpers
    '@swc/helpers': path.dirname(require.resolve('@swc/helpers/package.json')),
  }
});

For a faster development experience, you can only use it in production mode.

Options

const es5Plugin= (options: { filter?: RegExp; swc?: SWCOptions }) => Es5Plugin

SWC Options : https://swc.rs/docs/configuration/compilation

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

2.1.1 (2024-06-07)

Bug Fixes

2.1.0 (2023-12-11)

Features

2.0.3 (2023-12-08)

2.0.1 (2023-05-19)

Bug Fixes

2.0.0 (2023-03-24)

⚠ BREAKING CHANGES

  • remove default export

Features

  • use named export es5Plugin (3c20d1f)

1.2.0 (2023-03-10)

Features

  • external swc helpers & format error (6870c3a)

1.1.1 (2023-03-10)

1.0.0 (2023-03-10)

Features

1.1.0 (2023-03-10)

Features