{"id":13602637,"url":"https://github.com/floydspace/serverless-esbuild","last_synced_at":"2025-05-14T03:06:41.608Z","repository":{"id":38173025,"uuid":"263578160","full_name":"floydspace/serverless-esbuild","owner":"floydspace","description":"💨 A Serverless framework plugin to bundle JavaScript and TypeScript with extremely fast esbuild","archived":false,"fork":false,"pushed_at":"2025-02-27T21:37:16.000Z","size":3212,"stargazers_count":455,"open_issues_count":102,"forks_count":143,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-05T11:36:02.781Z","etag":null,"topics":["aws","aws-lambda","bundler","esbuild","lambda","minifier","plugin","serverless","serverless-plugin","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/floydspace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"floydspace","patreon":"floydspace","issuehunt":"floydspace","ko_fi":"floydspace"}},"created_at":"2020-05-13T09:01:15.000Z","updated_at":"2025-02-27T21:36:09.000Z","dependencies_parsed_at":"2023-02-14T23:16:10.027Z","dependency_job_id":"2f938d93-ad5c-4d57-a241-c401be1ba787","html_url":"https://github.com/floydspace/serverless-esbuild","commit_stats":{"total_commits":332,"total_committers":81,"mean_commits":4.098765432098766,"dds":0.786144578313253,"last_synced_commit":"4a66070f9befbef25220ba5fd1c538a6b85ecbec"},"previous_names":[],"tags_count":132,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floydspace%2Fserverless-esbuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floydspace%2Fserverless-esbuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floydspace%2Fserverless-esbuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floydspace%2Fserverless-esbuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/floydspace","download_url":"https://codeload.github.com/floydspace/serverless-esbuild/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247755705,"owners_count":20990649,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aws","aws-lambda","bundler","esbuild","lambda","minifier","plugin","serverless","serverless-plugin","typescript"],"created_at":"2024-08-01T18:01:32.370Z","updated_at":"2025-04-10T17:17:39.239Z","avatar_url":"https://github.com/floydspace.png","language":"TypeScript","funding_links":["https://github.com/sponsors/floydspace","https://patreon.com/floydspace","https://issuehunt.io/r/floydspace","https://ko-fi.com/floydspace"],"categories":["aws","JavaScript Ecosystem"],"sub_categories":[],"readme":"# 💨 serverless-esbuild\n\n[Serverless Framework](https://www.amazon.com/gp/search?ie=UTF8\u0026tag=floydspace-20\u0026linkCode=ur2\u0026linkId=3c35aeea87e6a2d913a5f2110d6a2620\u0026camp=1789\u0026creative=9325\u0026index=books\u0026keywords=Serverless%20Framework) plugin for zero-config JavaScript and TypeScript code bundling using promising fast \u0026 furious [`esbuild`](https://github.com/evanw/esbuild) bundler and minifier\n\n[![serverless](http://public.serverless.com/badges/v3.svg)](https://www.serverless.com/plugins/serverless-esbuild)\n[![npm version](https://img.shields.io/npm/v/serverless-esbuild?color=brightgreen\u0026label=npm%20package)](https://www.npmjs.com/package/serverless-esbuild)\n[![npm downloads](https://img.shields.io/npm/dm/serverless-esbuild)](https://www.npmjs.com/package/serverless-esbuild)\n[![build status](https://img.shields.io/github/actions/workflow/status/floydspace/serverless-esbuild/release.yml?branch=master)](https://github.com/floydspace/serverless-esbuild/actions)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n## Features\n\n- Zero-config: Works out of the box without the need to install any additional plugins\n- Works with Typescript and Javascript projects\n- Guaranteed to work in Node.js v18 and higher environments\n- Supports `sls package`, `sls deploy`, `sls deploy function`\n- Integrates with [`Serverless Invoke Local`](https://www.serverless.com/framework/docs/providers/aws/cli-reference/invoke-local) \u0026 [`serverless-offline`](https://github.com/dherault/serverless-offline)\n\n## Table of Contents\n\n- [Install](#install)\n- [Configuration](#configuration)\n  - [Examples](#examples)\n  - [Options](#options)\n    - [Default Esbuild Options](#default-esbuild-options)\n    - [Packager Options](#packager-options)\n    - [Watch Options](#watch-options)\n- [Supported Runtimes](#supported-runtimes)\n- [Advanced Configuration](#advanced-configuration)\n  - [Including Extra Files](#including-extra-files)\n  - [External Dependencies](#external-dependencies)\n  - [Esbuild Plugins](#esbuild-plugins)\n- [Usage](#usage)\n  - [Automatic Compilation](#automatic-compilation)\n  - [Serverless Offline](#serverless-offline)\n    - [Serverless Dynamodb Local](#serverless-dynamodb-local)\n  - [Invoke Local](#invoke-local)\n- [External Tools](#external-tools)\n- [Contributors](#contributors)\n\n## Install\n\n```sh\n# install `serverless-esbuild` and `esbuild`\nyarn add --dev serverless-esbuild esbuild\n# or\nnpm install -D serverless-esbuild esbuild\n# or\npnpm install -D serverless-esbuild esbuild\n```\n\nAdd the following plugin to your `serverless.yml`:\n\n```yaml\nplugins:\n  - serverless-esbuild\n```\n\n## Configuration\n\nBy default, no configuration is required, but you can override the default behavior via the `custom.esbuild` section in the `serverless.yml` file.\n\n```yml\ncustom:\n  esbuild:\n    bundle: true\n    minify: false\n```\n\n### Examples\n\nSee [example folder](examples) for some example configurations.\n\n### Options\n\n| Option                 | Description                                                                                                                                                                                        | Default                                             |\n|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|\n| Esbuild Options        | This plugin can take almost any [Esbuild Javascript Build Option](https://esbuild.github.io/api/#build-api).                                                                                       | [Default Esbuild Options](#default-esbuild-options) |\n| `concurrency`          | The number of concurrent bundle operations to run at once. eg. `8`. _NOTE_: This can be memory intensive and could produce slower builds.                                                          | `Infinity`                                          |\n| `zipConcurrency`       | The number of concurrent zip operations to run at once. eg. `8`. _NOTE_: This can be memory intensive and could produce slower builds.                                                             | `Infinity`                                          |\n| `exclude`              | An array of dependencies to exclude from the Lambda. This is passed to the esbuild `external` option. Set to `*` to disable packaging `node_modules`                                               | `['aws-sdk']`                                       |\n| `installExtraArgs`     | Optional arguments passed to npm or yarn for `external` dependency resolution. eg. `['--legacy-peer-deps']` for npm v7+ to use legacy `peerDependency` resolution behavior                         | `[]`                                                |\n| `keepOutputDirectory`  | Keeps the `.esbuild` output folder. Useful for debugging.                                                                                                                                          | `false`                                             |\n| `nativeZip`            | Uses the system's `zip` executable to create archives. _NOTE_: This will produce non-deterministic archives which causes a Serverless deployment update on every deploy.                           | `false`                                             |\n| `outputBuildFolder`    | The output folder for Esbuild builds within the work folder. You will also need to manually override the watch ignore config if used.                                                              | `'.build'`                                          |\n| `outputWorkFolder`     | The output folder for this plugin where all the bundle preparation is done. You will also need to manually override the watch ignore config if used.                                               | `'.esbuild'`                                        |\n| `outputFileExtension`  | The file extension used for the bundled output file. This will override the esbuild `outExtension` option                                                                                          | `'.js'`                                             |\n| `packagePath`          | Path to the `package.json` file for `external` dependency resolution.                                                                                                                              | `'./package.json'`                                  |\n| `packager`             | Packager to use for `external` dependency resolution. Values: `npm`, `yarn`, `pnpm`                                                                                                                | `'npm'`                                             |\n| `packagerOptions`      | Extra options for packagers for `external` dependency resolution.                                                                                                                                  | [Packager Options](#packager-options)               |\n| `watch`                | Watch options for `serverless-offline`.                                                                                                                                                            | [Watch Options](#watch-options)                     |\n| `skipBuild`            | Avoid rebuilding lambda artifacts in favor of reusing previous build artifacts.                                                                                                                    | `false`                                             |\n| `skipRebuild`          | A boolean defining whether rebuild is avoided. Generally rebuild produces faster builds but in some context scenarios with many lambdas or low memory computer (like Github Actions) it can cause memory leaks.                                    | `false`                                             |\n| `skipBuildExcludeFns` | An array of lambda names that will always be rebuilt if `skipBuild` is set to `true` and bundling individually. This is helpful for dynamically generated functions like serverless-plugin-warmup. | `[]`                                                 |\n| `stripEntryResolveExtensions` | A boolean that determines if entrypoints using custom file extensions provided in the `resolveExtensions` ESbuild setting should be stripped of their custom extension upon packing the final bundle for that file. Example: `myLambda.custom.ts` would result in `myLambda.js` instead of `myLambda.custom.js`.\n| `disposeContext` | An option to disable the disposal of the context.(Functions can override the global `disposeContext` configuration by specifying their own `disposeContext` option in their individual configurations.) | `true`\n#### Default Esbuild Options\n\nThe following `esbuild` options are automatically set.\n\n| Option        | Default    | Notes                                                                  |\n| ------------- | ---------- | ---------------------------------------------------------------------- |\n| `bundle`      | `true`     | Esbuild requires this for use with `external`                          |\n| `entryPoints` | N/A        | Cannot be overridden                                                   |\n| `outDir`      | N/A        | Cannot be overridden                                                   |\n| `platform`    | `'node'`   | Set `format` to `esm` to enable ESM support                            |\n| `target`      | `'node18'` | We dynamically set this. See [Supported Runtimes](#supported-runtimes) |\n| `watch`       | N/A        | Cannot be overridden                                                   |\n\n#### Packager Options\n\n| Option           | Description                                                                                                                                                                        | Default     |\n| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| `scripts`        | A string or array of scripts to be executed, currently only supports 'scripts' for npm, pnpm and yarn                                                                              | `undefined` |\n| `noInstall`      | [Yarn only] A boolean that deactivates the install step                                                                                                                            | `false`     |\n| `ignoreLockfile` | [Yarn only] A boolean to bypass lockfile validation, typically paired with `external` dependencies because we generate a new package.json with only the externalized dependencies. | `false`     |\n\n#### Watch Options\n\n| Option     | Description                                                                                          | Default                                               |\n| ---------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |\n| `pattern`  | An [anymatch-compatible definition](https://github.com/es128/anymatch) for the watcher to respond to | `./**/*.(js\\|ts)` (watches all `.js` and `.ts` files) |\n| `ignore`   | An [anymatch-compatible definition](https://github.com/es128/anymatch) for the watcher to ignore     | `['.esbuild', 'dist', 'node_modules', '.build']`      |\n| `chokidar` | Any [Chokidar option](https://github.com/paulmillr/chokidar#api)                                     | `{ ignoreInitial: true }`                             |\n\n#### Function Options\n\n| Option        | Description                                                          | Default     |\n| ------------- | -------------------------------------------------------------------- | ----------- |\n| `skipEsbuild` | Set this property to `true` on a function definition to skip esbuild | `undefined` |\n\n## Supported Runtimes\n\nThis plugin will automatically set the esbuild `target` for the following supported Serverless runtimes:\n\n### AWS \n\n| Runtime      | Target   |\n| ------------ | -------- |\n| `nodejs20.x` | `node20` |\n| `nodejs18.x` | `node18` |\n| `nodejs16.x` | `node16` |\n| `nodejs14.x` | `node14` |\n| `nodejs12.x` | `node12` |\n\n### Google\n\nThis plugin is compatible with the [serverless-google-cloudfunctions](https://github.com/serverless/serverless-google-cloudfunctions) plugin, and will set the runtimes accordingly.\n\n| Runtime      | Target   |\n| ------------ | -------- |\n| `nodejs20`   | `node20` |\n| `nodejs18`   | `node18` |\n| `nodejs16`   | `node16` |\n| `nodejs14`   | `node14` |\n| `nodejs12`   | `node12` |\n\n### Azure\n\nThis plugin is compatible with the [serverless-azure-functions](https://github.com/serverless/serverless-azure-functions) plugin, and will set the runtimes accordingly.\n\n| Runtime      | Target   |\n| ------------ | -------- |\n| `nodejs18`   | `node18` |\n| `nodejs16`   | `node16` |\n| `nodejs14`   | `node14` |\n| `nodejs12`   | `node12` |\n\n**Please Note** When using this package in conjunction with the `serverless-azure-functions` plugin, the following additional configuration is required to ensure function apps are built correctly:\n\n```yml\npackage:\n\tpatterns: [\"host.json\", \"**/function.json\"],\n```\n\n### Non-Node functions\n\nIf you wish to use this plugin alongside non Node functions like Python or functions with images, this plugin will automatically ignore any function which does not contain a handler or use a supported Node.js runtime.\n\n_Note:_ If you are using Python functions with Serverless Offline you will need to change the `outputWorkFolder` and `outputBuildFolder` to folder names without fullstops.\n\n## Advanced Configuration\n\n### Config file\n\nEsbuild configuration can be defined by a config file.\n\n```yml\ncustom:\n  esbuild:\n    config: './esbuild.config.js'\n```\n\n```js\n// esbuild.config.js\nmodule.exports = (serverless) =\u003e ({\n  external: ['lodash'],\n  plugins: [],\n});\n```\n\n### Including Extra Files\n\n[Serverless Package Configuration](https://www.serverless.com/framework/docs/providers/aws/guide/packaging#package-configuration) will behave in the same way as native packaging. You can use `patterns`, `include` and `exclude` to include extra files into your bundles.\n\n### External Dependencies\n\nPackages that are marked as `external` and exist in the package.json's `dependencies` will be installed and included with your build under `node_modules`. You can customize this with a number of options.\n\n```yml\ncustom:\n  esbuild:\n    external:\n      - lodash\n    packager: yarn\n    packagePath: absolute/path/to/package.json\n    packagerOptions:\n      scripts:\n        - echo 'Hello World!'\n        - rm -rf node_modules\n    installExtraArgs:\n      - '--legacy-peer-deps'\n```\n\nTo easily mark all the `dependencies` in `package.json` as `external`, you can utilize `esbuild-node-externals` [plugin](https://www.npmjs.com/package/esbuild-node-externals).\n\nTo mark one or more individual packages as external, use the following configuration:\n\n```yml\ncustom:\n  esbuild:\n    external:\n      - 'my-package-name'\n      - 'another-package-name'\n```\n\n### Esbuild Plugins\n\n_Note: The [Esbuild plugins API](https://esbuild.github.io/plugins/) is still experimental_\n\nYou can configure esbuild plugins by passing a plugins' configuration file:\n\n```yml\ncustom:\n  esbuild:\n    plugins: plugins.js\n```\n\nThe plugins' configuration file must be a javascript file exporting an array of plugins (see `examples/individually/plugins.js` for a dummy plugin example):\n\n```javascript\nlet myPlugin = {\n  name: 'my-plugin',\n  setup(build) {\n    // plugin implementation\n  },\n};\n\n// default export should be an array of plugins\nmodule.exports = [myPlugin];\n```\n\nor a function that accepts `serverless` instance and returns an array of plugins (see [issue #168](https://github.com/floydspace/serverless-esbuild/issues/168) for an example):\n\n```javascript\nmodule.exports = (serverless) =\u003e {\n  const myPlugin = {\n    name: 'my-plugin',\n    setup(build) {\n      // plugin implementation with `serverless` instance access\n      console.log('sls custom options', serverless.service.custom);\n    },\n  };\n\n  // an array of plugins must be returned\n  return [myPlugin];\n};\n```\n\n## Usage\n\n### Automatic compilation\n\nAs long as the plugin is properly installed, all regular Serverless operations `sls package`, `sls deploy`, `sls deploy function`, `sls invoke local`, `sls offline` will automatically compile using `serverless-esbuild`.\n\n### Specify a custom entrypoint for a function\n\nYou can specify a custom entrypoint for ESBuild by specifying the `esbuildEntrypoint` field in your function definition.\n```typescript\nexport const myLambdaFunction = {\n  handler: '/opt/nodejs/node_modules/my_custom_extension/handler.handler',\n  esbuildEntrypoint: './handler.main',\n};\n```\n\n### Serverless Offline\n\nThe plugin integrates very well with [serverless-offline](https://github.com/dherault/serverless-offline) to\nsimulate AWS Lambda and AWS API Gateway locally.\n\nAdd the plugins to your `serverless.yml` file and make sure that `serverless-esbuild`\nprecedes `serverless-offline` as the order is important:\n\n```yaml\nplugins: ...\n  - serverless-esbuild\n  ...\n  - serverless-offline\n  ...\n```\n\nRun `serverless offline` or `serverless offline start` to start the Lambda/API simulation.\n\nIn comparison to `serverless offline`, the `start` command will fire an `init` and a `end` lifecycle hook which is needed for `serverless-offline` and e.g. `serverless-dynamodb-local` to switch off resources (see below)\n\nAutomatic compilation is available while using the plugin with `serverless-offline`.\n\n```yml\ncustom:\n  esbuild:\n    watch:\n      pattern: ['src/**/*.ts'] # match only typescript files in src directory\n      ignore: ['temp/**/*']\n```\n\nNote: When overriding the ignore pattern, remember to ignore `.build` directory to avoid endless compilation.\n\n#### Serverless Dynamodb Local\n\nConfigure your service the same as mentioned above, but additionally add the `serverless-dynamodb-local`\nplugin as follows:\n\n```yaml\nplugins:\n  - serverless-esbuild\n  - serverless-dynamodb-local\n  - serverless-offline\n```\n\nRun `serverless offline start`.\n\n### Invoke Local\n\nThis plugin supports the Serverless [Invoke Local](https://www.serverless.com/framework/docs/providers/aws/cli-reference/invoke-local) functionality and will automatically compile the selected function.\n\n## External Tools\n\n- [`serverless-analyze-bundle-plugin`](https://github.com/adriencaccia/serverless-analyze-bundle-plugin): a plugin that allow users to analyze the bundle of a lambda\n\n## Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/floydspace\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5180700?v=4?s=70\" width=\"70px;\" alt=\"Victor Korzunin\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVictor Korzunin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-floydspace\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=floydspace\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=floydspace\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-floydspace\" title=\"Examples\"\u003e💡\u003c/a\u003e \u003ca href=\"#ideas-floydspace\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-floydspace\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-floydspace\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#plugin-floydspace\" title=\"Plugin/utility libraries\"\u003e🔌\u003c/a\u003e \u003ca href=\"#projectManagement-floydspace\" title=\"Project Management\"\u003e📆\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/pulls?q=is%3Apr+reviewed-by%3Afloydspace\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=floydspace\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"#tool-floydspace\" title=\"Tools\"\u003e🔧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/olup\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/13785588?v=4?s=70\" width=\"70px;\" alt=\"Loup Topalian\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLoup Topalian\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-olup\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=olup\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=olup\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#infra-olup\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-olup\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#plugin-olup\" title=\"Plugin/utility libraries\"\u003e🔌\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/samchungy\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18017094?v=4?s=70\" width=\"70px;\" alt=\"Sam Chung\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSam Chung\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-samchungy\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=samchungy\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=samchungy\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-samchungy\" title=\"Examples\"\u003e💡\u003c/a\u003e \u003ca href=\"#infra-samchungy\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-samchungy\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#plugin-samchungy\" title=\"Plugin/utility libraries\"\u003e🔌\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/pulls?q=is%3Apr+reviewed-by%3Asamchungy\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#tool-samchungy\" title=\"Tools\"\u003e🔧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/vamche\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/9653338?v=4?s=70\" width=\"70px;\" alt=\"Vamsi Dharmavarapu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVamsi Dharmavarapu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=vamche\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=vamche\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-vamche\" title=\"Examples\"\u003e💡\u003c/a\u003e \u003ca href=\"#infra-vamche\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-vamche\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/webdeveric\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1823514?v=4?s=70\" width=\"70px;\" alt=\"Eric\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEric\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=webdeveric\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-webdeveric\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#maintenance-webdeveric\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#infra-webdeveric\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/floydspace/serverless-esbuild/pulls?q=is%3Apr+reviewed-by%3Awebdeveric\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/codingnuclei\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37954566?v=4?s=70\" width=\"70px;\" alt=\"Chris\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChris\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=codingnuclei\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-codingnuclei\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://geutstudio.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/819446?v=4?s=70\" width=\"70px;\" alt=\"Martín Acosta\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMartín Acosta\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=tinchoz49\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/tonyt-adept\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/82844324?v=4?s=70\" width=\"70px;\" alt=\"Tony Tyrrell\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTony Tyrrell\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=tonyt-adept\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://mattjennings.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8703090?v=4?s=70\" width=\"70px;\" alt=\"Matt Jennings\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMatt Jennings\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=mattjennings\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/mishabruml\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/25983780?v=4?s=70\" width=\"70px;\" alt=\"Misha Bruml\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMisha Bruml\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=mishabruml\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.swarmion.dev/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/29537204?v=4?s=70\" width=\"70px;\" alt=\"François Farge\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFrançois Farge\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=fargito\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://reelcrafter.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12532733?v=4?s=70\" width=\"70px;\" alt=\"Sam Hulick\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSam Hulick\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=ffxsam\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/troyready\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1806418?v=4?s=70\" width=\"70px;\" alt=\"Troy Ready\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTroy Ready\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=troyready\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.subash.com.au/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1757714?v=4?s=70\" width=\"70px;\" alt=\"subash adhikari\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esubash adhikari\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=adikari\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/danionescu\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3269359?v=4?s=70\" width=\"70px;\" alt=\"Dan Ionescu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDan Ionescu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=danionescu\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gurushida\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/49831684?v=4?s=70\" width=\"70px;\" alt=\"gurushida\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003egurushida\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=gurushida\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/nickygb\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/23530107?v=4?s=70\" width=\"70px;\" alt=\"nickygb\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003enickygb\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=nickygb\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://twitter.com/capajj\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1305378?v=4?s=70\" width=\"70px;\" alt=\"Jiri Spac\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJiri Spac\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=capaj\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gavynriebau\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/11895736?v=4?s=70\" width=\"70px;\" alt=\"gavynriebau\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003egavynriebau\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=gavynriebau\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/adriencaccia\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/19605940?v=4?s=70\" width=\"70px;\" alt=\"Adrien Cacciaguerra\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdrien Cacciaguerra\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=adriencaccia\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://riotz.works/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/31102213?v=4?s=70\" width=\"70px;\" alt=\"lulzneko\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003elulzneko\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=lulzneko\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://u-ne.co/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/603523?v=4?s=70\" width=\"70px;\" alt=\"AOKI Yuuto\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAOKI Yuuto\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=uneco\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ThomasAribart\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/38014240?v=4?s=70\" width=\"70px;\" alt=\"Thomas Aribart\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eThomas Aribart\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-ThomasAribart\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/koryhutchison\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22381273?v=4?s=70\" width=\"70px;\" alt=\"Kory Hutchison\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKory Hutchison\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=koryhutchison\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-koryhutchison\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.chrishutchinson.me\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1573022?v=4?s=70\" width=\"70px;\" alt=\"Chris Hutchinson\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChris Hutchinson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=chrishutchinson\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://fredrikmollerstrand.se\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12793?v=4?s=70\" width=\"70px;\" alt=\"Fredrik Möllerstrand\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFredrik Möllerstrand\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=fredrik\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://thisisfashion.tv\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/19397354?v=4?s=70\" width=\"70px;\" alt=\"Sander Kooger\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSander Kooger\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=sanderkooger\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://caffeinatedcoding.wordpress.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1588262?v=4?s=70\" width=\"70px;\" alt=\"Adam Swift\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdam Swift\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=Gleeble\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/fm-sz\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/119663527?v=4?s=70\" width=\"70px;\" alt=\"Florian Mayer\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFlorian Mayer\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=fm-sz\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ZachLeviPixel\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/131263652?v=4?s=70\" width=\"70px;\" alt=\"Zach Levi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZach Levi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/floydspace/serverless-esbuild/commits?author=ZachLeviPixel\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nInspired by [serverless-plugin-typescript](https://github.com/prisma-labs/serverless-plugin-typescript) and [serverless-webpack](https://github.com/serverless-heaven/serverless-webpack)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloydspace%2Fserverless-esbuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffloydspace%2Fserverless-esbuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloydspace%2Fserverless-esbuild/lists"}