next-aws-lambda-webpack-plugin
v0.2.8
Published
Pack a compat layer between next.js serverless page and AWS Lambda.
Downloads
107
Maintainers
Readme
next-aws-lambda-webpack-plugin
This plugin will generate aws-lambda compatible function for each Next.JS pages. After that, you can to use theses functions with the AWS cloudformation template or/and AWS serverless template.
This plugin use next-aws-lambda package, create by and for the serverless community :heart:.
:point_right: Here a full implementation example (step by step)

Requirement
- Use Next.JS CLI for build your project (
next build)- The configuration file next.config.js must use
target: 'serverless'.
- The configuration file next.config.js must use
- Use SAM or AWS CLI cloudformation for your deployment.
Next.JS compatibility
| Next.JS Version | Tests |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| canary | |
| latest |
|
| 10.0.5 |
|
| 9.5.0 |
|
| 9.4.0 |
|
Install
Use npm :
npm install --save-dev next-aws-lambda-webpack-pluginAdd the plugin to the Next.JS (next.config.js) configuration file.
| Plugin Arguments | Required | Description | | ---------------- | :------: | --------------------------------------------------------------------------------------------------------------------------------------------- | | nextJsConfig | YES | Next.JS config retrieve from#next.config.js, see example below. | | options | NO | see options |
Example:
const GenerateAwsLambda = require('next-aws-lambda-webpack-plugin');
module.exports = {
target: 'serverless',
webpack: (config, nextConfig) => {
config.plugins.push(new GenerateAwsLambda(nextConfig));
return config
},
};Options
| Plugin Options | Required | Default | Description | | -------------- | -------- | ------------ | ----------------------------------------------------------------------------------------- | | distDir | No | "out_lambda" | Custom lambda build directory. | | prefix | No | "l" | Prefix apply to each lambda directory. | | pages | No | [] | A whitelist who specified SSR pages. If empty array is specified all pages are generated. |
Example:
//...snip...
new AwsLambdaGenerator(nextConfig,{
distDir: 'lambda_build'
})
//...snip...Architecture Example
:point_right: Go to example

