{"_id":"@danielwaghorn/serverless-esbuild","name":"@danielwaghorn/serverless-esbuild","dist-tags":{"latest":"0.0.0-development"},"versions":{"0.0.0-development":{"name":"@danielwaghorn/serverless-esbuild","version":"0.0.0-development","description":"Serverless plugin for zero-config JavaScript and TypeScript code bundling using extremely fast esbuild","keywords":["serverless","serverless plugin","plugin","esbuild","aws lambda","aws","lambda","bundler","minifier","typescript"],"homepage":"https://floydspace.github.io/serverless-esbuild","bugs":{"url":"https://github.com/floydspace/serverless-esbuild/issues"},"repository":{"type":"git","url":"git+https://github.com/floydspace/serverless-esbuild.git"},"license":"MIT","author":{"name":"Victor Korzunin","url":"https://floydspace.github.io"},"main":"dist/index.js","scripts":{"prepublishOnly":"npm run build","precommit":"npm run test","prebuild":"npm run clean","build":"tsc -p ./tsconfig.build.json","dev":"npm run build -- --watch","typecheck":"tsc --noEmit","clean":"rm -rf ./dist","pretest":"npm run lint","test":"jest --passWithNoTests","test:e2e":"make -f e2e/Makefile","lint":"eslint .","prepare":"husky install"},"lint-staged":{"*.ts":["prettier --write","eslint"]},"prettier":"@floydspace/prettier-config","dependencies":{"acorn":"^8.8.1","acorn-walk":"^8.2.0","anymatch":"^3.1.3","archiver":"^5.3.1","bestzip":"^2.2.1","chokidar":"^3.5.3","execa":"^5.1.1","fp-ts":"^2.13.1","fs-extra":"^11.1.0","globby":"^11.0.4","p-map":"^4.0.0","ramda":"^0.28.0","semver":"^7.3.8"},"devDependencies":{"@commitlint/cli":"^17.3.0","@commitlint/config-conventional":"^17.3.0","@floydspace/eslint-config":"^1.36.5","@floydspace/prettier-config":"^1.36.4","@types/archiver":"^5.3.1","@types/fs-extra":"^9.0.13","@types/jest":"^29.2.4","@types/mock-fs":"^4.13.1","@types/node":"^18.11.18","@types/ramda":"^0.28.20","@types/semver":"^7.3.13","@types/serverless":"^3.12.9","all-contributors-cli":"^6.24.0","esbuild":"^0.16.17","esbuild-node-externals":"^1.6.0","eslint":"^8.30.0","extract-zip":"^2.0.1","husky":"^8.0.2","jest":"^29.3.1","lint-staged":"^13.1.0","mock-fs":"^5.2.0","mock-spawn":"^0.2.6","prettier":"^2.8.1","semantic-release":"^19.0.5","ts-jest":"^29.0.3","typescript":"^4.9.4"},"peerDependencies":{"esbuild":">=0.8 <0.18","esbuild-node-externals":"^1.0.0"},"peerDependenciesMeta":{"esbuild-node-externals":{"optional":true}},"engines":{"node":">=14.18.0"},"types":"./dist/index.d.ts","gitHead":"d2ba1bf33176fff0088d58b135f685102ca3a5d9","_id":"@danielwaghorn/serverless-esbuild@0.0.0-development","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Tz4bsCgC96npTya+qJe61C5Y8hyrvLVoTXapgoi9HdTNipSgL9mnjZMuoCi/FNqLmW1z9vjOvOLeNi1U5lgdBw==","shasum":"bc2d96114f8f70f13cb6da72c2abff6fce69fe3a","tarball":"https://registry.npmjs.org/@danielwaghorn/serverless-esbuild/-/serverless-esbuild-0.0.0-development.tgz","fileCount":71,"unpackedSize":230444,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHfKbnlUEwk2o+NA+lIXpwKlabt4EApQWcecsUlw1u1hAiBTADIAVw9mnWY4HQzXizaFKcVaLSs8yxfhtIpsG3C6xg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDK0QACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwKw/+LYWBtkU4U2jPYVLKBdnwXwnqS0BDtYX6wt3IIxwbwaATAIUW\r\nFp8MmyzSIBWNUY6YYMknrTSi+UwX3Aborj+JZRAQMeMAMeSdpRSRitZZJZoF\r\nLxgiNHYWia2zA4SfAhbV1TgHjH7GqRpaIhEofVsW8e+2H9yVZV4ZY6/i4L6H\r\n0wqSrR+OK75J9ZXi4p8DHvfbVP+htdHFfI0cTzLzhzGWy2lRKV3ggg1LQbaF\r\nfYBfWwUmbvCq/q7VVr47VfEqr1SMtrxeSIDfiRtOvx0q6B4VQfP41LRGX8al\r\nib1ioZlOBagvUuVNs6Aejbl4lp+VbhDhwJ7vgDgZ2Y+73ZrMvyHoTHr3YsOx\r\n0bphkSE25d+jFWrMDRSZZbRO1175IIKZI/XGkARWeNurHTmm8V9BuDgMimJ/\r\n07Qq0B4ALV2brunUknvYhZHSwjSJmNGq7SPJueVmBKp3u2K3pp2P2R97iJfx\r\nhoKvNZsW1nyfdGABsLMl5f7MFraLZ0NOLjH6yqojcx5qaFwNdvS5GNzhOYWw\r\nSF7DM6TppF+yj7Y5tppms8lLb8yOfMW07Bcg6e/iwPJce3Mf0rIJWLoSQhf3\r\ncVA7waRN0agOXF4lQqh18uT4P0VmE9lSj/USonkJTdWU+mHRHACtPNGtRgT1\r\nXyMg8ofEGohKVtL+LoPmXv9qZnycj1UXzlQ=\r\n=gqcu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"danielwaghorn","email":"daniel@daniel-waghorn.com"},"directories":{},"maintainers":[{"name":"danielwaghorn","email":"daniel@daniel-waghorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-esbuild_0.0.0-development_1678552335812_0.6750475250604473"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-11T16:32:15.739Z","0.0.0-development":"2023-03-11T16:32:15.987Z","modified":"2023-03-11T16:32:16.269Z"},"maintainers":[{"name":"danielwaghorn","email":"daniel@daniel-waghorn.com"}],"description":"Serverless plugin for zero-config JavaScript and TypeScript code bundling using extremely fast esbuild","homepage":"https://floydspace.github.io/serverless-esbuild","keywords":["serverless","serverless plugin","plugin","esbuild","aws lambda","aws","lambda","bundler","minifier","typescript"],"repository":{"type":"git","url":"git+https://github.com/floydspace/serverless-esbuild.git"},"author":{"name":"Victor Korzunin","url":"https://floydspace.github.io"},"bugs":{"url":"https://github.com/floydspace/serverless-esbuild/issues"},"license":"MIT","readme":"# 💨 serverless-esbuild\n\n[Serverless Framework](https://www.amazon.com/gp/search?ie=UTF8&tag=floydspace-20&linkCode=ur2&linkId=3c35aeea87e6a2d913a5f2110d6a2620&camp=1789&creative=9325&index=books&keywords=Serverless%20Framework) plugin for zero-config JavaScript and TypeScript code bundling using promising fast & 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&label=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- 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) & [`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 zip and bundle operations to run at once (This can be memory intensive). eg. `10`. _NOTE_: This will produce slower builds.                       | `Infinity`                                          |\n| `disableIncremental`  | Disables the use of esbuild `incremental` compilation.                                                                                                                     | `false`                                             |\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\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| `incremental` | N/A        | Cannot be overridden. Use `disableIncremental` to disable it           |\n| `outDir`      | N/A        | Cannot be overridden                                                   |\n| `platform`    | `'node'`   | Set `format` to `esm` to enable ESM support                            |\n| `target`      | `'node12'` | 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\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| `nodejs18.x` | `node18` |\n| `nodejs16.x` | `node16` |\n| `nodejs14.x` | `node14` |\n| `nodejs12.x` | `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) => ({\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) => {\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### 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<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\"><a href=\"https://github.com/floydspace\"><img src=\"https://avatars.githubusercontent.com/u/5180700?v=4?s=70\" width=\"70px;\" alt=\"Victor Korzunin\"/><br /><sub><b>Victor Korzunin</b></sub></a><br /><a href=\"#question-floydspace\" title=\"Answering Questions\">💬</a> <a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=floydspace\" title=\"Code\">💻</a> <a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=floydspace\" title=\"Documentation\">📖</a> <a href=\"#example-floydspace\" title=\"Examples\">💡</a> <a href=\"#ideas-floydspace\" title=\"Ideas, Planning, & Feedback\">🤔</a> <a href=\"#infra-floydspace\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"#maintenance-floydspace\" title=\"Maintenance\">🚧</a> <a href=\"#plugin-floydspace\" title=\"Plugin/utility libraries\">🔌</a> <a href=\"#projectManagement-floydspace\" title=\"Project Management\">📆</a> <a href=\"https://github.com/floydspace/serverless-esbuild/pulls?q=is%3Apr+reviewed-by%3Afloydspace\" title=\"Reviewed Pull Requests\">👀</a> <a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=floydspace\" title=\"Tests\">⚠️</a> <a href=\"#tool-floydspace\" title=\"Tools\">🔧</a></td>\n      <td align=\"center\"><a href=\"https://github.com/olup\"><img src=\"https://avatars.githubusercontent.com/u/13785588?v=4?s=70\" width=\"70px;\" alt=\"Loup Topalian\"/><br /><sub><b>Loup Topalian</b></sub></a><br /><a href=\"#question-olup\" title=\"Answering Questions\">💬</a> <a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=olup\" title=\"Code\">💻</a> <a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=olup\" title=\"Documentation\">📖</a> <a href=\"#infra-olup\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"#maintenance-olup\" title=\"Maintenance\">🚧</a> <a href=\"#plugin-olup\" title=\"Plugin/utility libraries\">🔌</a></td>\n      <td align=\"center\"><a href=\"https://github.com/samchungy\"><img src=\"https://avatars.githubusercontent.com/u/18017094?v=4?s=70\" width=\"70px;\" alt=\"Sam Chung\"/><br /><sub><b>Sam Chung</b></sub></a><br /><a href=\"#question-samchungy\" title=\"Answering Questions\">💬</a> <a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=samchungy\" title=\"Code\">💻</a> <a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=samchungy\" title=\"Documentation\">📖</a> <a href=\"#example-samchungy\" title=\"Examples\">💡</a> <a href=\"#infra-samchungy\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"#maintenance-samchungy\" title=\"Maintenance\">🚧</a> <a href=\"#plugin-samchungy\" title=\"Plugin/utility libraries\">🔌</a> <a href=\"https://github.com/floydspace/serverless-esbuild/pulls?q=is%3Apr+reviewed-by%3Asamchungy\" title=\"Reviewed Pull Requests\">👀</a> <a href=\"#tool-samchungy\" title=\"Tools\">🔧</a></td>\n      <td align=\"center\"><a href=\"https://github.com/vamche\"><img src=\"https://avatars.githubusercontent.com/u/9653338?v=4?s=70\" width=\"70px;\" alt=\"Vamsi Dharmavarapu\"/><br /><sub><b>Vamsi Dharmavarapu</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=vamche\" title=\"Code\">💻</a> <a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=vamche\" title=\"Documentation\">📖</a> <a href=\"#example-vamche\" title=\"Examples\">💡</a> <a href=\"#infra-vamche\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"#maintenance-vamche\" title=\"Maintenance\">🚧</a></td>\n      <td align=\"center\"><a href=\"https://github.com/webdeveric\"><img src=\"https://avatars.githubusercontent.com/u/1823514?v=4?s=70\" width=\"70px;\" alt=\"Eric\"/><br /><sub><b>Eric</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=webdeveric\" title=\"Code\">💻</a> <a href=\"#ideas-webdeveric\" title=\"Ideas, Planning, & Feedback\">🤔</a> <a href=\"#maintenance-webdeveric\" title=\"Maintenance\">🚧</a> <a href=\"#infra-webdeveric\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"https://github.com/floydspace/serverless-esbuild/pulls?q=is%3Apr+reviewed-by%3Awebdeveric\" title=\"Reviewed Pull Requests\">👀</a></td>\n      <td align=\"center\"><a href=\"https://github.com/codingnuclei\"><img src=\"https://avatars.githubusercontent.com/u/37954566?v=4?s=70\" width=\"70px;\" alt=\"Chris\"/><br /><sub><b>Chris</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=codingnuclei\" title=\"Code\">💻</a> <a href=\"#ideas-codingnuclei\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\"><a href=\"https://geutstudio.com/\"><img src=\"https://avatars.githubusercontent.com/u/819446?v=4?s=70\" width=\"70px;\" alt=\"Martín Acosta\"/><br /><sub><b>Martín Acosta</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=tinchoz49\" title=\"Code\">💻</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\"><a href=\"https://github.com/tonyt-adept\"><img src=\"https://avatars.githubusercontent.com/u/82844324?v=4?s=70\" width=\"70px;\" alt=\"Tony Tyrrell\"/><br /><sub><b>Tony Tyrrell</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=tonyt-adept\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://mattjennings.io/\"><img src=\"https://avatars.githubusercontent.com/u/8703090?v=4?s=70\" width=\"70px;\" alt=\"Matt Jennings\"/><br /><sub><b>Matt Jennings</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=mattjennings\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://github.com/mishabruml\"><img src=\"https://avatars.githubusercontent.com/u/25983780?v=4?s=70\" width=\"70px;\" alt=\"Misha Bruml\"/><br /><sub><b>Misha Bruml</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=mishabruml\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://www.swarmion.dev/\"><img src=\"https://avatars.githubusercontent.com/u/29537204?v=4?s=70\" width=\"70px;\" alt=\"François Farge\"/><br /><sub><b>François Farge</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=fargito\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://reelcrafter.com/\"><img src=\"https://avatars.githubusercontent.com/u/12532733?v=4?s=70\" width=\"70px;\" alt=\"Sam Hulick\"/><br /><sub><b>Sam Hulick</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=ffxsam\" title=\"Documentation\">📖</a></td>\n      <td align=\"center\"><a href=\"https://github.com/troyready\"><img src=\"https://avatars.githubusercontent.com/u/1806418?v=4?s=70\" width=\"70px;\" alt=\"Troy Ready\"/><br /><sub><b>Troy Ready</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=troyready\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"http://www.subash.com.au/\"><img src=\"https://avatars.githubusercontent.com/u/1757714?v=4?s=70\" width=\"70px;\" alt=\"subash adhikari\"/><br /><sub><b>subash adhikari</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=adikari\" title=\"Code\">💻</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\"><a href=\"https://github.com/danionescu\"><img src=\"https://avatars.githubusercontent.com/u/3269359?v=4?s=70\" width=\"70px;\" alt=\"Dan Ionescu\"/><br /><sub><b>Dan Ionescu</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=danionescu\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://github.com/gurushida\"><img src=\"https://avatars.githubusercontent.com/u/49831684?v=4?s=70\" width=\"70px;\" alt=\"gurushida\"/><br /><sub><b>gurushida</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=gurushida\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://github.com/nickygb\"><img src=\"https://avatars.githubusercontent.com/u/23530107?v=4?s=70\" width=\"70px;\" alt=\"nickygb\"/><br /><sub><b>nickygb</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=nickygb\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://twitter.com/capajj\"><img src=\"https://avatars.githubusercontent.com/u/1305378?v=4?s=70\" width=\"70px;\" alt=\"Jiri Spac\"/><br /><sub><b>Jiri Spac</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=capaj\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://github.com/gavynriebau\"><img src=\"https://avatars.githubusercontent.com/u/11895736?v=4?s=70\" width=\"70px;\" alt=\"gavynriebau\"/><br /><sub><b>gavynriebau</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=gavynriebau\" title=\"Documentation\">📖</a></td>\n      <td align=\"center\"><a href=\"https://github.com/adriencaccia\"><img src=\"https://avatars.githubusercontent.com/u/19605940?v=4?s=70\" width=\"70px;\" alt=\"Adrien Cacciaguerra\"/><br /><sub><b>Adrien Cacciaguerra</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=adriencaccia\" title=\"Documentation\">📖</a></td>\n      <td align=\"center\"><a href=\"https://riotz.works/\"><img src=\"https://avatars.githubusercontent.com/u/31102213?v=4?s=70\" width=\"70px;\" alt=\"lulzneko\"/><br /><sub><b>lulzneko</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=lulzneko\" title=\"Code\">💻</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\"><a href=\"https://u-ne.co/\"><img src=\"https://avatars.githubusercontent.com/u/603523?v=4?s=70\" width=\"70px;\" alt=\"AOKI Yuuto\"/><br /><sub><b>AOKI Yuuto</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=uneco\" title=\"Code\">💻</a></td>\n      <td align=\"center\"><a href=\"https://github.com/ThomasAribart\"><img src=\"https://avatars.githubusercontent.com/u/38014240?v=4?s=70\" width=\"70px;\" alt=\"Thomas Aribart\"/><br /><sub><b>Thomas Aribart</b></sub></a><br /><a href=\"#ideas-ThomasAribart\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\"><a href=\"https://github.com/koryhutchison\"><img src=\"https://avatars.githubusercontent.com/u/22381273?v=4?s=70\" width=\"70px;\" alt=\"Kory Hutchison\"/><br /><sub><b>Kory Hutchison</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=koryhutchison\" title=\"Code\">💻</a> <a href=\"#ideas-koryhutchison\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\"><a href=\"https://www.chrishutchinson.me\"><img src=\"https://avatars.githubusercontent.com/u/1573022?v=4?s=70\" width=\"70px;\" alt=\"Chris Hutchinson\"/><br /><sub><b>Chris Hutchinson</b></sub></a><br /><a href=\"https://github.com/floydspace/serverless-esbuild/commits?author=chrishutchinson\" title=\"Code\">💻</a></td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\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","readmeFilename":"README.md"}