#344 — June 25, 2020

Read on the Web

Node Weekly

npm v7 Series: Why Keep package-lock.json? — If npm v7 is going to support yarn.lock files, then why keep package-lock.json around as well? Isaac goes into some depth as to how yarn.lock works and why it doesn’t quite suit every use case npm covers.

Isaac Z. Schlueter

Building a GraphQL API in Node — GraphQL is continuing to emerge as a popular way to build and declaratively query remote APIs and you can build both GraphQL clients and servers reasonably easily with Node. This is a good introduction from Heroku on the basics of what’s involved.

Owen Ou and Chris Castle

New Course: React Native — Leverage your JavaScript and React skills for mobile iOS and Android platforms using React Native – ship your very own native mobile applications.

Frontend Masters sponsor

Sequelize 6: An Easy-to-Use Multi SQL Dialect ORM — Supports Postgres 9.5+, MySQL 5.7+, MariaDB 10.1+, SQL Server 12.0.2000+ and SQLite 3.0+. The Bluebird promise library has been removed in favor of standard promises. Node 10 is now the minimum version needed.

Sequelize

▶  Ryan Dahl's Latest Talk about Deno — Deno’s creator gave a 27 minute talk for the online OpenJS World 2020 event. The slidedeck is here if you prefer to browse the concepts quickly rather than watch a video. Topics covered include Deno’s advantages, design, internal structure, and a basic roadmap for the near future. [Via our weekly Deno newsletter]

Ryan Dahl

Kretes: Programming Environment for TypeScript and Node — A programming environment (“currently in alpha”) built on top of VS Code. It combines a web framework with an editor into an integrated, ‘battery-included’ solution.

Kretes

💻 Jobs

Node.js Developer at X-Team (Remote) — Join X-Team and work on projects for companies like Riot Games, FOX, Coinbase, and more. Work from anywhere.

X-Team

Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.

Vettery

🧑‍💻 Interested in running a job listing in this newsletter? There's more info here.

📚 Articles, Opinions & Tutorials

Tips for End to End Testing with Puppeteer — Some tips and tricks from someone who’s used Puppeteer a lot.

Daniel Caldas

Kicking Node Into High Gear for Data Processing — The author, playing around with Node, managed to get a 50x speedup for a workload they had.

Stjepan Golemac

Node.js Security Handbook — Learn to improve the security of your infrastructure and your applications with the Node.js security handbook.

Sqreen sponsor

▶  'Ridiculous npm Packages I Wish Didn't Exist' — I think it’s great people can write, release and distribute packages that do whatever they want, no matter how trivial or silly, but.. this guy isn’t quite so sure and humorously picks on a few obvious examples of frivolous packages.

Engineer Man

All You Need to Know About MongoDB Schema Migrations in Node

Sam Quinn

🛠 Tools, Resources and Libraries

Madge: Create Graphs From Your Module Dependencies — A developer tool for generating a visual graph of your module dependencies (works with CommonJS, AMD and ES6 modules), finding circular dependencies, and discovering other useful info.

Patrik Henningsson

patch-package: Fix Broken Node Modules Instantly — The idea is you use this to apply patches to packages used by your app. Describes itself as a ‘vital band-aid’ for developers living on the bleeding edge(!)

David Sheldrick

Endb: Simple Key-Value Storage for Multiple Database Backends — Provides a simple key/value-style storage API on top of either a MongoDB, MySQL, Postgres, SQLite, or Redis database.

Ayyan Lewis

New Case Study: Learn How Intercom Reduced Test Times by 85% 🚀

Buildkite sponsor

puppeteer-in-electron: Run Puppeteer Within an Electron App — Why? To test or otherwise control Electron apps remotely.

Trevor Sundberg

sitemap.js: Sitemap Generation Library and CLI Tool — XML ‘sitemap’ files help search spiders (particularly Googlebot) crawl your site and you can offload the boring task of generating them to this.

Eugene Kalinin

Google BigQuery for Node.js 5.0 — BigQuery is Google’s fast and fully-managed enterprise data warehouse for large-scale data analytics and the Node client has gotten a touch of paint. Release notes.

Google APIs

LDAPjs 2.0: An LDAP Client and Server API for Node

LDAPjs Community

etcd3 1.0: A Node Client Library for etcd3

Microsoft