{"id":13789961,"url":"https://github.com/ym-project/gulp-esbuild","last_synced_at":"2026-02-14T17:02:05.509Z","repository":{"id":38420074,"uuid":"279970433","full_name":"ym-project/gulp-esbuild","owner":"ym-project","description":"gulp plugin for esbuild bundler","archived":false,"fork":false,"pushed_at":"2025-08-06T07:59:11.000Z","size":1495,"stargazers_count":44,"open_issues_count":1,"forks_count":8,"subscribers_count":1,"default_branch":"v0","last_synced_at":"2025-10-18T21:33:25.228Z","etag":null,"topics":["esbuild","gulp","gulp-plugin"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ym-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-15T20:25:06.000Z","updated_at":"2025-08-06T07:59:08.000Z","dependencies_parsed_at":"2024-06-13T17:19:25.280Z","dependency_job_id":"6fd27926-5dc5-4e12-b359-03d3768f22b9","html_url":"https://github.com/ym-project/gulp-esbuild","commit_stats":{"total_commits":435,"total_committers":6,"mean_commits":72.5,"dds":0.02758620689655178,"last_synced_commit":"105d0e82613a0e86706e5ad4a320935470b62400"},"previous_names":[],"tags_count":147,"template":false,"template_full_name":null,"purl":"pkg:github/ym-project/gulp-esbuild","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym-project%2Fgulp-esbuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym-project%2Fgulp-esbuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym-project%2Fgulp-esbuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym-project%2Fgulp-esbuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ym-project","download_url":"https://codeload.github.com/ym-project/gulp-esbuild/tar.gz/refs/heads/v0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym-project%2Fgulp-esbuild/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29450583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esbuild","gulp","gulp-plugin"],"created_at":"2024-08-03T22:00:35.236Z","updated_at":"2026-02-14T17:02:05.479Z","avatar_url":"https://github.com/ym-project.png","language":"JavaScript","funding_links":[],"categories":["JavaScript Ecosystem"],"sub_categories":[],"readme":"[![downloads per month](https://img.shields.io/npm/dm/gulp-esbuild?style=flat-square)](https://npmcharts.com/compare/gulp-esbuild?minimal=true)\n\n# gulp-esbuild\nA [gulp](https://gulpjs.com) plugin for the [esbuild](https://esbuild.github.io) bundler.\n\nThere 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.\nThe [esbuild's incremental build](https://esbuild.github.io/api/#incremental) is used with the [gulp's watching files API](https://gulpjs.com/docs/en/getting-started/watching-files/) and allows you to rebuild only changed parts of code ([example](https://github.com/ym-project/gulp-esbuild/tree/v0/examples/watch));\n\n```js\nconst {createGulpEsbuild} = require('gulp-esbuild')\nconst gulpEsbuild = createGulpEsbuild({\n\tincremental: true, // enables the esbuild's incremental build\n})\n```\n\n### ⚠️ Notice ⚠️\n\nEsbuild doesn't fully support working with the virtual files which gulp send when you use: `src(...).pipe(gulpEsbuild(...))`.\nWe found workaround using some tricks, but one limitation still remains. **Every file you send via `src(...)` must exist in the file system**.\nIts contents are not important, since they will be taken from the virtual file. But existence in the file system is required.\n\n## Installation\n```bash\nnpm install gulp-esbuild esbuild\n```\nor\n```bash\nyarn add gulp-esbuild esbuild\n```\n\n## Examples\n\n### build example\n\n`gulpfile.js`\n```js\nconst {\n    src,\n    dest,\n} = require('gulp')\nconst gulpEsbuild = require('gulp-esbuild')\n\nfunction build() {\n    return src('./index.tsx')\n        .pipe(gulpEsbuild({\n            outfile: 'bundle.js',\n            bundle: true,\n            loader: {\n                '.tsx': 'tsx',\n            },\n        }))\n        .pipe(dest('./dist'))\n}\n\nexports.build = build\n```\n`package.json`\n```json\n...\n\"scripts\": {\n    \"build\": \"gulp build\"\n}\n...\n```\n`command line`\n```bash\nnpm run build\n```\n\n### watch mode example\n\n`gulpfile.js`\n```js\nconst {\n    src,\n    dest,\n    watch,\n} = require('gulp')\nconst {createGulpEsbuild} = require('gulp-esbuild')\nconst gulpEsbuild = createGulpEsbuild({ incremental: true })\n\nfunction build() {\n    return src('./src/index.js')\n        .pipe(gulpEsbuild({\n            outfile: 'outfile.js',\n            bundle: true,\n        }))\n        .pipe(dest('./dist'))\n}\n\nfunction watchTask() {\n    watch('./src/index.js', build)\n}\n\nexports.watch = watchTask\n```\n`package.json`\n```json\n...\n\"scripts\": {\n    \"watch\": \"gulp watch\"\n}\n...\n```\n`command line`\n```bash\nnpm run watch\n```\n\nMore examples [here](https://github.com/ym-project/gulp-esbuild/tree/v0/examples)\n\n## Plugin arguments\n\n| **Name**                                                               | **Type**                                | **Default**       |\n| :--------------------------------------------------------------------- | :-------------------------------------: | :---------------: |\n| [sourcemap](https://esbuild.github.io/api/#sourcemap)                  | `boolean\\|'linked'\\|'inline'\\|'external'\\|'both'` |                   |\n| [sourceRoot](https://esbuild.github.io/api/#source-root)               | `string`                                |                   |\n| [sourcesContent](https://esbuild.github.io/api/#sources-content)       | `boolean`                               |                   |\n| [legalComments](https://esbuild.github.io/api/#legal-comments)         | `'none'\\|'inline'\\|'eof'\\|'linked'\\|'external'`             |\n| [format](https://esbuild.github.io/api/#format)                        | `'iife'\\|'cjs'\\|'esm'`                  |                   |\n| [globalName](https://esbuild.github.io/api/#global-name)               | `string`                                |                   |\n| [target](https://esbuild.github.io/api/#target)                        | `string`                                |                   |\n| [supported](https://esbuild.github.io/api/#supported)                  | `object`                                |                   |\n| [mangleProps](https://esbuild.github.io/api/#mangle-props)             | `RegExp`                                |                   |\n| [reserveProps](https://esbuild.github.io/api/#mangle-props)            | `RegExp`                                |                   |\n| [mangleQuoted](https://esbuild.github.io/api/#mangle-quoted)           | `boolean`                               |                   |\n| [mangleCache](https://esbuild.github.io/api/#mangle-props)             | `object`                                |                   |\n| [drop](https://esbuild.github.io/api/#drop)                            | `'console'\\|'debugger'`                 |                   |\n| [dropLabels](https://esbuild.github.io/api/#drop-labels)               | `array`                                 |                   |\n| [minify](https://esbuild.github.io/api/#minify)                        | `boolean`                               |                   |\n| [minifyWhitespace](https://esbuild.github.io/api/#minify)              | `boolean`                               |                   |\n| [minifyIdentifiers](https://esbuild.github.io/api/#minify)             | `boolean`                               |                   |\n| [minifySyntax](https://esbuild.github.io/api/#minify)                  | `boolean`                               |                   |\n| [lineLimit](https://esbuild.github.io/api/#line-limit)                 | `number`                                |                   |\n| [charset](https://esbuild.github.io/api/#charset)                      | `'ascii'\\|'utf8'`                       |                   |\n| [treeShaking](https://esbuild.github.io/api/#tree-shaking)             | `boolean`                               |                   |\n| [ignoreAnnotations](https://esbuild.github.io/api/#ignore-annotations) | `boolean`                               |                   |\n| [jsx](https://esbuild.github.io/api/#jsx)                              | `'transform'\\|'preserve'\\|'automatic'`  |                   |\n| [jsxFactory](https://esbuild.github.io/api/#jsx-factory)               | `string`                                |                   |\n| [jsxFragment](https://esbuild.github.io/api/#jsx-fragment)             | `string`                                |                   |\n| [jsxImportSource](https://esbuild.github.io/api/#jsx-import-source)    | `string`                                |                   |\n| [jsxDev](https://esbuild.github.io/api/#jsx-dev)                       | `boolean`                               |                   |\n| [jsxSideEffects](https://esbuild.github.io/api/#jsx-side-effects)      | `boolean`                               |                   |\n| [define](https://esbuild.github.io/api/#define)                        | `object`                                |                   |\n| [pure](https://esbuild.github.io/api/#pure)                            | `array`                                 |                   |\n| [keepNames](https://esbuild.github.io/api/#keep-names)                 | `boolean`                               |                   |\n| [banner](https://esbuild.github.io/api/#banner)                        | `object`                                |                   |\n| [footer](https://esbuild.github.io/api/#footer)                        | `object`                                |                   |\n| [color](https://esbuild.github.io/api/#color)                          | `boolean`                               |                   |\n| [logLevel](https://esbuild.github.io/api/#log-level)                   | `'verbose'\\|'debug'\\|'info'\\|'warning'\\|'error'\\|'silent'`  | `'silent'`        |\n| [logLimit](https://esbuild.github.io/api/#log-limit)                   | `number`                                |                   |\n| [logOverride](https://esbuild.github.io/api/#log-override)             | `object`                                |                   |\n| [tsconfigRaw](https://esbuild.github.io/api/#tsconfig-raw)             | `string`\\|`object`                      |                   |\n| [bundle](https://esbuild.github.io/api/#bundle)                        | `boolean`                               |                   |\n| [splitting](https://esbuild.github.io/api/#splitting)                  | `boolean`                               |                   |\n| [preserveSymlinks](https://esbuild.github.io/api/#preserve-symlinks)   | `boolean`                               |                   |\n| [outfile](https://esbuild.github.io/api/#outfile)                      | `string`                                |                   |\n| [metafile](https://esbuild.github.io/api/#metafile)                    | `boolean`                               |                   |\n| metafileName                                                           | `string`                                | `'metafile.json'` |\n| [outdir](https://esbuild.github.io/api/#outdir)                        | `string`                                |                   |\n| [outbase](https://esbuild.github.io/api/#outbase)                      | `string`                                |                   |\n| [platform](https://esbuild.github.io/api/#platform)                    | `'browser'\\|'node'\\|'neutral'`          |                   |\n| [external](https://esbuild.github.io/api/#external)                    | `array`                                 |                   |\n| [packages](https://esbuild.github.io/api/#packages)                    | `'external'`                            |                   |\n| [alias](https://esbuild.github.io/api/#alias)                          | `object`                                |                   |\n| [loader](https://esbuild.github.io/api/#loader)                        | `object`                                |                   |\n| [resolveExtensions](https://esbuild.github.io/api/#resolve-extensions) | `array`                                 |                   |\n| [mainFields](https://esbuild.github.io/api/#main-fields)               | `array`                                 |                   |\n| [conditions](https://esbuild.github.io/api/#conditions)                | `array`                                 |                   |\n| [tsconfig](https://esbuild.github.io/api/#tsconfig)                    | `string`                                |                   |\n| [outExtension](https://esbuild.github.io/api/#out-extension)           | `object`                                |                   |\n| [publicPath](https://esbuild.github.io/api/#public-path)               | `string`                                |                   |\n| [entryNames](https://esbuild.github.io/api/#entry-names)               | `string`                                |                   |\n| [chunkNames](https://esbuild.github.io/api/#chunk-names)               | `string`                                |                   |\n| [assetNames](https://esbuild.github.io/api/#asset-names)               | `string`                                |                   |\n| [inject](https://esbuild.github.io/api/#inject)                        | `array`                                 |                   |\n| [plugins](https://esbuild.github.io/plugins/)                          | `array`                                 |                   |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fym-project%2Fgulp-esbuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fym-project%2Fgulp-esbuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fym-project%2Fgulp-esbuild/lists"}