gulp-esbuild
TypeScript icon, indicating that this package has built-in type declarations

0.12.1 • Public • Published

downloads per month

gulp-esbuild

A gulp plugin for the esbuild bundler.

There are two exports available: gulpEsbuild and createGulpEsbuild. In most cases you should use the gulpEsbuild export. Use the createGuipEsbuild export if you want to enable the esbuild's incremental build or piping:

const {createGulpEsbuild} = require('gulp-esbuild')
const gulpEsbuild = createGulpEsbuild({
	incremental: true, // enables the esbuild's incremental build
	piping: true,      // enables piping
})

Notice: ⚠️ piping is disabled by default ⚠️

Installation

npm install gulp-esbuild

or

yarn add gulp-esbuild

Examples

build example

gulpfile.js

const {
    src,
    dest,
} = require('gulp')
const gulpEsbuild = require('gulp-esbuild')

function build() {
    return src('./index.tsx')
        .pipe(gulpEsbuild({
            outfile: 'bundle.js',
            bundle: true,
            loader: {
                '.tsx': 'tsx',
            },
        }))
        .pipe(dest('./dist'))
}

exports.build = build

package.json

...
"scripts": {
    "build": "gulp build"
}
...

command line

npm run build

watch mode example

gulpfile.js

const {
    src,
    dest,
    watch,
} = require('gulp')
const {createGulpEsbuild} = require('gulp-esbuild')
const gulpEsbuild = createGulpEsbuild({ incremental: true })

function build() {
    return src('./src/index.js')
        .pipe(gulpEsbuild({
            outfile: 'outfile.js',
            bundle: true,
        }))
        .pipe(dest('./dist'))
}

function watchTask() {
    watch('./src/index.js', build)
}

exports.watch = watchTask

package.json

...
"scripts": {
    "watch": "gulp watch"
}
...

command line

npm run watch

More examples here

Plugin arguments

Name Type Default
sourcemap boolean|'linked'|'inline'|'external'|'both'
sourceRoot string
sourcesContent boolean
legalComments 'none'|'inline'|'eof'|'linked'|'external'
format 'iife'|'cjs'|'esm'
globalName string
target string
supported object
mangleProps RegExp
reserveProps RegExp
mangleQuoted boolean
mangleCache object
drop 'console'|'debugger'
dropLabels array
minify boolean
minifyWhitespace boolean
minifyIdentifiers boolean
minifySyntax boolean
lineLimit number
charset 'ascii'|'utf8'
treeShaking boolean
ignoreAnnotations boolean
jsx 'transform'|'preserve'|'automatic'
jsxFactory string
jsxFragment string
jsxImportSource string
jsxDev boolean
jsxSideEffects boolean
define object
pure array
keepNames boolean
banner object
footer object
color boolean
logLevel 'verbose'|'debug'|'info'|'warning'|'error'|'silent' 'silent'
logLimit number
logOverride object
tsconfigRaw string|object
bundle boolean
splitting boolean
preserveSymlinks boolean
outfile string
metafile boolean
metafileName string 'metafile.json'
outdir string
outbase string
platform 'browser'|'node'|'neutral'
external array
packages 'external'
alias object
loader object
resolveExtensions array
mainFields array
conditions array
tsconfig string
outExtension object
publicPath string
entryNames string
chunkNames string
assetNames string
inject array
plugins array

Readme

Keywords

Package Sidebar

Install

npm i gulp-esbuild

Weekly Downloads

8,919

Version

0.12.1

License

MIT

Unpacked Size

27.7 kB

Total Files

7

Last publish

Collaborators

  • ym-project