#624 — February 3, 2023
JavaScript Weekly
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.’)
Alex MacArthur
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.
Hemanth HM
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.
Bryntum sponsor
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 May Not Need Lodash or Underscore — Inspired by the popular You Might Not Need jQuery, this extensive document provides plain JavaScript alternatives to almost 100 different functions you’d find in popular utility libraries like Lodash and Underscore.
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.
Dan Abramov
RELEASES:
TestCafe 2.3
↳ End-to-end Web testing.
Docusaurus 2.3
↳ 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.”
Robert Pearce
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.
Artem Avetisyan
▶ 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.
Ignace Maes
Using JavaScript in a Swift App — One for iOS app developers. It’s not perfect but at least it’s an option.
Douglas Hill
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.
Phil Nash
Too Much Tech Debt and Outdated Packages? Don’t Have Time to Upgrade?
UpgradeJS by OmbuLabs sponsor
On Using Playwright in GitHub Actions
Radosław Miernik
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.
ColonelParrot
▶ ScrollyVideo.js: Responsive ‘Scrollable’ Videos — It’s an interesting effect and well demonstrated here. Compatible with React, Svelte, Vue, or just plain ole’ HTML.
Daniel Kao
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.
Snyk sponsor
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.
OmbuLabs
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.
Ben Gubler
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.
Vladimir Kharlampidi
UUID.js: RFC-Compliant UUID Generator — Supports v1 and v4 UUIDs.
LiosK
ReScript 10.1
↳ OCaml-inspired compile-to-JS language.
OrgChart 3.4
↳ Render org charts. (Lots of demos.)
clipboard-polyfill 4.0
↳ ‘Copy to clipboard’ for older browsers and edge cases.
morphdom 2.7
↳ DOM diffing/patching – no VDOM needed.
relative-time-element 4.2
↳ GitHub’s extensions for <time>
js-bson 5.0
↳ Binary JSON parser and serialization.
React Date Picker 4.10
↳ Simple date picker React component.
JustValidate 4.1
↳ Lightweight form validation library.
💻 Jobs
Platform Engineer – Dev Ops — Come help Qwire modernize how studios, composers, artists, publishers, labels, and the rest of the industry manage music rights.
Qwire
Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired
🎁 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.
Patrik Henningsson