{"id":22590,"library":"vite-plugin-aws-lambda","title":"vite-plugin-aws-lambda","description":"Vite plugin that simplifies building AWS Lambda functions by configuring Vite for library mode: defaults output to ES modules with .mjs extension, externalizes all Node.js built-in modules, and optionally zips the output directory into a Lambda-ready deployment package. Current version 1.0.4 requires Vite >=5.2.7. Key differentiators: zero-config setup for Vite users, handles common Lambda packaging tasks (externalization, zip) automatically, and ships TypeScript types. Release cadence appears low; no major breaking changes documented yet.","status":"active","version":"1.0.4","language":"javascript","source_language":"en","source_url":"https://github.com/Shakeskeyboarde/vite-plugin-aws-lambda","tags":["javascript","typescript"],"install":[{"cmd":"npm install vite-plugin-aws-lambda","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-aws-lambda","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-aws-lambda","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; required as a Vite plugin","package":"vite","optional":false}],"imports":[{"note":"Default export only; no named export 'lambda' exists.","wrong":"import { lambda } from 'vite-plugin-aws-lambda';","symbol":"default exported plugin function","correct":"import lambda from 'vite-plugin-aws-lambda';"},{"note":"CommonJS usage requires .default due to ESM/CJS interop.","wrong":"const lambda = require('vite-plugin-aws-lambda');","symbol":"default (CommonJS)","correct":"const lambda = require('vite-plugin-aws-lambda').default;"},{"note":"Types are included; import from package root.","wrong":"import lambda from 'vite-plugin-aws-lambda/dist/index.js';","symbol":"TypeScript usage","correct":"import lambda from 'vite-plugin-aws-lambda';"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite';\nimport lambda from 'vite-plugin-aws-lambda';\n\nexport default defineConfig({\n  plugins: [lambda({\n    outFilename: 'my-function.zip',\n    quiet: false,\n  })],\n  build: {\n    lib: {\n      entry: 'src/lambda.ts',\n    },\n  },\n});","lang":"typescript","description":"Minimal Vite config integrating the plugin with a library entry for AWS Lambda deployment."},"warnings":[{"fix":"Ensure lambda() is the last item in the plugins array.","message":"Plugin must be placed last in the plugins array to avoid issues with other plugins modifying build config.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use absolute or outDir-relative paths for outFilename.","message":"Relative paths in outFilename are resolved from config.outDir, not config.root.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade Vite to >=5.2.7 or use an older version of the plugin (if available).","message":"If using older Vite <5.2.7, the plugin will not work due to peer dependency requirement.","severity":"deprecated","affected_versions":"<1.0.0"},{"fix":"Review changelog before upgrading.","message":"No breaking changes documented yet; future versions may change default zip behavior.","severity":"breaking","affected_versions":"=1.0.4"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Set build.lib.entry in your Vite config.","cause":"Using the plugin without specifying a library entry in build.lib.","error":"Error: \"\"vite-plugin-aws-lambda\"\" transforms are not supported."},{"fix":"Use default import: import lambda from 'vite-plugin-aws-lambda'.","cause":"Named import instead of default import: import { lambda } from 'vite-plugin-aws-lambda'.","error":"TypeError: lambda is not a function"},{"fix":"Run npm install vite-plugin-aws-lambda --save-dev.","cause":"Missing dependency or incorrect package name.","error":"Module not found: Error: Can't resolve 'vite-plugin-aws-lambda'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}