---
title: "When Not to Use Lock Files with Node"
publication: "Node Weekly"
issue: 289
published_at: "2019-05-23"
canonical_url: "https://nodeweekly.com/issues/289"
---

This week's Node.js news, tutorials, and projects       

#289 — May 23, 2019 

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

Node Weekly   

[Node 12.3.0 (Current) and Node 12.3.1 Released](https://nodejs.org/en/blog/release/v12.3.0/) — The most notable feature in 12.3 is the `--experimental-wasm-modules` option which enables WebAssembly module support, allowing you to do, say, `import './module.wasm'` (expect some blog posts on this soon). [12.3.1](https://nodejs.org/en/blog/release/v12.3.1/) fixes a regression in 12.3.0 that prevented native addons from compiling. 

Node.js Foundation   

[When _Not_ to Use Lock Files with Node](https://www.twilio.com/blog/lockfiles-nodejs) — Package managers like npm and Yarn use ‘lock’ files that track the exact, current versions of a project’s dependencies. Learn more about how they work and when _not_ to use them here. 

Dominik Kundel   [![\](https://copm.s3.amazonaws.com/9e748dfa.png)](https://buddy.works/?utm_source=sscpnw&utm_campaign=sscpnw2305&utm_content=p) 

[Get the Fastest App Deployments. Get Started Free](https://buddy.works/?utm_source=sscpnw&utm_campaign=sscpnw2305&utm_content=p) — Unlike most Continuous Integration (CI) solutions, Buddy only re-builds the parts of your application that have changed and deploys your updates in seconds to any app store. Start building better apps faster with Buddy. 

Buddy sponsor   

[Express 4.17.0 Released: The Minimalist Web Framework](https://github.com/expressjs/express/releases/tag/4.17.0) — It’s not a _big_ release but it’s the first release in 7 months and adds a couple of minor features (namely `express.raw` and `express.text`), so.. 

Express.js   

[SCAR: 1-Click Static Site Deployment on AWS](https://github.com/cloudkj/scar) — A simple tool that creates the right CloudFormation templates to roll out a static site on AWS complete with custom domain, DNS, SSL and CDN in one go. Built in Node, naturally :-) 

Kelvin Jiang   

[Windows-Build-Tools: Install C++ Build Tools for Windows using `npm`](https://github.com/felixrieseberg/windows-build-tools) — Want to compile native Node modules on Windows? `npm install --global windows-build-tools` will help you out. 

Felix Rieseberg  

💻 Jobs  

[Senior Full Stack Developer, Sydney or Option to Work Remotely Across Australia](https://app.shortlyster.com/l/Tk3NTc) — We are expanding our team and range of products. Recruiting for a Developer with a passion in the server side and APIs who wants to be part of our work family. 

Compono   

[Find a Node Job on 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. 

Vettery  

📚 Tutorials  

[3 Approaches for Using the Google Sheets API in Node: A Tutorial](https://blog.stephsmith.io/tutorial-google-sheets-api-node-js/) — Outlining different ways to connect and authorize with the Google Sheets API and then pulling out data stored within Sheets. 

Steph Smith   

[How to Control and Record Voice Calls with Node.js Serverless Functions](https://www.twilio.com/blog/control-and-record-voice-messages-with-node-js-serverless-functions) — In case you forgot that communications platform Twilio has its own serverless functions platform, this well-written tutorial on using it to managing the recording of voice calls might whet your appetite. 

Stefan Judis (Twilio)   

[Automated Dependency Updates Done Right](https://depfu.com/l/reasonably-up-to-date?utm_source=nodeweekly&utm_campaign=sponsored&utm_content=reasonably) — Depfu figures out the minimum number of updates you need to keep your app reasonably up-to-date. 

Depfu sponsor   

[5 Free Ways To Host Your Node.js App in 2019](https://amitbend.com/node.js/2019/05/13/five-free-ways-to-host-your-node-app-2019) — Openshift, Openode, Heroku, ZEIT Now, and Glitch all provide options. I’d also add [Netlify](https://www.netlify.com/) to the list if building a static site from a Node app counts. 

Amit Bendor   

[The 80/20 Guide to Promises in Node.js](http://thecodebarbarian.com/the-80-20-guide-to-promises-in-node-js.html) — Promises replaced callbacks as the de facto ‘go to’ way to manage events some years ago and they form the basis of `async`/`await` so it pays to be very familiar with them. If you want more depth, Google has [a promises introduction](https://developers.google.com/web/fundamentals/primers/promises) they keep up to date too. 

Valeri Karpov   

[Node.js File Streams Explained](https://areknawo.com/node-js-file-streams-explained/) 

Areknawo  

🛠 Code and Tools  

[graphql-codegen: A GraphQL Code Generator](https://blog.graphqleditor.com/graphql-code-generator/) — A tool that generates code out of your GraphQL schema for various stacks and tools from TypeScript and React to MongoDB and Reason. 

Tomek Poniatowicz   

[electron-reloader: Simple Auto-Reloading for Electron Apps During Development](https://github.com/sindresorhus/electron-reloader) — Electron app developer? You probably want this. 

Sindre Sorhus   

[Leveldown: Pure C++ Node.js LevelDB Bindings](https://github.com/Level/leveldown) — [LevelDB](https://github.com/google/leveldb) is a fast key-value storage library built at Google that’s often used behind the scenes in other database systems (e.g. IndexedDB or Riak). 

Level   

[Safely Roll Out Features in Node with Free Feature Flags](https://www.optimizely.com/rollouts-signup/?utm_source=nodeweekly&utm_medium=paid&utm_campaign=2019_05_optimizely_rollouts_nodeweekly_bl) 

Optimizely Rollouts sponsor   

[Keystone 4.1: A Node CMS and Webapp Framework](https://keystonejs.com/) — A CMS built on top of Express and Mongoose (the MongoDB document mapper). 4.1.0 brings Babel 7 into play and a [laundry list of tweaks.](https://github.com/keystonejs/keystone/releases/tag/v4.1.0) 

KeystoneJS   

[sync-dotenv: Keep Your `.env` in Sync with `.env.example`](https://github.com/codeshifu/sync-dotenv) — `.env` files should never go into source control due to the sensitive nature of the data they contain. Instead, provide an ‘example’ `.env` file, and keep it up to date with this. 

Luqman Olushi O.   

[Spruce: A Small, Open Source Social Networking Platform Powered by Node and MongoDB](https://github.com/DivySrivastava/spruce) 

Divy Srivastava   

[await-timeout: A Promise-Based API for `setTimeout` and `clearTimeout`](https://github.com/vitalets/await-timeout) 

Vitaliy Potapov         

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
