Plus colorized braces in VS Code, Electron 14.0, and a steamroller to crush your JavaScript! |

#​554 — September 3, 2021

Unsubscribe  |  Read on the Web

JavaScript Weekly

Visual Studio Code August 2021 Released — It always feels odd linking to these as they name releases for the prior month, but new features include automatic language detection, built-in bracket colorization (enabled via editor.bracketPairColorization.enabled), improved terminal glyph rendering, inline hints for JS/TS param names and types, and improved debug stepping in async functions and Node.js internals.

Microsoft

A Look at an ES2022 Feature: Class Static Initialization Blocks — You might not be blamed for thinking JavaScript is going a bit Java-y here but, nonetheless, this proposal is at stage 4 and scheduled to be included in ES2022.

Dr. Axel Rauschmayer

💡 Like this ↑? Hemanth HM has a roundup of updates from TC39's 85th meeting on more future (potential) JavaScript features, including the hack pipe operator and Array.fromSync.

Search Across the Open Source Universe with Sourcegraph — Sourcegraph searches over 1 million open source repos from GitHub & GitLab along with your own public & private (public beta) repos. No installation required. Sourcegraph makes it easier to search, discover & understand open source projects. Start searching now.

Sourcegraph sponsor

Electron 14.0.0 Released — The latest major version of the popular cross-platform desktop app framework is here. It’s moving to an eight week stable release schedule, so Electron 15 is due in just three weeks.. but for now you get Chromium 93, Node.js 14.17, and V8 9.3 support, experimental cookie encryption support, and a few removals (such as the remote module).

GitHub

Neutralino 2.7: Portable, Lightweight Desktop App Framework — Think Electron (above) but rather than including a Chromium distribution with every app, it uses the local platform’s built-in ‘webview.’ This equals (much) smaller, faster apps, though you then have to be aware of each webview’s different quirks.

Codezri

QUICK BITS:

RELEASES:

socket.io 4.2.0 – Realtime comms library.
Relay 12.0 – Data-driven React app framework.
OpenPGP.js 5.0.0 – OpenPGP implementation in JS.
on-change 4.0 – Watch objects and arrays for changes.
AdonisJS August Release – Full-featured Node.js web app framework.

💻 Jobs

JavaScript Engineer — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

JavaScript Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team

Find JavaScript Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

📖 Tutorials, Opinions & Stories

'I Built A $300K/Year Vue.js Component Library' — Not much technical stuff here, but an interesting (and possibly inspiring!) interview with the creator of Vuetify, a Vue.js UI library, on how he’s made the project sustainable and a good source of income.

John Leider

Working with Tree Data Structures — The basics of traversal: both breadth first and depth first. Complete with visuals to help you get the ideas more quickly.

Anish Kumar

Building a Serverless GIF Generator with AWS Lambda — Let’s say you host videos and want to show GIF animations as a sort of preview feature in the UI. Generating such GIF files from videos is a compute-intensive operation but you can use something like AWS Lambda to create a scalable service to handle it for you.

James Beswick (AWS)

Build a React Chat Application — In a few simple steps we’ll show you how to launch a chat app using our React component library.

Stream sponsor

Common npm Mistakes Every Developer Should Avoid — Learn how to avoid common mistakes when managing dependencies, publishing packages, and more.

Bhagya Vithana

State Management in Svelte Apps — A tutorial on how to use the Svelte state management store to manage state in Svelte applications.

Fikayo Adepoju

Why Electron Apps Are Fine — While Niels agrees with many common criticisms of Electron, his users don’t care, and he says you shouldn’t care either.

Niels Leenheer

State Management in Next.js Apps — Managing state in a Next.js application can get tricky very quickly. This looks at some patterns to help avoid complexity in common scenarios and avoid “provider hell.”

Átila Fassina

A Guide to React Context and the useContext() Hook
Dmitri Pavlutin

Memoizing Async Functions in JavaScript
Anish Kumar

🛠 Code & Tools

TypeIt: A Versatile Pretend-Typing Effect Utility — Bills itself as ‘the most versatile JavaScript typewriter utility on the planet’. Has a very nice fluent API, but note while it’s free for personal/OSS use, you need to pay (a modest amount) for a commercial license.

Alex MacArthur

Stitches 1.0: The Modern Styling Library — Another CSS-in-JS solution, this one offering high performance, SSR, theming, critical path CSS, an intuitive API, and lots more.

Modulz

Run Faster and Safer Than Linux with Open Source Unikernels — Deploy with no ops and no cloud lock-in. Run 2X as fast on Google. Run 3X as fast on AWS and deploy in 10s of seconds.

NanoVMs sponsor

smartcrop.js: Content Aware Image Cropping — Given an image, this can help find the ‘best’ part of the image to crop down to. Works in the browser and in Node.

Jonas Wagner

Roadroller: A Heavyweight 'Crusher' for JavaScript Code — Aimed more at demo-style coding than production apps, the goal of this tool is to crush/minify down JavaScript code to as small a size as possible. GitHub repo.

Kang Seonghoon

Crank.js: Write JSX-Driven Components with Functions, Promises and Generators — The usual JSX syntax you know and love for writing HTML-like code directly in JavaScript but all components are just functions or generator functions. See some example code.

Brian Kim

Announcing JavaScript Security Sessions at SnykCon | Register for Free

Snyk.io sponsor

parse-domain: Split Hostnames Into Parts — Given a hostname, pull out the subdomains, domain, and top-level domains, including ‘effective’ top-level domains as on the public suffix list.

Peerigon

Mafs: React Components for Math Visualization — A well thought out set of sophisticated mathematics visualizations. It is supported with a nicely executed just-what-you-need-to-know set of guides including one which will allow you to plan your own suborbital spaceflight.

Steven Petryk

bundle: A Quick npm Package Size Checker — Enter a package name, then hit the “run” button and this tool will give you the minified, bundled, and gzipped size of the package.

Okiki Ojo

o