JavaScript News

January 2021 Security Releases Node.js

December 11th, 2020

Summary The Node.js project will release new versions of all supported release lines on or shortly after Monday, January 4th, 2021. These releases will fix: Two high severity issues One low severity issue Impact The 15.x release line of Node.js is vulnerable to two high severity issues and one low severity issue. The 14.x release…

TypeScript & Relevance

December 8th, 2020

In our wide world of building for the web, we have every opportunity to talk about tools. We lunge to fill every gap we find in our projects with a definitive technological approach. Some of us are given “a seat at the table” feasting on even the most minuscule of technological debates. This marketplace of…

Cloudinary Fetch with Eleventy

December 4th, 2020

This is about a wildly specific combination of technologies — Eleventy, the static site generator, with pages with images on them, that you ultimately want to be hosted by Cloudinary — but I just wanna document it as it sounds like a decent amount of people run into this situation. The deal: Cloudinary has a…

Happier HTML5 form validation in Vue

December 3rd, 2020

It’s kind of neat that we can do input:invalid {} in CSS to style an input when it’s in an invalid state. Yet, used exactly like that, the UX is pretty bad. Say you have <input type=”text” required>. That’s immediately invalid before the user has done anything. That’s such a bummer UX that you never…

Amplify, Amplified

December 2nd, 2020

First, quickly: AWS Amplify has a new Admin UI. Amplify always had a CLI that helps you build projects by setting up stuff like auth, storage, and APIs. That’s super useful, but now, you can do those things with the new Admin UI. And more, like model your data (!!), right from a local UI….

Lots of Ways to Use Math.random() in JavaScript

November 30th, 2020

Math.random() is an API in JavaScript. It is a function that gives you a random number. The number returned will be between 0 (inclusive, as in, it’s possible for an actual 0 to be returned) and 1 (exclusive, as in, it’s not possible for an actual 1 to be returned). Math.random(); // returns a random…

Rendering Spectrum

November 24th, 2020

Here are the big categories of rendering websites: Client: ship a <div id=”root”></div> and let a JavaScript template render all of it. Static: pre-render all the HTML. Server: let a live server process requests and generate the HTML response. They are not mutually exclusive. A website could statically pre-render 75% of it’s pages (say, blog…

Creating UI Components in SVG

November 23rd, 2020

I’m thoroughly convinced that SVG unlocks a whole entire world of building interfaces on the web. It might seem daunting to learn SVG at first, but you have a spec that was designed to create shapes and yet, still has elements, like text, links, and aria labels available to you. You can accomplish some of…

DRY-ing up styled-components

November 23rd, 2020

I like working with styled-components. They allow you to write CSS in your JavaScript, keeping your CSS in very close proximity to your JavaScript for a single component. As a front-end developer who loves to dissect a web page and break it down into reusable components, the idea of styled-components brings me joy. The approach…

Creating WebGL Effects with CurtainsJS

November 18th, 2020

This article focuses adding WebGL effects to <image> and <video> elements of an already “completed” web page. While there are a few helpful resources out there on this subject (like these two), I hope to help simplify this subject by distilling the process into a few steps: Create a web page as you normally would….