gulp-esbuild v0.12.1
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:
- the esbuild's incremental build is used with the gulp's watching files API and allows you to rebuild only changed parts of code (example);
- piping allows you to receive data from other plugins via stream piping (example).
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 |
7 months ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago