A huge week for ECMAScript proposals
#708 — October 10, 2024
JavaScript Weekly
TC39 Advances 10+ ECMAScript Proposals — The architects behind the development of the ECMAScript / JavaScript spec got together again this week (you can see them in this tweet) and they had a packed agenda. Import attributes, Iterator helpers, Promise.try and Regexp modifiers all made it to stage 4, and more besides.
Sarah Gooding (Socket)
🦖 Announcing Deno 2 — A huge release for the “what if I reinvented Node again from scratch?” runtime. Backwards compatibility with Node is a headline feature, but there’s a lot more baked in. Best, though, is the ▶️ epic ‘Announcing Deno 2’ video. After a slightly bombastic opener, Ryan presents a fantastic ‘keynote’ style tour of everything Deno has to offer – I enjoyed watching it.
Dahl, Belder, Iwańczuk and Jiang
💡 A neat new feature is Deno’s Jupyter Notebook support which Simon Willison checks out here.
A Deeper Understanding of Web Security — Steve Kinney hosts this extensive video course on the challenges of web security. You’ll gain a deeper understanding of security on the web, developing your mental model on how to approach things, explore common vulnerabilities, get hands-on experience with security tools, and get to grips with best practices.
Frontend Masters sponsor
Announcing TypeScript 5.7 Beta — The newest TypeScript is on the way. As always, a true laundry list of enhancements and new features, but the path rewriting for relative paths is a particularly welcome addition, enabling easy rewrites of .ts imports into .js at compile time.
Microsoft
IN BRIEF:
Ian Grunert writes about work done to (re)enable JavaScriptCore’s JIT mechanisms on Windows. This is particularly good news for Bun users.
Did you know MySQL 9.0 now natively supports JavaScript stored routines?
🇺🇸 The next JSNation event is taking place in a hybrid form both remotely and in New York City this November 18 and 21. Some fantastic speakers await.
Tenno is an interesting online Markdown editor that supports adding spreadsheet-like cells that can be populated by JavaScript.
🕹️ The winners of the latest js13kGames game jam have been announced. It’s amazing what people have managed to achieve in just 13KB.
RELEASES:
Bun v1.1.30 – Now includes experimental CSS parsing and bundling, as well as a bun publish to publish npm packages, a la npm publish. You can also compile code to bytecode to speed up startup times.
Node.js v20.18.0 (LTS) – Now with network inspection support.
React Native Storybook 8.3 – React Native support in the popular component workshop finally gets fully up to speed.
Rsdoctor 0.4 – Tool for analyzing the Rspack / Webpack build process.
ESLint 9.12.0, Electron.js 32.2, Ember 5.12
📒 Articles & Tutorials
Building a Local Single-Page App with htmx — If you have a reasonably simple app to build, using a large framework is probably going to be overkill. htmx to the rescue! Jake presents an easily followed practical tutorial packed with code.
Jake Lazaroff
💡 Jake also wrote an interesting case study of building a local-first app using SvelteKit and Shoelace, if you want to see something more fully-formed.
Product for Engineers: A Newsletter Helping Flex Your Product Muscle — Product for Engineers is dedicated to sharing the skills and strategies product engineers need to succeed.
PostHog sponsor
Build a Static RSS Reader To Fight Your Inner FOMO — The theme of lightweight JavaScript apps continues with a look at creating a basic RSS feed reader, that updates once a day, with Astro.
Karin Hendrikse
Node vs Bun: No Backend Performance Difference? — You can always trust a benchmark to ruffle some feathers, often over the methodology rather than the result. This is no exception, but interesting nonetheless.
Evert Heylen
▶ Building a Tic-Tac-Toe Game in TypeScript Types — One of those videos I enjoyed simply so I don’t ever feel tempted to try it myself.
Typed Rocks
Securing Node.js Express APIs with Clerk and React — Secure Express API endpoints and integrate authentication without the complexity of building it from scratch.
Clerk sponsor
📄 Building a Robust Frontend using Progressive Enhancement UK Government
📄 The Popover API: Your New Best Friend for Tooltips – Supported in all major browsers, except Safari on iOS. Sjoerd Beentjes
📄 18 Interview Questions Answered by Angular Experts Angular Space
📄 Testing CSS Print Media Styles with Cypress Gleb Bahmutov
🛠 Code & Tools
DOCX 9.0: Generate Word .docx Files from JavaScript — The code to lay out documents is verbose but there’s a lot of functionality baked in and there aren’t many other options for this task. Here’s a CodePen-based example to give you an idea. GitHub repo.
Dolan Miu
TinyJS: A Lightweight Way to Work with DOM Elements — Lighter than querySelector and friends, you ask? Not in file size, but certainly in code weight. TinyJS offers a jQuery-esque syntax for element selection, adding properties to elements, and more.
Victor Ribeiro
Breakpoints and console.log Is the Past, Time Travel Is the Future — 15x faster JavaScript debugging than with breakpoints and console.log, supports Vitest, jest, karma, jasmine, and more.
Wallaby Team sponsor
SVGuitar 2.4: Create SVG-Based Guitar Chord Charts — Dynamically generate chord charts / fingerings in the browser. You can experiment with it in this live demo.
Raphael Voellmy
Free Public APIs: A Collection of Free Public APIs for Developers — Categorized and searchable, these are tested daily by bots so if any API is taken down or moved behind a paywall, it’s removed from the site.
Nick Schneeberger
TutorialKit 1.0: Create Interactive Coding Tutorials — StackBlitz’s framework for creating interactive coding tutorials, perhaps as a way to boost the adoption of your own libraries or design system. v1.0 marks TutorialKit as stable.
StackBlitz
Jeasx: The Ease of JSX with the Power of SSR — A new server side rendering framework built on top of JSX and Fastify.
Maik Jablonski
ip-address 10.0: Library for Parsing and Manipulating IP Addresses — Works with both IPv4 and IPv6 addresses.
Beau Gunderson
React-Grid-Layout 1.5 – Draggable/resizable grid layouts for React apps.
🗓️ Schedule-X 2.4 – Material Design event calendar and date picker.
eslint-plugin-unicorn 56.0 – 100+ useful ESLint rules in one place.
Redwood 8.4 – Popular React app framework.
📰 Classifieds
Automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others. Backed by YC, CTO GitHub and others.
Pythagora is an AI dev tool that builds production-ready tools (not demo apps). It writes the code and talks to you in the process.
⚙️ Create entire web apps with Reactile and let it handle your widgets and windows within a single browser tab. 1-month free trial. Try it now.