---
title: "An easier way to take Express.js serverless"
publication: "Node Weekly"
issue: 341
published_at: "2020-06-04"
canonical_url: "https://nodeweekly.com/issues/341"
---

This week's Node news, links, and releases.       

#341 — June 4, 2020 

[Read on the Web](https://nodeweekly.com/issues/341)   

🖤 It's [time to speak up](https://auth0.com/blog/its-time-to-speak-up/), [donate](https://pitchfork.com/thepitch/resources-in-the-fight-against-police-brutality-and-systemic-racism/) or even just [stream a fundraising video](https://www.youtube.com/watch?v=bCgLa25fDHM), because Black lives matter.  

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1591267255/iww0cq3lxmsqmuigtkq2.jpg)](https://www.serverless.com/blog/serverless-express-apis-aws-lambda-http-api/)  

[Serverless Express: Easy APIs on AWS Lambda and AWS HTTP API](https://www.serverless.com/blog/serverless-express-apis-aws-lambda-http-api/) — A component for _Serverless Framework_ focused on deploying Node Express.js-powered APIs to AWS Lambda and serving them up via API Gateway’s new HTTP API approach. Seems pretty slick. [GitHub repo](https://github.com/serverless-components/express). 

Austen Collins (Serverless Inc)   

[Several June 2020 Security Releases Now Out](https://nodejs.org/en/blog/vulnerability/june-2020-security-releases/) — Up to 4 separate vulnerabilities (3 rated ‘high’, 1 rated ‘low’) are fixed in these releases of [Node 10.21.0](https://nodejs.org/en/blog/release/v10.21.0/), [Node 12.18.0](https://nodejs.org/en/blog/release/v12.18.0/), and [Node 14.4.0](https://nodejs.org/en/blog/release/v14.4.0/), including a memory corruption issue in a N-API function, an HTTP/2 DoS issue, and a TLS session reuse issue. 

Sam Roberts   [![\](https://copm.s3.amazonaws.com/ec55b54d.png)](https://www.datadoghq.com/dg/apm/node-troubleshooting/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-NodeWeeklyTroubleshootingP) 

[Troubleshoot Node.js App Performance with Datadog APM](https://www.datadoghq.com/dg/apm/node-troubleshooting/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-NodeWeeklyTroubleshootingP) — Inspect detailed flame graphs to identify bottlenecks, latency and other issues. Pivot seamlessly to related logs and metrics without switching tools for fast troubleshooting. Try Datadog APM free. 

Datadog sponsor   

[How to Substantially Reduce a Node App's Docker Image Size](https://lengrand.fr/reducing-dockers-image-size-while-creating-an-offline-version-of-carbon-now-sh/) — In an attempt to create the smallest Docker image of [carbon.now.sh](https://carbon.now.sh/) (a popular code screenshotting service), Julien went from an image of 2.43GB(!) and went step by step to under 100MB for deployment. Here’s how. 

Julien Lengrand-Lambert.   

[Best Practices for REST API Design](https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/) — Best practices on how to design REST APIs to be easy to understand, future-proof, and secure and fast, explained from a Node.js perspective. 

John Au-Yeung (Stack Overflow)    

**⚡️ Quick bits:** 

- I just noticed it was only a year ago this week since GitHub [launched](https://github.com/features/packages) its own npm-supporting package repository. How things change(!)
- Prolific Node and Mongoose blogger Valeri Karpov (a.k.a. _The Code Barbarian_) has released [Mastering Mongoose](http://thecodebarbarian.com/new-ebook-mastering-mongoose.html), a new e-book for users of the popular MongoDB ODM for Node. (It does cost money though.)  

💻 **Jobs**  

[Find A Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-nodeweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-88879) — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery   

[Senior Software Engineer — Save Lives & Make an Impact](https://apply.workable.com/crisistextline/j/12DB87896B/) — We use Node/TS/React & ML to provide crisis support via SMS. Help us scale globally with a focus on privacy and security. 

Crisis Text Line  

ℹ️ _If you're interested in running a job listing in this newsletter, there's [more info here.](https://booking.cooperpress.com/jobs)_ 

📚 **Articles & Opinions**  

[Building APIs with GraphQL in Your Node App](https://blog.appsignal.com/2020/06/03/building-apis-with-graphql-in-your-node-application.html) — Learn how to build a fully functional GraphQL API designed to provide queries and mutations in a secure manner. 

Diogo Souza   

[How-to Normalize Home Volume Levels with Node-RED](https://blakeniemyjski.com/blog/how-to-normalize-home-volume-levels-with-node-red/) — [Node-RED](https://nodered.org/) is a JavaScript-powered ‘low code’ visual programming environment frequently used with hardware/IoT use cases. I rarely see tutorials about it, so this is pretty neat. 

Blake Niemyjski   

[Announcing CockroachDB 20.1: Build Fast, and Build to Last](https://www.cockroachlabs.com/product/whats-new/?utm_campaign=cooperpress-2020-Q2&utm_source=nodeweekly&utm_medium=newsletter&utm_content=sponsored-link-20-1) — Meet the resilient, scalable SQL database with ActiveRecord compatibility. Try CockroachCloud free for 30 days → 

Cockroach Labs sponsor   

▶[Let's Build an Image Classifier with Node, Tensorflow and React](https://www.youtube.com/watch?v=ZfuUwdFNU-s) — The chilled out background music makes this feel like a spa experience but.. there is something genuinely quite nice about this screencast. 

Tim Tam   

▶[Verify 'Sign In With Apple' Logins from Node](https://www.youtube.com/watch?v=D2W9eow6ajY) — Apparently this isn’t the most straightforward thing to figure out. 

codedamn   

[Avoiding CSRF Attacks with API Design](https://www.thedreaming.org/2020/05/26/avoid-csrf-attacks-with-api-design/) 

Jason Walton   

[Choosing Between 4 Different Node File Upload Libraries](https://bytearcher.com/articles/formidable-vs-busboy-vs-multer-vs-multiparty/) — A quick, opinionated rundown of when you might choose [Formidable](https://github.com/node-formidable/formidable), [Busboy](https://github.com/mscdex/busboy), [Multer](https://github.com/expressjs/multer) or [Multiparty](https://github.com/pillarjs/multiparty) for processing file uploads given that they all take different approaches. 

Panu Pitkamaki  

🛠 **Tools, Resources and Libraries** 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1591268674/gc9lqi5nsyuac6dm9m5a.jpg)](https://tslog.js.org/)  

[tslog: 'Beautiful' Logging for Node with TypeScript Support](https://tslog.js.org/) — Featured packed, fully typed, can do stack traces via the native V8 API, show code frames, and more. Worth checking out. 

Eugene Terehov   

[Denoify: For NPM Module Authors That Would Like to Support Deno](https://github.com/garronej/denoify) — A build tool that takes as input a TypeScript codebase that was meant to target Node and/or the web and outputs a modified version ready to be deployed as a Deno module. We need more tooling like this. 

Garrone Joseph   

[GraphQL2REST: Automatically Generate a RESTful API From a GraphQL One](https://github.com/sisense/graphql2rest) — Reads your GraphQL schema and a user-provided manifest file and automatically generates an Express router with fully RESTful HTTP routes. 

Sisense   

[Node.js Security Checklist](https://link.sqreen.com/t_bK49xj) 

Sqreen sponsor   

[DOM Testing Library: Simple and Complete DOM Testing Utilities That Encourage Good Testing Practices](https://github.com/testing-library/dom-testing-library) — For when you want to query DOM nodes in a way that’s similar to how users would find elements on a page. Check out [the example](https://testing-library.com/docs/dom-testing-library/example-intro). 

Testing Library   

[Discord.js: A Library for Interacting with Discord's API](https://github.com/discordjs/discord.js) — A way to write bots or similar tools for the wildly popular [Discord](https://discordapp.com/) chat system. 

Amish Shah   

[Omelette: Template Based Autocompletion Tool for Node and Deno](https://github.com/f/omelette) — A simple autocompletion tool with bash, zsh and fish support. 

Fatih Kadir Akın         

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://nodeweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://nodeweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
