Plus VS Code gets lazy variable evaluation when debugging, Ukrainian JS projects, and Ember 4.2. |

#​579 — March 4, 2022

Unsubscribe  |  Read on the Web

JavaScript Weekly

TypeScript 4.6 Released (And It Even Benefits Non-TS Users!) — The typed superset of JavaScript takes another step forward with the addition of the es2022 target, allowing code in constructors before super(), improved recursion depth checks, more syntax errors that can be detected in JavaScript files if using VS Code (even if you're not developing in TypeScript yourself!), and more.

Daniel Rosenwasser

Five Things You Don't Need JavaScript for — We love JS, but CSS and SVG have progressed enough to replace some traditional JS use cases.

Steven Waterman

The Easiest Way to Monitor Node: Automatic Instrumentation — Monitoring your Node.js apps can be hard. You need to understand what you need to monitor, instrument code, and then make sense of all the data. Automatic instrumentation makes that whole process easier and streamlined. Find out how you can do it.

AppSignal sponsor

Socket: See Potential Security Issues for npm Packages — An interesting new project that scans the code of each npm package in an attempt to characterize their behavior, which is then reported on project specific pages, such as this one for lodash or this one for zx. Early days but some potentially useful info here.

Socket

🇺🇦 Leaflet Project Appeals to JS Developers for Ukraine — Did you know the popular Leaflet mapping library was created by a Ukrainian developer? The Leaflet team has a message to share about the current invasion and how you can help. We, too, have donated and will continue to do so. In related news, GitHub has also shared their response to the war.

Leaflet.js

IN BRIEF:

  • Another month, another VS Code release. This time we get improved automatic language detection, lazy variable evaluation when debugging JS (and JS only, for now), and improved syntax error reporting in JS files.

  • 📆 DevOps.js is a virtual conference on building, deploying, and monitoring JS apps taking place in just three weeks (March 24-25). You can register here.

  • Apple, Bocoup, Google, Mozilla and others have announced Interop 2022, a collaboration to improve interoperability of (mostly visual, for now) Web technologies.

  • The much loved and heavily used MDN Web Docs site now has a new homepage, design, and logo.

RELEASES:

Ember 4.2 – The opinionated framework.
zx 5.2 – Replace bash scripts with JavaScript.
React-Bootstrap 2.2 – Bootstrap components built with React.
Nest.js 8.4 – Node.js server-side framework.
deck.gl 8.7 – WebGL2 powered visualization framework.
OpenPGP.js 5.2 – JS OpenPGP implementation.

💻 Jobs

Senior Frontend Engineer (React) — Remote / NYC — We're the leading spend management platform for businesses. Small cross-functional front-end operations using React and TypeScript.
Ramp

Ashby (YCW19) Is Hiring Engineers Who Want Ownership — Join a remote-first team improving productivity with powerful software. <2h meetings/wk. Ship >8x per day. CI/CD takes <10min 🚀
Ashby

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

📒 Articles & Tutorials

Enhancements to the Ubiquitous 2D HTML Canvas — Canvas is heavily used around the Web in its Canvas2D guise (up to 40% of pages, apparently?) and this post looks at some of the newer features and enhancements being made to it.

Aaron Krajeski (Google)

The Most Modern JavaScript I Know (in One Script) — This is a cute idea that maybe we could all try when learning things. Bram has produced a single piece of code, jamming in every new JS concept they just learned.

Bram Wasti

Cheat Sheet: OWASP Top 10 Vulnerabilities (And How to Fix Them) — Spoiler alert - Broken Access Control is the #1 risk. Learn actionable tips to prevent each top 10 vulnerability.

Snyk sponsor

How Do Primitive Values Get Their Properties? — Dr. Axel is back with the second part of a series on primitive values. This time he looks at how primitive values can be used as if objects and where their properties are actually coming from. For example: 'xy'.length.

Dr. Axel Rauschmayer

▶  Kent C. Dodds's (Classic) Beginner's Guide to React Course — The folks at Egghead, a place that offers various online courses, is releasing some of their ‘classic’ courses on YouTube, and the first one is a React course from Kent C. Dodds. It’s 2.5 hours long, uses React 16, and dates from early 2020, so it’s not out of date :-)

Kent C Dodds (Egghead)

'SolidJS Feels Like What I Always Wanted React to Be' — An opinionated piece. SolidJS is an efficient reactive UI library and we’ve seen direct comparisons before – this piece goes into specifics.

Nick Scialli

Use Group Step Type to Better Organize Complex Pipelines ✨

Buildkite sponsor

A Guide to Audio Visualization with JavaScript and GSAP — The author built an audio visualization feature for Kent C Dodd’s new site.

Jhey Tompkins

▶  Ten React Anti-Patterns to Avoid
Fireship

Implementing Tetris Using React in 200 Lines of Code
Niall Crosby

How OkCupid Open Sourced an ESLint Plugin for Internationalization
Xiaoyun Yang

🛠 Code & Tools

Reveal.js 4.3: An HTML Presentation Framework — Brings elegant presentations to anyone with a Web browser. v4.3 just came out with a few tweaks.

Hakim El Hattab

Redux Toolkit 1.8.0 Released — If you’re down with Redux for managing state, the “official, opinionated, batteries-included toolset for efficient Redux development” is what you need :-) Among other things, this release adds new ‘listener’ middleware (think useEffect but for Redux store updates).

Mark Erikson and the Redux Team

Million 1.5: A Fast Virtual DOM Implementation — Focused on performance and shipping at under 1KB compressed, Million is ideal if you want an agnostic VDOM implementation to use when building your own framework or libraries.

Million

Shortcut Puts the Agile in Agile and the “Can” in Kanban

Shortcut (formerly Clubhouse.io) sponsor

🇺🇦  Made in Ukraine: A List of (Mostly JS) Projects Built by Ukrainian Developers — More projects than you may have realized.

ChernivtsiJS

dnt: Deno-to-Node Package Transformation Tool — Takes a Deno module and creates an npm package for use in Node. Goes further than mere packaging though and actually injects shims, transforms commonly Deno code forms to Node approaches, and more.

Deno Team

ml-matrix 6.9: Matrix Manipulation and Computation Library
ml.js

Dynamodump 2.0: A CLI Tool for Backing Up and Restoring Schema and Data to/from DynamoDB
Mikael Finstad

o