27 Jan 2023
Astro 2.0: The Next-Gen 'Islands'-Oriented Web Framework - 2.0 includes hybrid rendering (mixing of SSR and SSG outputs), type safety for Markdown & MDX, and an upgrade to Vite 4.0. Astro is worth exploring when performance is key as it works with popular frameworks but lets you deliver the least JS possible to get pages rendered.
Fred Schott
|
Deep Cloning Objects in JavaScript, The Modern Way - If you've been leaning on something like Lodash for deep cloning, you might not need to any longer. "It's been a long time coming, but we finally now have the built-in structuredClone function to make deep cloning objects in JavaScript a breeze."
Steve Sewell
|
Announcing TypeScript 5.0 Beta - A new major version number, but users of the popular typed JS superset will face a 'similar upgrade experience' to previously. Decorators make it in as a first class feature, significant performance and package size optimizations are present, export type * is supported, all enum s are now union enums , and much more.
Daniel Rosenwasser (Microsoft)
|
AlaSQL.js 3.0: Isomorphic JavaScript SQL Database - A SQL database you can use in the browser, Node.js or mobile apps. An interesting bit of functionality is you can use SQL to query JavaScript objects - example. "The library adds the comfort of a full database engine to your JavaScript app. No, really."
Andrey Gershun
|
IN BRIEF:
-
π
If you're really into Vue.js, you'll soon be able to become officially certified in it.
-
If you're using React, you should be using a React framework, π¦ says Andrew Clark of the core team.
-
The creator of alternative JS runtime Bun asks: "If there's one thing missing from Bun for you to switch, what is it?" You can reply on Twitter.
-
jQAPI.com is an amazing meeting of old and new JavaScript - it's an Astro powered version of jQuery's documentation!
|
π Articles & Tutorials
|
Getting Started with SvelteKit - SvelteKit only recently hit 1.0 and this is a comprehensive overview of how to build a site using the Svelte-oriented app framework. It covers topics like routing, layouts, data, props and more.
Adam Rackis
|
scrollend : A New JavaScript Event - Finally an event you won't need a hotel booking for. scrollend provides a new way to detect that a scrolling operation is complete in the browser. Is it another Chrome-only nicety? Surprisingly not - Firefox 109+ supports it too.
Adam Argyle (Chrome Team)
|
Packaging Rust Apps for the npm Registry - Isn't npm just for JavaScript projects? Nope. Node is required to make this technique work, but as long as you can package and execute a binary, you're good to go.
Orhun ParmaksΔ±z
|
Developer Relations Manager - Join the CKEditor team to build community around an Open Source project used by millions of users around the world π
CKEditor
|
Find JavaScript Jobs with Hired - Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired
|
|
|

27 Jan 2023 12:00am GMT
20 Jan 2023
Why Not document.write() ? - Many moons ago, document.write was a mainstay of client-side JavaScript code, but it's long been considered a bad practice - why? Harry digs in, noting that it "guarantees both a blocking fetch and a blocking execution, which holds up the parser for far longer than necessary".
Harry Roberts
|
New: The WebAssembly JavaScript Promise Integration API - A technical explanation from the V8 team on a new API to let WebAssembly apps bridge the synchronous / asynchronous gap of expectations around external functionality (consider that many apps are written synchronously, but modern Web APIs are usually asynchronous). JSPI helps bridge both worlds and can be tested via a flag in Chrome.
McCabe, Michaud, Rezvov, Dahl / V8 Team
|
Break the Programming Mold with Dependency Injection - Keep your code on the cutting edge with dependency injection in JavaScript. Check out Snyk's guide that gives a breakdown of what dependency injection is, when you should use it, and what popular JavaScript frameworks it's implemented.
Snyk sponsor
|
Why Is My Jest Suite So Slow? - Jest is known for its speed and simplicity so the author was surprised at how quickly his team's test suite was slowing down. This is a write up of the ensuing investigation along with the improvements that slashed test running time.
Steven Lemon
|
Bun v0.5 Released - Bun is another JavaScript runtime taking the world by storm and a level of Node compatibility has been baked in from the start. v0.5 adds support for node:readline , workspaces, a node:dns shim, and network socket creation support such that more Node.js-based database libraries work out of the box.
Ashcon Partovi
|
π Articles & Tutorials
|
Fixing a Memory Leak in a Production Node.js App - Kent encountered a variety of weird memory and CPU usage spikes in his Node-powered app and decided to figure out what was going on. This post walks through his complete journey, with plenty of side problems encountered along the way, before discovering the root cause was where he least expected it.
Kent C Dodds
|
π A Beginner's Guide to Chrome Tracing - For when you want to go deeper than the Performance tab. With tracing, you can record what a browser is up to far behind the scenes.
Nolan Lawson
|
Shifty: A Small, Fast Tweening Engine - All it does is tweening. It's a low level animation solution that you can integrate into any rendering mechanism of your choice. The examples here demonstrate it well as it can be used for 'animating' things in an unconventional sense. GitHub repo.
Jeremy Kahn
|
Developer Relations Manager - Join the CKEditor team to build community around an Open Source project used by millions of users around the world π
CKEditor
|
Find JavaScript Jobs with Hired - Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired
|
|
|

20 Jan 2023 12:00am GMT
13 Jan 2023
The State of JS 2022 - The State of JS is one of the JavaScript ecosystem's most popular surveys and this time 39,471 folks took part giving us a snapshot of the tools, technologies, and language features people are using (or not using!) There's a lot to go through, but here are some key points:
Devographics
|
π§ Retire your Legacy CMS with ButterCMS - ButterCMS is your new content backend. We're SaaS so we host, maintain, and scale the CMS. Enable your marketing team to update website + app content without needing you. Try the #1 rated SaaS Headless CMS for your JS app today. Free for 30 days.
π§ ButterCMS sponsor
|
π£ Is TypeScript Worth It? - Time saver or waste of time? The relationship between TypeScript and JavaScript remains a complex one. An extensive discussion took place on Hacker News this week and, notably, TypeScript PM Daniel Rosenwasser popped up to respond to some of the concerns.
Hacker News
|
IN BRIEF:
-
You'll be aware of JavaScript's strict mode but one developer thinks we need a stricter mode to fix several other syntax issues.
-
Publint is an online tool for 'linting' live npm packages to see if they are packaged correctly, as a way to ensure maximum compatibility across environments.
|
π Articles & Tutorials
|
Using GitHub Copilot for Unit Testing? - Even if you find the idea of a AI tool like Copilot writing production code distasteful, it may have a place in speeding up writing tests.
Ianis Triandafilov
|
-
visx 3.0
β³ D3-powered visualization React components.
-
Atrament 3.0
β³ Library for drawing and handwriting on a canvas element.
-
HLS.js 1.3
β³ Library to play HLS (HTTP Live Streaming) in browsers, with MSE support.
|
Developer Relations Manager - Join the CKEditor team to build community around an Open Source project used by millions of users around the world π
CKEditor
|
Find JavaScript Jobs with Hired - Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired
|
|
πΆ Γcoute la musique..
|
Oxygene Pt 4, as Performed by JavaScript - This is fun. Dittytoy is a simple, JavaScript-powered online generative music tool and someone has put together a surprisingly faithful rendition of perhaps one of the best known instrumental synth songs ever, all the way from 1976.
Dittytoy
|
|

13 Jan 2023 12:00am GMT
06 Jan 2023
We're back for 2023 π As is our tradition, we're taking a quick look back at the past year - this time led by a few choice retrospectives, then followed by the most popular articles and tools included in JavaScript Weekly in 2022. There's sure to be some things you missed or want to revisit - enjoy!
__
Peter Cooper and the Cooperpress team
|
π The 2022 JavaScript Rising Stars - For the seventh time, Michael Rambeau kicks off our year with a roundup of 'trending projects' in the JavaScript space. Bun takes the top spot for 2022, but we'll leave the rest for you to check out. A few guest authors also share their opinions on the ecosystem.
Michael Rambeau et al.
|
Evan You Looks at 2022 and 2023 - You'll know Evan for Vue.js and Vite and here he recaps what happened in the Vue world in 2022 (like Vue 3.x becoming the new default version) and what we can expect in 2023, including the mysteriously named Vapor Mode.. We're also warned Vue 2.x has one year before it reaches EOL.
Evan You
|
π§ Retire your Legacy CMS with ButterCMS - ButterCMS is your new content backend. We're SaaS so we host, maintain, and scale the CMS. Enable your marketing team to update website + app content without needing you. Try the #1 rated SaaS Headless CMS for your JS app today. Free for 30 days.
π§ ButterCMS sponsor
|
LOOKING BACK AND FORWARD:
-
Michael Shilman writes about the future for Storybook in 2023.
-
Ryan Carniato ponders where JS frameworks are headed in 2023.
-
π
βΆοΈ 10 JavaScript conferences to consider attending this year.
-
Some other 2022 roundups and reflections: Cassidy Williams, Igalia Web Platform Team, Dave Rupert, StΓ©phanie Walter, Pawel Grzybek, Stephanie Eckles, Michelle Barker, Rachel Andrew, Remy Sharp, Ahmad Shadeed, the HTTP protocol π
|
π Top Articles & Tutorials of 2022
|
As determined by their popularity in JavaScript Weekly.
|
3. JS Function Composition: What's The Big Deal? - James' articles on JavaScript fundamentals are always popular and last year we got a fresh one focusing on a common activity: function composition. "What's the big deal?" he asks.
James Sinclair
|
5. Ten Common JavaScript Issues Developers Face - A good old-fashioned list. If you've been working with JavaScript for many years, these are potholes you (probably) know to avoid but there's enough to chew on here otherwise.
Ryan J. Peterson
|
7. Patterns.dev: Modern Web App Design Patterns - A free book you can download in PDF format or enjoy on the Web. Learn about lots of fundamentals, from how different styles of rendering or importing resources work to performance optimizations and case studies.
Lydia Hallie, Addy Osmani, and Others
|
π Top Code & Tools of 2022
|
As determined by their popularity in JavaScript Weekly.
|
1. Rome Formatter: Super Fast JavaScript Formatting - I liked the image for this enough to want to include it again ;-) As of 2023, Rome (now at version 11) remains an ambitious project that sets out to replace a lot of JS tools in one hit with the initial focus being on Prettier-esque code formatting, as well as linting. Compiling, bundling, and testing features are scheduled to appear throughout 2023.
Rome Team
|
2. TypeScript 4.6 Released - Not a lot to say here, as TypeScript is always popular, and it's now up to version 4.9, but with v4.6 it took a step forward by being able to detect more syntax errors in plain old JavaScript, a benefit for all JavaScript-developing VS Code users, at least.
Daniel Rosenwasser
|
3. Vite 4.0 Released - This was only a month ago, too. From the same creator as Vue.js, Vite is an exciting piece of frontend tooling offering lots of goodies out of the box. We look forward to more Vite news in 2023.
Evan You and Vite Contributors
|
4. Lexical: An Extensible Text Editor Library - Out of Meta came a new text editor framework putting accessibility, performance, and reliability at its heart. At only 22KB gzipped and with React 18+ support (but vanilla is also OK), it reminded us of Draft.js but they say it's the "next generation" and Meta is already replacing Draft.js with Lexical in their internal apps.
Meta / Facebook
|
5. Bun: A (Still) Interesting New JavaScript Runtime - Bun appeared in summer 2022 as a new JavaScript runtime built not around V8 (like Node.js or Deno are) but WebKit/Apple's JavaScriptCore. It includes its own bundler, transpiler, task runner, and npm client, but most significantly boasts huge performance improvements over existing options and supported a lot of Node and Web APIs out of the box.
Jarred Sumner
|
7. Shader Park: Create Interactive 2D and 3D Shaders with JavaScript - An open source Web-based platform, community, and library for simplifying the mystifying world of shaders and GPUs by letting you create them procedurally with JavaScript. Note: This site is heavy on the browser given its use of WebGL, so may not be suitable for every device.
Blankensmith and Whidden
|
8. Axios 1.0: The Popular HTTP Client Library/API - With 98k GitHub stars and a presence in numerous thousands of package.json files, Axios remains very popular and it's amazing it only hit 1.0 in 2022. The Fetch API has taken much of Axios' thunder but, like jQuery, Axios still wraps up a lot of functionality into a broadly liked API. (Official homepage.)
Axios Project
|
Developer Relations Manager - Join the CKEditor team to build community around an Open Source project used by millions of users around the world π
CKEditor
|
Find JavaScript Jobs with Hired - Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired
|
|
We're back to normal service as of next week! If you've got anything you'd like to submit for our consideration, hit reply and let us know.
|
|

06 Jan 2023 12:00am GMT
20 Dec 2022
Last week, we released jQuery 3.6.2. There were several changes in that release, but the most important one addressed an issue with some new selectors introduced in most browsers, like :has(). We wanted to release jQuery 3.6.3 quickly because an issue was reported that revealed a problem with our original fix. More details on that β¦ Continue reading β
20 Dec 2022 9:35pm GMT
13 Dec 2022
You probably weren't expecting another release so soon, but jQuery 3.6.2 has arrived! The main impetus for this release was the introduction of some new selectors in Chrome. More on that below. As usual, the release is available on our cdn and the npm package manager. Other third party CDNs will probably have it soon β¦ Continue reading β
13 Dec 2022 3:13pm GMT
27 Nov 2022
Some context on Mastodon, after a couple weeks of exploring it - I'm sure I'm missing a lot, but this is my understanding of the tech, so far. I've been an avid user of Twitter so most of my knowledge comes by comparing Mastodon to Twitter. You can follow me on Mastodon here: https://mastodon.social/@jeresig Your [β¦]
27 Nov 2022 11:28pm GMT
26 Aug 2022
jQuery 3.6.1 has been released! It's been a while since our previous release. We were looking at fixing some elusive edge cases related to focus and blur, but we never quite got the fix right. If there's any area of jQuery that's hard to change, it's likely related to focus somehow. We're leaving those as-is β¦ Continue reading β
26 Aug 2022 5:55pm GMT
07 Oct 2021
By: Michal Golebiowski-Owczarek, Felix Nagel, and the jQuery team Editor's Note: the following blog post was originally published to the OpenJS Foundation Blog. jQuery maintainers are continuing to modernize its overall project that still is one of the most widely deployed JavaScript libraries today. The team announced that the cross-platform jQuery Mobile project under its β¦ Continue reading β
07 Oct 2021 3:22pm GMT
By: Michal Golebiowski-Owczarek, Felix Nagel, and the jQuery team Editor's Note: the following blog post was originally published to the OpenJS Foundation Blog. The jQuery project is actively maintained and widely implemented - it's used by 73% of 10 million most popular websites. As part of its ongoing effort to modernize the project, jQuery maintainers β¦ Continue reading β
07 Oct 2021 3:19pm GMT
17 Jun 2021
As part of its ongoing infrastructure updates, the jQuery infrastructure team is making configuration and deployment changes to address intermittent outages reported by some users. The issue is the result of faulty IP allowlisting which affects users downloading jQuery project assets from certain IP addresses. This issue is expected to be resolved in the next β¦ Continue reading β
17 Jun 2021 5:21pm GMT
02 Mar 2021
jQuery 3.6.0 has been released! In jQuery 3.5.0, the major change was a security fix for the html prefilter. This release does not include a security fix, but does have some good bug fixes and improvements. We still have our eyes on a jQuery 4.0 release, but until then we will continue to support the β¦ Continue reading β
02 Mar 2021 5:53pm GMT
04 May 2020
I've never gotten to say this on a jQuery release, but May the 4th be with you! A short time ago in a galaxy exactly like this one, we released jQuery 3.5.0. We have a quick fix for a regression in that release. Specifically, we had changed our internal data object to use Object.create( null β¦ Continue reading β
04 May 2020 10:57pm GMT
10 Apr 2020
jQuery 3.5.0 has been released! As usual, the release is available on our cdn and the npm package manager. Other third party CDNs will probably have it soon as well, but remember that we don't control their release schedules and they will need some time. We hope you're staying healthy and safe while so many β¦ Continue reading β
10 Apr 2020 4:34pm GMT
01 May 2019
Hello again! jQuery 3.4.0 was released just three weeks ago, but we've had a few issues reported that warranted a patch release. Thank you to everyone that reported issues and helped us get these fixed quickly. Here are the changes: Triggering focus or blur more than once in IE jQuery 3.4.0 came with some changes β¦ Continue reading β
01 May 2019 9:22pm GMT
14 Jan 2016
Today marks the 10th anniversary of the release of jQuery. I announced it back at BarCamp NYC 2006 when I was still in college. It's incredible to think of how far it's come and just how many people have contributed to its success. To them I am forever grateful, thank you. Last year I wrote [β¦]
14 Jan 2016 5:17pm GMT
28 May 2015
Since the fall of 2013 I've had the opportunity to collaborate with the Frick Art Reference Library Photoarchive, a venerable art history research institution here in New York City. We've been especially interested in finding ways of applying computer vision technology to improve art history research. Art history photo archives are an interesting tool used [β¦]
28 May 2015 3:02pm GMT
20 May 2015
In my spare time I've been working on a database of Japanese prints for a little over 3.5 years now. I'm fully aware that I've never actually written about this, personally very important, project on my blog - until now. Unfortunately this isn't a post explaining that project. I do still hope to write more [β¦]
20 May 2015 10:42pm GMT
07 Apr 2015
Recently I was prompted by Daniel Lamb to try and find old versions of jQuery for his jQuery Archive project. Thankfully I was able to find one in the Internet Archive from just a couple weeks after its release, in January 2006. I then took that opportunity to put that code online and I used [β¦]
07 Apr 2015 7:40pm GMT
23 Nov 2014
In an effort to be more privacy conscious I've been looking to transition to having Domain Privacy enabled on all the domains that I own. As it turns out many domain registrars, including my current one, charge an additional fee for this service. In an effort to save some money I did a price comparison [β¦]
23 Nov 2014 1:00am GMT
10 Apr 2014
Last fall, work on my coding side projects came to a head: I wasn't making adequate progress and I couldn't find a way to get more done without sacrificing my ability to do effective work at Khan Academy. There were a few major problems with how I was working on my side projects. I was [β¦]
10 Apr 2014 6:28pm GMT
21 Nov 2013
First, some background: I highly recommend that you read the following two blog posts: by Ashe Dryden: The Ethics of Unpaid Labor and the OSS Community and by James Coglan: Why Github is not your CV. They make some fantastic points and communicate the issues surrounding "Using Github as your CV". Both of these were [β¦]
21 Nov 2013 6:22pm GMT
15 Nov 2013
This summer I had the opportunity to attend NodeConf and it was a fantastic experience. I really appreciated how every session was a hands-on coding session: I felt like I walked away knowing how to put a bunch of advice directly into practice. One of my favorite sessions was the one run by James Halliday [β¦]
15 Nov 2013 5:37pm GMT
16 Jul 2013
For a while now I've been a huge fan of Gittip. I think they've created one of the most interesting models for funding Open Source development. One of the missing pieces, for most Open Source developers, is having consistent, reliable, income backing your development. Some developers are sponsored by their work place, others have a [β¦]
16 Jul 2013 9:23pm GMT
03 Apr 2013
Like many developers I've been excited by the promise of Asm.js. Reading the recent news that Asm.js is now in Firefox nightly is what got my interest going. There's also been a massive surge in interest after Mozilla and Epic announced (mirror) that they had ported Unreal Engine 3 to Asm.js - and that it [β¦]
03 Apr 2013 3:18pm GMT
13 Feb 2013
The news has just come out that Opera is switching all of their browsers (both mobile and desktop) to use WebKit (specifically, Chromium). I've seen a lot of gnashing of teeth on Twitter and I feel like I can respond because I use to feel the same way back in 2008-2009. However this is 2013 [β¦]
13 Feb 2013 2:38pm GMT
08 Feb 2013
As an avid user of Ghostery, which blocks all sorts of tracking scripts, pixels, and other web bugs I frequently run across a surprising issue: The case in which the Google Analytics ga.js script has been blocked from loading (which is intended) but then some critical piece of functionality on the site is broken. The [β¦]
08 Feb 2013 4:21pm GMT
07 Feb 2013
Happy news! My book, Secrets of the JavaScript Ninja is finally in stock on Amazon! It's been available on Manning.com for over a month now but I think Amazon has been struggling to keep the books consistently in stock. You can get an ePub or Kindle version of the book at Manning.com. I've written about [β¦]
07 Feb 2013 6:39pm GMT
06 Feb 2013
I learned a neat tip from my co-worker, Craig Silverstein (more on Craig joining Khan Academy), recently and I thought others might find it to be useful. It has to deal with the eternal question: How do you store sensitive configuration options (such as usernames, passwords, etc.) in source control? Typically what I've done is [β¦]
06 Feb 2013 9:23pm GMT