• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ym-project/gulp-esbuild: gulp plugin for esbuild bundler

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

ym-project/gulp-esbuild

开源软件地址(OpenSource Url):

https://github.com/ym-project/gulp-esbuild

开源编程语言(OpenSource Language):

JavaScript 100.0%

开源软件介绍(OpenSource Introduction):

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
mangleProps RegExp
reserveProps RegExp
mangleQuoted boolean
mangleCache object
drop 'console'|'debugger'
minify boolean
minifyWhitespace boolean
minifyIdentifiers boolean
minifySyntax boolean
charset 'ascii'|'utf8'
treeShaking boolean
ignoreAnnotations boolean
jsx 'transform'|'preserve'
jsxFactory string
jsxFragment string
define object
pure array
keepNames boolean
banner object
footer object
color boolean
logLevel 'verbose'|'debug'|'info'|'warning'|'error'|'silent' 'silent'
logLimit number
bundle boolean
splitting boolean
preserveSymlinks boolean
outfile string
metafile boolean
metafileName string 'metafile.json'
outdir string
outbase string
platform 'browser'|'node'|'neutral'
external array
loader object
resolveExtensions array
mainFields array
conditions array
tsconfig string
outExtension object
publicPath string
entryNames string
chunkNames string
assetNames string
inject array
plugins array



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap