Issue #521 (Optional Catch, JS Libs, Git/CLI, Uncats)07/13/23
In case you missed it, JavaScript's try-catch statement has recently been given an optional new feature that can allow you to create cleaner try-catch blocks.
Normally, a try-catch statement looks something like this:
try {
myFunction();
} catch (error) {
// do something if an error is thrown
}
|
Notice the parentheses next to the "catch" statement. These are used to pass in the optional "error" object, which you can name whatever you want. It's often passed in as "error" or something similar that's easy to understand. Then you can deal with it inside the catch block.
But now all modern browsers support what's called optional catch binding. This means the parentheses that pass the error object can be optionally omitted in cases where you don't need to use the error object.
MDN's article on try-catch uses this example to demonstrate:
function isValidJSON(text) {
try {
JSON.parse(text);
return true;
} catch {
return false;
}
}
|
You can see this code doesn't need the error object so the parentheses are omitted and instead the block simply returns false when there's an error.
The only thing I'm unsure of is how an older browser would handle this. I would assume this is backwards compatible and won't cause any problems but it's good to test just in case, if possible.
Nonetheless, this seems like a small but useful feature that you may not have seen before to clean up your try-catch blocks.
Now on to this week's tools!
|
uite |
JavaScript Libraries and Frameworks
Space.js
One of two sibling libraries based on Three.js, one for creating "future" UIs and panel components and the other called Alien.js for 3D utilities, materials, shaders, and physics.
DeviceScript
A library and toolset that brings a TypeScript developer experience to low-resource microcontroller-based devices (that is, IoT devices).
Brilliant
For professionals and lifelong learners alike, this is a platform where you can do bite-sized interactive lessons that make it easy to level up in everything from math and data science to AI and beyond. Join 10+ million people building skills every day. SPONSORED
Garph
A full-stack GraphQL framework for TypeScript that aims to deliver the best GraphQL developer experience.
Neuledge
A TypeScript-based toolkit that streamlines database modeling with clear data entity definitions, customizable validation, and advanced business-logic representation.
Orillusion
A pure Web3D rendering engine, based on the WebGPU standard, that aims to achieve desktop-level rendering effects and supports 3D rendering of complex scenes in the browser.
VanJS
An ultra-lightweight, zero-dependency, and unopinionated reactive UI framework based on pure vanilla JavaScript and DOM, similar to React but without JSX.
|
UnsuckJS
Not a single tool but a directory that displays a comparison table of some of the more popular "lightweight" JavaScript libraries that don't require build tools or compilers.
replicad
An abstraction over a CAD library called Open CASCADE, to build browser based 3D models.
OpenAPI Stack
A collection of open source libraries and tools for full stack Typescript development inspired by modern alternatives like GraphQL and tRPC.
On the Release Radar:
|
Git, GitHub, and CLI Tools
Maverick
An AI-based GitHub app that provides automated code review for your GitHub pull requests, to catch early issues that may arise from mistakes and conflicts.
Inquirer
A collection of common interactive command line user interfaces that include input, select, checkbox, confirm, password, and more.
chalk-animation
An npm package that provides colorful animations in your terminal's output, including rainbow, pulse, radar, glitch, neon, and karaoke.
Get Smarter in 5 Minutes with Morning Brew (It's Free)
There's a reason over 4 million people start their day with Morning Brew – the daily email that delivers the latest news from Wall Street to Silicon Valley. Business news doesn't have to be boring...make your mornings more enjoyable, for free. SPONSORED
try
A Shell program that lets you run a command and inspect its effects before changing your live system.
AI Files
A ChatGPT-based CLI tool that helps you organize and manage your files, and uses Pandoc, ExifTool, and some other dependencies.
Featurevisor
A CLI tool to manage your feature flags, experiments, and remote configuration declaratively from your Git repository.
|
Ink UI
A collection of customizable UI components for CLIs made with Ink (the popular React library for building command-line apps).
Manter
A terminal app built with Svelte and Rust to enhance the terminal experience with features like autocomplete, current branch display, reusable scripts, and more.
Tiny Bin
A JS/TS multi-featured, dependency-free library for building tiny and beautiful command line apps.
dns-detector
A tiny, dependency-free CLI tool built with Node.js to resolve host IPs and find the fastest IP.
README-template
A starter template for a README for a GitHub repository or similar project, that includes a number of standard sections often used in project READMEs.
bruno
A new and innovative open-source, Git-friendly API client, aimed at revolutionizing the status quo represented by Postman and similar tools.
|
The Uncategorizables
Fern
An open-source toolkit for designing, building, and consuming REST APIs, to generate client libraries, API documentation, and boilerplate for your backend server.
Brilliant
For professionals and lifelong learners alike, this is a platform where you can do bite-sized interactive lessons that make it easy to level up in everything from math and data science to AI and beyond. Join 10+ million people building skills every day. SPONSORED
MDN Playground
A new live coding playground from Mozilla that lets you write and execute HTML, CSS, and JavaScript experiments in the browser.
Comic Mono
A legible monospace font based on the ever-hated Comic Sans, and is actually a fork of another similar project.
Scrapscript
A tiny programming language and messaging notation, described as "JSON with types and functions and hashed references."
Jellyfin
A cross-platform native server that enables you to collect, manage, and stream your media collection, with official and third-party apps to access your media from anywhere.
ChromeStats
An all-in-one platform to compare and analyze Chrome extensions, for competitor research, risk analysis, and growth tracking.
Typewolf
An all-in-one resource for everything related to what's trending and new in fonts, font pairings, typography checklists, and more.
onsheets.io
An online app to convert Google Sheets data to REST APIs.
Hiber3D
A developer kit to quickly and easily build interactive 3D worlds and publish them directly to the web for seamless performance across mobile, tablet and desktop.
WriteFreely
A clean, Markdown-based publishing platform for building a writing space on the web.
Javy
A JavaScript to WebAssembly toolchain that takes your JavaScript code and executes it in a WebAssembly embedded JavaScript runtime.
|
Commercial Apps and Classifieds
Launch Stack – Build your new SaaS app in under 5 minutes with all the features you need.
|
|
Riddle UI – A design system, icon library, and UI kit to streamline your design workflow with time-saving efficiency.
|
|
Maige – A GitHub app that uses AI to label your GitHub issues. First 10 issues are free.
|
VSCode.Email – The latest news, articles, and tools for the world's most popular text editor. AD
|
|
Pickaxe – A no-code tool to create and embed GPT-4 apps in your website in minutes.
|
SpamPatrol – An API to hook into your web forms to avoid spam submissions on your website.
|
|
|
A Tweet for Thought
A thread from Chris Wanstrath, one of the co-founders of GitHub, outlining GitHub's early successes. It's no wonder Microsoft paid $7.5 billion for the company in 2018!
Send Me Your Tools!
Made something? Reply to this email or send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
Before I Go...
Kenny Log-ins probably shouldn't be used for anything important, but the whole concept is hilarious and worth checking out for anyone who grew up in the 1980s.
Thanks to all for subscribing and reading!
Keep tooling,
Louis
webtoolsweekly.com
@LouisLazaris
|
|