#446 — July 19, 2019
JavaScript Weekly
Smashtest: A Language for Describing Test Cases — A Cucumber-esque way to write end to end tests in a more natural way but which essentially boil down to JavaScript powered tests. The examples on the homepage do a good job of selling the idea IMHO.
Smashtest
Introducing Osgood: A New V8-Based Platform for Building HTTP Servers — Built using Rust and the V8 JavaScript engine, Osgood is a new platform (a la Node) focused around building secure HTTP services. Security comes by demanding that I/O policies are specified rather than everything being open. GitHub repo.
Thomas Hunter II
Triggering Trusted CI Jobs on Untrusted Forks — In this post, we discuss how to use Git itself as a means for marking code as trusted and we walk through a full demonstration of how these concepts can be applied to a specific repository host (GitHub) and CI provider (CircleCI).
CircleCI sponsor
▶ JavaScript, JavaScript.... Rocks You! — A fun, musically-packed look at how to recreate the sounds of effects pedals in JavaScript to play with audio in real time via the Web Audio API.
Vitalii Bobrov
Quark: A Software 'Sketchbook' for Node, HTML and CSS Experiments — Built in Electron but currently for Windows and Linux only, Quark is a Jupyter Notebook/Glitch-esque development environment for quickly creating HTML, CSS and JavaScript-based apps, complete with access to Node’s APIs and Electron’s native features.
Nishkal Kashyap
Google Explains the JavaScript SEO Basics — Did you know that when Googlebot is crawling the Web, it runs a version of Chromium behind the scenes and actually runs your JavaScript? This means there are some things to be aware of.
Google Developers
🎧 Some recent JavaScript podcast episodes
There are several great JavaScript podcasts out there. Here are some the recent episodes we've enjoyed:
▶ The Fundamentals of JavaScript — Wes Bos (of JavaScript 30 fame) and Scott Tolinski discuss the fundamentals of JS and what you really must know.
Syntax.fm
▶ How Christian Heilmann Got into JavaScript — My JavaScript Story is a podcast that interviews JavaScript developers about how they got into JavaScript. I particularly enjoyed Chris Heilmann’s (a popular JavaScript speaker) episode, but there are lots to enjoy.
My JavaScript Story
▶ The Benefits and Challenges of Server-Side Rendering (SSR) — An hour-long round table discussion featuring Dan Shappir, performance tech lead at Wix.
JavaScript Jabber
▶ Discussing Managing Your npm Dependencies with Jan Lehnardt
Real Talk JavaScript
💻 Jobs
Frontend Engineer at Goodreads (Amazon) — Join Goodreads to build the frontend of a highly ambitious product that supports reading activities of more than 80 million readers.
Goodreads
Front End Engineer / TrackVia (Denver, CO) — TrackVia powers drag-n-drop creation of sophisticated enterprise apps. Join our fun & fast-pace team in beautiful downtown Denver.
TrackVia
Land a New Dev Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.
Vettery
📘 Tutorials, Opinions, and Videos
Tetris Turns 35, so Let's Build a Tetris Clone — A guide to what’s involved in putting together your own Tetris clone with a nifty visual twist.
JavaScript Teacher
Is postMessage Slow? — A fantastic deep dive into performance issues and concerns around postMessage, a method used to send messages into a Web Worker.
Surma
Async Await Error Handling in JavaScript — Attempts to clear up some confusion caused when handling errors in async/await scenarios.
Valeri Karpov
Comprehensive Image & Video Management with Our JavaScript SDK — Upload, manipulate, optimize, & deliver rich media with code that integrates seamlessly. Try Cloudinary for free.
Cloudinary sponsor
A Look at Private Class Fields, a Proposed JavaScript Feature — A few weeks ago Axel covered public class fields, but private fields are part of the proposal too (currently at stage 3).
Dr. Axel Rauschmayer
A 'Falling Sand'-Style Image Transition Effect in 16 Lines of JS — This is a lot neater than I was expecting.
Slicker
Reverse Engineering, or How YOU Can Build a Testing Library in JavaScript — The goal here is not to add another testing library to the giant pile of existing ones, but to learn more about how they work by building your own.
Chris Noring
Finally... A Post on finally in Promises — A quick explanation of when finally will fire when using a promise.
Sarah Drasner
Node.js 12: The Future of Server-Side JavaScript — Node.js 12 introduced several exciting improvements like ES6 module support, better application security, and quicker startup times.
Paige Niedringhaus
Angular Architecture Patterns and Best Practices (That Help to Scale)
Bartosz Pietrucha
Web Unleashed - The Front-End Developer Event in Toronto, Sept 13-14 — Networking, sessions, workshops and more. Save 20% on tickets to #WEBU19 with code JAVASCRIPTWEEKLY
FITC sponsor
Learn Svelte 3 by Building a Todo List App — A practical introduction to Svelte, a build-time UI framework that’s been getting a lot of love recently.
Ayo Isaiah
The Web Can't Survive a Monoculture — You have the power to prevent the Web becoming a Chrome-dominated monoculture, says Mike.
Mike Pennisi
🔧 Code and Tools
Color Thief: Grab Color Palettes from Images — Given an image, this uses canvas to return a list of the dominant colors.
Lokesh Dhakar
Polly.js: Record, Replay, and Stub HTTP Interactions — Working with both Node and in the browser, Polly taps into HTTP APIs and adds the ability to record and replay requests plus even slow down or speed up time.
Netflix, Inc.
MongoDB Atlas is a Powerful and Reliable Cloud Database. Try Now
MongoDB sponsor
Airtable.js: A JavaScript Client for Airtable — Airtable is a popular cloud-based spreadsheet-meets-database service. We use it at Cooperpress so it’s great to see a well maintained official library.
Airtable
SurveyJS: A JavaScript Survey and Form Library — Here’s a live demo.
Devsoft Baltic OÜ
⚡️ Quick Releases
Popular libraries and tools with recent releases that don't need a full write-up:
- Ember 3.11 — also my favorite version of Windows, incidentally.
- Mocha 6.2.0 — Popular testing framework.
- Lerna 3.16.0 — Tool for managing JS projects with multiple packages.
- Johnny Five 1.2.0 — JS robotics and IoT framework.
- SystemJS 4.1.0 — Dynamic ES module loader.
- MDX 1.1 — Embed JSX inside Markdown documents.
- melonJS 7.1 — Lightweight game engine.
- autoComplete.js 6.1 — Simple, vanilla JS auto completion library.
P.S. Did you know we're on Twitter as well? Follow us @JavaScriptDaily