{"id":22354,"library":"serverless-esbuild","title":"serverless-esbuild","description":"Serverless Framework plugin for zero-config JavaScript and TypeScript bundling using esbuild. Current stable version is 1.57.1 (April 2026), released continuously with semantic release. It automatically bundles and minifies Lambda functions with esbuild, supports TypeScript and JavaScript, integrates with sls package/deploy/deploy function, serverless-offline, and invoke local. Key differentiator: zero-config, extremely fast (esbuild), and supports multiple providers (AWS, Google Cloud, etc.) with runtime support for Node.js 18+. Requires peer dependencies esbuild (0.8 - 0.28) and esbuild-node-externals (^1.0.0). Ships TypeScript types.","status":"active","version":"1.57.1","language":"javascript","source_language":"en","source_url":"https://github.com/floydspace/serverless-esbuild","tags":["javascript","serverless","serverless plugin","plugin","esbuild","aws lambda","aws","lambda","bundler","typescript"],"install":[{"cmd":"npm install serverless-esbuild","lang":"bash","label":"npm"},{"cmd":"yarn add serverless-esbuild","lang":"bash","label":"yarn"},{"cmd":"pnpm add serverless-esbuild","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"core bundler - peer dependency","package":"esbuild","optional":false},{"reason":"automatically externalize node_modules - peer dependency","package":"esbuild-node-externals","optional":false}],"imports":[{"note":"Plugin is loaded by name in serverless.yml. No import in JS code.","wrong":"plugins:\n  - serverlessEsbuild","symbol":"serverless-esbuild","correct":"plugins:\n  - serverless-esbuild"}],"quickstart":{"code":"// Install dependencies\n// npm install -D serverless-esbuild esbuild esbuild-node-externals\n\n// serverless.yml\nservice: my-service\nprovider:\n  name: aws\n  runtime: nodejs18.x\nplugins:\n  - serverless-esbuild\nfunctions:\n  hello:\n    handler: src/handler.hello\n    events:\n      - http:\n          path: hello\n          method: get\n\n// src/handler.ts\nexport const hello = async (event: any) => {\n  return {\n    statusCode: 200,\n    body: JSON.stringify({ message: 'Hello from esbuild!' }),\n  };\n};","lang":"typescript","description":"Minimal serverless.yml setup with a TypeScript handler bundled by serverless-esbuild."},"warnings":[{"fix":"Upgrade Node.js to version 18 or higher.","message":"Node.js 18+ required","severity":"breaking","affected_versions":">=1.54.0"},{"fix":"Ensure esbuild version is 0.8-0.28. For earlier versions, esbuild 0.8-0.25 is supported.","message":"esbuild peer dependency range updated","severity":"breaking","affected_versions":">=1.56.0"},{"fix":"Upgrade Node.js to 18+.","message":"Dropped Node.js 14 and 16 support","severity":"breaking","affected_versions":">=1.54.0"},{"fix":"Upgrade to 1.54.5+ which contains a fix for the memory leak.","message":"Memory leak when skipRebuild is true","severity":"gotcha","affected_versions":">=1.50.0 <1.54.5"},{"fix":"To include specific node_modules in the bundle, add them to the 'external' option or override packager options.","message":"Automatic externalization of all node_modules via esbuild-node-externals","severity":"gotcha","affected_versions":">=0?"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"npm install -D esbuild","cause":"esbuild not installed or not in node_modules","error":"Error: Cannot find module 'esbuild'"},{"fix":"Upgrade Node.js to v18 or later","cause":"Running on older Node.js version","error":"Error: serverless-esbuild expects Node >= 18"},{"fix":"Update esbuild to a supported version (0.8 - 0.28)","cause":"esbuild version incompatible with serverless-esbuild","error":"TypeError: Cannot read properties of undefined (reading 'includes')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}