#624 — February 3, 2023
You’ve Got Options for Removing Event Listeners — Unnecessary event listeners can cause all sorts of odd problems so it’s good to clean them up when you don’t need them anymore. How? There are several approaches and Alex looks at their pros and cons. (once is a good one to consider if your use case supports it as it’s ‘set and forget.’)
Updates from the 94th TC39 meeting — The TC39 committee that works on the ECMAScript standard met last week and progressed a few language proposals with Change Array by Copy, Intl.NumberFormat v3 and Symbols as WeakMap Keys making it to stage 4. There’s also an interesting example of a downgrade to stage 2 for import assertions.
Fast and Flexible Gantt Chart Components for Your Web App — Bryntum’s suite of web components includes powerful Gantt and resource scheduling widgets used by thousands of businesses. The API is very flexible and allows you to configure everything from colors to details of the scheduling logic. Free 45-day trial.
Netlify Acquires Gatsby — The company behind the Gatsby React-based framework is joining Netlify with many Gatsby Cloud features expected to be integrated into Netlify’s own platform. This places Netlify more directly against Vercel who are behind Next.js (and don’t forget Shopify with Remix too).
Kyle Mathews (Gatsby)
You Don’t Need
The Future of Create React App and Why It Exists — An extensive write up from Dan Abramov on the state of Create React App, a route to take it forwards, and how he sees React as a library working within an ecosystem of frameworks.
↳ End-to-end Web testing.
↳ Popular documentation site generator.
📒 Articles & Tutorials
How To Lose Functional Programming at Work — An amusing piece you might recognize parts of. It’s certainly possible to have too much of a good thing. “If you’re looking to lose functional programming at work, here are a bunch of mistakes I’ve made on JS-heavy web teams over the years that can help you do the same.”
How Node & SWC Can Make a Lightning Fast TypeScript Runtime — If the added compilation time for TypeScript has irritated you so far, Artem has found a way to get things as fast as possible.
▶ Tailwind CSS, Headless UI, and Powerlifting with Adam Wathan — We talk to Adam about what motivated him to create Tailwind and why it is creating polarizing discourse among developers.
Whiskey Web and Whatnot sponsorpodcast
The Road from Ember Classic to Glimmer Components — If you’ve got a mature Ember.js project you want to modernize, this is for you.
Cleaner Unit Tests with Custom Matchers — Using custom matchers to avoid repetitive and ambiguous assertions in Jest.
Jamie King (American Express)
The Yaml Document from Hell: JS Edition — The titular problematic document was spawned in this blog post focusing on Python, but Phil looks to see if JS YAML parsers have the same problems with the much maligned format.
Too Much Tech Debt and Outdated Packages? Don’t Have Time to Upgrade?
UpgradeJS by OmbuLabs sponsor
On Using Playwright in GitHub Actions
How I Made My App 2.4x Faster Switching to Svelte
Flotes Tech Blog
🛠 Code & Tools
FeedbackPlus: Add Screenshot Tools to Your Feedback Forms — Say you’ve got a form on your app to let users submit bugs or feedback and you’d like to encourage them to send a screenshot too – this makes it easier to do. Live demo.
▶ ScrollyVideo.js: Responsive ‘Scrollable’ Videos — It’s an interesting effect and well demonstrated here. Compatible with React, Svelte, Vue, or just plain ole’ HTML.
Stop Sweating Over Supply Chain Security with Snyk — Get the security practices and tooling to bolster your build pipeline from Snyk’s article on npm security and preventing supply chain attacks.
depngn: Find Out if Dependencies Support a Given Node Version — A CLI tool that establishes whether dependencies in your package.json will work against a specified Node version. May be helpful during upgrades.
Eta 2.0: Embedded JS Template Engine for Node, Deno, and Browser — Boasts being lighter and faster than EJS but with many of the same features (it looks a lot like Ruby’s ERB). GitHub repo.
Swiper 9.0: Mobile Touch Slider with Accelerated Transitions — Tree shakable, library agnostic, and focused entirely on modern browsers and web APIs. RTL support too. GitHub repo.
UUID.js: RFC-Compliant UUID Generator — Supports v1 and v4 UUIDs.
↳ OCaml-inspired compile-to-JS language.
↳ Render org charts. (Lots of demos.)
↳ ‘Copy to clipboard’ for older browsers and edge cases.
↳ DOM diffing/patching – no VDOM needed.
↳ GitHub’s extensions for <time>
↳ Binary JSON parser and serialization.
React Date Picker 4.10
↳ Simple date picker React component.
↳ Lightweight form validation library.
Platform Engineer – Dev Ops — Come help Qwire modernize how studios, composers, artists, publishers, labels, and the rest of the industry manage music rights.
🎁 Last But Not Least
Madge 6.0: Create Graphs From Your Module Dependencies — A developer tool for generating a visual graph of your module dependencies (works with CommonJS, AMD and ES modules), finding circular dependencies, and discovering other useful info.