14 Feb 2025
Style Observer: A Library to Observe CSS Property Changes - Lea Verou is a developer who's easy to admire because whenever she sets out to solve a problem, the results are always fully formed with no cut corners. So it goes with this 'exhaustively tested' JS library for observing changes to CSS properties which deftly handles lots of browser quirks. See the project homepage for more. (TIL there's a .style TLD!)
Lea Verou
|
π‘ Lea has many other projects to check out, including Color.js which similarly nails the whole process of handling and manipulating colors in JS and the browser.
|
Why to Move On to 'ESM-Only' - The march to using ES modules has been going on for years, but if you're still holding out, there's probably a good reason why? However, while you can maintain packages supporting both ESM and CommonJS, Anthony thinks it's time to go 'ESM only' and explains why.
Anthony Fu
|
π Articles & Tutorials
|
π And a little typography bonus
|
|
![](https://javascriptweekly.com/open/723/rss)
14 Feb 2025 12:00am GMT
07 Feb 2025
There Are a Lot of Ways to Break Up Long Tasks in JavaScript - Due to how browsers and the event loop work, letting a single task hog the main thread is a quick way to freeze up your site's UI. Alex explains the problem and uses a simple example to walk through the pros and cons of different solutions from basic use of setTimeout() to requestAnimationFrame() , channel messaging, and Web Workers.
Alex MacArthur
|
π Articles & Tutorials
|
How to Publish ESM-Based npm Packages with TypeScript - Now that you can use the ES modules (almost) everywhere, it's worth understanding how to package them up for use with npm. Axel digs into everything you need to know and shares some useful tools too.
Dr. Axel Rauschmayer
|
Vite with TypeScript - If you've created a JavaScript-based React project with Vite and want to get on the TypeScript train, here are the basic steps.
Robin Wieruch
|
RE2JS 1.0: Linear Time Matching for Regular Expressions - RE2 is a regular expression engine built by Google designed to operate in time proportional to the size of the input, in order to avoid so-called 'ReDoS' problems caused by backtracking, and this brings such protection to the browser too.
Oleksii Vasyliev
|
-
πͺ CookieConsent 3.1 - A lightweight, pure JS, GDPR-compliant cookie consent mechanism with which to annoy all your users meet regulatory requirements.
-
Happy DOM 17.0 - Cross-runtime JS implementation of a web browser sans UI. Now supports ES modules.
-
remove-unused-vars 0.0.4 - An experimental new tool for removing unused variables from code.
-
get-value 4.0 - Use property paths (a.b.c ) get a nested value from an object.
-
mp4-muxer 5.2 - MP4 multiplexer in pure TypeScript with support for the WebCodecs API, video and audio.
-
πΊοΈ react-map-gl 8.0 - React friendly API wrapper around MapboxGL JS. (Demo.)
-
ποΈ Schedule-X 2.17 - Material Design event calendar and date picker.
-
Wasp 0.16 - Wasp is a Rails-like framework using Node, React & Prisma.
-
web-worker 1.5 - Consistent Web Workers in browser and Node.
-
Js_of_ocaml (jsoo) 6.0 - An OCaml to JavaScript compiler.
-
RxDB 16.5 - Offline-first, reactive database for JS apps.
|
π΅ A quick musical number..
|
A Protracker Module Player in Pure JavaScript - I'm a sucker for 90s tracker music, JavaScript experiments, and cool Web experiences, and this has all three. If you're not familiar with tracker music, it's a way to write music on a grid which triggers the playing of samples. This code manages to parse and play a Protracker file in pure JavaScript. (Note: The image above is of the original Protracker app, this experiment is more minimal and about the code.)
srtuss
|
|
![](https://javascriptweekly.com/open/722/rss)
07 Feb 2025 12:00am GMT
31 Jan 2025
JavaScript: The Hard Parts - Take your knowledge to the next level with the most loved JavaScript course in the industry. Deepen your understanding of the most important aspects of JavaScript. This highly rated video course goes under the hood, looking at callbacks, higher-order functions, object-oriented JS, and more.
Frontend Masters sponsor
|
A WebAssembly Compiler That Fits in a Tweet - Or 192 bytes, if you prefer. This is a look into a fantastic little bit of JavaScript hacking that can compile arithmetic expressions into WebAssembly you can run very easily. You can learn a lot in so little time here.
Mariano Guerra and Patrick Dubroy
|
Announcing TypeScript 5.8 Beta - It's that time again. What's new? Support for using require() for ES modules in Node 22+, checked returns for conditional and indexed access types, startup and building optimizations & more. While not a huge release overall, it's particularly good for Node devs.
Daniel Rosenwasser
|
π‘ One neat 5.8 feature is --erasableSyntaxOnly , a way to ensure that 'type stripping' techniques still result in runnable code by disallowing TypeScript-exclusive features like enums.
|
π Articles & Tutorials
|
The Modern Way to Write JavaScript Servers - The irony is that while Node popularized JavaScript on the server (though Netscape was doing it in the 90s) this modern, standardized cross-runtime approach doesn't work on Node ...yet ;-)
Marvin Hagemeister
|
Introducing Mentoss: The fetch Mocker - A new approach to mocking global fetch() calls (in both browsers and server-side runtimes) inspired by previous attempts like Nock and MSW.
Nicholas C. Zakas
|
π Plotly 3.0: A JavaScript Graphing Library - A high-level, declarative charting library, built on top of D3 and stack.gl, with over 40 chart types, including 3D charts, statistical graphs, and SVG maps. v3 is largely to remove deprecations, fix bugs, and a switch to esbuild.
Plotly, Inc.
|
Ruck 9.0: A React Webapp Framework for Deno - A lean React-based way to build modern React apps with Deno using features like ESM, dynamic imports, HTTP imports, and import maps with no transpilation or bundling.
Jayden Seric
|
|
![](https://javascriptweekly.com/open/721/rss)
31 Jan 2025 12:00am GMT
24 Jan 2025
FlexGrid by Wijmo: The Industry-Leading JavaScript Datagrid - A fast and flexible DataGrid for building modern web apps. Key features and virtualized rendering are included in the core grid module. Pick & choose special features to keep your app small. Built for JavaScript, extended to Angular, React, and Vue.
Wijmo From MESCIUS inc. sponsor
|
π Articles & Tutorials
|
Avoiding any s with Linting and TypeScript - any is TypeScript's famous type fallback/safety hatch but if you can avoid it, you can benefit more from TypeScript's type-checking features. Josh shares some tips to do just that.
Josh Goldberg
|
π€ Running Inference in Web Extensions - Firefox Nightly is shipping with a new API that can let you use their AI runtime for offline machine learning tasks in Web extensions you create. It uses the previously mentioned Transformers.js and is already used in Firefox 133 to provide alt text for images in PDFs.
Tarek ZiadΓ© (Mozilla)
|
SRCL: Build React Apps with 'Terminal Aesthetics' - The homepage is a live demonstration of what SRCL has to offer. It's a suite of React components and styling to recreate a monospaced, terminal-like atmosphere
Internet Development Studio Company
|
|
![](https://javascriptweekly.com/open/720/rss)
24 Jan 2025 12:00am GMT
17 Jul 2024
Last February, we released the first beta of jQuery 4.0.0. We're now ready to release a second, and we expect a release candidate to come soonβ’. This release comes with a major rewrite to jQuery's testing infrastructure, which removed all deprecated or under-supported dependencies. But the main change that warranted a second beta was a β¦ Continue reading β
17 Jul 2024 2:03pm GMT
17 Apr 2024
jQuery's influence on the web will always be evident. When it was first introduced in 2006, jQuery became a fundamental tool for web developers almost immediately. It simplified JavaScript programming, making it easier to manipulate HTML documents, handle events, perform animations, and much more. Since then, it has played and continues to play a major β¦ Continue reading β
17 Apr 2024 5:00pm GMT
06 Feb 2024
jQuery 4.0.0 has been in the works for a long time, but it is now ready for a beta release! There's a lot to cover, and the team is excited to see it released. We've got bug fixes, performance improvements, and some breaking changes. We removed support for IE<11 after all! Still, we expect disruption β¦ Continue reading β
06 Feb 2024 4:43pm GMT
28 Aug 2023
jQuery 3.7.1 has been released! This release fixes a regression from jQuery 3.6.0 that resulted in rounded dimensions for <tr /> elements in Chrome and Safari. Also, a (mostly) internal Sizzle method, jQuery.find.tokenize that was on the jQuery object was accidentally removed when we removed Sizzle in jQuery 3.7.0. That method has been restored. As β¦ Continue reading β
28 Aug 2023 1:40pm GMT
11 May 2023
jQuery 3.7.0 is now available! This release has it all: bug fixes, a new method, and a performance improvement! We even dropped our longtime selector engine: Sizzle. Or, I should say, we moved it into jQuery. jQuery no longer depends on Sizzle as a separate project, but has instead dropped its code directly into jQuery β¦ Continue reading β
11 May 2023 6:38pm GMT
08 Mar 2023
If you've been following along with recent jQuery releases, we have been working on how to address the recent addition of some new selectors in browsers, especially :has. jQuery 3.6.3 settled on the strategy of using native CSS.supports to determined whether a selector should be passed directly to querySelectorAll or instead go through jQuery's selector β¦ Continue reading β
08 Mar 2023 3:52pm 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
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