#559 — October 8, 2021
JavaScript Weekly
How Kent C Dodds Built a Modern Website in 2021 — Kent is well known in the JavaScript space from Testing JavaScript, Epic React and his popular webdev podcast, and he’s just completed a big effort to rebuild his entire Web presence using React, Remix, XState, Prisma, Express.js, and numerous other JavaScript tools and technologies. This is a good look at how it’s come together.
Kent C Dodds
🎧 The new season of Kent's podcast is worth checking out as it features informative interviews with folks like Josh Comeau, Tracy Lee, and Michael Jackson.
Web Streams Everywhere (and Fetch for Node.js) — A look at how most JavaScript platforms (including browsers) now have at least partial support for creating, composing, and consuming streams of data in a stream-like fashion, as well as how Node’s streams implementation differs and can interop with the modern Web Streams API approach.
Ollie Williams
ButterCMS Melts into Your JavaScript App. Try the #1 Headless CMS — ButterCMS is your content backend. Enable your marketing team to update website + app content without bothering you. Try the #1 rated Headless CMS for JavaScript today. Free for 30 days.
ButterCMS sponsor
When a WeakMap() Actually Came in Handy — The creator of slide-element, an element animation library, explains a situation where he found the often misunderstood WeakMap type came in handy.
Alex MacArthur
Announcing TypeScript 4.5 Beta — The next TypeScript release is shaping up to be a good one with ES module support in Node (plus CommonJS interop), the Awaited type, --module es2022, and tail-recursion elimination on conditional types all highlight fetaures.
Daniel Rosenwasser
jQuery Maintainers Continue Modernization Initiative; Deprecate jQuery Mobile — Given its age and remaining importance on the Web, it’s always great to see updates from the jQuery team. jQuery UI 1.13.0 has been released, but the big news is jQuery Mobile is deprecated as of yesterday, and jQuery UI is now in maintenance only mode.
jQuery Foundation
QUICK BITS:
-
New month, new VS Code release. Less JS goodies than usual, but you now get IntelliSense across untitled files in a project, improved folding of JSX tags, and initial TypeScript 4.5 support.
-
It wasn't just your connection, the npm repository had an outage yesterday.
-
GitHub's Lee Reilly highlights 13 terrific entries to the js13kGames competition over on the GitHub blog. All with source to look at too. It's amazing what people have managed to achieve here.
-
This year's State of CSS survey is now open.
RELEASES:
jQuery UI 1.13.0 – Long time, no see.
Billboard.js 3.2 – Powerful D3 powered chart library.
Trash 8.0 – X-platform move files to the trash from Node.
React Native 0.66
npm 8.0
💻 Jobs
Senior Front End Engineer — We are looking for 2 x Senior Front End Engineers with 4+ years' experience and with a minimum of 2 years' experience with React.
Edited
Software Engineer (Australia) — Join Certsy and help create Australia’s leading digital passport for verified credentials (visa/relocation support provided).
Certsy
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
Safe DOM Manipulation (in the Future) with the Sanitizer API — The new Sanitizer API (edited by developers from both Google and Mozilla) aims to build a robust processor for arbitrary strings to be safely inserted into a page. Something to look forward to.
Jack J (Google)
Replacing jQuery with Vanilla ES6 — The author found it took more work than he expected. You Might Not Need jQuery is another useful resource in this regard.
Aaron T. Grogg
Reserve Your Spot at JetBrains JavaScript Day 2021 — Join our free event to catch up on the latest trends and broaden your knowledge on the present and future of JavaScript.
JetBrains sponsor
▶ Discussing Svelte with Rich Harris — Another week, another Rich Harris interview :-) This time the Svelte creator talks about Svelte’s position in the overall framework landscape and how other frameworks appear to be becoming more ‘Svelte-like’. A good catch up.
PodRocket Podcast podcast
Writing Clean JavaScript Tests with the BASIC Principles — An introduction to applying five key principles to shorten, clean, and simplify JavaScript and Node.js-based test suites.
Yoni Goldberg
Getting Started with the Rollup.js JS Bundler — Built around a series of easy to understand examples.
Craig Buckler
Free Workshop - Getting Started with IoT and InfluxDB — Discover how to use InfluxDB to develop a JavaScript-enabled, time-series-based application for IoT sensors.
InfluxData sponsor
▶ How to Code a Side Scroller Game in 59 Seconds — What you can get into 59-seconds is rather limited, but it’s a good attempt.
Zizyo
A Guide to CSS Debugging — A look at a few categories that bugs often fit into, how to evaluate the situation, and techniques that help prevent such bugs.
Stephanie Eckles
The Options for 'Password Revealing' Inputs
Chris Coyier
How to Quickly Populate a New JavaScript Array
Elijah Manor
🛠 Code & Tools
VanillaTreeViewer: Minimalist File Browser for Display Multiple Files — Such as complex multi-file code snippets, say.
Abhishek Chandrasekhar
Xterm.js: A Terminal/Shell Component for the Front End — It’s used in lots of projects like VS Code, cPanel and Azure Cloud Shell.
xterm.js team
Immutable JS 4.0: Immutable Persistent Data Collections — The purpose of Immutable is to make it easier to get started working with immutable data structures in JavaScript by providing common structures like lists, stacks, maps, and sets out of the box.
Immutable.js
Build Internal Tools in Minutes with Retool, Where Visual Programming Meets the Power of Real Code
Retool sponsor
kill-port: Kill the Process Running on a Given Port — For example, you could use npx kill-port 3000 to kill a local process listening on port 3000. For Unix and macOS it’s basically running lsof and kill behind the scenes, but it also supports Windows.
Tiaan
mijin: A Library of Tailwind UI Components for Vue and Nuxt.js — View the components and the docs here. No dependencies and includes built-in support for dark and light modes.
Léonard Lecouey
BesoGo: A JavaScript-Powered 'Go' Board Editor — Go as in the board game.
Ye Wang