You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A serverless plugin to automatically bundle your functions individually with webpack.
Compared to other webpack/optimization plugins, this plugin has the following features/advantages:
Zero configuration
Supports sls package, sls deploy and sls deploy function
Functions are packaged individually, resulting in Lambda deployment packages (zip) containing only the code needed to run the function (no bloat)
Uses an array of webpack configurations instead of one webpack configuration with multiple entry points, resulting in better tree-shaking because dependencies are isolated (see Tree shaking).
The plugin will add '**' as an exclude at the service level and each bundled javascript file as an include at the function level. Original includes and excludes specified in your serverless.yml are preserved.
Webpack configuration
By default the plugin will look for a webpack.config.js in the service root. You can specify a custom config file in your serverless.yml:
custom:
webpack:
config: ./path/to/config/file.jsseries: true # run Webpack in series, useful for large projects. Defaults to false.
The entry and output objects are set by the plugin.
Example of webpack config:
module.exports={// entry: set by the plugin// output: set by the plugintarget: 'node',externals: [/aws-sdk/,// Available on AWS Lambda],module: {rules: [{test: /\.js$/,exclude: /node_modules/,loader: 'babel-loader',query: {presets: [['env',{target: {node: '6.10'},// Node version on AWS LambdauseBuiltIns: true,modules: false,loose: true,},],'stage-0',],},},],},};