#657 — October 5, 2023
JavaScript Weekly
An Interactive Intro to CRDTs — Conflict-free replicated data types (the so-called CRDTs) provide a popular approach to replicate data across numerous clients and allow live collaboration between them without conflicts. This post really digs into what makes CRDTs tick well, complete with interactive examples.
Jake Lazaroff
Test Assertion Styles in JavaScript — Isaac, fundamental to the development of npm and the growth of Node, shares his thoughts on the two main approaches common in JavaScript testing APIs and which he prefers best.
Isaac Z. Schlueter
Free Course: Land a Software Engineering Role — Jerome Hardaway has helps over 300 folks get a software development job — now he shares his advice in this video course — featuring resume tips, networking advice, how to optimize your GitHub profile for technical scrutiny, and more.
Frontend Masters sponsor
🔵 TypeScript 5.3 beta has been released with improved support for import attributes, improved type narrowing in numerous situations, and inlay hints in VS Code can now jump you to the type’s definition.
🔐 npm provenance is now generally available on the main npm registry. Here’s a live example.
🎨 Adobe officially launched its version of Photoshop for the Web last week and Addy Osmani wrote a great post showing off all the web technologies it took to make it happen. The modern browser is a powerhouse!
🏠 In June we featured val.town, an interesting site where you can write and deploy TypeScript in a social and serverless fashion. Big changes are coming in the shape of Val Town v3. A platform to watch.
🤔 Was JavaScript really made in 10 days? It’s complicated.
⚠️ The forthcoming ESLint 9.0 is a significant enough release that you might want to prepare your custom rules for it in advance.
🎉 RELEASES:
Node v20.8.0 (Current) – Key performance improvements for streams.
Sinon 16.1 – Provides test spies, stubs and mocks.
Astro 3.2, Redux Toolkit 1.9.7, and pnpm 8.8
📒 Articles & Tutorials
‘Strong Static Typing, A Hill I’m Willing to Die On…’ — Starting off with TypeScript and moving on to Rust, the author shares why he feels so strongly that when it comes to having static types in a language, there really is no argument. (This then led to extensive discussion on Hacker News.)
Tom Hacohen
📗 The Story of Third-Party JavaScript (The Book) — Manning published a book by Ben Vinegar and Anton Kovalyov ten years ago that was entirely focused on writing JavaScript to run on other people’s sites – quite apt as the authors worked at Disqus at the time! This post isn’t about the topic itself but goes deep into how the book came together and how well it did.
Ben Vinegar
📅 JetBrains JavaScript Day 2023: A Virtual Event You Won’t Want to Miss — Get up to speed with modern JavaScript and TypeScript development in just one day.
JetBrains sponsor
Working with a TypeScript Monorepo with npm Workspaces — npm’s workspaces feature makes it easier to manage multiple packages within a single top-level package/monorepo.
Dmitry Kudryavtsev
Test Your React Libraries Locally with Yalc — Yalc simplifies the process of working with and ‘publishing’ packages entirely locally so you can try things out without publishing to a remote, and potentially public, registry.
Andrew Israel (PropelAuth Blog)
▶ Let’s Create a Filter Table Component in Vue
Andrew Schmelyun
Integrating Slonik with Express.js — A type-safe Postgres client library.
Gajus Kuizinas
Next.js 13 vs Remix: A Case Study
Prateek Surana
Using the Intl Segmenter API
Kilian Valkhof
🛠 Code & Tools
Tailwind Elements 1.0: 500+ Bootstrap Components Recreated with Tailwind — Claims to offer more functionality compared to Bootstrap and follows a ‘minimal’ Material-esque design language for user familiarity. Easily integrates with Angular, Vue, etc.
Tailwind Elements
Lite YouTube Embed 0.3: A Faster Youtube Embed — Faster than the official one, at least. v0.3 implements reliable autoplay. There’s a live demo here.
Paul Irish
Day.js: A 2KB Immutable Date Library — Pitched as a Moment.js alternative with a mostly compatible API, Day is a smaller library for parsing, validating, manipulating, and displaying dates and times.
iamkun
Stop Feeling Lost and Inefficient When Debugging via console.log — See console.log output and runtime errors alongside your code. No config, no setup, no hassle. Supports Vite, Bun, Webpack, Next.js, Remix, and more.
Wallaby Team sponsor
Viselect: Let Users Visually Select DOM Elements — If you’ve got a variety of elements and you want users to be able to select them in groups, individually, or even in multiple groups, this lets you offer that functionality easily. Can be used in a vanilla fashion or with integrations for React or Vue.js.
Simon Reinisch
Tailwind Next.js Starter Blog 2.0: A Starter Template for a Next.js Blog — An up-to-date template using the modern Next.js app directory structure along with server components. A full explanation of the updates.
Timothy Lin
Kaluma: A Tiny JS Runtime for the Raspberry Pi Pico — Can you get a JavaScript runtime into the 64KB necessary to run on the Raspberry Pi Pico (which uses the RP2040 microcontroller)? Kaluma can.
Kaluma Project
sort-on 6.0: Sort Arrays on an Object Property — Short & sweet. Samples.
Sindre Sorhus
Craft.js 0.2: A React Framework for Building Drag and Drop Page Editors — It’s a bold move to make the landing page for your project be a text editor itself, but we like it. GitHub repo.
Prev Wong
Create Collaborative Apps Like Figma and Miro in Days with Ably
Ably sponsor
📅 React Native Big Calendar 4.3 – A Google Calendar/Outlook-style large calendar control.
📊 Lightweight Charts 4.1 – High performance financial charting for canvases. Release notes.
CKEditor5 40.0 – Commercial rich text editor framework. Now with an AI assistant feature.
article-extractor 8.0 – Extract article content for a URL in Node.
Shaka Player 4.5 – Library to play adaptive media formats (DASH, HLS and MSS).
Ziggy 1.7 – Use Laravel named routes in JavaScript.
Marked 9.1 – Markdown parser & compiler.
💻 Jobs
Apply Now and Work #LikeABosch — Our promise to our associates is rock-solid: we grow together, enjoy our work & inspire each other. Join in & feel the difference.
Bosch
Frontend Developer 🚀 (Remote, Work from Anywhere 🏖️) — Enjoy TypeScript, React, GraphQL and performance? Join in building our super-fast headless commerce service with a beautiful UI.
Crystallize
🎁 A VS Code Bonus
Awesome VS Code: A Curated List of Themes and Extensions — Yep, it’s one of those ‘awesome’ lists, but it’s packed not only with links to themes and useful extensions, but it has screenshots for most of them too. Skim through, something will jump out at you.
Valerii Iatsko