serverless-bundle
serverless-webpack
serverless-bundle | serverless-webpack | |
---|---|---|
3 | 5 | |
531 | 1,719 | |
0.2% | 0.1% | |
7.4 | 9.3 | |
5 months ago | 4 days ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
serverless-bundle
-
Migrating a classic Express.js to Serverless Framework
As you can see in the above handler.js file, we're getting CommonJS instead of modern JavaScript or TypeScript. To get these, you need webpack or some other bundler. serverless-webpack exists if you want full control over your ecosystem, but there is also serverless-bundle that gives you a set of reasonable defaults on webpack 4 out of the box. We opted into this option to get us started quickly.
-
Announcing a Serverless Microservices Template with GraphQL
One of the most important aspects of serverless development is keeping an eye on your bundle sizes and to reduce cold start times on Lambda. Keeping this in mind, the template utilizes serverless-esbuild and serverless-analyze-bundle-plugin to provide function analysis out-of-the-box. I opted for serverless-esbuild over serverless-bundle for a few reasons:
-
Structuring a Real-World Serverless App
We use the package.json at the project root to install the dependencies that will be shared across all the services. For example, if you are using serverless-bundle to optimally package the Lambda functions, or using the serverless-plugin-warmup to reduce cold starts, they should be installed at the root level. It doesn’t make sense to install them in each and every single service.
serverless-webpack
-
Using pure ESM npm packages in serverless-webpack bundles
Since I was using serverless-webpack along with Prisma's serverless-webpack-prisma helper, this meant a bit of extra Webpack config setup to get it all using the same module syntax without the usual dreaded 'Unexpected token export' or import error from Node.
-
Migrating a classic Express.js to Serverless Framework
As you can see in the above handler.js file, we're getting CommonJS instead of modern JavaScript or TypeScript. To get these, you need webpack or some other bundler. serverless-webpack exists if you want full control over your ecosystem, but there is also serverless-bundle that gives you a set of reasonable defaults on webpack 4 out of the box. We opted into this option to get us started quickly.
-
Running a scalable & reliable GraphQL endpoint with Serverless
cd app-backend/dynamodb yarn install To test the GraphQL endpoint locally on my machine, I’m using these three plugins for the Serverless Framework: Serverless Offline, Serverless Webpack and Serverless DynamoDB Local.
-
How we keep our Serverless deploy times short and avoid headaches
Serverless Webpack
-
Package your NodeJS Lambda functions individually with esbuild for faster cold-start times
The serverless framework supports an excellent workflow with the serverless-webpack plugin to package your functions individually with webpack. For AWS SAM, it's probably worth checking out the aws-sam-webpack-plugin, but I've found it far simpler to configure esbuild to perform the same task.
What are some alternatives?
serverless-esbuild - 💨 A Serverless framework plugin to bundle JavaScript and TypeScript with extremely fast esbuild
esbuild - An extremely fast bundler for the web
serverless-plugin-warmup - Keep your lambdas warm during winter. ♨ [Moved to: https://github.com/juanjoDiaz/serverless-plugin-warmup]
serverless-jetpack - A faster JavaScript packager for Serverless applications.
github-action - :zap::octocat: A Github Action for deploying with the Serverless Framework
serverless-plugin-tree-shake - Shake the dependency tree and only package files needed
PatrickJS-starter - MFE Starter
lambda-layer-sharp - An AWS Lambda Layer for the Sharp node module. Automatically published on updates.
elasticmq - In-memory message queue with an Amazon SQS-compatible interface. Runs stand-alone or embedded.
chrome-aws-lambda - Chromium Binary for AWS Lambda and Google Cloud Functions
lerna - :dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.
Knex - A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.