Bundle with Browserify, transpile and minify with Babel automatically to your NodeJS runtime compatible JavaScript.
This plugin is a child of the great serverless-optimizer-plugin. Kudos!
Requirements:
Install via npm in the root of your Serverless service:
npm install serverless-plugin-optimize --save-dev
plugins
array in your Serverless serverless.yml
:plugins:
- serverless-plugin-optimize
package:
individually: true
deploy
and invoke local
commandsConfiguration options can be set globally in custom
property and inside each function in optimize
property. Function options overwrite global options.
false
) - When debug is set to true
it won't remove prefix
folder and will generate debug output at the end of package creation.['aws-sdk']
) - Array of modules or paths that will be excluded.['.js', '.json']
) - Array of optional extra extensions modules that will be included.node_modules
instead of being loaded into browserify bundle. Note that external modules will require that its dependencies are within its directory and this plugin will not do this for you. e.g. you should execute the following: (cd external_modules/some-module && npm i --prod
)node_modules
.false
) - When global is set to true
transforms will run inside node_modules
.true
) - When minify is set to false
Babili preset won't be added._optimize
) - Folder to output bundle.['env']
) - Array of Babel presets.custom:
optimize:
debug: true
exclude: ['ajv']
extensions: ['.extension']
external: ['sharp']
externalPaths:
sharp: 'external_modules/sharp'
global: true
ignore: ['ajv']
includePaths: ['bin/some-binary-file']
minify: false
prefix: 'dist'
plugins: ['transform-decorators-legacy']
presets: ['es2017']
true
) - When optimize is set to false
the function won't be optimized.functions:
hello:
optimize: false
node_modules
instead of being loaded into browserify bundle. Note that external modules will require it's dependencies within it's directory. (cd external_modules/some-module && npm i --prod
)node_modules
.true
transforms will run inside node_modules
.false
Babili preset won't be added.functions:
hello:
optimize:
exclude: ['ajv']
extensions: ['.extension']
external: ['sharp']
externalPaths:
sharp: 'external_modules/sharp'
global: false
ignore: ['ajv']
includePaths: ['bin/some-binary-file']
minify: false
plugins: ['transform-decorators-legacy']
presets: ['es2017']
There is a difference you must know between calling files locally and after optimization with includePaths
.
When Optimize packages your functions, it bundles them inside /${prefix}/${functionName}/...
and when your lambda function runs in AWS it will run from root /var/task/${prefix}/${functionName}/...
and your CWD
will be /var/task/
.
Solution in #32 by @hlegendre. path.resolve(process.env.LAMBDA_TASK_ROOT, ${prefix}, process.env.AWS_LAMBDA_FUNCTION_NAME, ${includePathFile})
.
Help us making this plugin better and future proof.
npm install
git checkout -b new_feature
npm run lint
This software is released under the MIT license. See the license file for more details.
serverless-plugin-typescript Originally developed by Prisma Labs, now maintained in scope of Serverless, Inc Serverless plugin for zero-config Typescript support Features Zero-config: Works out of the
Deploy AppSync API's in minutes using this Serverless plugin. Getting Started Be sure to check out all that AWS AppSync has to offer. Here are a few resources to help you understand everything needed
Serverless WarmUp Plugin ♨ Keep your lambdas warm during winter. Requirements: Serverless v1.12.x or higher (Recommended v1.33.x or higher because of this). AWS provider How it works WarmUp solves col
Serverless AWS Alerts Plugin A Serverless plugin to easily add CloudWatch alarms to functions Installation npm i serverless-plugin-aws-alertsORyarn add --dev serverless-plugin-aws-alerts Usage Basic U
Serverless Plugin Canary Deployments A Serverless plugin to implement canary deployments of Lambda functions, making use of the traffic shifting feature in combination with AWS CodeDeploy Contents Ins
云原生应用开发 回顾过去二十年,应用开发有以下几个显著的特点: 以应用服务器为中心,典型应用服务器包括 tomcat,JBoss,WebLogic,WebSphere,应用服务器提供了丰富的技术堆栈和系统构建范式,对应用开发人员友好 JavaEE/Spring,JavaEE/Spring 是应用开发的基本技能,这项技能有广泛的开发者基础,过去二十年中 JavaEE/Spring 的技术发展/版本的